public function getProcessForQueue($request_queue)
 {
     $owner = SystemEvent::OWNER_APP;
     $custom_queues = array();
     $this->event_manager->processEvent(Event::SYSTEM_EVENT_GET_CUSTOM_QUEUES, array('queues' => &$custom_queues));
     if (isset($custom_queues[$request_queue])) {
         $this->logger = $custom_queues[$request_queue]->getLogger();
         $this->logger->debug('Processing ' . $request_queue . ' queue.');
         $process = new SystemEventProcessCustomQueue($request_queue);
         $owner = $custom_queues[$request_queue]->getOwner();
     } else {
         switch ($request_queue) {
             case SystemEvent::OWNER_APP:
                 $this->logger->debug('Processing default queue as app user.');
                 $process = new SystemEventProcessApplicationOwnerDefaultQueue();
                 break;
             case SystemEvent::DEFAULT_QUEUE:
                 $this->logger->debug('Processing default queue as root user.');
                 $owner = SystemEvent::OWNER_ROOT;
                 $process = new SystemEventProcessRootDefaultQueue();
                 break;
             default:
                 $this->logger->debug('Ignoring ' . $request_queue . ' queue.');
                 exit(0);
         }
     }
     if ($owner === SystemEvent::OWNER_APP) {
         return new SystemEventProcessor_ApplicationOwner($process, $this->system_event_manager, new SystemEventDao(), $this->logger);
     }
     return new SystemEventProcessor_Root($process, $this->system_event_manager, new SystemEventDao(), $this->logger, Backend::instance('Aliases'), Backend::instance('CVS'), Backend::instance('SVN'), Backend::instance('System'), new SiteCache($this->logger));
 }
 public function getStatistics($statistic_name, $date_start, $date_end)
 {
     $statistics_data = array();
     $params = array('statistic_name' => $statistic_name, 'date_start' => $date_start, 'date_end' => $date_end, 'result' => &$statistics_data);
     $this->event_manager->processEvent('get_statistics_aggregation', $params);
     return $statistics_data;
 }
 private function getModFromPlugins(array $project_info, $requested_authentication_method, $project_authorizes_tokens)
 {
     $svn_apache_auth = null;
     $params = array('svn_apache_auth' => &$svn_apache_auth, 'svn_conf_auth' => $requested_authentication_method, 'project_authorizes_tokens' => $project_authorizes_tokens, 'project_info' => $project_info);
     $this->event_manager->processEvent(Event::SVN_APACHE_AUTH, $params);
     return $svn_apache_auth;
 }
 public function getMilestoneRepresentation(Planning_Milestone $milestone, PFUser $user)
 {
     $milestone_representation = new MilestoneRepresentation();
     $milestone_representation->build($milestone, $this->milestone_factory->getMilestoneStatusCount($user, $milestone), $this->getBacklogTrackers($milestone), $this->milestone_factory->userCanChangePrioritiesInMilestone($milestone, $user));
     $this->event_manager->processEvent(AGILEDASHBOARD_EVENT_REST_GET_MILESTONE, array('version' => 'v1', 'user' => $user, 'milestone' => $milestone, 'milestone_representation' => &$milestone_representation));
     return $milestone_representation;
 }
 public function update(Codendi_Request $request, Response $response)
 {
     $emailgateway_mode = $request->get('emailgateway_mode');
     if ($emailgateway_mode && $this->config->setEmailgatewayMode($emailgateway_mode)) {
         $response->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_tracker_config', 'successfully_updated'));
     }
     $this->event_manager->processEvent(Event::UPDATE_ALIASES, null);
     $response->redirect($_SERVER['REQUEST_URI']);
 }
