Dev:Hooks

From Habari Project

Jump to: navigation, search

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

Other Development Pages · Developer Introduction
Personal tools