return 0;
}
+ function includePlugin($name, $pluginPath = '') {
+ global $serendipity;
+
+ // First try the local path, and then (if existing) a shared library repository ...
+ if (file_exists($serendipity['serendipityPath'] . 'plugins/' . $pluginPath . '/' . $name . '.php')) {
+ include $serendipity['serendipityPath'] . 'plugins/' . $pluginPath . '/' . $name . '.php';
+ } elseif (file_exists(S9Y_INCLUDE_PATH . 'plugins/' . $pluginPath . '/' . $name . '.php')) {
+ include S9Y_INCLUDE_PATH . 'plugins/' . $pluginPath . '/' . $name . '.php';
+ }
+ }
+
/* Creates an instance of a named plugin */
function &load_plugin($instance_id, $authorid = null, $pluginPath = '')
{
$class_name = substr($name, 1);
} else {
/* plugin from the plugins/ dir */
- if (!class_exists($name)) {
- if (empty($pluginPath)) {
- $sql = "SELECT path from {$serendipity['dbPrefix']}plugins WHERE name = '" . $instance_id . "'";
- $plugdata = serendipity_db_query($sql, true, 'both', false, false, false, true);
- if (is_array($plugdata) && isset($plugdata[0])) {
- $pluginPath = $plugdata[0];
- }
-
- if (empty($pluginPath)) {
- $pluginPath = $name;
- }
+ serendipity_plugin_api::includePlugin($name, $pluginPath);
+ if (!class_exists($name) && empty($pluginPath)) {
+ $sql = "SELECT path from {$serendipity['dbPrefix']}plugins WHERE name = '" . $instance_id . "'";
+ $plugdata = serendipity_db_query($sql, true, 'both', false, false, false, true);
+ if (is_array($plugdata) && isset($plugdata[0])) {
+ $pluginPath = $plugdata[0];
}
- // First try the local path, and then (if existing) a shared library repository ...
- if (file_exists($serendipity['serendipityPath'] . 'plugins/' . $pluginPath . '/' . $name . '.php')) {
- include $serendipity['serendipityPath'] . 'plugins/' . $pluginPath . '/' . $name . '.php';
- } elseif (file_exists(S9Y_INCLUDE_PATH . 'plugins/' . $pluginPath . '/' . $name . '.php')) {
- include S9Y_INCLUDE_PATH . 'plugins/' . $pluginPath . '/' . $name . '.php';
+ if (empty($pluginPath)) {
+ $pluginPath = $name;
}
+
+ serendipity_plugin_api::includePlugin($name, $pluginPath);
+ }
- if (!class_exists($name)) {
- return false;
- }
+ if (!class_exists($name)) {
+ return false;
}
$class_name =& $name;
}
$pluginData = array();
+ $addData = func_get_args();
+ serendipity_plugin_api::hook_event('frontend_generate_plugins', $plugins, $addData);
+
foreach ($plugins as $plugin_data) {
$plugin =& serendipity_plugin_api::load_plugin($plugin_data['name'], $plugin_data['authorid'], $plugin_data['path']);
if (is_object($plugin)) {