diff options
author | Andrew Dolgov <[email protected]> | 2012-08-17 14:20:55 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-08-17 14:22:33 +0400 |
commit | 369dbc19d6ae35c97a2306ae4821c7812e2f24b2 (patch) | |
tree | fff54920611300f99e0898874e0de04c99ac5586 /include | |
parent | 3d2c9f5adfdc51642143d9fecf31ee353735bb8e (diff) |
rework class system to use subdirectories
add placeholder plugin/hook system
Diffstat (limited to 'include')
-rw-r--r-- | include/functions.php | 12 | ||||
-rw-r--r-- | include/rssfuncs.php | 5 |
2 files changed, 15 insertions, 2 deletions
diff --git a/include/functions.php b/include/functions.php index 702843c16..ac07974e8 100644 --- a/include/functions.php +++ b/include/functions.php @@ -3,7 +3,10 @@ define('SCHEMA_VERSION', 94); function __autoload($class) { - $file = dirname(__FILE__)."/../classes/".strtolower(basename($class)).".php"; + $class_file = str_replace("_", "/", strtolower(basename($class))); + + $file = dirname(__FILE__)."/../classes/$class_file.php"; + if (file_exists($file)) { require $file; } @@ -3194,6 +3197,7 @@ } function format_article($link, $id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false) { + global $plugins; if (!$owner_uid) $owner_uid = $_SESSION["uid"]; @@ -3256,6 +3260,8 @@ $line = db_fetch_assoc($result); + $plugins->hook('article_before', $line); + if ($line["icon_url"]) { $feed_icon = "<img src=\"" . $line["icon_url"] . "\">"; } else { @@ -3359,7 +3365,7 @@ $button_plugins = explode(",", ARTICLE_BUTTON_PLUGINS); foreach ($button_plugins as $p) { - $pclass = trim("${p}_button"); + $pclass = trim("button_${p}"); if (class_exists($pclass)) { $plugin = new $pclass($link); @@ -3468,6 +3474,8 @@ $rv['content'] .= "</body></html>"; } + $plugins->hook('article_after', $rv); + return $rv; } diff --git a/include/rssfuncs.php b/include/rssfuncs.php index 59fa3d547..4ad08df32 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -212,6 +212,8 @@ function update_rss_feed($link, $feed, $ignore_daemon = false, $no_cache = false, $override_url = false) { + global $plugins; + require_once "lib/simplepie/simplepie.inc"; require_once "lib/magpierss/rss_fetch.inc"; require_once 'lib/magpierss/rss_utils.inc'; @@ -557,6 +559,9 @@ } foreach ($iterator as $item) { + $hook_params = array("item" => &$item, "feed" => $feed); + + $plugins->hook('rss_update_item', $hook_params); if ($_REQUEST['xdebug'] == 2) { print_r($item); |