} 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');
/** * 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']; } } }
/** * 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; }