/** @var object Ethna_Session ¥»¥Ã¥·¥ç¥ó¥ª¥Ö¥¸¥§¥¯¥È */
var $session;
+ /** @var object Ethna_Plugin ¥×¥é¥°¥¤¥ó¥ª¥Ö¥¸¥§¥¯¥È */
+ var $plugin;
+
/**#@-*/
/**
$this->af =& $this->action_form;
$this->session =& $this->backend->getSession();
+ $this->plugin =& $this->backend->getPlugin();
}
/**
/** @var object Ethna_Session ¥»¥Ã¥·¥ç¥ó¥ª¥Ö¥¸¥§¥¯¥È */
var $session;
+ /** @var object Ethna_Plugin ¥×¥é¥°¥¤¥ó¥ª¥Ö¥¸¥§¥¯¥È */
+ var $plugin;
+
/** @var array Ethna_DB¥ª¥Ö¥¸¥§¥¯¥È¤ò³ÊǼ¤·¤¿ÇÛÎó */
var $db_list;
$this->ac =& $this->action_class;
$this->session =& $this->controller->getSession();
+ $this->plugin =& $this->controller->getPlugin();
$this->db_list = array();
$this->logger =& $this->controller->getLogger();
}
}
/**
+ * ¥×¥é¥°¥¤¥ó¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥¯¥»¥µ(R)
+ *
+ * @access public
+ * @return object Ethna_Plugin ¥×¥é¥°¥¤¥ó¥ª¥Ö¥¸¥§¥¯¥È
+ */
+ function &getPlugin()
+ {
+ return $this->plugin;
+ }
+
+ /**
* ¥Þ¥Í¡¼¥¸¥ã¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥¢¥¯¥»¥µ(R)
*
* @access public
// ¥×¥é¥°¥¤¥ó¤Î¿Æ¥¯¥é¥¹¤ò(¸ºß¤¹¤ì¤Ð)Æɤ߹þ¤ß
list($class, $dir, $file) = $this->_getPluginNaming($type, null, 'Ethna');
- $this->_includePluginSrc($class, $dir, $file);
+ $this->_includePluginSrc($class, $dir, $file, false);
}
// key ¤¬¤Ê¤¤¤È¤¤Ï¥×¥é¥°¥¤¥ó¤ò¥í¡¼¥É¤¹¤ë
* @param string $type ¥×¥é¥°¥¤¥ó¤Î¼ïÎà
* @param string $name ¥×¥é¥°¥¤¥ó¤Î̾Á°
* @param string $appid ¥¢¥×¥ê¥±¡¼¥·¥ç¥óID
+ * @param bool $strict ¥¨¥é¡¼ÍÞÀ©¥Õ¥é¥°
* @return true|Ethna_Error
*/
- function &_includePluginSrc($class, $dir, $file)
+ function &_includePluginSrc($class, $dir, $file, $strict = true)
{
$true = true;
if (file_exists("{$dir}/{$file}")) {
return Ethna::raiseWarning('plugin class [%s] is not defined', E_PLUGIN_NOTFOUND, $class);
}
} else {
- return Ethna::raiseWarning('plugin file is not found: [%s]', E_PLUGIN_NOTFOUND, "{$dir}/{$file}");
+ if ($strict == true) {
+ return Ethna::raiseWarning('plugin file is not found: [%s]', E_PLUGIN_NOTFOUND, "{$dir}/{$file}");
+ }
}
+ return $true;
}
/**