Dev:Hooks
From Habari Project
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