Example #6
0
 public function itFallbackToCallHookIfGivenCallbackDoesNotExist()
 {
     $event = 'an_event';
     $params = array('some_params');
     $listener = new Event2MockEventListener($this);
     stub($listener)->CallHook($event, $params)->once();
     $em = new EventManager();
     $em->addListener($event, $listener, 'doSomething', false);
     $em->processEvent($event, $params);
 }
 /**
  * Import cardwall ontop from XML input
  *
  * @param SimpleXMLElement $xml_input
  * @throws CardwallFromXmlImportCannotBeEnabledException
  */
 public function import(SimpleXMLElement $xml_input)
 {
     if (!$xml_input->{CardwallConfigXml::NODE_CARDWALL}) {
         return;
     }
     $rng_path = realpath(CARDWALL_BASE_DIR . '/../www/resources/xml_project_cardwall.rng');
     $this->xml_validator->validate($xml_input->{CardwallConfigXml::NODE_CARDWALL}, $rng_path);
     $this->importCardwalls($xml_input->{CardwallConfigXml::NODE_CARDWALL});
     $this->event_manager->processEvent(Event::IMPORT_XML_PROJECT_CARDWALL_DONE, array('project_id' => $this->group_id, 'xml_content' => $xml_input, 'mapping' => $this->mapping));
 }
Example #8
0
 private function allowSVNTokensForProject($project_to_migrate)
 {
     $project = $this->project_manager->getProjectFromAutocompleter($project_to_migrate);
     if ($project && $this->token_manager->canAuthorizeTokens($project)) {
         $this->token_manager->setProjectAuthorizesTokens($project);
         $this->event_manager->processEvent(Event::SVN_AUTHORIZE_TOKENS, array('group_id' => $project->getID()));
         $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('svn_tokens', 'allowed_project_allow_project'));
     } else {
         $this->sendUpdateProjectListError();
     }
 }
 private function importContent($project_id, $file_contents)
 {
     $this->logger->info("Importing project in project {$project_id}");
     $this->checkFileIsValidXML($file_contents);
     $xml_element = simplexml_load_string($file_contents);
     $project = $this->getProject($project_id);
     $this->importUgroups($project, $xml_element);
     $this->logger->info("Ask to plugin to import data from XML");
     $this->event_manager->processEvent(Event::IMPORT_XML_PROJECT, array('project' => $project, 'xml_content' => $xml_element));
     $this->logger->info("Finish importing project in project {$project_id}");
 }
 public function __viewIndexEventNames($context)
 {
     $EventManager = new EventManager($this->_Parent);
     $events = $EventManager->listAll();
     $options = array();
     foreach ($events as $event) {
         $selected = $this->_driver->isEventNameSelected($event['handle']);
         $options[] = array($event['handle'], $selected, $event['name']);
     }
     $section = Widget::Label('Selected');
     $section->appendChild(Widget::Select('settings[event-names][]', $options, array('multiple' => 'multiple')));
     $context->appendChild($section);
 }
 private function importContent(Project $project, $xml_contents, $extraction_path)
 {
     $project_id = $project->getID();
     $this->logger->info("Importing project in project {$project_id}");
     $this->checkFileIsValidXML($xml_contents);
     $xml_element = simplexml_load_string($xml_contents);
     $this->importUgroups($project, $xml_element);
     $svn = new SVNXMLImporter($this->logger, $this->xml_validator);
     $svn->import($project, $xml_element, $extraction_path);
     $this->logger->info("Ask to plugin to import data from XML");
     $this->event_manager->processEvent(Event::IMPORT_XML_PROJECT, array('project' => $project, 'xml_content' => $xml_element, 'extraction_path' => $extraction_path, 'user_finder' => $this->user_finder));
     $this->logger->info("Finish importing project in project {$project_id}");
 }
 public function updateAccess($new_value, $old_value)
 {
     if ($new_value === $old_value) {
         return;
     }
     $property_name = ForgeAccess::CONFIG;
     $this->config_dao->save($property_name, $new_value);
     $this->event_manager->processEvent(Event::SITE_ACCESS_CHANGE, array('new_value' => $new_value, 'old_value' => $old_value));
     if ($old_value === ForgeAccess::RESTRICTED || $new_value === ForgeAccess::RESTRICTED) {
         $this->project_manager->disableAllowRestrictedForAll();
         $this->permission_manager->disableRestrictedAccess();
     }
 }
 function run()
 {
     try {
         $repository = new SapphireEventRepository();
         $tx_manager = SapphireTransactionManager::getInstance();
         $event_manager = new EventManager($repository, new EventRegistrationRequestFactory(), null, new SapphireEventPublishingService(), new EventValidatorFactory(), $tx_manager);
         $rss_events = $event_manager->rssEvents(10000);
         $events_array = $event_manager->rss2events($rss_events);
         $event_manager->saveRssEvents($events_array);
         return 'OK';
     } catch (Exception $ex) {
         SS_Log::log($ex, SS_Log::ERR);
         echo $ex->getMessage();
     }
 }
 function _content($params)
 {
     if (isset($params['version_number'])) {
         $version_factory =& $this->_getVersionFactory($params);
         $version =& $version_factory->getSpecificVersion($params['item'], $params['version_number']);
     } else {
         $version =& $params['item']->getCurrentVersion();
     }
     if ($version) {
         if (file_exists($version->getPath())) {
             $event_manager =& EventManager::instance();
             $event_manager->processEvent('plugin_docman_event_access', array('group_id' => $params['group_id'], 'item' => &$params['item'], 'version' => $version->getNumber(), 'user' => &$params['user']));
             $mime = explode('/', $version->getFiletype());
             if (in_array($mime[1], array('plain', 'css', 'javascript'))) {
                 $balise = 'pre';
             } else {
                 $balise = 'div';
             }
             echo '<' . $balise . ' class="docman_embedded_file_content">';
             echo $this->hp->purify(file_get_contents($version->getPath()), CODENDI_PURIFIER_FULL);
             echo '</' . $balise . '>';
         } else {
             $this->_controller->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'error_filenotfound'));
             $v =& new Docman_View_DocmanError($this->_controller);
             $v->display($params);
         }
     }
 }
