diff options
author | Andrew Dolgov <[email protected]> | 2015-08-11 23:28:41 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-08-11 23:28:42 +0300 |
commit | b87744534a5250e9f839997f8eceb5b86b8c0e5c (patch) | |
tree | a0d106ac1cff35f1b65e0c2bd0b00bd511155780 /classes/pref | |
parent | ad9928a5cb50bfd9cddce5e68efcc843a9a30288 (diff) |
add plugin-based filter actions (see example plugin in attic)
bump schema
Diffstat (limited to 'classes/pref')
-rw-r--r-- | classes/pref/filters.php | 37 | ||||
-rw-r--r-- | classes/pref/prefs.php | 4 |
2 files changed, 37 insertions, 4 deletions
diff --git a/classes/pref/filters.php b/classes/pref/filters.php index a84340877..a2a2d0928 100644 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -519,6 +519,21 @@ class Pref_Filters extends Handler_Protected { $action["action_id"] == 7) $title .= ": " . $action["action_param"]; + if ($action["action_id"] == 9) { + list ($pfclass, $pfaction) = explode(":", $action["action_param"]); + + $filter_actions = PluginHost::getInstance()->get_filter_actions(); + + foreach ($filter_actions as $fclass => $factions) { + foreach ($factions as $faction) { + if ($pfaction == $faction["action"] && $pfclass == $fclass) { + $title .= ": " . $fclass . ": " . $faction["description"]; + break; + } + } + } + } + return $title; } @@ -989,16 +1004,18 @@ class Pref_Filters extends Handler_Protected { print "</select>"; - $param_box_hidden = ($action_id == 7 || $action_id == 4 || $action_id == 6) ? + $param_box_hidden = ($action_id == 7 || $action_id == 4 || $action_id == 6 || $action_id == 9) ? "" : "display : none"; $param_hidden = ($action_id == 4 || $action_id == 6) ? "" : "display : none"; $label_param_hidden = ($action_id == 7) ? "" : "display : none"; + $plugin_param_hidden = ($action_id == 9) ? "" : "display : none"; print "<span id=\"filterDlg_paramBox\" style=\"$param_box_hidden\">"; - print " " . __("with parameters:") . " "; + print " "; + //print " " . __("with parameters:") . " "; print "<input dojoType=\"dijit.form.TextBox\" id=\"filterDlg_actionParam\" style=\"$param_hidden\" name=\"action_param\" value=\"$action_param\">"; @@ -1007,6 +1024,22 @@ class Pref_Filters extends Handler_Protected { "id=\"filterDlg_actionParamLabel\" style=\"$label_param_hidden\" dojoType=\"dijit.form.Select\""); + $filter_actions = PluginHost::getInstance()->get_filter_actions(); + $filter_action_hash = array(); + + foreach ($filter_actions as $fclass => $factions) { + foreach ($factions as $faction) { + + $filter_action_hash[$fclass . ":" . $faction["action"]] = + $fclass . ": " . $faction["description"]; + } + + } + + print_select_hash("filterDlg_actionParamPlugin", $action_param, $filter_action_hash, + "style=\"$plugin_param_hidden\" dojoType=\"dijit.form.Select\"", + "action_param_plugin"); + print "</span>"; print " "; // tiny layout hack diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index fe88218ba..41dc536f5 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -752,7 +752,7 @@ class Pref_Prefs extends Handler_Protected { foreach ($tmppluginhost->get_plugins() as $name => $plugin) { $about = $plugin->about(); - if ($about[3] && strpos($name, "example") === FALSE) { + if ($about[3]) { if (in_array($name, $system_enabled)) { $checked = "checked='1'"; } else { @@ -802,7 +802,7 @@ class Pref_Prefs extends Handler_Protected { foreach ($tmppluginhost->get_plugins() as $name => $plugin) { $about = $plugin->about(); - if (!$about[3] && strpos($name, "example") === FALSE) { + if (!$about[3]) { if (in_array($name, $system_enabled)) { $checked = "checked='1'"; |