$remoteRequestUrl = $remoteRequest; } elseif (eZHTTPTool::getDataByURL($remoteRequest)) { $remoteRequestUrl = rtrim($remoteRequest, '/') . '/classtools/definition/'; } if ($remoteRequestUrl) { $remoteRequestSuffix = '?remote=' . $remoteRequest; } } $remote = null; try { if ($module->isCurrentAction('Install')) { $tools = new OCClassTools($id, true, array(), $remoteRequestUrl); $tools->sync(); return $module->redirectTo('/classtools/compare/' . $id . $remoteRequestSuffix); } $tools = new OCClassTools($id, false, array(), $remoteRequestUrl); $remote = $tools->getRemote(); $locale = $tools->getLocale(); if ($remote === null) { throw new Exception('Impossibile trovare la classe remota'); } if ($module->isCurrentAction('Sync')) { $force = false; $removeExtra = false; if ($http->hasPostVariable('ForceSync')) { $force = $http->postVariable('ForceSync') == 1; } if ($http->hasPostVariable('RemoveExtra')) { $removeExtra = $http->postVariable('RemoveExtra') == 1; } $tools->sync($force, $removeExtra);
public static function setRemoteUrl($url) { self::$remoteUrl = $url; }
/** * @param bool $createClassIfNotExists * * @throws Exception */ protected function checkClass($createClassIfNotExists = false) { if (class_exists('OCClassTools')) { try { OCClassTools::setRemoteUrl(rtrim($this->attributes['definition']['Url'], '/') . self::SERVER_CLASSDEFINITION_PATH); $tools = new OCClassTools($this->classIdentifier, $createClassIfNotExists); if ($createClassIfNotExists) { $tools->sync(); } $tools->compare(); $result = $tools->getData(); if ($result->hasError) { throw new Exception(var_export($result->errors, 1)); } } catch (Exception $e) { throw new Exception('[Repository classi di contenuto ' . OCClassTools::getRemoteUrl() . '] ' . $e->getMessage()); } } else { throw new Exception("Libreria OCClassTools non trovata"); } $this->contentClass = eZContentClass::fetchByIdentifier($this->classIdentifier); if (!$this->contentClass instanceof eZContentClass) { throw new Exception("La classe di contenuto non esiste in questa installazione"); } }
<?php $module = $Params['Module']; $id = $Params['ID']; try { $tools = new OCClassTools($id); $result = $tools->getLocale(); // carico gli attributi $result->attribute('data_map'); // carico i gruppi di appartenenza $result->fetchGroupList(); // carico tutti i gruppi $result->fetchAllGroups(); } catch (Exception $e) { $result = array('error' => $e->getMessage()); } header('Content-Type: application/json'); echo json_encode($result); eZExecution::cleanExit();