Example #15
0
 private function initializeEvents()
 {
     EventManager::bind("GetGroupForumsMessageEvent");
     EventManager::bind("GetGroupForumDataMessageEvent");
     EventManager::bind("GetGroupForumThreadRootMessageEvent");
     EventManager::bind("UpdateThreadMessageEvent");
     EventManager::bind("UpdateForumSettingsMessageEvent");
     EventManager::bind("AlterForumThreadStateMessageEvent");
     EventManager::bind("PublishForumThreadMessageEvent");
     EventManager::bind("ReadForumThreadMessageEvent");
     EventManager::bind("RequestLeaveGroupMessageEvent");
     EventManager::bind("ConfirmLeaveGroupMessageEvent");
     EventManager::bind("AcceptGroupRequestMessageEvent");
     EventManager::bind("CreateGuildMessageEvent");
     EventManager::bind("GetGroupFurnitureMessageEvent");
     EventManager::bind("GetGroupInfoMessageEvent");
     EventManager::bind("GetGroupMembersMessageEvent");
     EventManager::bind("GetGroupPurchaseBoxMessageEvent");
     EventManager::bind("GetGroupPurchasingInfoMessageEvent");
     EventManager::bind("GroupDeclineMembershipRequestMessageEvent");
     EventManager::bind("GroupMakeAdministratorMessageEvent");
     EventManager::bind("GroupManageMessageEvent");
     EventManager::bind("GroupUpdateBadgeMessageEvent");
     EventManager::bind("GroupUpdateColoursMessageEvent");
     EventManager::bind("GroupUpdateNameMessageEvent");
     EventManager::bind("GroupUpdateSettingsMessageEvent");
     EventManager::bind("GroupUserJoinMessageEvent");
     EventManager::bind("SetFavoriteGroupMessageEvent");
     EventManager::bind("RemoveFavouriteGroupMessageEvent");
     EventManager::bind("RemoveGroupAdminMessageEvent");
     EventManager::bind("DeleteGroupMessageEvent");
 }
