예제 #1
0
 public function testFetchGotData()
 {
     $payload = ['items' => ['data' => ['id' => 1], 'meta' => ['type' => 'user', 'sync' => ['event_type' => 'created', 'ack_key' => 'User-1234-1', 'revision' => 1]]], 'meta' => ['type' => 'collection']];
     $httpResponse = [200, $payload];
     $http = $this->getMockBuilder('\\BaseCRM\\HttpClient')->disableOriginalConstructor()->getMock();
     $http->expects($this->once())->method('get')->with("/sync/{$this->sessionId}/queues/main", null, ['headers' => ['X-Basecrm-Device-UUID' => $this->deviceUUID], 'raw' => true])->will($this->returnValue($httpResponse));
     $sync = new SyncService($http);
     $this->assertEquals($sync->fetch($this->deviceUUID, $this->sessionId), $payload['items']);
 }
예제 #2
0
 private function collectPriorFiles()
 {
     $dir = $this->getDirectory();
     $it = new RecursiveDirectoryIterator($dir);
     foreach (new RecursiveIteratorIterator($it) as $file) {
         if (is_file($file) && SyncService::isPriorLanguage($file)) {
             $this->sourceFilesArray[] = $file;
         }
     }
 }
예제 #3
0
 public function eraseDumpFiles(&$errors)
 {
     $dir = Config::$main_directory;
     $it = new RecursiveDirectoryIterator($dir);
     foreach (new RecursiveIteratorIterator($it) as $file) {
         if (is_file($file) && !SyncService::isPriorLanguage($file)) {
             if (!SyncService::isPriorFile($file)) {
                 array_push($errors, new Error(ErrorCodes::$dump_file, SyncService::getLangByFilePath($file->getPathName()), $file->getPathName(), "dump file was deleted"));
                 if (Config::$auto_fix) {
                     unlink($file);
                 }
             }
         }
     }
 }
예제 #4
0
                Sync::syncBookmarks($userId, $request->data);
                break;
            case 'notes':
                Sync::syncNotes($userId, $request->data);
                break;
            case 'favorite':
                Sync::syncFavorites($userId, $request->data);
                break;
            case 'badges':
                Sync::syncBadges($userId, $request->data);
                break;
            case 'quiz':
                Sync::syncQuiz($userId, $request);
                break;
            case 'scorm':
                Sync::syncScorm($userId, $request);
                break;
            case 'completion':
                Sync::syncCompletion($userId, $request);
                break;
        }
    }
    private static function get_user_id($token)
    {
        global $DB;
        $user = current(array_values($DB->get_records_sql('SELECT userid FROM {external_tokens} et WHERE et.token=?', array('token' => $token))));
        return empty($user->userid) ? null : $user->userid;
    }
}
SyncService::invokeService();