Dev:Hooks

From Habari Project

(Redirected from Plugin Hooks)
Jump to: navigation, search

The information available on this page are based on revision 2696.

Habari plugins are divided into two types: actions and filters.

  • Actions do something.
  • Filters modify something.

The above distinction is a little imprecise: actions can modify things, since objects are passed by reference. But the intent of actions is to perform some task, and filters are designed to return some modified value.

For example, the filter post_insert_allow is used to determine if a specific post can be inserted. Plugins that filter against this hook must accept as their parameters a boolean value, and the post object that is to be inserted. If the plugin determines that the post should not be inserted, the filter should return a boolean false value.

Plugin hooks are (usually) invoked using the format class_method_extra. This makes it easy, when reading a plugin's source code, to see where in the core Habari code the plugin is being invoked.

Plugins connect to the Habari hooks using the format type_hookname, where "type" is either action or filter and "hookname" is the hook name as described above. As an example, consider a plugin that prevents anyone from saving new posts after 10 PM. The plugin will be invoked by the post_insert_allow filter, so the plugin will contain a function called filter_post_insert_allow. When Habari prepares to insert a post, it will trigger the plugin hook, thereby invoking the plugin's filter. The plugin's filter would check the local time, and if it's after 10 PM the filter would return boolean false. The post insertion process of Habari would be short-circuited, and the post would not be saved.

Contents

List of Plugin Hooks

Actions (as of r3641)

