Dev:Hooks
From Habari Project
Habari plugin functions 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 v0.8-168-gcb5b7a1)
admin/login.php: Plugins::act( 'admin_header', $this );
admin/login.php: <?php Plugins::act( 'theme_loginform_before' ); ?>
admin/login.php: <?php Plugins::act( 'theme_loginform_controls' ); ?>
admin/login.php: <?php Plugins::act( 'theme_loginform_after' ); ?>
admin/login.php: Plugins::act( 'admin_footer', $this );
admin/comments_items.php: <?php Plugins::act('comment_info', $comment); ?>
admin/header.php: Plugins::act( 'admin_header', $this );
admin/header.php: Plugins::act( 'admin_header_after', $this );
admin/header.php:<?php Plugins::act( 'admin_info', $theme, $page ); ?>
admin/footer.php: Plugins::act( 'admin_footer', $this );
admin/block_configure.php: Plugins::act( 'admin_header', $this );
admin/block_configure.php: Plugins::act( 'admin_header_after', $this );
admin/block_configure.php:Plugins::act( 'admin_footer', $this );
admin/themes.php: Plugins::act( 'theme_ui', $active_theme );
admin/plugin.php: Plugins::act_id( 'plugin_ui', $plugin['plugin_id'], $plugin['plugin_id'], '_help' );
classes/update.php: Plugins::act( 'update_check' );
classes/user.php: Plugins::act( 'create_anonymous_user', $anonymous );
classes/user.php: Plugins::act( 'user_insert_before', $this );
classes/user.php: Plugins::act( 'user_insert_after', $this );
classes/user.php: Plugins::act( 'user_update_before', $this );
classes/user.php: Plugins::act( 'user_update_after', $this );
classes/user.php: Plugins::act( 'user_delete_before', $this );
classes/user.php: Plugins::act( 'user_delete_after', $this );
classes/user.php: Plugins::act( 'user_forget', $this );
classes/user.php: Plugins::act( 'user_authenticate_successful', self::$identity );
classes/user.php: Plugins::act( 'user_authenticate_failure', 'plugin' );
classes/user.php: Plugins::act( 'user_authenticate_failure', 'non-existent' );
classes/user.php: Plugins::act( 'user_authenticate_successful', self::$identity );
classes/user.php: Plugins::act( 'user_authenticate_failure', 'bad_pass' );
classes/usergroup.php: Plugins::act( 'usergroup_insert_before', $this );
classes/usergroup.php: Plugins::act( 'usergroup_insert_after', $this );
classes/usergroup.php: Plugins::act( 'usergroup_update_before', $this );
classes/usergroup.php: Plugins::act( 'usergroup_update_after', $this );
classes/usergroup.php: Plugins::act( 'usergroup_delete_before', $this );
classes/usergroup.php: Plugins::act( 'usergroup_delete_after', $this );
classes/filecache.php: Plugins::act( 'cache_set_before', $name, $group, $value, $expiry );
classes/filecache.php: Plugins::act( 'cache_set_after', $name, $group, $value, $expiry );
classes/filecache.php: Plugins::act( 'cache_expire_before', $name, $group );
classes/filecache.php: Plugins::act( 'cache_expire_after', $name, $group );
classes/filecache.php: Plugins::act( 'cache_extend_before', $name, $group, $expiry );
classes/filecache.php: Plugins::act( 'cache_extend_after', $name, $group, $expiry );
classes/filecache.php: Plugins::act( 'cache_purge_before' );
classes/filecache.php: Plugins::act( 'cache_purge_after' );
classes/pluggable.php: Plugins::act_id('upgrade', $this->plugin_id(), $old_version);
classes/block.php: Plugins::act( 'block_content_' . $this->type, $this, $theme );
classes/block.php: Plugins::act( 'block_content', $this, $theme );
classes/block.php: Plugins::act( 'block_insert_before', $this );
classes/block.php: Plugins::act( 'block_insert_after', $this );
classes/block.php: Plugins::act( 'block_update_before', $this );
classes/block.php: Plugins::act( 'block_update_after', $this );
classes/block.php: Plugins::act( 'block_delete_before', $this );
classes/block.php: Plugins::act( 'block_delete_after', $this );
classes/block.php: Plugins::act( 'block_form_' . $this->type, $form, $this );
classes/block.php: Plugins::act( 'block_form', $form, $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_insert_before', $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_insert_after', $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_update_before', $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_update_after', $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_delete_before', $this );
classes/vocabulary.php: Plugins::act( 'vocabulary_delete_after', $this );
classes/comment.php: Plugins::act( 'comment_insert_before', $this );
classes/comment.php: Plugins::act( 'comment_update_' . $fieldname, $this, $this->$fieldname, $value );
classes/comment.php: Plugins::act( 'comment_insert_after', $this );
classes/comment.php: Plugins::act( 'comment_update_before', $this );
classes/comment.php: Plugins::act( 'comment_update_' . $fieldname, $this, $this->fields[$fieldname], $value );
classes/comment.php: Plugins::act( 'comment_update_after', $this );
classes/comment.php: Plugins::act( 'comment_delete_before', $this );
classes/comment.php: Plugins::act( 'comment_delete_after', $this );
classes/term.php: Plugins::act( 'term_insert_before', $this );
classes/term.php: Plugins::act( 'term_insert_after', $this );
classes/term.php: Plugins::act( 'term_update_before', $this );
classes/term.php: Plugins::act( 'term_update_after', $this );
classes/term.php: Plugins::act( 'term_delete_before', $this );
classes/term.php: Plugins::act( 'term_delete_after', $this );
classes/term.php: Plugins::act( 'term_associate_to_object_before', $this->id, $id, $type_id );
classes/term.php: Plugins::act( 'term_associate_to_object_after', $this->id, $id, $type_id );
classes/term.php: Plugins::act( 'term_dissociate_from_object_before', $this->id, $id, $type_id );
classes/term.php: Plugins::act( 'term_dissociate_from_object_after', $this->id, $id, $type_id, $result );
classes/themes.php: Plugins::act_id( 'theme_activated', $fallback_theme->plugin_id(), $theme_dir, $fallback_theme );
classes/themes.php: Plugins::act_id( 'theme_deactivated', $old_active_theme->plugin_id(), $old_active_theme->name, $old_active_theme ); // For the theme itself to react to its deactivation
classes/themes.php: Plugins::act( 'theme_deactivated_any', $old_active_theme->name, $old_active_theme ); // For any plugin to react to its deactivation
classes/themes.php: Plugins::act_id( 'theme_activated', $new_active_theme->plugin_id(), $theme_name, $new_active_theme ); // For the theme itself to react to its activation
classes/themes.php: Plugins::act( 'theme_activated_any', $theme_name, $new_active_theme ); // For any plugin to react to its activation
classes/themes.php: Plugins::act_id( 'theme_activated', $preview_theme->plugin_id(), $theme_name, $preview_theme );
classes/themes.php: Plugins::act_id( 'theme_deactivated', $preview_theme->plugin_id() );
classes/themes.php: Plugins::act_id( 'init_theme', $created_theme->plugin_id(), $created_theme );
classes/themes.php: Plugins::act( 'init_theme_any', $created_theme );
classes/theme.php: Plugins::act( 'add_template_vars', $this, $handler->handler_vars );
classes/theme.php: Plugins::act( 'template_header', $theme );
classes/theme.php: Plugins::act( 'template_header_after', $theme );
classes/theme.php: Plugins::act( 'template_footer', $theme );
classes/theme.php: Plugins::act( 'theme_action', $action, $this, $user_filters );
classes/theme.php: Plugins::act( 'scope_criteria_operator', $stack, $crit );
classes/theme.php: Plugins::act( $hook, $block, $this );
classes/theme.php: Plugins::act( 'block_content', $block, $this );
classes/logentry.php: Plugins::act( 'logentry_delete_before', $this );
classes/logentry.php: Plugins::act( 'logentry_delete_after', $this );
classes/formui.php: Plugins::act( 'modify_form_' . Utils::slugify( $this->formtype, '_' ), $this );
classes/formui.php: Plugins::act( 'modify_form', $this );
classes/formui.php: Plugins::act( $location, $this->value, $this->name, true, $this );
classes/formui.php: Plugins::act( $location, $this->value, $this->name, $storage );
classes/posts.php: Plugins::act( 'post_get_perm_where', $perm_where, $params_where, $paramarray );
classes/posts.php: Plugins::act( 'post_get_perm_where_denied', $perm_where_denied, $params_where_denied, $paramarray );
classes/posts.php: Plugins::act( 'posts_reassign_before', array( $user, $posts ) );
classes/posts.php: Plugins::act( 'posts_reassign_after', array( $user, $posts ) );
classes/plugins.php: Plugins::act( 'plugin_activated', $file ); // For other plugins to react to a plugin install
classes/plugins.php: Plugins::act( 'plugin_deactivated', $file ); // For other plugins to react to a plugin uninstallation
classes/plugins.php: Plugins::act_id( 'plugin_ui_' . $configaction, $configure, $configure, $configaction );
classes/plugins.php: Plugins::act( 'plugin_ui_any_' . $configaction, $configure, $configaction );
classes/plugins.php: Plugins::act_id( 'plugin_ui', $configure, $configure, $configaction );
classes/plugins.php: Plugins::act( 'plugin_ui_any', $configure, $configaction );
classes/apccache.php: Plugins::act( 'cache_set_before', $name, $group, $value, $expiry );
classes/apccache.php: Plugins::act( 'cache_set_after', $name, $group, $value, $expiry );
classes/apccache.php: Plugins::act( 'cache_expire_before', $name, $group );
classes/apccache.php: Plugins::act( 'cache_expire_after', $name, $group );
classes/apccache.php: Plugins::act( 'cache_extend_before', $name, $group, $expiry );
classes/apccache.php: Plugins::act( 'cache_extend_after', $name, $group, $expiry );
classes/apccache.php: Plugins::act( 'cache_purge_before' );
classes/apccache.php: Plugins::act( 'cache_purge_after' );
classes/controller.php: Plugins::act( 'handler_' . Controller::instance()->action, Controller::get_handler_vars() );
classes/acl.php: Plugins::act( 'token_create_before', $name, $description, $group, $crud );
classes/acl.php: Plugins::act( 'permission_create_after', $name, $description, $group, $crud );
classes/acl.php: Plugins::act( 'token_destroy_before', $token_id );
classes/acl.php: Plugins::act( 'token_destroy_after', $token_id );
classes/post.php: Plugins::act( 'post_insert_before', $this );
classes/post.php: Plugins::act( 'post_update_' . $fieldname, $this, ( $this->id == 0 ) ? null : $value, $this->$fieldname );
classes/post.php: Plugins::act( 'post_status_' . self::status_name( $this->status ), $this, null );
classes/post.php: Plugins::act( 'post_insert_after', $this );
classes/post.php: Plugins::act( 'post_update_before', $this );
classes/post.php: Plugins::act( 'post_update_' . $fieldname, $this, $this->fields[$fieldname], $value );
classes/post.php: Plugins::act( 'post_status_' . self::status_name( $this->newfields['status'] ), $this, $this->fields['status'] );
classes/post.php: Plugins::act( 'post_update_after', $this );
classes/post.php: Plugins::act( 'post_delete_before', $this );
classes/post.php: Plugins::act( 'post_delete_after', $this );
classes/post.php: Plugins::act( 'post_publish_before', $this );
classes/post.php: Plugins::act( 'post_publish_after', $this );
classes/post.php: Plugins::act( 'form_publish', $form, $this, $context );
classes/post.php: Plugins::act( 'publish_post', $post, $form );
classes/post.php: Plugins::act( 'form_comment', $form, $this, $context );
handlers/feedbackhandler.php: Plugins::act( 'comment_form_submit', $form );
handlers/feedbackhandler.php: Plugins::act( 'comment_accepted', $comment, $this->handler_vars, $extra );
handlers/adminhandler.php: Plugins::act( 'admin_theme_post_' . $page, $this, $this->theme );
handlers/adminhandler.php: Plugins::act( 'admin_theme_get_' . $page, $this, $this->theme );
handlers/adminpluginshandler.php: if ( Plugins::activate_plugin( $file ) ) {
handlers/adminpluginshandler.php: Plugins::act(
handlers/actionhandler.php: Plugins::act( $before_action_method, $this );
handlers/actionhandler.php: Plugins::act( $after_action_method );
handlers/atomhandler.php: Plugins::act( 'init_atom' );
handlers/atomhandler.php: Plugins::act( 'atom_create_wrapper', $xml );
handlers/atomhandler.php: Plugins::act( 'atom_add_post', $feed_entry, $post );
handlers/atomhandler.php: Plugins::act( 'atom_add_comment', $item, $comment );
handlers/atomhandler.php: Plugins::act( 'rsd', $xml, $this->handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_introspection', $xml, $this->handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_get_comments', $xml, $params, $this->handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_get_entry', $xml, $post, $this->handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_put_entry', $xml, $post, $this->handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_get_collection', $xml, $params, $handler_vars );
handlers/atomhandler.php: Plugins::act( 'atom_post_collection', $xml, $post, $this->handler_vars );
handlers/adminpostshandler.php: Plugins::act( 'publish_post', $post, $form );
handlers/adminpostshandler.php: Plugins::act( 'admin_update_posts', $handler_vars['action'], $posts, $this );
handlers/adminpostshandler.php: Plugins::act( 'admin_posts_action', $response, $handler_vars['action'], $posts );
handlers/installhandler.php: Plugins::activate_plugin( $file );
handlers/installhandler.php: Plugins::activate_plugin( $file );
handlers/userhandler.php: Plugins::act( 'user_logout', $user );
handlers/admincommentshandler.php: Plugins::act( 'form_comment_edit', $form, $comment );
handlers/admincommentshandler.php: Plugins::act( 'comment_edit', $comment, $form );
handlers/admincommentshandler.php: Plugins::act( 'admin_moderate_comments', $action, $to_update, $this );
handlers/admincommentshandler.php: Plugins::act( 'admin_moderate_comments', $handler_vars['action'], $comments, $this );
handlers/adminusershandler.php: Plugins::act( 'form_user', $form, $edit_user );
handlers/pluginhandler.php: Plugins::act( $before_action_hook, $this );
handlers/pluginhandler.php: Plugins::act( $action_hook, $this );
handlers/pluginhandler.php: Plugins::act( $after_action_hook );
handlers/ajaxhandler.php: Plugins::act( 'ajax_' . $this->handler_vars['context'], $this );
handlers/ajaxhandler.php: Plugins::act( 'auth_ajax_' . $this->handler_vars['context'], $this );
index.php:Plugins::act( 'plugins_loaded' );
index.php:Plugins::act( 'init' );
plugins/coreblocks/block.search_form.php: Plugins::act( 'theme_searchform_before' );
plugins/coreblocks/block.search_form.php: Plugins::act( 'theme_searchform_after' );
themes/mzingi/searchform.php:<?php Plugins::act( 'theme_searchform_before' ); ?>
themes/mzingi/searchform.php:<?php Plugins::act( 'theme_searchform_after' ); ?>
themes/mzingi/sidebar.php:<?php Plugins::act( 'theme_sidebar_top' ); ?>
themes/mzingi/sidebar.php:<?php Plugins::act( 'theme_sidebar_bottom' ); ?>
themes/mzingi/loginform.php:<?php Plugins::act( 'theme_loginform_before' ); ?>
themes/mzingi/loginform.php: <?php Plugins::act( 'theme_loginform_controls' ); ?>
themes/mzingi/loginform.php:<?php Plugins::act( 'theme_loginform_after' ); ?>
Filters (as of v0.8-168-gcb5b7a1)
admin/user.php: $status_name = Plugins::filter( 'post_status_display', $status_name );
admin/posts_items.php: <span class="state pct10"><a href="<?php URL::out('admin', array('page' => 'posts', 'type' => $post->content_type, 'status' => $post->status ) ); ?>" title="<?php _e('Search for other %s items', array( MultiByte::ucfirst( Plugins::filter( "post_status_display", $post->statusname ) ) ) ); ?>"><?php echo MultiByte::ucfirst( Plugins::filter( "post_status_display", $post->statusname ) ); ?></a></span>
admin/posts_items.php: $actions = Plugins::filter('post_actions', $actions, $post);
admin/comments_items.php:<div class="item clear <?php echo strtolower( $comment->statusname ); ?>" id="comment_<?php echo $comment->id; ?>" style="<?php echo Plugins::filter('comment_style', '', $comment); ?>">
admin/comments_items.php: <p class="comment-type"><?php echo Plugins::filter( 'comment_type_display', $comment->typename, 'singular' ); ?></p>
admin/posts.php: $page_actions = Plugins::filter('posts_manage_actions', $page_actions);
admin/posts.php: $page_actions = Plugins::filter('posts_manage_actions', $page_actions);
admin/users_items.php: $status_name = Plugins::filter( 'post_status_display', $status_name );
admin/logs.php: $page_actions = Plugins::filter('logs_manage_actions', $page_actions);
admin/logs.php: $page_actions = Plugins::filter('logs_manage_actions', $page_actions);
admin/groups_item.php: $actions = Plugins::filter('group_actions', $actions);
classes/stack.php: $stack = Plugins::filter( 'stack_out', $stack, $stack_name, $format );
classes/modules.php: self::$available_modules = (array) Plugins::filter( 'dash_modules', array() );
classes/modules.php: self::$status_data = Plugins::filter( 'dashboard_status', array() );
classes/user.php: if ( $out = Plugins::filter('user_identify', $out) ) {
classes/user.php: $allow = Plugins::filter( 'user_insert_allow', $allow, $this );
classes/user.php: $allow = Plugins::filter( 'user_update_allow', $allow, $this );
classes/user.php: $allow = Plugins::filter( 'user_delete_allow', $allow, $this );
classes/user.php: $user = Plugins::filter( 'user_authenticate', $user, $who, $pw );
classes/user.php: $out = Plugins::filter( "user_get", $out, $name, $this );
classes/user.php: $out = Plugins::filter( "user_{$name}", $out, $this );
classes/user.php: $out = Plugins::filter( "user_{$name}_{$filter}", $out, $this );
classes/usergroup.php: $allow = Plugins::filter( 'usergroup_insert_allow', $allow, $this );
classes/usergroup.php: $allow = Plugins::filter( 'usergroup_update_allow', $allow, $this );
classes/usergroup.php: $allow = Plugins::filter( 'usergroup_delete_allow', $allow, $this );
classes/rawphpengine.php: //$template_file= Plugins::filter( 'include_template_file', $this->template_dir . $template . '.php', $template, __CLASS__ );
classes/rawphpengine.php: $template_file = Plugins::filter( 'include_template_file', $template_file, $template, __CLASS__ );
classes/rawphpengine.php: $this->available_templates = Plugins::filter( 'available_templates', $this->available_templates, __CLASS__ );
classes/site.php: $url = Plugins::filter( 'site_url_' . $name, $url );
classes/site.php: $path = Plugins::filter( 'site_path_' . $name, $path );
classes/site.php: $path = Plugins::filter( 'site_dir_' . $name, $path );
classes/xmlrpcserver.php: $res = Plugins::filter( 'xmlrpc_methods', $res );
classes/rewriterules.php: $default_rules = Plugins::filter( 'default_rewrite_rules', $default_rules );
classes/rewriterules.php: $rewrite_rules = Plugins::filter( 'rewrite_rules', $system_rules );
classes/databaseconnection.php: $query = Plugins::filter( 'db_exec', $query, array() );
classes/databaseconnection.php: $query = Plugins::filter( 'db_exec_postprocess', $query, array() );
classes/databaseconnection.php: $query = Plugins::filter( 'query', $query, $args );
classes/databaseconnection.php: $query = Plugins::filter( 'query_postprocess', $query, $args );
classes/block.php: $classes = Plugins::filter('block_classes', $classes, $this);
classes/block.php: $types = Plugins::filter( 'block_content_type_' . $this->type, $types, $this );
classes/block.php: $types = Plugins::filter( 'block_content_type', $types, $this );
classes/block.php: $allow = Plugins::filter( 'block_insert_allow', $allow, $this );
classes/block.php: $allow = Plugins::filter( 'block_update_allow', $allow, $this );
classes/block.php: $allow = Plugins::filter( 'block_delete_allow', $allow, $this );
classes/mediaasset.php: $output = Plugins::filter( 'mediaasset', $output, $name );
classes/options.php: $option_value = Plugins::filter( 'option_get_value', $option_value, $name );
classes/options.php: $value = Plugins::filter( 'option_set_value', $value, $name, isset( $this->options[$name] ) ? $this->options[$name] : null );
classes/vocabulary.php: $allow = Plugins::filter( 'vocabulary_insert_allow', $allow, $this );
classes/vocabulary.php: $allow = Plugins::filter( 'vocabulary_update_allow', $allow, $this );
classes/vocabulary.php: $allow = Plugins::filter( 'vocabulary_delete_allow', $allow, $this );
classes/xmlrpcexception.php: return Plugins::filter( 'xmlrpcexception_get_message', _t( 'Unknown XMLRPC Exception' ), $code );
classes/comment.php: $allow = Plugins::filter( 'comment_insert_allow', $allow, $this );
classes/comment.php: $allow = Plugins::filter( 'comment_update_allow', $allow, $this );
classes/comment.php: $allow = Plugins::filter( 'comment_delete_allow', $allow, $this );
classes/comment.php: $out = Plugins::filter( "comment_{$name}", $out, $this );
classes/comment.php: $out = Plugins::filter( "comment_{$name}_{$filter}", $out, $this );
classes/comment.php: self::$comment_status_list = Plugins::filter( 'list_comment_statuses', self::$comment_status_list );
classes/comment.php: self::$comment_status_actions = Plugins::filter( 'list_comment_actions', self::$comment_status_actions );
classes/term.php: $slug = Plugins::filter( 'term_setslug', $value );
classes/term.php: $allow = Plugins::filter( 'term_insert_allow', $allow, $this );
classes/term.php: $allow = Plugins::filter( 'term_update_allow', $allow, $this );
classes/term.php: $allow = Plugins::filter( 'term_delete_allow', $allow, $this );
classes/postinfo.php: $value = Plugins::filter( "post_info_{$name}", $value );
classes/postinfo.php: $value = Plugins::filter( "post_info_{$name}_{$filter}", $value );
classes/themes.php: $theme_dir = Plugins::filter( 'get_theme_dir', $theme_dir );
classes/themes.php: $ok = Plugins::filter( 'activate_theme', $ok, $theme_name ); // Allow plugins to reject activation
classes/remoterequest.php: return Plugins::filter( 'remoterequest', $data, $url );
classes/inputfilter.php: self::$whitelist_elements = Plugins::filter( 'inputfilter_whitelist_elements', self::$whitelist_elements );
classes/inputfilter.php: self::$whitelist_attributes = Plugins::filter( 'inputfilter_whitelist_attributes', self::$whitelist_attributes );
classes/inputfilter.php: self::$elements_empty = Plugins::filter( 'inputfilter_elements_empty', self::$elements_empty );
classes/inputfilter.php: self::$whitelist_protocols = Plugins::filter( 'inputfilter_whitelist_protocols', self::$whitelist_protocols );
classes/inputfilter.php: self::$character_entities = Plugins::filter( 'inputfilter_character_entities', self::$character_entities );
classes/inputfilter.php: self::$character_entities_re = Plugins::filter( 'inputfilter_character_entities_re', self::$character_entities_re );
classes/rewriterule.php: $args = Plugins::filter( 'rewrite_args', $args, $this->name );
classes/rewriterule.php: $args = Plugins::filter( 'rewrite_args', $args, $this->name );
classes/theme.php: $user_filters = Plugins::filter( 'template_user_filters', $user_filters );
classes/theme.php: $where_filters = Plugins::filter( 'template_where_filters', $where_filters );
classes/theme.php: $fallback = Plugins::filter( 'template_fallback', $fallback, $posts, isset( $post ) ? $post : null );
classes/theme.php: $blocks = Plugins::filter( 'get_blocks', $blocks, $area, $scope, $theme );
classes/theme.php: $value = Plugins::filter( 'scope_criteria_value', $value, $crit[1], $crit[2] );
classes/theme.php: $scopes = Plugins::filter( 'get_scopes', $scopes );
classes/theme.php: $body_class = Plugins::filter( 'body_class', $body_class, $theme );
classes/theme.php: $url = Plugins::filter( 'site_url_theme', $url, $theme );
classes/session.php: self::$lifetime = Plugins::filter( 'session_lifetime', $lifetime );
classes/session.php: $dodelete = Plugins::filter( 'session_read', $dodelete, $session, $session_id );
classes/session.php: $sql = Plugins::filter( 'sessions_clean', $sql, 'read', $args );
classes/session.php: $probability = Plugins::filter( 'session_gc_probability', ( is_numeric( $probability ) && $probability > 0 ) ? $probability : 1 );
classes/session.php: $dowrite = Plugins::filter( 'session_write', $dowrite, $session_id, $data );
classes/session.php: $sql = Plugins::filter( 'sessions_clean', $sql, 'destroy', $args );
classes/session.php: $sql = Plugins::filter( 'sessions_clean', $sql, 'gc', $args );
classes/logentry.php: Plugins::filter( 'insert_logentry', $this );
classes/logentry.php: $allow = Plugins::filter( 'logentry_delete_allow', $allow, $this );
classes/logentry.php: $out = Plugins::filter( "logentry_{$name}", $out, $this );
classes/logentry.php: $out = Plugins::filter( "logentry_{$name}_{$filter}", $out, $this );
classes/formui.php: $theme_dir = Plugins::filter( 'control_theme_dir', Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) ) . 'formcontrols/', $control );
classes/formui.php: $this->default = Plugins::filter( $location, '', $this->name, false );
classes/formui.php: Plugins::filter( $location, $this->value, $this->name, true, $this );
classes/formui.php: Plugins::filter($location, $this->value, $this->name, true);
classes/cronjob.php: $result = Plugins::filter( $this->callback, $result, $paramarray );
classes/posts.php: $presets = Plugins::filter('posts_get_all_presets', $presets, $paramarray['preset']);
classes/posts.php: $preset = Plugins::filter('posts_get_update_preset', $presets[$paramarray['preset']], $paramarray['preset'], $paramarray);
classes/posts.php: $paramarray = Plugins::filter( 'posts_get_paramarray', $paramarray );
classes/posts.php: $allow = Plugins::filter( 'posts_reassign_allow', $allow, $user, $posts );
classes/posts.php: $arguments = Plugins::filter( 'posts_search_to_get', $arguments, $flag, $value, $match, $search_string );
classes/plugins.php: $ok = Plugins::filter( 'activate_plugin', $ok, $file ); // Allow plugins to reject activation
classes/plugins.php: $ok = Plugins::filter( 'deactivate_plugin', $ok, $file ); // Allow plugins to reject deactivation
classes/hiengine.php: $template_file = Plugins::filter( 'include_template_file', $template_file, $template, __CLASS__ );
classes/controller.php: $start_url = Plugins::filter( 'rewrite_request', $start_url );
classes/acl.php: $allow = Plugins::filter( 'token_create_allow', $allow, $name, $description, $group, $crud );
classes/acl.php: $allow = Plugins::filter( 'token_destroy_allow', $allow, $token_id );
classes/acl.php: $default_groups = Plugins::filter( 'user_default_groups', $default_groups, $user_id );
classes/acl.php: $accesses = Plugins::filter( 'user_token_access', $accesses, $user_id, $token_id );
classes/post.php: $slug = Plugins::filter( 'post_setslug', $value );
classes/post.php: $allow = Plugins::filter( 'post_insert_allow', $allow, $this );
classes/post.php: $allow = Plugins::filter( 'post_update_allow', $allow, $this );
classes/post.php: $allow = Plugins::filter( 'post_delete_allow', $allow, $this );
classes/post.php: $allow = Plugins::filter( 'post_publish_allow', $allow, $this );
classes/post.php: $out = Plugins::filter( "post_get", $out, $name, $this );
classes/post.php: $out = Plugins::filter( "post_{$name}", $out, $this );
classes/post.php: $out = Plugins::filter( "post_{$name}_{$filter}", $out, $this );
classes/post.php: $statuses = Plugins::filter( 'admin_publish_list_post_statuses', $statuses );
classes/post.php: $result = Plugins::filter('content_type', $defaults, $this);
classes/post.php: $tokens = Plugins::filter( 'post_tokens', $tokens, $this );
classes/utils.php: $slug = Plugins::filter( 'slugify', $slug, $string );
classes/utils.php: $mimetype = Plugins::filter( 'get_mime_type', $mimetype, $filename );
classes/utils.php: $mail = Plugins::filter( 'mail', $mail );
classes/utils.php: $handled = Plugins::filter( 'send_mail', $handled, $mail );
handlers/feedbackhandler.php: $spam_rating = Plugins::filter( 'spam_filter', $spam_rating, $comment, $this->handler_vars, $extra );
handlers/adminhandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/adminhandler.php: $type = Plugins::filter( 'post_type_display', Post::type_name( $this->handler_vars['content_type'] ), 'singular' );
handlers/adminhandler.php: $type = Plugins::filter( 'post_type_display', Post::type_name( Post::get( array( 'status' => Post::status( 'any' ), 'id' => intval( $this->handler_vars['id'] ) ) )->content_type ), 'singular' );
handlers/adminhandler.php: $this->theme->content = Plugins::filter( 'admin_blank_content', $content );
handlers/adminhandler.php: $plural = Plugins::filter( 'post_type_display', $type, 'plural' );
handlers/adminhandler.php: $singular = Plugins::filter( 'post_type_display', $type, 'singular' );
handlers/adminhandler.php: $mainmenus = Plugins::filter( 'adminhandler_post_loadplugins_main_menu', $mainmenus );
handlers/adminhandler.php: if ( !Plugins::filter( 'import_names', array() ) )
handlers/adminhandler.php: $require_any = Plugins::filter( 'admin_access_tokens', $require_any, $page, $type );
handlers/adminhandler.php: $result = Plugins::filter( 'admin_access', $result, $page, $type );
handlers/adminhandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/adminpluginshandler.php: $plugin_actions1 = Plugins::filter_id( 'plugin_config', $plugin_id, $plugin_actions, $plugin_id );
handlers/adminpluginshandler.php: $plugin_actions = Plugins::filter( 'plugin_config_any', $plugin_actions1, $plugin_id );
handlers/adminpluginshandler.php: $this->theme->plugin_loader = Plugins::filter( 'plugin_loader', '', $this->theme );
handlers/adminoptionshandler.php: $option_items = Plugins::filter( 'admin_option_items', $option_items );
handlers/atomhandler.php: $namespaces = Plugins::filter( 'atom_get_collection_namespaces', $namespaces );
handlers/atomhandler.php: $content = Plugins::filter( 'atom_add_post', $content, $post );
handlers/atomhandler.php: $content = Plugins::filter( 'atom_add_comment', $content, $comment );
handlers/atomhandler.php: $apis_list = Plugins::filter( 'rsd_api_list', $apis_list );
handlers/atomhandler.php: $namespaces = Plugins::filter( 'atom_get_entry_namespaces', $namespaces );
handlers/atomhandler.php: $alternate_rules = Plugins::filter( 'atom_get_collection_alternate_rules', $alternate_rules );
handlers/atomhandler.php: $params['content_type'] = Plugins::filter( 'atom_get_collection_content_type', $params['content_type'] );
handlers/adminpostshandler.php: $this->theme->admin_page = _t( 'Publish %s', array( Plugins::filter( 'post_type_display', Post::type_name( $post->content_type ), 'singular' ) ) );
handlers/adminpostshandler.php: $this->theme->admin_title = _t( 'Publish %s', array( Plugins::filter( 'post_type_display', Post::type_name( $post->content_type ), 'singular' ) ) );
handlers/adminpostshandler.php: $this->theme->admin_page = _t( 'Publish %s', array( Plugins::filter( 'post_type_display', Post::type_name( $post->content_type ), 'singular' ) ) );
handlers/adminpostshandler.php: create_function( '$a', 'return MultiByte::ucfirst(Plugins::filter("post_status_display", $a));' ),
handlers/adminpostshandler.php: create_function( '$a', 'return Plugins::filter("post_type_display", $a, "singular");' ),
handlers/adminpostshandler.php: $this->theme->special_searches = Plugins::filter( 'special_searches', $special_searches );
handlers/adminpostshandler.php: $controls = Plugins::filter( 'media_controls', $controls, $silo, $rpath, '' );
handlers/adminpostshandler.php: $panel = Plugins::filter( 'media_panels', $panel, $silo, $rpath, $panelname );
handlers/adminpostshandler.php: $controls = Plugins::filter( 'media_controls', $controls, $silo, $rpath, $panelname );
handlers/adminpostshandler.php: $panel = Plugins::filter( 'media_panels', $panel, $silo, $rpath, $panelname );
handlers/adminpostshandler.php: $controls = Plugins::filter( 'media_controls', $controls, $silo, $rpath, $panelname );
handlers/adminpostshandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/adminthemeshandler.php: $this->theme->configurable = Plugins::filter( 'theme_config', false, $this->active_theme );
handlers/adminthemeshandler.php: $this->theme->blocks = Plugins::filter( 'block_list', array() );
handlers/adminthemeshandler.php: $scopes = Plugins::filter( 'get_scopes', $scopes );
handlers/adminthemeshandler.php: $this->theme->theme_loader = Plugins::filter( 'theme_loader', '', $this->theme );
handlers/adminthemeshandler.php: $this->theme->blocks = Plugins::filter( 'block_list', array() );
handlers/adminthemeshandler.php: $this->theme->blocks = Plugins::filter( 'block_list', array() );
handlers/adminthemeshandler.php: $this->theme->blocks = Plugins::filter( 'block_list', array() );
handlers/adminthemeshandler.php: $this->theme->blocks = Plugins::filter( 'block_list', array() );
handlers/adminthemeshandler.php: $scopes = Plugins::filter( 'get_scopes', $scopes );
handlers/adminthemeshandler.php: $areas = Plugins::filter('areas', $areas, $scope);
handlers/admingroupshandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/adminimporthandler.php: $this->theme->enctype = Plugins::filter( 'import_form_enctype', 'application/x-www-form-urlencoded', $importer, $stage, $step );
handlers/adminimporthandler.php: $importers = Plugins::filter( 'import_names', array() );
handlers/adminimporthandler.php: $output = Plugins::filter( 'import_stage', '', $importer, $stage, $step );
handlers/admintagshandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/admintagshandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/userthemehandler.php: $handled = Plugins::filter( 'theme_act_' . $action, $handled, $this->theme );
handlers/userhandler.php: $login_dest = Plugins::filter( 'login_redirect_dest', $login_dest, $user, $login_session );
handlers/admincommentshandler.php: $statuses = Plugins::filter( 'admin_publish_list_comment_statuses', $statuses );
handlers/admincommentshandler.php: create_function( '$a', 'return MultiByte::ucfirst(Plugins::filter("comment_status_display", $a));' ),
handlers/admincommentshandler.php: create_function( '$a', 'return MultiByte::ucfirst(Plugins::filter("comment_type_display", $a, "singular")) ;' ),
handlers/admincommentshandler.php: $actions = Plugins::filter( 'comments_actions', $baseactions, $this->theme->comments );
handlers/admincommentshandler.php: $comment->menu = Plugins::filter( 'comment_actions', $menu, $comment );
handlers/admincommentshandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
handlers/admincommentshandler.php: $status_msg = Plugins::filter( 'admin_comments_action', $status_msg, $handler_vars['action'], $comments );
handlers/adminusershandler.php: $info_fields = Plugins::filter( 'adminhandler_post_user_fields', $info_fields );
handlers/adminusershandler.php: $update = Plugins::filter( 'form_user_update', $update, $form, $edit_user );
handlers/admindashboardhandler.php: $module = Plugins::filter( 'dash_module_' .$slug, $module, $id, $this->theme );
handlers/admindashboardhandler.php: $theme_dir = Plugins::filter( 'admin_theme_dir', Site::get_dir( 'admin_theme', true ) );
index.php:$buffer = Plugins::filter( 'final_output', $buffer );
plugins/coreblocks/coreblocks.plugin.php: $content_types[ $k ] = Plugins::filter( 'post_type_display', $k, 'plural' );
plugins/spamchecker/spamchecker.plugin.php: $code = Plugins::filter( 'comment_code', $code, $post_id, $ip );
plugins/habarisilo/habarisilo.plugin.php: $icon_path = Plugins::filter( 'habarisilo_icon_base_path', dirname( $this->get_file() ) . '/icons' );
plugins/habarisilo/habarisilo.plugin.php: $icon_url = Plugins::filter( 'habarisilo_icon_base_url', $this->get_url() . '/icons' );
plugins/coredashmodules/coredashmodules.plugin.php: $plural = Plugins::filter( 'post_type_display', $type, 'plural' );
plugins/coredashmodules/coredashmodules.plugin.php: $status_display = MultiByte::ucfirst( Plugins::filter( 'post_status_display', Post::status_name( $status_id ) ) );
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