summary refs log tree commit diff
path: root/MantisSmalltech.php
blob: fcdb162fddc1d316f39b91a7566b6358f501a2a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

/**
 * Mantis plugin to make stylistic and navigation changes, as part of the
 * Smalltech project.
 */
class MantisSmalltechPlugin extends MantisPlugin  {
  /**
   * A method that populates the plugin information and minimum requirements.
   * @return void
   */
  function register() {
    $this->name = plugin_lang_get( 'title' );
    $this->description = plugin_lang_get( 'description' );
    $this->page = '';

    $this->version = '0.1';
    $this->requires = array(
      'MantisCore' => '2.3.0-dev',
    );

    $this->author = 'Irene Knapp';
    $this->contact = 'ireneista@internetsafetylabs.org';
    $this->url = 'https://irenes.space';

    /* The MantisCoreFormatting plugin already does bug links. We could
     * reimplement its logic, but it's simpler to just override its
     * configuration. We set it in memory, not in the database, so that
     * uninstalling MantisSmalltech will change it back.
     *
     * MantisCoreFormatting also has an "issue note" syntax, for links within
     * a single issue thread. We leave that one at its default.
     */
    config_set_global( 'bug_link_tag', 'b/', true );
  }

  /**
   * plugin hooks
   * @return array
   */
  function hooks() {
    $t_hooks = array(
      'EVENT_DISPLAY_BUG_ID' => 'display_bug_id',
    );

    return $t_hooks;
  }

  function display_bug_id( $p_event_name, $p_string, $p_number ) {
    return sprintf( 'b/%u', $p_number );
  }
}