private function getSystemEventFromDar($dar) { if ($row = $dar->getRow()) { return $this->system_event_manager->getInstanceFromRow($row); } return null; }
/** * Delete all project repositories (on project deletion). * * @param Project $project */ public function deleteProjectRepositories(Project $project) { $repositories = $this->repository_factory->getAllRepositories($project); foreach ($repositories as $repository) { $repository->forceMarkAsDeleted(); $this->system_event_manager->createEvent('GIT_REPO_DELETE', $project->getID() . SystemEvent::PARAMETER_SEPARATOR . $repository->getId(), SystemEvent::PRIORITY_MEDIUM); } }
private function migrateProject($project_to_migrate) { $project = $this->project_manager->getProjectFromAutocompleter($project_to_migrate); if ($project && $this->wiki_migrator->canMigrate($project)) { $this->system_event_manager->createEvent(SystemEvent_PHPWIKI_SWITCH_TO_PLUGIN::NAME, $project->getId(), SystemEvent::PRIORITY_HIGH); $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_phpwiki', 'allowed_project_allow_project')); } else { $this->sendUpdateProjectListError(); } }
public function tearDown() { UserManager::clearInstance(); ProjectManager::clearInstance(); SystemEventManager::clearInstance(); unset($GLOBALS['Language']); }
public function tearDown() { UserManager::clearInstance(); ProjectManager::clearInstance(); SystemEventManager::clearInstance(); parent::tearDown(); }
/** * SystemEventManager is singleton * * @return SystemEventManager */ public static function instance() { if (!isset(self::$_instance)) { $c = __CLASS__; self::$_instance = new $c(); } return self::$_instance; }
/** * Compute the content of the widget * @return string html */ public function getContent() { $hp = Codendi_HTMLPurifier::instance(); $se = SystemEventManager::instance(); $content = ''; $content .= $se->fetchLastEventsStatus(0, 10); $content .= '<div style="text-align:center"><a href="/admin/system_events/">[ ' . $GLOBALS['Language']->getText('global', 'more') . ' ]</a></div>'; return $content; }
/** * This method allows one to save any repository attribues changes from the web interface. * @param <type> $repoId * @param <type> $repoAccess * @param <type> $repoDescription * @return <type> */ public function save($projectId, $repoId, $repoAccess, $repoDescription) { $c = $this->getController(); if (empty($repoId)) { $c->addError($this->getText('actions_params_error')); $c->redirect('/plugins/git/?action=index&group_id=' . $projectId); return false; } if (empty($repoAccess) || empty($repoDescription)) { $c->addError($this->getText('actions_params_error')); $c->redirect('/plugins/git/index.php/' . $projectId . '/view/' . $repoId . '/'); return false; } $repository = new GitRepository(); $repository->setId($repoId); try { $repository->load(); if (!empty($repoAccess)) { if ($repository->getBackend() instanceof Git_Backend_Gitolite) { $repository->getBackend()->savePermissions($repository, $repoAccess); } else { if ($repository->getAccess() != $repoAccess) { $this->systemEventManager->createEvent('GIT_REPO_ACCESS', $repoId . SystemEvent::PARAMETER_SEPARATOR . $repoAccess, SystemEvent::PRIORITY_HIGH); $c->addInfo($this->getText('actions_repo_access')); } } } if (strlen($repoDescription) > 1024) { $c->addError($this->getText('actions_long_description')); } elseif (!empty($repoDescription)) { $repository->setDescription($repoDescription); } } catch (GitDaoException $e) { $c->addError($this->getText('actions_repo_not_found')); $c->redirect('/plugins/git/?group_id=' . $projectId); return false; } catch (GitRepositoryException $e1) { die('GitRepositoryException'); $c->addError($e1->getMessage()); return false; } try { $repository->save(); } catch (GitDaoException $e) { $c->addError($e->getMessage()); $c->redirect('/plugins/git/index.php/' . $projectId . '/view/' . $repoId . '/'); return false; } $c->addInfo($this->getText('actions_save_repo_process')); $c->redirect('/plugins/git/index.php/' . $projectId . '/view/' . $repoId . '/'); return; }
private function getProftpdSystemEventManager() { return new \Tuleap\ProFTPd\SystemEventManager(SystemEventManager::instance(), Backend::instance(), $this->getPermissionsManager(), ProjectManager::instance(), $this->getPluginInfo()->getPropVal('proftpd_base_directory')); }
* the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Tuleap is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tuleap. If not, see <http://www.gnu.org/licenses/>. */ require_once 'pre.php'; $git_dao = new GitDao(); $user_manager = UserManager::instance(); $git_repository_factory = new GitRepositoryFactory($git_dao, ProjectManager::instance()); $system_event_manager = new Git_SystemEventManager(SystemEventManager::instance(), $git_repository_factory); $git_plugin = PluginManager::instance()->getPluginByName('git'); $logger = $git_plugin->getLogger(); if ($argv[1] == "--init") { $repository_path = $argv[2]; $user_name = $argv[3]; $repository = $git_repository_factory->getFromFullPath($repository_path); if ($repository) { $system_event_manager->queueGrokMirrorManifestFollowingAGitPush($repository); } } else { $repository_path = $argv[1]; $user_name = $argv[2]; $old_rev = $argv[3]; $new_rev = $argv[4]; $refname = $argv[5];
public function isProjectSetReadOnlyOnGerritOnGoing(GitRepository $repository) { return $this->system_event_manager->isThereAnEventAlreadyOnGoingMatchingFirstParameter(SystemEvent_GIT_GERRIT_PROJECT_READONLY::NAME, $repository->getId()); }
} break; case User::STATUS_DELETED: $user->setStatus($request->get('form_status')); $user->setUnixStatus($user->getStatus()); $accountActivationEvent = 'project_admin_delete_user'; break; case User::STATUS_SUSPENDED: $user->setStatus($request->get('form_status')); $user->setUnixStatus($user->getStatus()); break; } } // Change login name if ($user->getUserName() != $request->get('form_loginname')) { if (SystemEventManager::instance()->canRenameUser($user)) { $vLoginName = new Valid_UserNameFormat('form_loginname'); $vLoginName->required(); if ($request->valid($vLoginName)) { switch ($user->getStatus()) { case User::STATUS_PENDING: case User::STATUS_VALIDATED: case User::STATUS_VALIDATED_RESTRICTED: $user->setUserName($request->get('form_loginname')); break; default: $em->processEvent(Event::USER_RENAME, array('user_id' => $user->getId(), 'new_name' => $request->get('form_loginname'))); $GLOBALS['Response']->addFeedback('info', $Language->getText('admin_usergroup', 'rename_user_msg', array($user->getUserName(), $request->get('form_loginname')))); $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_usergroup', 'rename_user_warn')); } }
/** * Wrapper for SystemEventManager object * * @return SystemEventManager */ protected function getSystemEventManager() { return SystemEventManager::instance(); }
public function __construct() { $this->project_manager = ProjectManager::instance(); $this->resource_restrictor = new MediawikiSiteAdminResourceRestrictor(new MediawikiSiteAdminResourceRestrictorDao(), $this->project_manager); $this->system_event_manager = SystemEventManager::instance(); }
public function getGitSystemEventManager() { return new Git_SystemEventManager(SystemEventManager::instance(), $this->getRepositoryFactory()); }
public function isThereAMigrationQueuedForProject(Project $project) { return $this->system_event_manager->isThereAnEventAlreadyOnGoingMatchingParameter(SystemEvent_TRACKER_V3_MIGRATION::NAME, $project->getGroupId()); }
private function getTV3MigrationManager() { return new Tracker_Migration_MigrationManager(new Tracker_SystemEventManager(SystemEventManager::instance()), $this->getTrackerFactory(), $this->getArtifactFactory(), $this->getTrackerFormElementFactory(), UserManager::instance(), ProjectManager::instance()); }
public function clearInstance() { self::$_instance = null; }
private function getRepositoryManager() { require_once 'GitRepositoryManager.class.php'; return new GitRepositoryManager($this->getRepositoryFactory(), SystemEventManager::instance()); }
/** * @see root_daily_start */ public function root_daily_start($params) { SystemEventManager::instance()->createEvent(SystemEvent_STATISTICS_DAILY::NAME, null, SystemEvent::PRIORITY_LOW, SystemEvent::OWNER_ROOT); }
$sefdao->delete($request->get('delete')); $GLOBALS['Response']->redirect('/admin/system_events/'); } if ($request->get('cancel')) { $GLOBALS['Response']->redirect('/admin/system_events/'); } if ($request->get('save') && ($followers = $request->get('followers'))) { list($id, $info) = each($followers); $sefdao->save($id, $info['emails'], implode(',', $info['types'])); $GLOBALS['Response']->redirect('/admin/system_events/'); } $hp = Codendi_HTMLPurifier::instance(); $title = $Language->getText('admin_system_events', 'title'); $HTML->header(array('title' => $title)); echo '<h2>' . $hp->purify($title, CODENDI_PURIFIER_CONVERT_HTML) . '</h2>'; $se = SystemEventManager::instance(); $offset = $request->get('offset') && !$request->exist('filter') ? (int) $request->get('offset') : 0; $limit = 50; $full = true; $filter_status = $request->get('filter_status'); if (!$filter_status) { $filter_status = array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING, SystemEvent::STATUS_DONE, SystemEvent::STATUS_WARNING, SystemEvent::STATUS_ERROR); } $filter_type = $request->get('filter_type'); if (!$filter_type) { $filter_type = $se->getTypes(); } echo '<form action="" method="POST">'; echo '<fieldset>'; echo '<legend id="system_events_filter" class="' . Toggler::getClassname('system_events_filter') . '">Filter:</legend>'; echo '<strong>' . 'Status:' . '</strong> <input type="hidden" name="filter_status[]" value="' . $hp->purify(SystemEvent::STATUS_NONE, CODENDI_PURIFIER_CONVERT_HTML) . '" />';
public static function queueInSystemEventManager(SystemEventManager $system_event_manager, GitRepository $repository) { $system_event_manager->createEvent(self::NAME, $repository->getId(), SystemEvent::PRIORITY_HIGH, SystemEvent::OWNER_APP); }
private function getSystemEventManager() { return SystemEventManager::instance(); }
public function __construct() { parent::__construct(); $this->system_event_manager = SystemEventManager::instance(); }
protected function _informAboutPendingEvents($repoId) { $sem = SystemEventManager::instance(); $dar = $sem->_getDao()->searchWithParam('head', $this->groupId, array('GIT_REPO_CREATE', 'GIT_REPO_DELETE'), array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING)); foreach ($dar as $row) { $p = explode(SystemEvent::PARAMETER_SEPARATOR, $row['parameters']); $repository = $this->factory->getDeletedRepository($p[1]); switch ($row['type']) { case 'GIT_REPO_CREATE': $GLOBALS['Response']->addFeedback('info', $this->getText('feedback_event_create', array($p[1]))); break; case 'GIT_REPO_DELETE': $GLOBALS['Response']->addFeedback('info', $this->getText('feedback_event_delete', array($repository->getFullName()))); break; } } if ($repoId !== 0) { $dar = $sem->_getDao()->searchWithParam('head', $repoId, array('GIT_REPO_ACCESS'), array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING)); foreach ($dar as $row) { $GLOBALS['Response']->addFeedback('info', $this->getText('feedback_event_access')); } } }
/** * Instantiate an action based on a given name. * * Can be overriden to pass additionnal parameters to the action * * @param string $action The name of the action * * @return PluginActions */ protected function instantiateAction($action) { return new $action($this, SystemEventManager::instance(), $this->factory); }
public function isProjectReindexationAlreadyQueued($project_id) { return $this->system_event_manager->areThereMultipleEventsQueuedMatchingFirstParameter(SystemEvent_FULLTEXTSEARCH_TRACKER_REINDEX_PROJECT::NAME, $project_id); }
require_once 'www/admin/admin_utils.php'; require_once 'www/project/admin/project_admin_utils.php'; require_once 'www/project/export/project_export_utils.php'; require_once 'www/project/admin/project_history.php'; require_once 'common/include/TemplateSingleton.class.php'; require_once 'common/event/EventManager.class.php'; session_require(array('group' => '1', 'admin_flags' => 'A')); $pm = ProjectManager::instance(); $group = $pm->getProject($group_id, false, true); $currentproject = new project($group_id); $em = EventManager::instance(); $Rename = $request->get('Rename'); if ($Rename) { $new_name = $request->get('new_name'); if (isset($new_name) && $group_id) { if (SystemEventManager::instance()->canRenameProject($group)) { $rule = new Rule_ProjectName(); if (!$rule->isValid($new_name)) { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_groupedit', 'invalid_short_name')); $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage()); $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id); } else { $em->processEvent(Event::PROJECT_RENAME, array('group_id' => $group_id, 'new_name' => $new_name)); //update group history group_add_history('rename_request', $group->getUnixName(false) . ' :: ' . $new_name, $group_id); $GLOBALS['Response']->addFeedback('info', $Language->getText('admin_groupedit', 'rename_project_msg', array($group->getUnixName(false), $new_name))); $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_warn')); $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id); } } else { $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_already_queued'), CODENDI_PURIFIER_DISABLED);
} $cookie_manager = new CookieManager(); if (!IS_SCRIPT) { // Prevent "Pragma: no-cache" to be sent to user (break https & IE) session_cache_limiter(false); session_start(); $GLOBALS['session_hash'] = $cookie_manager->isCookie('session_hash') ? $cookie_manager->getCookie('session_hash') : false; } //}}} // Create cache directory if needed if (!file_exists($GLOBALS['codendi_cache_dir'])) { // This directory must be world reachable, but writable only by the web-server mkdir($GLOBALS['codendi_cache_dir'], 0755); } // Instantiate System Event listener $system_event_manager = SystemEventManager::instance(); //Load plugins $plugin_manager =& PluginManager::instance(); $plugin_manager->loadPlugins(); $feedback = ''; // Initialize global var //library to determine browser settings if (!IS_SCRIPT) { require_once 'browser.php'; } //Language if (!$GLOBALS['sys_lang']) { $GLOBALS['sys_lang'] = "en_US"; } $Language = new BaseLanguage($GLOBALS['sys_supported_languages'], $GLOBALS['sys_lang']); //various html utilities
private function getTrackerSystemEventManager() { $form_element_factory = Tracker_FormElementFactory::instance(); $permissions_serializer = new Tracker_Permission_PermissionsSerializer(new Tracker_Permission_PermissionRetrieveAssignee(UserManager::instance())); $artifact_properties_extractor = new ElasticSearch_1_2_ArtifactPropertiesExtractor($form_element_factory, $permissions_serializer); return new FullTextSearch_TrackerSystemEventManager(SystemEventManager::instance(), new FullTextSearchTrackerActions($this->getIndexClient(self::SEARCH_TRACKER_TYPE), new ElasticSearch_1_2_RequestTrackerDataFactory($artifact_properties_extractor), $this->getFullTextSearchSystemEventQueue()->getLogger()), Tracker_ArtifactFactory::instance(), TrackerFactory::instance(), $this, $this->getFullTextSearchSystemEventQueue()->getLogger()); }