123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- if(!defined('entry') || !entry) die('Not a valid page');
- /* ===========================
-
- gelato CMS - A PHP based tumblelog CMS
- development version
- http://www.gelatocms.com/
-
- gelato CMS is a free software licensed under the GPL 2.0
- Copyright (C) 2007 by Pedro Santana <pecesama at gmail dot com>
-
- =========================== */
- ?>
- <?php
- class plugin {
-
- var $actions = array();
- var $exists = array();
-
- function call($name) {
-
- if (!$this->exists($name)) {
- return false;
- }
-
- /*echo "<br />==========<br />";
- echo $name;
- echo "<br />";*/
-
- $index = 0;
- foreach (plugins::$instances as $plugin) {
- $action = $this->actions[$name][$index][1];
- if (is_callable(array($plugin, $action))) {
- $plugin->$action();
- }
- $index++;
- }
- }
-
- function exists($name) {
- if (isset($this->exists[$name])) {
- return $this->exists[$name];
- }
-
- foreach (plugins::$instances as $plugin) {
- /*print_r(plugins::$instances);
- echo "<br />";
- print_r($plugin);
- echo "<br />";
- print_r($this->actions[$name]);
- echo "<br />";
- echo $this->actions[$name][0][1];
- echo "<br />";*/
- if (is_callable(array($plugin, $this->actions[$name][0][1]))) {
- return $this->exists[$name] = true;
- }
- }
-
- return $this->exists[$name] = false;
- }
-
- function & instance()
- {
- static $instance;
-
- if( !isset($instance) ) {
- $instance = new self();
- }
-
- return $instance;
- }
-
- }
- ?>
|