diff --git a/classes/handler/public.php b/classes/handler/public.php
index 1bf088701..632cece81 100644
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -1004,10 +1004,10 @@ class Handler_Public extends Handler {
print "
Database update required
";
- print "";
- printf("Your Tiny Tiny RSS database needs update to the latest version: %d to %d.",
- $updater->getSchemaVersion(), SCHEMA_VERSION);
- print "
";
+ print_notice("".
+ sprintf("Your Tiny Tiny RSS database needs update to the latest version: %d to %d.",
+ $updater->getSchemaVersion(), SCHEMA_VERSION).
+ "
");
print_warning("Please backup your database before proceeding.");
diff --git a/classes/pluginhost.php b/classes/pluginhost.php
index c4ec1871d..75620a191 100644
--- a/classes/pluginhost.php
+++ b/classes/pluginhost.php
@@ -8,6 +8,7 @@ class PluginHost {
private $storage = array();
private $feeds = array();
private $api_methods = array();
+ private $plugin_actions = array();
private $owner_uid;
private $debug;
private $last_registered;
@@ -47,6 +48,7 @@ class PluginHost {
const HOOK_SUBSCRIBE_FEED = 27;
const HOOK_HEADLINES_BEFORE = 28;
const HOOK_RENDER_ENCLOSURE = 29;
+ const HOOK_ARTICLE_FILTER_ACTION = 30;
const KIND_ALL = 1;
const KIND_SYSTEM = 2;
@@ -98,7 +100,7 @@ class PluginHost {
}
function get_plugin($name) {
- return $this->plugins[$name];
+ return $this->plugins[strtolower($name)];
}
function run_hooks($type, $method, $args) {
@@ -415,5 +417,19 @@ class PluginHost {
function get_api_method($name) {
return $this->api_methods[$name];
}
+
+ function add_filter_action($sender, $action_name, $action_desc) {
+ $sender_class = get_class($sender);
+
+ if (!isset($this->plugin_actions[$sender_class]))
+ $this->plugin_actions[$sender_class] = array();
+
+ array_push($this->plugin_actions[$sender_class],
+ array("action" => $action_name, "description" => $action_desc, "sender" => $sender));
+ }
+
+ function get_filter_actions() {
+ return $this->plugin_actions;
+ }
}
?>
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 "";
- $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 "";
- print " " . __("with parameters:") . " ";
+ print " ";
+ //print " " . __("with parameters:") . " ";
print "";
@@ -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 "";
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'";
diff --git a/include/functions.php b/include/functions.php
index d90855ea6..6d183abaa 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1,6 +1,6 @@
";
+ function print_select($id, $default, $values, $attributes = "", $name = "") {
+ if (!$name) $name = $id;
+
+ print "";
}
- function print_select_hash($id, $default, $values, $attributes = "") {
- print "