public function getHooksAndCallbacks()
 {
     if (defined('TRACKER_BASE_URL')) {
         $this->addHook('cssfile');
         $this->addHook('javascript_file');
         $this->addHook('tracker_report_renderer_types');
         $this->addHook('tracker_report_renderer_instance');
         $this->addHook(TRACKER_EVENT_TRACKERS_DUPLICATED);
         $this->addHook(TRACKER_EVENT_BUILD_ARTIFACT_FORM_ACTION);
         $this->addHook(TRACKER_EVENT_REDIRECT_AFTER_ARTIFACT_CREATION_OR_UPDATE);
         $this->_addHook(Event::JAVASCRIPT);
         $this->addHook(Event::IMPORT_XML_PROJECT_TRACKER_DONE);
         $this->addHook(TRACKER_EVENT_MANAGE_SEMANTICS);
         $this->addHook(TRACKER_EVENT_SEMANTIC_FROM_XML);
         $this->addHook(TRACKER_EVENT_GET_SEMANTIC_FACTORIES);
         if (defined('AGILEDASHBOARD_BASE_DIR')) {
             $this->addHook(AGILEDASHBOARD_EVENT_ADDITIONAL_PANES_ON_MILESTONE);
             $this->addHook(AGILEDASHBOARD_EVENT_ADDITIONAL_PANES_INFO_ON_MILESTONE);
             $this->addHook(AGILEDASHBOARD_EVENT_INDEX_PAGE);
             $this->addHook(AGILEDASHBOARD_EVENT_MILESTONE_SELECTOR_REDIRECT);
             $this->addHook(AGILEDASHBOARD_EVENT_PLANNING_CONFIG);
             $this->addHook(AGILEDASHBOARD_EVENT_PLANNING_CONFIG_UPDATE);
             $this->addHook(AGILEDASHBOARD_EVENT_REST_GET_CARDWALL);
             $this->addHook(AGILEDASHBOARD_EVENT_REST_GET_MILESTONE);
             $this->addHook(AGILEDASHBOARD_EVENT_IS_CARDWALL_ENABLED);
             $this->addHook(AGILEDASHBOARD_EVENT_GET_CARD_FIELDS);
             $this->addHook(AGILEDASHBOARD_EVENT_REST_RESOURCES);
             $this->addHook(AGILEDASHBOARD_EXPORT_XML);
         }
     }
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     if (defined('CARDWALL_EVENT_DISPLAYED')) {
         $this->_addHook(CARDWALL_EVENT_DISPLAYED);
     }
     $this->_addHook('site_admin_option_hook', 'siteAdminHooks', false);
     $this->_addHook('cssfile');
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     if (defined('TRACKER_BASE_URL')) {
         $this->_addHook('cssfile', 'cssFile', false);
         $this->_addHook('javascript_file', 'jsFile', false);
         $this->_addHook('tracker_report_renderer_types', 'tracker_report_renderer_types', false);
         $this->_addHook('tracker_report_renderer_instance', 'tracker_report_renderer_instance', false);
         $this->_addHook(TRACKER_EVENT_ADMIN_ITEMS, 'tracker_event_admin_items', false);
         $this->_addHook(TRACKER_EVENT_PROCESS, 'tracker_event_process', false);
         $this->_addHook(TRACKER_EVENT_TRACKERS_DUPLICATED, 'tracker_event_trackers_duplicated', false);
         $this->_addHook(TRACKER_EVENT_BUILD_ARTIFACT_FORM_ACTION, 'tracker_event_build_artifact_form_action', false);
         $this->_addHook(TRACKER_EVENT_REDIRECT_AFTER_ARTIFACT_CREATION_OR_UPDATE, 'tracker_event_redirect_after_artifact_creation_or_update', false);
         if (defined('AGILEDASHBOARD_BASE_DIR')) {
             $this->_addHook(AGILEDASHBOARD_EVENT_ADDITIONAL_PANES_ON_MILESTONE, 'agiledashboard_event_additional_panes_on_milestone', false);
             $this->_addHook(AGILEDASHBOARD_EVENT_MILESTONE_SELECTOR_REDIRECT, 'agiledashboard_event_milestone_selector_redirect', false);
         }
     }
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     // Do not load the plugin if tracker is not installed & active
     if (defined('TRACKER_BASE_URL')) {
         require_once dirname(__FILE__) . '/../../tracker/include/autoload.php';
         $this->_addHook('cssfile', 'cssfile', false);
         $this->_addHook('javascript_file');
         $this->_addHook(Event::COMBINED_SCRIPTS, 'combined_scripts', false);
         $this->_addHook(TRACKER_EVENT_INCLUDE_CSS_FILE, 'tracker_event_include_css_file', false);
         $this->_addHook(TRACKER_EVENT_TRACKERS_DUPLICATED, 'tracker_event_trackers_duplicated', false);
         $this->_addHook(TRACKER_EVENT_BUILD_ARTIFACT_FORM_ACTION, 'tracker_event_build_artifact_form_action', false);
         $this->_addHook(TRACKER_EVENT_ARTIFACT_ASSOCIATION_EDITED, 'tracker_event_artifact_association_edited', false);
         $this->_addHook(TRACKER_EVENT_REDIRECT_AFTER_ARTIFACT_CREATION_OR_UPDATE, 'tracker_event_redirect_after_artifact_creation_or_update', false);
         $this->_addHook(TRACKER_EVENT_ARTIFACT_PARENTS_SELECTOR, 'event_artifact_parents_selector', false);
         $this->_addHook(TRACKER_EVENT_MANAGE_SEMANTICS, 'tracker_event_manage_semantics', false);
         $this->_addHook(TRACKER_EVENT_SEMANTIC_FROM_XML, 'tracker_event_semantic_from_xml');
         $this->_addHook(TRACKER_EVENT_SOAP_SEMANTICS, 'tracker_event_soap_semantics');
         $this->addHook(TRACKER_EVENT_GET_SEMANTIC_FACTORIES);
         $this->addHook('plugin_statistics_service_usage');
         $this->addHook(TRACKER_EVENT_REPORT_DISPLAY_ADDITIONAL_CRITERIA);
         $this->addHook(TRACKER_EVENT_REPORT_PROCESS_ADDITIONAL_QUERY);
         $this->addHook(TRACKER_EVENT_REPORT_SAVE_ADDITIONAL_CRITERIA);
         $this->addHook(TRACKER_EVENT_REPORT_LOAD_ADDITIONAL_CRITERIA);
         $this->addHook(TRACKER_EVENT_FIELD_AUGMENT_DATA_FOR_REPORT);
         $this->addHook(TRACKER_USAGE);
         $this->addHook(TRACKER_EVENT_TRACKERS_CANNOT_USE_IN_HIERARCHY);
         $this->addHook(Event::SERVICE_ICON);
         $this->addHook(Event::SERVICES_ALLOWED_FOR_PROJECT);
         $this->_addHook('register_project_creation');
         $this->_addHook(Event::IMPORT_XML_PROJECT_CARDWALL_DONE);
         $this->addHook(Event::REST_RESOURCES);
         $this->addHook(Event::REST_RESOURCES_V2);
         $this->addHook(Event::REST_PROJECT_ADDITIONAL_INFORMATIONS);
         $this->addHook(Event::REST_PROJECT_AGILE_ENDPOINTS);
         $this->addHook(Event::REST_GET_PROJECT_PLANNINGS);
         $this->addHook(Event::REST_OPTIONS_PROJECT_PLANNINGS);
         $this->addHook(Event::REST_PROJECT_RESOURCES);
         $this->addHook(Event::REST_GET_PROJECT_MILESTONES);
         $this->addHook(Event::REST_OPTIONS_PROJECT_MILESTONES);
         $this->addHook(Event::REST_GET_PROJECT_BACKLOG);
         $this->addHook(Event::REST_PUT_PROJECT_BACKLOG);
         $this->addHook(Event::REST_PATCH_PROJECT_BACKLOG);
         $this->addHook(Event::REST_OPTIONS_PROJECT_BACKLOG);
         $this->addHook(Event::GET_PROJECTID_FROM_URL);
         $this->addHook(ITEM_PRIORITY_CHANGE);
     }
     if (defined('CARDWALL_BASE_URL')) {
         $this->addHook(CARDWALL_EVENT_USE_STANDARD_JAVASCRIPT, 'cardwall_event_use_standard_javascript');
     }
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     if (defined('AGILEDASHBOARD_BASE_DIR')) {
         $this->addHook(AGILEDASHBOARD_EVENT_ADDITIONAL_PANES_ON_MILESTONE);
         $this->addHook(AGILEDASHBOARD_EVENT_ADDITIONAL_PANES_INFO_ON_MILESTONE);
         $this->addHook(AGILEDASHBOARD_EXPORT_XML);
         // REST Milestones
         $this->addHook(AGILEDASHBOARD_EVENT_REST_GET_MILESTONE);
         $this->addHook(AGILEDASHBOARD_EVENT_REST_GET_BURNDOWN);
         $this->addHook(AGILEDASHBOARD_EVENT_REST_OPTIONS_BURNDOWN);
     }
     if (defined('STATISTICS_BASE_DIR')) {
         $this->addHook(Statistics_Event::FREQUENCE_STAT_ENTRIES);
         $this->addHook(Statistics_Event::FREQUENCE_STAT_SAMPLE);
     }
     if (defined('FULLTEXTSEARCH_BASE_URL')) {
         $this->_addHook(FULLTEXTSEARCH_EVENT_FETCH_ALL_DOCUMENT_SEARCH_TYPES);
         $this->_addHook(FULLTEXTSEARCH_EVENT_FETCH_PROJECT_TRACKER_FIELDS);
         $this->_addHook(FULLTEXTSEARCH_EVENT_DOES_TRACKER_SERVICE_USE_UGROUP);
     }
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     $this->addHook('logs_daily');
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     // docman
     if ($this->isDocmanPluginActivated()) {
         $this->addHook('plugin_docman_after_new_document');
         $this->addHook('plugin_docman_event_del');
         $this->addHook('plugin_docman_event_update');
         $this->addHook('plugin_docman_event_perms_change');
         $this->addHook('plugin_docman_event_new_version');
         $this->addHook('plugin_docman_event_new_wikipage');
         $this->addHook('plugin_docman_event_wikipage_update');
         $this->addHook('plugin_docman_event_move');
         $this->addHook(PLUGIN_DOCMAN_EVENT_COPY);
         $this->addHook(PLUGIN_DOCMAN_EVENT_APPROVAL_TABLE_COMMENT);
         $this->addHook(PLUGIN_DOCMAN_EVENT_NEW_EMPTY);
         $this->addHook(PLUGIN_DOCMAN_EVENT_NEW_LINK);
         $this->addHook(PLUGIN_DOCMAN_EVENT_NEW_FOLDER);
         $this->addHook(PLUGIN_DOCMAN_EVENT_NEW_LINKVERSION);
     }
     // tracker
     if (defined('TRACKER_BASE_URL')) {
         $this->_addHook(TRACKER_EVENT_REPORT_DISPLAY_ADDITIONAL_CRITERIA);
         $this->_addHook(TRACKER_EVENT_REPORT_PROCESS_ADDITIONAL_QUERY);
         $this->_addHook(TRACKER_EVENT_ARTIFACT_POST_UPDATE);
         $this->_addHook(TRACKER_EVENT_ARTIFACT_DELETE);
         $this->_addHook(TRACKER_EVENT_TRACKER_DELETE);
         $this->_addHook(TRACKER_EVENT_TRACKER_PERMISSIONS_CHANGE);
         $this->_addHook(TRACKER_EVENT_SEMANTIC_CONTRIBUTOR_CHANGE);
         $this->_addHook('tracker_followup_event_update', 'tracker_event_artifact_post_update', false);
         $this->_addHook('tracker_report_followup_warning', 'tracker_report_followup_warning', false);
     }
     // site admin
     $this->_addHook('site_admin_option_hook', 'site_admin_option_hook', false);
     $this->_addHook('project_is_private', 'project_is_private', false);
     // wiki
     $this->_addHook('wiki_page_updated', 'wiki_page_updated', false);
     $this->_addHook('wiki_page_created', 'wiki_page_created', false);
     $this->_addHook('wiki_page_deleted', 'wiki_page_deleted', false);
     $this->_addHook('wiki_page_permissions_updated', 'wiki_page_permissions_updated', false);
     $this->_addHook('wiki_service_permissions_updated', 'wiki_service_permissions_updated', false);
     // assets
     $this->_addHook('cssfile', 'cssfile', false);
     $this->_addHook(Event::COMBINED_SCRIPTS, 'combined_scripts', false);
     $this->_addHook('javascript_file');
     // system events
     $this->_addHook(Event::GET_SYSTEM_EVENT_CLASS, 'get_system_event_class', false);
     $this->_addHook(Event::SYSTEM_EVENT_GET_CUSTOM_QUEUES);
     $this->_addHook(Event::SYSTEM_EVENT_GET_TYPES_FOR_CUSTOM_QUEUE);
     // Search
     $this->addHook(Event::LAYOUT_SEARCH_ENTRY);
     $this->addHook(Event::PLUGINS_POWERED_SEARCH);
     $this->addHook(Event::SEARCH_TYPE, 'search_type');
     $this->addHook(Event::FETCH_ADDITIONAL_SEARCH_TABS);
     $this->addHook(Event::REDEFINE_SEARCH_TYPE);
     //Ugroups
     $this->_addHook('project_admin_ugroup_remove_user', 'project_admin_ugroup_delete_or_remove_user');
     $this->_addHook('project_admin_ugroup_deletion', 'project_admin_ugroup_delete_or_remove_user');
     $this->_addHook(Event::UGROUP_MANAGER_UPDATE_UGROUP_BINDING_ADD, 'ugroup_manager_update_ugroup_binding_change');
     $this->_addHook(Event::UGROUP_MANAGER_UPDATE_UGROUP_BINDING_REMOVE, 'ugroup_manager_update_ugroup_binding_change');
     $this->_addHook('project_admin_remove_user_from_project_ugroups', 'eventChangeProjectUgroupsMembers');
     $this->_addHook('project_admin_ugroup_add_user', 'eventChangeProjectUgroupsMembers');
     $this->_addHook('project_admin_remove_user', 'project_admin_remove_user');
     $this->_addHook('project_admin_change_user_permissions', 'project_admin_change_user_permissions');
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     // Layout
     $this->_addHook('display_newaccount', 'forbidIfLdapAuth', false);
     $this->_addHook('before_register', 'before_register', false);
     // Search
     $this->addHook(Event::LAYOUT_SEARCH_ENTRY);
     $this->addHook(Event::SEARCH_TYPE);
     // Authentication
     $this->_addHook(Event::SESSION_BEFORE_LOGIN, 'authenticate', false);
     $this->_addHook(Event::SESSION_AFTER_LOGIN, 'allowCodendiLogin', false);
     // Login
     $this->addHook('login_presenter');
     $this->_addHook('display_lostpw_createaccount', 'forbidIfLdapAuth', false);
     $this->_addHook('account_redirect_after_login', 'account_redirect_after_login', false);
     // User finder
     $this->_addHook('user_manager_find_user', 'user_manager_find_user', false);
     $this->_addHook('user_manager_get_user_by_identifier', 'user_manager_get_user_by_identifier', false);
     // User Home
     $this->_addHook('user_home_pi_entry', 'personalInformationEntry', false);
     $this->_addHook('user_home_pi_tail', 'personalInformationTail', false);
     // User account
     $this->_addHook('account_pi_entry', 'accountPiEntry', false);
     $this->_addHook('before_change_email-complete', 'cancelChangeAndUserLdap', false);
     $this->_addHook('before_change_email-confirm', 'cancelChangeAndUserLdap', false);
     $this->_addHook('before_change_email', 'cancelChangeAndUserLdap', false);
     $this->_addHook('before_change_pw', 'cancelChangeAndUserLdap', false);
     $this->_addHook('before_change_realname', 'cancelChangeAndUserLdap', false);
     $this->_addHook('before_lostpw-confirm', 'cancelChange', false);
     $this->_addHook('before_lostpw', 'cancelChange', false);
     $this->_addHook('display_change_password', 'forbidIfLdapAuthAndUserLdap', false);
     $this->_addHook('display_change_email', 'forbidIfLdapAuthAndUserLdap', false);
     // Comment if want to allow real name change in LDAP mode
     $this->_addHook('display_change_realname', 'forbidIfLdapAuthAndUserLdap', false);
     // Site Admin
     $this->_addHook('before_admin_change_pw', 'warnNoPwChange', false);
     $this->_addHook('usergroup_update_form', 'addLdapInput', false);
     $this->_addHook('usergroup_update', 'updateLdapID', false);
     // Project admin
     $this->_addHook('ugroup_table_row', 'ugroup_table_row', false);
     $this->_addHook('project_admin_add_user_form', 'project_admin_add_user_form', false);
     $this->_addHook(Event::UGROUP_UPDATE_USERS_ALLOWED, 'ugroup_update_users_allowed', false);
     // Svn intro
     $this->_addHook('svn_intro', 'svn_intro', false);
     $this->_addHook('svn_check_access_username', 'svn_check_access_username', false);
     // Search as you type user
     $this->_addHook('ajax_search_user', 'ajax_search_user', false);
     // Project creation
     $this->_addHook('register_project_creation', 'register_project_creation', false);
     // Backend SVN
     $this->_addHook('backend_factory_get_svn', 'backend_factory_get_svn', false);
     $this->_addHook(Event::SVN_APACHE_AUTH, 'svn_apache_auth', false);
     // Daily codendi job
     $this->_addHook('codendi_daily_start', 'codendi_daily_start', false);
     // SystemEvent
     $this->_addHook(Event::SYSTEM_EVENT_GET_TYPES_FOR_DEFAULT_QUEUE);
     $this->_addHook(Event::GET_SYSTEM_EVENT_CLASS, 'get_system_event_class', false);
     // Ask for LDAP Username of a User
     $this->_addHook(Event::GET_LDAP_LOGIN_NAME_FOR_USER);
     // User profile creation/update
     $this->addHook(Event::USER_MANAGER_UPDATE_DB);
     $this->addHook(Event::USER_MANAGER_CREATE_ACCOUNT);
     if (defined('GIT_EVENT_PLATFORM_CAN_USE_GERRIT')) {
         $this->addHook(GIT_EVENT_PLATFORM_CAN_USE_GERRIT);
     }
     return parent::getHooksAndCallbacks();
 }
 public function getHooksAndCallbacks()
 {
     if (defined('STATISTICS_BASE_DIR')) {
         $this->addHook(Statistics_Event::FREQUENCE_STAT_ENTRIES);
         $this->addHook(Statistics_Event::FREQUENCE_STAT_SAMPLE);
     }
     if (defined('FULLTEXTSEARCH_BASE_URL')) {
         $this->_addHook(FULLTEXTSEARCH_EVENT_FETCH_ALL_DOCUMENT_SEARCH_TYPES);
         $this->_addHook(FULLTEXTSEARCH_EVENT_DOES_DOCMAN_SERVICE_USE_UGROUP);
     }
     return parent::getHooksAndCallbacks();
 }