This is a very minimal plugin that does nothing but increase your site's Geek Factor.
Directory Structure
mantis/ plugins/ Supercow/ Supercow.php
plugins/Supercow/Supercow.php
<?php class SupercowPlugin extends MantisPlugin { function register() { $this->name = 'Super Cow Powers'; $this->description = 'Gives your Mantis installation super cow powers.'; $this->version = '1.0'; $this->requires = array( 'MantisCore' => '1.2.0', ); $this->author = 'Fred Smith'; $this->contact = 'fredsmith@fredsmith.fsn'; $this->url = 'http://fredsmith.fsn'; } function init() { plugin_event_hook( 'EVENT_PLUGIN_INIT', 'header' ); } /** * Handle the EVENT_PLUGIN_INIT callback. */ function header() { header( 'X-Mantis: This Mantis has super cow powers.' ); } }
This is a plugin that detects svn:123 and hyperlinks it to the ViewVC web page that contains all the details of the changeset.
plugins/svnlinks/register.php
<?php /** * Return plugin details to the API. * @return array Plugin details */ function plugin_callback_svnlinks_info() { return array( 'name' => 'SVN Links', 'description' => 'Detects references to SVN changesets and hyperlinks them.', 'version' => '1.0', 'author' => 'Victor Boctor', 'contact' => 'vboctor -at- users.sourceforge.net', 'url' => 'http://www.mantisbt.org', ); } /** * Intitialize the plugin. */ function plugin_callback_svnlinks_init() { plugin_event_hook( 'EVENT_TEXT_LINKS', 'string_display_links' ); }
plugins/svnlinks/events.php
<?php # Configuration: # $g_plugin_svnlinks_svn_changeset_link = 'http://mantisbt.svn.sourceforge.net/viewvc/mantisbt?view=rev&revision=%s'; /** * Handle the EVENT_TEXT_LINKS callback. */ function plugin_event_svnlinks_string_display_links( $p_event, $p_string ) { $t_svn_changeset_link_format = config_get( 'plugin_svnlinks_svn_changeset_link', '' ); if ( is_blank( $t_svn_changeset_link_format ) ) { return $p_string; } $t_svn_changeset_link = sprintf( $t_svn_changeset_link_format, '\\1' ); $t_replace_with = '<a href="'. $t_svn_changeset_link . '" target="_new">svn:\\1</a>'; return preg_replace( '/svn\:([[:digit:]]+)/i', $t_replace_with, $p_string ); }