Example #16
0
 public function tearDown() {
     unlink($GLOBALS['alias_file']);
     unset($GLOBALS['alias_file']);
     //clear the cache between each tests
     Backend::clearInstances();
     EventManager::clearInstance();
 }
 public function getContent()
 {
     $request =& HTTPRequest::instance();
     $group_id = $request->get('group_id');
     $pm = ProjectManager::instance();
     $project = $pm->getProject($group_id);
     $res_admin = db_query("SELECT user.user_id AS user_id,user.user_name AS user_name, user.realname as realname " . "FROM user,user_group " . "WHERE user_group.user_id=user.user_id AND user_group.group_id=" . db_ei($group_id) . " AND " . "user_group.admin_flags = 'A'");
     if (db_numrows($res_admin) > 0) {
         $user_helper = UserHelper::instance();
         $hp = Codendi_HTMLPurifier::instance();
         $em = EventManager::instance();
         echo '<span class="develtitle">' . $GLOBALS['Language']->getText('include_project_home', 'proj_admins') . ':</span><br />';
         while ($row_admin = db_fetch_array($res_admin)) {
             $display_name = '';
             $em->processEvent('get_user_display_name', array('user_id' => $row_admin['user_id'], 'user_name' => $row_admin['user_name'], 'realname' => $row_admin['realname'], 'user_display_name' => &$display_name));
             if (!$display_name) {
                 $display_name = $hp->purify($user_helper->getDisplayNameFromUserId($row_admin['user_id']));
             }
             echo '<a href="/users/' . $row_admin['user_name'] . '/">' . $display_name . '</a><br />';
         }
     }
     echo '<span class="develtitle">' . $GLOBALS['Language']->getText('include_project_home', 'proj_members') . ':</span><br />';
     // count of developers on this project
     $res_count = db_query("SELECT user_id FROM user_group WHERE group_id=" . db_ei($group_id));
     echo db_numrows($res_count);
     echo ' <a href="/project/memberlist.php?group_id=' . $group_id . '">[' . $GLOBALS['Language']->getText('include_project_home', 'view_members') . ']</a>';
 }
Example #18
0
 /**
  * Returns the toolbar data in json format
  *
  * @return string
  */
 function asJSON()
 {
     $container = $this->dispatcher->getContainer();
     $request = $container->get('request');
     // check if security key is defined
     $secKey = isset($container['log.to_debug_toolbar_seckey']) ? $container['log.to_debug_toolbar_seckey'] : false;
     // if so - get client seckey from http header
     if (!empty($secKey)) {
         $requestSecKey = $request->getServer()->get('HTTP_X_ZIKULA_DEBUGTOOLBAR');
         // if client seckey is not valid - do not return data
         if ($secKey != $requestSecKey) {
             return '';
         }
     }
     $data = array();
     $data['__meta'] = array('realpath' => realpath('.'));
     $data['http_request'] = array('method' => $request->getMethod(), 'get' => (array) $request->getGet()->getCollection(), 'post' => (array) $request->getPost()->getCollection(), 'files' => (array) $request->getFiles()->getCollection(), 'cookie' => (array) $request->getCookie()->getCollection(), 'server' => (array) $request->getServer()->getCollection(), 'env' => (array) $request->getEnv()->getCollection());
     foreach ($this->_panels as $name => $panel) {
         $title = $panel->getPanelTitle();
         $data[$name] = array('title' => $title ? $title : $name, 'content' => $panel->getPaneldata());
     }
     // need to suppress errors due to recursion warrnings
     $data = @json_encode($data);
     $html = "<script type=\"text/javascript\">Zikula.DebugToolbarData = {$data}</script>";
     return $html;
 }
 /** @return User_LoginPresenter */
 public function build($return_to, $printer_version, $form_loginname)
 {
     $presenter = new User_LoginPresenter($return_to, $printer_version, $form_loginname, $this->getToggleSSL());
     $authoritative = false;
     EventManager::instance()->processEvent('login_presenter', array('presenter' => &$presenter, 'authoritative' => &$authoritative));
     return $presenter;
 }
 protected function __construct()
 {
     $this->charts = null;
     $this->chart_factories = array();
     $em = EventManager::instance();
     $em->processEvent('graphontrackersv5_load_chart_factories', array('factories' => &$this->chart_factories));
 }
Example #21
0
 private function initializeEvents()
 {
     EventManager::bind("WiredSaveConditionMessageEvent");
     EventManager::bind("WiredSaveEffectMessageEvent");
     EventManager::bind("WiredSaveMatchingMessageEvent");
     EventManager::bind("WiredSaveTriggerMessageEvent");
 }
