Example #1
0
                    }
                    trigger('TRIGGER_INCIDENT_ASSIGNED', array('userid' => $owner, 'incidentid' => $incidentid));
                    // add update
                    $sql = "INSERT INTO `sit_updates` (incidentid, userid, type, timestamp, currentowner, currentstatus, nextaction) ";
                    $sql .= "VALUES ('{$incidentid}', '{$sit[2]}', 'reassigning', '{$now}', '{$owner}', '1', '{$nextaction}')";
                    $result = mysql_query($sql);
                    if (mysql_error()) {
                        trigger_error("MySQL Query Error " . mysql_error(), E_USER_ERROR);
                    }
                    debug_log("Incident re-assigned to: " . $owner);
                }
                return $incidentid;
            case 3:
                $GLOBALS['plugin_reason'] = 'INCORRECTLY formatted';
                debug_log("There was no reference found for the correct skill in: " . $subject);
                return;
        }
    }
}
plugin_register('trigger_variables', 'auto_create_trigger_variables');
function auto_create_trigger_variables()
{
    $ttvararray['{emailsubject}'] = array('description' => '$Subject of incoming email', 'requires' => 'subject');
}
plugin_register('trigger_types', 'auto_create_triggers');
function auto_create_triggers()
{
    global $triggerarray;
    $triggerarray['TRIGGER_POSSIBLE_DUPLICATE'] = array('name' => 'Possible duplicate email', 'description' => 'Occurs when the auto create function finds possible duplicates', 'required' => array('incidentid', 'userid'), 'params' => array('incidentid', 'userid', 'emailsubject'));
    $triggerarray['TRIGGER_EMAIL_DUPLICATE_IMPORTED'] = array('name' => 'Duplicate email imported into case', 'description' => 'Occurs when the auto create function has imported a duplicate into the existing case', 'required' => array('incidentid'), 'params' => array('incidentid'));
}
/** @ignore */
define('PLUGINS_DISABLED', true);
/**
 * MantisBT Core API's
 */
require_once 'core.php';
require_api('access_api.php');
require_api('authentication_api.php');
require_api('config_api.php');
require_api('form_api.php');
require_api('gpc_api.php');
require_api('helper_api.php');
require_api('lang_api.php');
require_api('plugin_api.php');
require_api('print_api.php');
require_api('string_api.php');
form_security_validate('manage_plugin_uninstall');
auth_reauthenticate();
access_ensure_global_level(config_get('manage_plugin_threshold'));
# register plugins and metadata without initializing
plugin_register_installed();
$f_basename = gpc_get_string('name');
$t_plugin = plugin_register($f_basename, true);
helper_ensure_confirmed(sprintf(lang_get('plugin_uninstall_message'), string_display_line($t_plugin->name)), lang_get('plugin_uninstall'));
if (!is_null($t_plugin)) {
    plugin_uninstall($t_plugin);
} else {
    plugin_force_uninstall($f_basename);
}
form_security_purge('manage_plugin_uninstall');
print_successful_redirect('manage_plugin_page.php');
Example #3
0
/**
 * Find and register all installed plugins.
 * This includes the MantisCore pseudo-plugin.
 * @return void
 */
function plugin_register_installed()
{
    global $g_plugin_cache_priority, $g_plugin_cache_protected;
    # register plugins specified in the site configuration
    foreach (plugin_get_force_installed() as $t_basename => $t_priority) {
        plugin_register($t_basename);
        $g_plugin_cache_priority[$t_basename] = $t_priority;
        $g_plugin_cache_protected[$t_basename] = true;
    }
    # register plugins installed via the interface/database
    db_param_push();
    $t_query = 'SELECT basename, priority, protected FROM {plugin} WHERE enabled=' . db_param() . ' ORDER BY priority DESC';
    $t_result = db_query($t_query, array(true));
    while ($t_row = db_fetch_array($t_result)) {
        $t_basename = $t_row['basename'];
        if (!plugin_is_registered($t_basename)) {
            plugin_register($t_basename);
            $g_plugin_cache_priority[$t_basename] = (int) $t_row['priority'];
            $g_plugin_cache_protected[$t_basename] = (bool) $t_row['protected'];
        }
    }
}
Example #4
0
/**
 * Initialize all installed plugins.
 * Post-signals EVENT_PLUGIN_INIT.
 */
function plugin_init_installed()
{
    if (OFF == config_get_global('plugins_enabled') || !db_table_exists(db_get_table('plugin'))) {
        return;
    }
    global $g_plugin_cache, $g_plugin_current, $g_plugin_cache_priority, $g_plugin_cache_protected, $g_plugin_cache_init;
    $g_plugin_cache = array();
    $g_plugin_current = array();
    $g_plugin_cache_init = array();
    $g_plugin_cache_priority = array();
    $g_plugin_cache_protected = array();
    plugin_register('MantisCore');
    plugin_register_installed();
    $t_plugins = array_keys($g_plugin_cache);
    do {
        $t_continue = false;
        $t_plugins_retry = array();
        foreach ($t_plugins as $t_basename) {
            if (plugin_init($t_basename)) {
                $t_continue = true;
            } else {
                # Dependent plugin
                $t_plugins_retry[] = $t_basename;
            }
        }
        $t_plugins = $t_plugins_retry;
    } while ($t_continue);
    event_signal('EVENT_PLUGIN_INIT');
}
/**
 * Schema update to install and configure new Gravatar plugin.
 * If the instance has enabled use of avatars, then we register the plugin
 * @return int 2 if successful
 */
function install_gravatar_plugin()
{
    if (config_get_global('show_avatar')) {
        $t_avatar_plugin = 'Gravatar';
        # Register and install the plugin
        $t_plugin = plugin_register($t_avatar_plugin, true);
        if (!is_null($t_plugin)) {
            plugin_install($t_plugin);
        } else {
            error_parameters($t_avatar_plugin);
            echo '<br>' . error_string(ERROR_PLUGIN_INSTALL_FAILED);
            return 1;
        }
    }
    # Return 2 because that's what ADOdb/DataDict does when things happen properly
    return 2;
}