#||
||
Current version: 0.2
Compatible with: !!(green)**R6.x**!! and MantisBT 2.x
Credits: ((user:WikiAdmin WikiAdmin))
URL: https://www.mantisbt.org/
|{{toc numerate=1}} ||
||#
===Integrate WackoWiki into MantisBT===
Implemented in **MantisBT 2.26.0**.
This will add a direct link to your WackoWiki in your Mantis Bug Tracker.
1. to the ##[Project]## Wiki page depending on the project name on the left menu
* file:mantis_wiki.png
2.#2 to the ##[Project]/[IssueNUMBER]## Wiki page on top of an issue in MantisBT
* file:mantis_wiki_issue.png
====Apply the patch to your MantisBT installation====
* ##core/classes/MantisCoreWikiPlugin.class.php##
* ##core/wiki_api.php##
file:wackowiki_integration_mantis2.1.0.patch
%%(hl diff)
diff --git a/config_defaults_inc.php b/config_defaults_inc.php
--- a/config_defaults_inc.php
+++ b/config_defaults_inc.php
@@ -3782,7 +3782,7 @@
/**
* Wiki Engine.
- * Supported engines: 'dokuwiki', 'mediawiki', 'twiki', 'wikka', 'xwiki'
+ * Supported engines: 'dokuwiki', 'mediawiki', 'twiki', 'wackowiki', 'wikka', 'xwiki'
* @global string $g_wiki_engine
*/
$g_wiki_engine = '';
diff --git a/core/classes/MantisCoreWikiPlugin.class.php b/core/classes/MantisCoreWikiPlugin.class.php
--- a/core/classes/MantisCoreWikiPlugin.class.php
+++ b/core/classes/MantisCoreWikiPlugin.class.php
@@ -218,6 +218,65 @@
}
/**
+ * Basic WackoWiki support with old-style wiki integration.
+ */
+class MantisCoreWackowikiPlugin extends MantisCoreWikiPlugin {
+ /**
+ * Plugin Registration
+ * @return void
+ */
+ function register() {
+ $this->name = 'MantisBT WackoWiki Integration';
+ $this->version = '0.1';
+ $this->requires = array(
+ 'MantisCore' => '2.0.0',
+ );
+ }
+
+ /**
+ * Wiki base url
+ *
+ * @param integer $p_project_id A project identifier.
+ * @return string
+ */
+ function base_url( $p_project_id = null ) {
+ $t_base = plugin_config_get( 'engine_url' ) . '';
+
+ $t_namespace = ucfirst( plugin_config_get( 'root_namespace' ) );
+ if( !is_blank( $t_namespace ) ) {
+ $t_base .= $t_namespace . '/';
+ }
+
+ if( !is_null( $p_project_id ) && $p_project_id != ALL_PROJECTS ) {
+ $t_base .= urlencode( project_get_name( $p_project_id ) ) . '/';
+ }
+ return $t_base;
+ }
+
+ /**
+ * Wiki link to a bug
+ *
+ * @param integer $p_event Event.
+ * @param integer $p_bug_id A bug identifier.
+ * @return string
+ */
+ function link_bug( $p_event, $p_bug_id ) {
+ return $this->base_url( bug_get_field( $p_bug_id, 'project_id' ) ) . 'Issue' . (int)$p_bug_id;
+ }
+
+ /**
+ * Wiki link to a project
+ *
+ * @param integer $p_event Event.
+ * @param integer $p_project_id A project identifier.
+ * @return string
+ */
+ function link_project( $p_event, $p_project_id ) {
+ return $this->base_url( $p_project_id ) . '';
+ }
+}
+
+/**
* Basic WikkaWiki support with old-style wiki integration.
*/
class MantisCoreWikkaWikiPlugin extends MantisCoreWikiPlugin {
diff --git a/core/wiki_api.php b/core/wiki_api.php
--- a/core/wiki_api.php
+++ b/core/wiki_api.php
@@ -70,6 +70,9 @@
case 'twiki':
plugin_child( 'MantisCoreTwiki' );
break;
+ case 'wackowiki':
+ plugin_child( 'MantisCoreWackowiki' );
+ break;
case 'WikkaWiki':
plugin_child( 'MantisCoreWikkaWiki' );
break;
%%
====Add the following settings to your MantisBT ====
* ##config/config.inc.php##
%%
####################
# Wiki Integration #
####################
$g_wiki_enable = ON;
$g_wiki_engine = 'wackowiki';
$g_wiki_root_namespace = 'Bugs';
$g_wiki_engine_url = 'https://example.com/wiki/';
%%
4. Now it should work. Enjoy!
===Possible problems and solutions===
====Wiki Integration settings====
##$g_wiki_enable##
Set to ##ON## to enable Wiki integration. Defaults to OFF.
##$g_wiki_engine##
value: ##'wackowiki'##
##$g_wiki_root_namespace##
Wiki namespace to be used as root for all pages relating to this MantisBT installation.
e.g. ##'Bugs'## or leave it empty
Namespace: /##Bugs##/##Project##/##IssueNUMBER##
1. root namespace
2. project name
3. issue number
##$g_wiki_engine_url##
URL under which the wiki engine is hosted.
value: ##''## (empty)
Must be on the same server as MantisBT, requires a trailing '/'.
If left empty (default), the URL is derived from the global MantisBT path, replacing the URL's path component by the wiki engine string, i.e. if
1. ##$g_path = '~http://example.com/mantis/'##
2. ##$g_wiki_engine = 'wackowiki'##,
3. the wiki URL will be ##'~http://example.com/wackowiki/'##.
value: ##'~https://example.com/wiki/'##
===Links===
1. WackoWiki site: https://wackowiki.org/
1. Mantis site: https://www.mantisbt.org/
1. https://www.mantisbt.org/bugs/view.php?id=22371 -> implemented with MantisBT 2.26.0
* https://github.com/mantisbt/mantisbt/commit/ecd659f66075766c4f8ab7de9788bced5f37f7e0
2. Example: https://wackowiki.org/bugs/