Example #22
0
 private function initializeEvents()
 {
     EventManager::bind("EnterPrivateRoomMessageEvent");
     EventManager::bind("RoomGetHeightmapMessageEvent");
     EventManager::bind("RoomGetInfoMessageEvent");
     EventManager::bind("RoomUserActionMessageEvent");
     EventManager::bind("RoomOnLoadMessageEvent");
     EventManager::bind("RoomDeleteMessageEvent");
     EventManager::bind("RoomEventUpdateMessageEvent");
     EventManager::bind("RoomGetSettingsInfoMessageEvent");
     EventManager::bind("RoomSaveSettingsMessageEvent");
     EventManager::bind("RoomSettingsMuteAllMessageEvent");
     EventManager::bind("RoomSettingsMuteUserMessageEvent");
     EventManager::bind("RoomLoadByDoorbellMessageEvent");
     EventManager::bind("DoorbellAnswerMessageEvent");
     EventManager::bind("RoomGetFilterMessageEvent");
     EventManager::bind("RoomAlterFilterMessageEvent");
     EventManager::bind("GetRoomBannedUsersMessageEvent");
     EventManager::bind("GetRoomRightsListMessageEvent");
     EventManager::bind("RoomRemoveAllRightsMessageEvent");
     EventManager::bind("RoomRemoveUserRightsMessageEvent");
     EventManager::bind("GetFloorPlanFurnitureMessageEvent");
     EventManager::bind("GetFloorPlanDoorMessageEvent");
     EventManager::bind("SaveFloorPlanEditorMessageEvent");
     EventManager::bind("SaveRoomThumbnailMessageEvent");
     EventManager::bind("SetInvitationsPreferenceMessageEvent");
     EventManager::bind("SubmitRoomToCompetitionMessageEvent");
     EventManager::bind("VoteForRoomMessageEvent");
 }
Example #23
0
 private function initializeEvents()
 {
     EventManager::bind("GetCatalogIndexMessageEvent");
     EventManager::bind("GetCatalogPageMessageEvent");
     EventManager::bind("GetCatalogClubPageMessageEvent");
     EventManager::bind("GetCatalogOfferMessageEvent");
     EventManager::bind("CatalogueOfferConfigMessageEvent");
     EventManager::bind("PurchaseFromCatalogMessageEvent");
     EventManager::bind("PurchaseFromCatalogAsGiftMessageEvent");
     EventManager::bind("GetSellablePetBreedsMessageEvent");
     EventManager::bind("ReloadRecyclerMessageEvent");
     EventManager::bind("GetGiftWrappingConfigurationMessageEvent");
     EventManager::bind("GetRecyclerRewardsMessageEvent");
     EventManager::bind("CatalogPromotionGetRoomsMessageEvent");
     EventManager::bind("GetCatalogClubGiftsMessageEvent");
     EventManager::bind("ChooseClubGiftMessageEvent");
     EventManager::bind("PromoteRoomMessageEvent");
     EventManager::bind("RetrieveSongIDMessageEvent");
     EventManager::bind("CheckPetnameMessageEvent");
     EventManager::bind("EcotronRecycleMessageEvent");
     EventManager::bind("RedeemVoucherMessageEvent");
     EventManager::bind("BuildersClubUpdateFurniCount");
     EventManager::bind("PlaceBuildersFurniture");
     EventManager::bind("PurchaseTargetedOfferMessageEvent");
 }
Example #24
0
 public function testListener()
 {
     $subject1 = $this->getMockBuilder('Jivoo\\Core\\EventSubject')->getMock();
     $subject1->method('getEvents')->willReturn(array('someEvent'));
     $subject2 = $this->getMockBuilder('Jivoo\\Core\\EventSubject')->getMock();
     $subject2->method('getEvents')->willReturn(array('someEvent'));
     $em1 = new EventManager($subject1);
     $em2 = new EventManager($subject2, $em1);
     $l = $this->getMockBuilder('Jivoo\\Core\\EventListener')->setMethods(array('getEventHandlers', 'someEvent'))->getMock();
     $l->method('getEventHandlers')->wilLReturn(array(get_class($subject2) . '.someEvent'));
     $l->expects($this->once())->method('someEvent')->willReturn(false);
     $em1->attachListener($l);
     $this->assertFalse($em2->trigger('someEvent'));
     $em1->detachListener($l);
     $this->assertTrue($em2->trigger('someEvent'));
 }
