示例#1
0
 function probePlugin($instance_id, &$class_name, &$pluginPath)
 {
     global $serendipity;
     $filename = false;
     $is_internal = false;
     $class_name = serendipity_plugin_api::getClassByInstanceID($instance_id, $is_internal);
     if (!$is_internal) {
         /* plugin from the plugins/ dir */
         // $serendipity['debug']['pluginload'][] = "Including plugin $class_name, $pluginPath";
         $filename = serendipity_plugin_api::includePlugin($class_name, $pluginPath, $instance_id);
         if (empty($filename) && !empty($instance_id)) {
             // $serendipity['debug']['pluginload'][] = "No valid path/filename found.";
             $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 = $class_name;
             }
             // $serendipity['debug']['pluginload'][] = "Including plugin(2) $class_name, $pluginPath";
             $filename = serendipity_plugin_api::includePlugin($class_name, $pluginPath);
         }
         if (empty($filename)) {
             $serendipity['debug']['pluginload'][] = "No valid path/filename found. Aborting.";
             $retval = false;
             return $retval;
         }
     }
     // $serendipity['debug']['pluginload'][] = "Found plugin file $filename";
     return $filename;
 }