./themes/mzingi/searchform.php:2			<?php Plugins::act( 'theme_searchform_before' ); ?>
./themes/mzingi/searchform.php:6			<?php Plugins::act( 'theme_searchform_after' ); ?>
./themes/mzingi/loginform.php:15			<?php Plugins::act( 'theme_loginform_before' ); ?>
./themes/mzingi/loginform.php:25			<?php Plugins::act( 'theme_loginform_controls' ); ?>
./themes/mzingi/loginform.php:30			<?php Plugins::act( 'theme_loginform_after' ); ?>
./themes/k2/searchform.php:2			<?php Plugins::act( 'theme_searchform_before' ); ?>
./themes/k2/searchform.php:6			<?php Plugins::act( 'theme_searchform_after' ); ?>
./themes/k2/login-disabled.php:7			<?php Plugins::act( 'theme_login' ); ?>
./themes/k2/sidebar.php:2			<?php Plugins::act( 'theme_sidebar_top' ); ?>
./themes/k2/sidebar.php:19			<?php Plugins::act( 'theme_sidebar_bottom' ); ?>
./themes/k2/loginform.php:17			<?php Plugins::act( 'theme_loginform_before' ); ?>
./themes/k2/loginform.php:27			<?php Plugins::act( 'theme_loginform_controls' ); ?>
./themes/k2/loginform.php:32			<?php Plugins::act( 'theme_loginform_after' ); ?>
./admin/login.php:22			Plugins::act( 'admin_header', $this );
./admin/login.php:35			<?php Plugins::act( 'theme_loginform_before' ); ?>
./admin/login.php:44			<?php Plugins::act( 'theme_loginform_controls' ); ?>
./admin/login.php:54			<?php Plugins::act( 'theme_loginform_after' ); ?>
./admin/login.php:60			Plugins::act( 'admin_footer', $this );
./admin/themes.php:38:<div class="splitterinside"><?php Plugins::act( 'theme_ui', $active_theme ); ?></div>
./admin/header.php:21			Plugins::act( 'admin_header', $this );
./admin/header.php:30			Plugins::act( 'admin_header_after', $this );
./admin/header.php:70			<?php Plugins::act('admin_info', $theme, $page); ?>
./admin/plugins.php:58			<?php Plugins::act( 'plugin_ui', $configure, $helpaction ); ?>
./admin/plugins.php:59			<?php Plugins::act( 'plugin_ui', $configure, $configaction ); ?>
./admin/plugins.php:131			<?php Plugins::act( 'plugin_ui', $configure, $configaction ); ?>
./admin/comments_items.php:52			<?php Plugins::act('comment_info', $comment); ?>
./admin/footer.php:32			Plugins::act( 'admin_footer', $this );
./index.php:229			Plugins::act('plugins_loaded');
./index.php:238			Plugins::act('init');			
./classes/controller.php:169			Plugins::act('handler_' . Controller::instance()->action, Controller::get_handler_vars());
./classes/themes.php:196			Plugins::act('init_theme');
./classes/block.php:59			Plugins::act('block_content_' . $block->type, $block);
./classes/plugins.php:406			Plugins::act('plugin_activated', $file); // For other plugins to react to a plugin install
./classes/plugins.php:438			Plugins::act('plugin_deactivated', $file);  // For other plugins to react to a plugin uninstallation
./classes/term.php:71			Plugins::act( 'term_insert_before', $this );
./classes/term.php:87			Plugins::act( 'term_insert_after', $this );
./classes/term.php:104			Plugins::act( 'term_update_before', $this );
./classes/term.php:109			Plugins::act( 'term_update_after', $this );
./classes/term.php:125			Plugins::act( 'term_delete_before', $this );
./classes/term.php:131			Plugins::act( 'term_delete_after', $this );
./classes/ajaxhandler.php:31			Plugins::act('ajax_' . $this->handler_vars['context'], $this);
./classes/ajaxhandler.php:50			Plugins::act('auth_ajax_' . $this->handler_vars['context'], $this);
./classes/pluginhandler.php:51			Plugins::act( $before_action_hook, $this );
./classes/pluginhandler.php:52			Plugins::act( $action_hook, $this );
./classes/pluginhandler.php:53			Plugins::act( $after_action_hook );
./classes/posts.php:722			Plugins::act( 'posts_reassign_before', array( $user, $posts ) );
./classes/posts.php:724			Plugins::act( 'posts_reassign_after', array( $user, $posts ) );
./classes/atomhandler.php:24			Plugins::act('init_atom');
./classes/atomhandler.php:123			Plugins::act( 'atom_create_wrapper', $xml );
./classes/atomhandler.php:225			Plugins::act( 'atom_add_post', $feed_entry, $post );
./classes/atomhandler.php:258			Plugins::act( 'atom_add_comment', $item, $comment );
./classes/atomhandler.php:390			Plugins::act( 'rsd', $xml, $this->handler_vars );
./classes/atomhandler.php:431			Plugins::act( 'atom_introspection', $xml, $this->handler_vars );
./classes/atomhandler.php:535			Plugins::act( 'atom_get_comments', $xml, $params, $this->handler_vars );
./classes/atomhandler.php:592			Plugins::act( 'atom_get_entry', $xml, $post, $this->handler_vars );
./classes/atomhandler.php:618			Plugins::act( 'atom_put_entry', $xml, $post, $this->handler_vars );
./classes/atomhandler.php:730			Plugins::act( 'atom_get_collection', $xml, $params, $handler_vars );
./classes/atomhandler.php:750			Plugins::act( 'atom_post_collection', $xml, $post, $this->handler_vars );
./classes/logentry.php:286			Plugins::act( 'logentry_delete_before', $this );
./classes/logentry.php:288			Plugins::act( 'logentry_delete_after', $this );
./classes/comment.php:123			Plugins::act('comment_insert_before', $this);
./classes/comment.php:126			Plugins::act('comment_update_' . $fieldname, $this, $this->$fieldname, $value );
./classes/comment.php:133			Plugins::act('comment_insert_after', $this);
./classes/comment.php:148			Plugins::act('comment_update_before', $this);
./classes/comment.php:151			Plugins::act('comment_update_' . $fieldname, $this, $this->fields[$fieldname], $value);
./classes/comment.php:157			Plugins::act('comment_update_after', $this);
./classes/comment.php:172			Plugins::act('comment_delete_before', $this);
./classes/comment.php:178			Plugins::act('comment_delete_after', $this);
./classes/update.php:66			Plugins::act('update_check');
./classes/userhandler.php:119			Plugins::act( 'user_logout', $user );
./classes/adminhandler.php:107			Plugins::act('admin_theme_post_' . $page, $this, $this->theme);
./classes/adminhandler.php:122			Plugins::act('admin_theme_get_' . $page, $this, $this->theme);
./classes/adminhandler.php:529			Plugins::act('publish_post', $post, $form);
./classes/adminhandler.php:746			Plugins::act('form_user', $form, $edit_user);
./classes/adminhandler.php:1064			Plugins::act(
./classes/adminhandler.php:1271			Plugins::act('form_comment_edit', $form, $comment);
./classes/adminhandler.php:1327			Plugins::act('comment_edit', $comment, $form);
./classes/adminhandler.php:1456			Plugins::act( 'admin_moderate_comments', $action, $to_update, $this );
./classes/adminhandler.php:2236			Plugins::act( 'admin_moderate_comments', $handler_vars['action'], $comments, $this );
./classes/vocabulary.php:156			Plugins::act( 'vocabulary_insert_before', $this );
./classes/vocabulary.php:172			Plugins::act( 'vocabulary_insert_after', $this );
./classes/vocabulary.php:199			Plugins::act( 'vocabulary_update_before', $this );
./classes/vocabulary.php:204			Plugins::act( 'vocabulary_update_after', $this );
./classes/vocabulary.php:220			Plugins::act( 'vocabulary_delete_before', $this );
./classes/vocabulary.php:228			Plugins::act( 'vocabulary_delete_after', $this );
./classes/acl.php:116			Plugins::act('token_create_before', $name, $description, $group, $crud );
./classes/acl.php:135			Plugins::act('permission_create_after', $name, $description, $group, $crud );
./classes/acl.php:160			Plugins::act('token_destroy_before', $token_id );
./classes/acl.php:175			Plugins::act('token_destroy_after', $token_id );
./classes/formui.php:521			Plugins::act('modify_form_' . $this->formtype, $this);
./classes/formui.php:522			Plugins::act('modify_form', $this);
./classes/theme.php:123			Plugins::act( 'add_template_vars', $this, Controller::get_handler()->handler_vars );
./classes/theme.php:591			Plugins::act( 'template_header', $theme );
./classes/theme.php:594			Plugins::act( 'template_header_after', $theme );
./classes/theme.php:603			Plugins::act( 'template_footer', $theme );
./classes/theme.php:894			Plugins::act( 'theme_action', $action, $this, $user_filters );
./classes/theme.php:932			Plugins::act('get_blocks', $blocks);
./classes/theme.php:982			Plugins::act('scope_criteria_operator', $stack, $crit);
./classes/theme.php:1002			Plugins::act('get_scopes', $scopes);
./classes/theme.php:1037			Plugins::act($hook, $block);
./classes/tag.php:90			Plugins::act( 'tag_attach_to_post_before', $tag_id, $post_id );
./classes/tag.php:95			Plugins::act( 'tag_attach_to_post_after', $tag_id, $post_id );
./classes/tag.php:102			Plugins::act( 'tag_detatch_from_post_before', $tag_id, $post_id );
./classes/tag.php:118			Plugins::act( 'tag_detatch_from_post_after', $tag_id, $post_id, $result );
./classes/tag.php:168			Plugins::act( 'tag_insert_before', $this );
./classes/tag.php:172			Plugins::act( 'tag_update_' . $fieldname, $this, ( $this->id == 0 ) ? null : $value, $this->$fieldname );
./classes/tag.php:180			Plugins::act( 'tag_insert_after', $this );
./classes/tag.php:197			Plugins::act( 'tag_update_before', $this );
./classes/tag.php:210			Plugins::act( 'tag_update_' . $fieldname, $this, $this->fields[$fieldname], $value );
./classes/tag.php:217			Plugins::act( 'tag_update_after', $this );
./classes/tag.php:233			Plugins::act( 'tag_delete_before', $this );
./classes/tag.php:243			Plugins::act( 'tag_delete_after', $this );
./classes/post.php:550			Plugins::act( 'post_insert_before', $this );
./classes/post.php:554			Plugins::act( 'post_update_' . $fieldname, $this, ( $this->id == 0 ) ? null : $value, $this->$fieldname );
./classes/post.php:557			Plugins::act( 'post_status_' . self::status_name( $this->status ), $this, null );
./classes/post.php:567			Plugins::act( 'post_insert_after', $this );
./classes/post.php:597			Plugins::act( 'post_update_before', $this );
./classes/post.php:610			Plugins::act( 'post_update_' . $fieldname, $this, $this->fields[$fieldname], $value );
./classes/post.php:615			Plugins::act( 'post_status_' . self::status_name( $this->newfields['status'] ), $this, $this->fields['status'] );
./classes/post.php:629			Plugins::act( 'post_update_after', $this );
./classes/post.php:645			Plugins::act( 'post_delete_before', $this );
./classes/post.php:673			Plugins::act( 'post_delete_after', $this );
./classes/post.php:692			Plugins::act( 'post_publish_before', $this );
./classes/post.php:711			Plugins::act( 'post_publish_after', $this );
./classes/post.php:913			Plugins::act('form_publish', $form, $this, $context);
./classes/post.php:962			Plugins::act('form_comment', $form, $this, $context);
./classes/user.php:77			Plugins::act('create_anonymous_user', $anonymous);
./classes/user.php:129			Plugins::act('user_insert_before', $this);
./classes/user.php:152			Plugins::act('user_insert_after', $this);
./classes/user.php:167			Plugins::act('user_update_before', $this);
./classes/user.php:170			Plugins::act('user_update_after', $this);
./classes/user.php:184			Plugins::act('user_delete_before', $this);
./classes/user.php:194			Plugins::act('user_delete_after', $this);
./classes/user.php:221			Plugins::act( 'user_forget', $this );
./classes/user.php:249			Plugins::act( 'user_authenticate_successful', self::$identity );
./classes/user.php:256			Plugins::act( 'user_authenticate_failure', 'plugin' );
./classes/user.php:273			Plugins::act( 'user_authenticate_failure', 'non-existent' );
./classes/user.php:283			Plugins::act( 'user_authenticate_successful', self::$identity );
./classes/user.php:291			Plugins::act( 'user_authenticate_failure', 'bad_pass' );
./classes/usergroup.php:86			Plugins::act('usergroup_insert_before', $this);
./classes/usergroup.php:94			Plugins::act('usergroup_insert_after', $this);
./classes/usergroup.php:109			Plugins::act('usergroup_update_before', $this);
./classes/usergroup.php:114			Plugins::act('usergroup_update_after', $this);
./classes/usergroup.php:146			Plugins::act('usergroup_delete_before', $this);
./classes/usergroup.php:153			Plugins::act('usergroup_delete_after', $this);
./classes/actionhandler.php:66			Plugins::act( $before_action_method, $this );
./classes/actionhandler.php:77			Plugins::act( $after_action_method );

Filters (as of r3641)

./admin/groups_item.php:9:			$actions = Plugins::filter('group_actions', $actions);
./admin/comments_items.php:4:<div class="item clear <?php echo strtolower( $comment->statusname ); ?>" id="comment_<?php echo $comment->id; ?>" style="<?php echo Plugins::filter('comment_style', '', $comment); ?>">
./admin/posts_items.php:26:			$actions = Plugins::filter('post_actions', $actions, $post);
./admin/import.php:10:					$import_names = Plugins::filter('import_names', $import_names);
./admin/import.php:28:					echo Plugins::filter('import_stage', '', @$_POST['importer'], @$_POST['stage'], @$_POST['step']);
./index.php:251:$buffer = Plugins::filter('final_output', $buffer);
./classes/xmlrpcserver.php:62:		$res = Plugins::filter('xmlrpc_methods', $res);
./classes/smartyengine.php:98:			//$template_file= Plugins::filter('include_template_file', $this->template_dir . $template . '.php', $template, __CLASS__);
./classes/smartyengine.php:100:			$template_file = Plugins::filter('include_template_file', $template_file, $template, __CLASS__);
./classes/smartyengine.php:129:			$this->available_templates = Plugins::filter('available_templates', $this->available_templates, __CLASS__);
./classes/rawphpengine.php:93:			//$template_file= Plugins::filter('include_template_file', $this->template_dir . $template . '.php', $template, __CLASS__);
./classes/rawphpengine.php:95:			$template_file = Plugins::filter('include_template_file', $template_file, $template, __CLASS__);
./classes/rawphpengine.php:121:			$this->available_templates = Plugins::filter('available_templates', $this->available_templates, __CLASS__);
./classes/controller.php:136:		$start_url = Plugins::filter('rewrite_request', $start_url);
./classes/cronjob.php:115:			$result = Plugins::filter( $this->callback, $result, $paramarray );
./classes/rewriterule.php:113:		$args = Plugins::filter( 'rewrite_args', $args, $this->name );
./classes/rewriterule.php:160:		$args = Plugins::filter( 'rewrite_args', $args, $this->name );
./classes/plugins.php:391:		$ok = Plugins::filter('activate_plugin', $ok, $file); // Allow plugins to reject activation
./classes/plugins.php:420:		$ok = Plugins::filter('deactivate_plugin', $ok, $file);  // Allow plugins to reject deactivation
./classes/userthemehandler.php:43:			$handled = Plugins::filter('theme_act_' . $action, $handled, $this->theme);
./classes/term.php:67:		$allow = Plugins::filter( 'term_insert_allow', $allow, $this );
./classes/term.php:100:		$allow = Plugins::filter( 'term_update_allow', $allow, $this );
./classes/term.php:121:		$allow = Plugins::filter( 'term_delete_allow', $allow, $this );
./classes/rewriterules.php:64:		$default_rules = Plugins::filter('default_rewrite_rules', $default_rules);
./classes/rewriterules.php:95:		$rewrite_rules = Plugins::filter('rewrite_rules', $system_rules);
./classes/utils.php:610:		$slug = Plugins::filter('slugify', $slug, $string);
./classes/utils.php:892:		$mimetype = Plugins::filter('get_mime_type', $mimetype, $filename);
./classes/utils.php:932:		$mail = Plugins::filter('mail', $mail);
./classes/utils.php:935:		$handled = Plugins::filter('send_mail', $handled, $mail);
./classes/site.php:207:		$url = Plugins::filter( 'site_url_' . $name, $url );
./classes/site.php:258:		$path = Plugins::filter( 'site_path_' . $name, $path );
./classes/site.php:342:		$path = Plugins::filter( 'site_dir_' . $name, $path );
./classes/posts.php:695:		$allow = Plugins::filter( 'posts_reassign_allow', $allow );
./classes/feedbackhandler.php:187:		$spam_rating = Plugins::filter('spam_filter', $spam_rating, $comment, $this->handler_vars);
./classes/options.php:118:		$option_value = Plugins::filter('option_get_value', $option_value, $name);
./classes/options.php:153:		$value = Plugins::filter( 'option_set_value', $value, $name, isset($this->options[$name]) ? $this->options[$name] : null );
./classes/atomhandler.php:90:		$namespaces = Plugins::filter( 'atom_get_collection_namespaces', $namespaces );
./classes/atomhandler.php:323:		$apis_list = Plugins::filter('rsd_api_list', $apis_list);
./classes/atomhandler.php:684:		$alternate_rules = Plugins::filter( 'atom_get_collection_alternate_rules', $alternate_rules );
./classes/atomhandler.php:702:		$params['content_type'] = Plugins::filter( 'atom_get_collection_content_type', $params['content_type'] );
./classes/logentry.php:202:		Plugins::filter( 'insert_logentry', $this );
./classes/logentry.php:282:		$allow = Plugins::filter( 'logentry_delete_allow', $allow, $this );
./classes/logentry.php:322:		$out = Plugins::filter( "logentry_{$name}", $out, $this );
./classes/logentry.php:324:			$out = Plugins::filter( "logentry_{$name}_{$filter}", $out, $this );
./classes/comment.php:119:		$allow = Plugins::filter('comment_insert_allow', $allow, $this);
./classes/comment.php:144:		$allow = Plugins::filter('comment_update_allow', $allow, $this);
./classes/comment.php:168:		$allow = Plugins::filter('comment_delete_allow', $allow, $this);
./classes/comment.php:220:		$out = Plugins::filter( "comment_{$name}", $out, $this );
./classes/comment.php:222:			$out = Plugins::filter( "comment_{$name}_{$filter}", $out, $this );
./classes/comment.php:365:		self::$comment_status_list = Plugins::filter('list_comment_statuses', self::$comment_status_list);
./classes/comment.php:382:			self::$comment_status_actions = Plugins::filter('list_comment_actions', self::$comment_status_actions);
./classes/session.php:105:		$dodelete = Plugins::filter( 'session_read', $dodelete, $session, $session_id );
./classes/session.php:110:			$sql = Plugins::filter( 'sessions_clean', $sql, 'read', $args );
./classes/session.php:118:		$probability = Plugins::filter( 'gc_probability', ( is_numeric($probability) && $probability > 0 ) ? $probability : 1 );
./classes/session.php:141:		$dowrite = Plugins::filter( 'session_write', $dowrite, $session_id, $data );
./classes/session.php:169:		$sql = Plugins::filter( 'sessions_clean', $sql, 'destroy', $args );
./classes/session.php:183:		$sql = Plugins::filter( 'sessions_clean', $sql, 'gc', $args );
./classes/hiengine.php:45:			$template_file = Plugins::filter('include_template_file', $template_file, $template, __CLASS__);
./classes/userhandler.php:87:					$login_dest = Plugins::filter( 'login_redirect_dest', $login_dest, $user, $login_session );
./classes/adminhandler.php:74:			$type = Plugins::filter('post_type_display', Post::type_name($this->handler_vars['content_type']), 'singular');
./classes/adminhandler.php:77:			$type = Plugins::filter('post_type_display', Post::type_name(Post::get(intval($this->handler_vars['id']))->content_type), 'singular'); 
./classes/adminhandler.php:83:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:270:		$option_items = Plugins::filter( 'admin_option_items', $option_items );
./classes/adminhandler.php:443:			$module = Plugins::filter( 'dash_module_' .$slug, $module, $id, $this->theme );
./classes/adminhandler.php:465:			$this->theme->admin_page = sprintf(_t('Publish %s'), Plugins::filter('post_type_display', Post::type_name($post->content_type), 'singular')); 
./classes/adminhandler.php:562:		$this->theme->admin_page = sprintf(_t('Publish %s'), Plugins::filter('post_type_display', Post::type_name($post->content_type), 'singular')); 
./classes/adminhandler.php:563:		$this->theme->admin_title = sprintf(_t('Publish %s'), Plugins::filter('post_type_display', Post::type_name($post->content_type), 'singular')); 
./classes/adminhandler.php:819:		$info_fields = Plugins::filter( 'adminhandler_post_user_fields', $info_fields );
./classes/adminhandler.php:829:		$update = Plugins::filter( 'form_user_update', $update, $form, $edit_user );
./classes/adminhandler.php:1113:		$this->theme->configurable = Plugins::filter( 'theme_config', false, $this->active_theme);
./classes/adminhandler.php:1125:		$this->theme->blocks = Plugins::filter('block_list', array());
./classes/adminhandler.php:1150:		$this->theme->enctype = Plugins::filter( 'import_form_enctype', 'application/x-www-form-urlencoded', $importer, $stage );
./classes/adminhandler.php:1169:		$this->theme->enctype = Plugins::filter( 'import_form_enctype', 'application/x-www-form-urlencoded', $importer, $stage );
./classes/adminhandler.php:1239:		$statuses = Plugins::filter( 'admin_publish_list_comment_statuses', $statuses );
./classes/adminhandler.php:1596:		$actions = Plugins::filter('comments_actions', $baseactions, $this->theme->comments);
./classes/adminhandler.php:1609:			$comment->menu = Plugins::filter('comment_actions', $menu, $comment);
./classes/adminhandler.php:1667:					$plugin_actions = Plugins::filter( 'plugin_config', $plugin_actions, $plugin_id );
./classes/adminhandler.php:1945:		$this->theme->special_searches = Plugins::filter('special_searches',array_merge($statuses, $types));
./classes/adminhandler.php:1956:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2004:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2036:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2067:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2264:			$status_msg = Plugins::filter( 'admin_comments_action', $status_msg, $handler_vars['action'], $comments );
./classes/adminhandler.php:2463:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2497:		$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2833:					$theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) );
./classes/adminhandler.php:2936:		$this->theme->content = Plugins::filter('admin_blank_content', $content);
./classes/adminhandler.php:2974:			$plural = Plugins::filter('post_type_display', $type, 'plural');
./classes/adminhandler.php:2975:			$singular = Plugins::filter('post_type_display', $type, 'singular');
./classes/adminhandler.php:3025:		$mainmenus = Plugins::filter( 'adminhandler_post_loadplugins_main_menu', $mainmenus );
./classes/adminhandler.php:3173:		$require_any = Plugins::filter( 'admin_access_tokens', $require_any, $page, $type );
./classes/adminhandler.php:3190:		$result = Plugins::filter( 'admin_access', $result, $page, $type );
./classes/adminhandler.php:3251:		$controls = Plugins::filter( 'media_controls', $controls, $silo, $rpath, '' );
./classes/adminhandler.php:3276:		$panel = Plugins::filter( 'media_panels', $panel, $silo, $rpath, $panelname );
./classes/adminhandler.php:3279:		$controls = Plugins::filter( 'media_controls', $controls, $silo, $rpath, $panelname );
./classes/vocabulary.php:152:		$allow = Plugins::filter( 'vocabulary_insert_allow', $allow, $this );
./classes/vocabulary.php:195:		$allow = Plugins::filter( 'vocabulary_update_allow', $allow, $this );
./classes/vocabulary.php:216:		$allow = Plugins::filter( 'vocabulary_delete_allow', $allow, $this );
./classes/acl.php:112:		$allow = Plugins::filter('token_create_allow', $allow, $name, $description, $group, $crud );
./classes/acl.php:156:		$allow = Plugins::filter('token_destroy_allow', $allow, $token_id);
./classes/acl.php:421:		$default_groups = Plugins::filter( 'user_default_groups', $default_groups, $user_id );
./classes/acl.php:454:		$accesses = Plugins::filter( 'user_token_access', $accesses, $user_id, $token_id );
./classes/formui.php:182:			$theme_dir = Plugins::filter( 'control_theme_dir', Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', TRUE ) ) . 'formcontrols/', $control );
./classes/formui.php:998:					$this->default = Plugins::filter($location, '', $this->name, false);
./classes/formui.php:1045:				Plugins::filter($location, $this->value, $this->name, true);
./classes/theme.php:191:			$user_filters = Plugins::filter( 'template_user_filters', $user_filters );
./classes/theme.php:194:			$where_filters = Plugins::filter( 'template_where_filters', $where_filters );
./classes/theme.php:270:		$fallback = Plugins::filter( 'template_fallback', $fallback );
./classes/theme.php:961:						$value = Plugins::filter('scope_criteria_value', $value, $crit[1], $crit[2]);
./classes/theme.php:1032:		$begin = Plugins::filter('area_begin', $begin, $area, $this);
./classes/theme.php:1043:		$end = Plugins::filter('area_end', $end, $area, $this);
./classes/tag.php:111:			$delete = Plugins::filter( 'tag_detach_from_post_delete_empty_tag', $delete, $tag_id );
./classes/tag.php:150:		$slug = Plugins::filter( 'tag_setslug', $value );
./classes/tag.php:164:		$allow = Plugins::filter( 'tag_insert_allow', $allow, $this );
./classes/tag.php:193:		$allow = Plugins::filter( 'tag_update_allow', $allow, $this );
./classes/tag.php:228:		$allow = Plugins::filter( 'tag_delete_allow', $allow, $this );
./classes/post.php:375:		$slug = Plugins::filter( 'post_setslug', $value );
./classes/post.php:546:		$allow = Plugins::filter( 'post_insert_allow', $allow, $this );
./classes/post.php:593:		$allow = Plugins::filter( 'post_update_allow', $allow, $this );
./classes/post.php:640:		$allow = Plugins::filter( 'post_delete_allow', $allow, $this );
./classes/post.php:688:		$allow = Plugins::filter( 'post_publish_allow', $allow, $this );
./classes/post.php:767:		$out = Plugins::filter( "post_get", $out, $name, $this );
./classes/post.php:768:		$out = Plugins::filter( "post_{$name}", $out, $this );
./classes/post.php:770:			$out = Plugins::filter( "post_{$name}_{$filter}", $out, $this );
./classes/post.php:862:		$statuses = Plugins::filter( 'admin_publish_list_post_statuses', $statuses );
./classes/post.php:1134:		$tokens = Plugins::filter('post_tokens', $tokens, $this);
./classes/user.php:125:		$allow = Plugins::filter('user_insert_allow', $allow, $this);
./classes/user.php:163:		$allow = Plugins::filter('user_update_allow', $allow, $this);
./classes/user.php:180:		$allow = Plugins::filter('user_delete_allow', $allow, $this);
./classes/user.php:246:		$user = Plugins::filter('user_authenticate', $user, $who, $pw);
./classes/usergroup.php:82:		$allow = Plugins::filter('usergroup_insert_allow', $allow, $this);
./classes/usergroup.php:105:		$allow = Plugins::filter('usergroup_update_allow', $allow, $this);
./classes/usergroup.php:140:		$allow = Plugins::filter('usergroup_delete_allow', $allow, $this);
./classes/modules.php:23:		self::$available_modules = (array) Plugins::filter( 'dash_modules', array() );
./classes/modules.php:217:		self::$status_data = Plugins::filter('dashboard_status', array());
./classes/databaseconnection.php:212:		$query = Plugins::filter( 'db_exec', $query, array() );
./classes/databaseconnection.php:218:		$query = Plugins::filter( 'db_exec_postprocess', $query, array() );
./classes/databaseconnection.php:237:		$query = Plugins::filter( 'query', $query, $args );
./classes/databaseconnection.php:243:		$query = Plugins::filter( 'query_postprocess', $query, $args );
./classes/stack.php:214:		$stack = Plugins::filter( 'stack_out', $stack, $stack_name, $format );
./classes/xmlrpcexception.php:78:			return Plugins::filter( 'xmlrpcexception_get_message', _t('Unknown XMLRPC Exception'), $code );
./classes/remoterequest.php:295:		return Plugins::filter( 'remoterequest', $data, $url );
./plugins/spamchecker/spamchecker.plugin.php:221:		$code = Plugins::filter('comment_code', $code, $post_id, $ip);
./plugins/spamchecker/spamchecker.plugin.php:237:		$code = Plugins::filter('comment_code', $code, $post_id, $ip);

Plugin Methods (as of 0.6.2)

There are two plugin methods called directly, action_plugin_activation and action_plugin_deactivation

They are in classes/plugins.php:404 and classes/plugins.php:434

Other Development Pages · Developer Introduction
Personal tools