Example #25
0
 private function initializeEvents()
 {
     EventManager::bind("ChatMessageEvent");
     EventManager::bind("ShoutMessageEvent");
     EventManager::bind("UserWhisperMessageEvent");
     EventManager::bind("UserWalkMessageEvent");
     EventManager::bind("UserDanceMessageEvent");
     EventManager::bind("UserSignMessageEvent");
     EventManager::bind("RoomBanUserMessageEvent");
     EventManager::bind("RoomUnbanUserMessageEvent");
     EventManager::bind("RoomKickUserMessageEvent");
     EventManager::bind("RateRoomMessageEvent");
     EventManager::bind("DropHanditemMessageEvent");
     EventManager::bind("GiveHanditemMessageEvent");
     EventManager::bind("GiveRespectMessageEvent");
     EventManager::bind("GiveRightsMessageEvent");
     EventManager::bind("StartTypingMessageEvent");
     EventManager::bind("StopTypingMessageEvent");
     EventManager::bind("IgnoreUserMessageEvent");
     EventManager::bind("UnignoreUserMessageEvent");
     EventManager::bind("LookAtUserMessageEvent");
     EventManager::bind("TradeAcceptMessageEvent");
     EventManager::bind("TradeAddItemOfferMessageEvent");
     EventManager::bind("TradeCancelMessageEvent");
     EventManager::bind("TradeConfirmMessageEvent");
     EventManager::bind("TradeDiscardMessageEvent");
     EventManager::bind("TradeRemoveItemMessageEvent");
     EventManager::bind("TradeStartMessageEvent");
     EventManager::bind("TradeUnacceptMessageEvent");
     EventManager::bind("SetChatPreferenceMessageComposer");
     EventManager::bind("SetRoomCameraPreferencesMessageComposer");
 }
Example #26
0
 public function testClearSingle()
 {
     $calls = 0;
     $this->object->subscribe("hook", function () use(&$calls) {
         ++$calls;
     });
     $malls = 0;
     $this->object->subscribe("pook", function () use(&$malls) {
         ++$malls;
     });
     $this->object->clear("pook");
     $this->object->publish("hook");
     $this->object->publish("pook");
     $this->assertSame(1, $calls);
     $this->assertSame(0, $malls);
 }
Example #27
0
 /**
  * Setter for pageUrl
  *
  * @param string $pageUrl
  */
 public function setPageUrl($pageUrl)
 {
     if ($pageUrl && $this->pageUrl != $pageUrl) {
         $this->eventManager->dispatchEvent(['page_changed'], [sprintf('Page changed from url %s to url %s', $this->pageUrl, $pageUrl)]);
         $this->pageUrl = $pageUrl;
     }
 }
Example #28
0
 /**
  * The singleton method
  *
  * @return EventManager
  */
 public static function instance()
 {
     if (!self::$instance) {
         self::$instance = new EventManager();
     }
     return self::$instance;
 }
Example #29
0
/**
 * Say if we can display the remove button on a wiki page
 * 
 * The wiki page may be driven by another item in the forge (eg a docman document),
 * therefore wiki administrator shouldn't be able to remove the page.
 * 
 * @return bool
 */
function display_remove_button($pagename)
{
    $display_remove_button = true;
    $em = EventManager::instance();
    $em->processEvent(Event::WIKI_DISPLAY_REMOVE_BUTTON, array('display_remove_button' => &$display_remove_button, 'group_id' => GROUP_ID, 'wiki_page' => $pagename));
    return $display_remove_button;
}
Example #30
0
 public function handleGetEvents()
 {
     $student = $this->getUser()->getIdentity()->student;
     $events = EventManager::getEvents($student);
     fd($events);
     $this->terminate(new JsonResponse($events));
 }