- [Breaking B.C] ルールがユーザにとって直感的ではないとの理由から、フォーム定義の max と フォームヘルパの maxlength の連携機能を削除 (thanks: syachi5150)
-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
- Smarty を 2.6.23 に追随
+- プラグインに関する変更
+-- プラグインの名前空間の除去(検索用appidをなくした)
+-- それに伴いファイル名の命名規則を変更
+-- extlibの設置
*** bug fix
'url_handler' => 'Ethna_UrlHandler',
);
- /** @var array 検索対象となるプラグインのアプリケーションIDのリスト */
- var $plugin_search_appids;
-
/** @var array フィルタ設定 */
var $filter = array(
);
/** @var array プラグインのクラス名、ソースファイル名を保存する配列 */
var $src_registry = array();
- /** @var array 検索対象となるプラグインのアプリケーションIDのリスト */
- var $appid_list;
+ /** @var array 検索対象ディレクトリを,プラグインの優先順に保存する配列 */
+ var $_dirlist = array();
/**#@-*/
$this->controller =& $controller;
$this->ctl =& $this->controller;
$this->logger = null;
- if (isset($this->controller->plugin_search_appids)
- && is_array($this->controller->plugin_search_appids)) {
- $this->appid_list =& $this->controller->plugin_search_appids;
- } else {
- $this->appid_list = array($this->controller->getAppId(), 'Ethna');
- }
+
+ // load dir_registry
+ $this->_loadPluginDirList();
}
/**
$this->obj_registry[$type] = array();
// プラグインの親クラスを(存在すれば)読み込み
- foreach ($this->appid_list as $appid) {
- list($class, $dir, $file) = $this->getPluginNaming($type, null, $appid);
- $this->_includePluginSrc($class, $dir, $file, true);
- }
+ list($class, $file) = $this->getPluginNaming($type, null);
+ $dir = $this->_searchPluginSrcDir($type, null);
+ $this->_includePluginSrc($class, $dir, $file, true);
}
// key がないときはプラグインをロードする
}
// }}}
+ /**
+ * プラグインのインスタンスをレジストリから消す
+ *
+ * @access private
+ * @param string $type プラグインの種類
+ * @param string $name プラグインの名前
+ */
+ function _loadPluginDirList()
+ {
+ $this->_dirlist[] = $this->controller->getDirectory('plugin');
+
+ // include_path から検索
+ $include_path_list = explode(PATH_SEPARATOR, get_include_path());
+
+ // Communiy based libraries
+ $extlib_dir = implode(DIRECTORY_SEPARATOR, array('Ethna', 'extlib', 'Plugin'));
+ // Ethna bandle
+ $class_dir = implode(DIRECTORY_SEPARATOR, array('Ethna', 'class', 'Plugin'));
+ foreach ($include_path_list as $include_path) {
+ if (is_dir($include_path . DIRECTORY_SEPARATOR . $extlib_dir)) {
+ $this->_dirlist[] = $include_path . DIRECTORY_SEPARATOR . $extlib_dir;
+ }
+ if (is_dir($include_path . DIRECTORY_SEPARATOR . $class_dir)) {
+ $this->_dirlist[] = $include_path . DIRECTORY_SEPARATOR . $class_dir;
+ }
+ }
+ }
+
// {{{ src_registry のアクセサ
/**
* プラグインのソースファイル名とクラス名をレジストリから取得
* @access public
* @param string $type プラグインの種類
* @param string $name プラグインの名前 (nullのときは親クラス)
- * @param string $appid アプリケーションID
- * @return array プラグインのクラス名、ディレクトリ、ファイル名の配列
- * @todo class factoryのnaming ruleと整合させる
+ * @param string $appid アプリケーションID (廃止予定)
+ * @return array プラグインのクラス名、ファイル名の配列
*/
- function getPluginNaming($type, $name, $appid)
+ function getPluginNaming($type, $name = null, $appid = 'Ethna')
{
- if ($appid == 'Ethna') {
- if ($name === null) {
- $ext = 'php';
- $dir = ETHNA_BASE . "/class/Plugin";
- $class = "Ethna_Plugin_{$type}";
- } else {
- $ext = 'php';
- $dir = ETHNA_BASE . "/class/Plugin/{$type}";
- $class = "Ethna_Plugin_{$type}_{$name}";
- }
- } else {
- if ($name === null) {
- $ext = $this->controller->getExt('php');
- $dir = $this->controller->getDirectory('plugin');
- $class = "{$appid}_Plugin_{$type}";
- } else {
- $ext = $this->controller->getExt('php');
- $dir = $this->controller->getDirectory('plugin') . "/{$type}";
- $class = "{$appid}_Plugin_{$type}_{$name}";
- }
+ $ext = $this->ctl->getExt('php');
+
+ $plugin_class_name = array(
+ $appid,
+ 'Plugin',
+ $type,
+ );
+
+ if ($name !== null) {
+ $plugin_class_name[] = $name;
}
+ else {
+ $name = $type;
+ }
+
+ $class = implode('_', $plugin_class_name);
+ $file = "{$name}.{$ext}";
- $file = "{$class}.{$ext}";
- return array($class, $dir, $file);
+ return array($class, $file);
}
/**
}
$file = $dir . '/' . $file;
- if (file_exists($file) === false) {
+ if (file_exists_ex($file) === false) {
if ($parent === false) {
return Ethna::raiseWarning('plugin file is not found: [%s]',
E_PLUGIN_NOTFOUND, $file);
}
/**
- * アプリケーション, Ethna の順でプラグインのソースを検索する
+ * プラグインのソースディレクトリを決定する
+ *
+ * @param string $type プラグインの種類
+ * @param string $name プラグインの名前 (nullのときは親クラス)
+ * @retur string directory
+ */
+ function _searchPluginSrcDir($type, $name)
+ {
+ list(, $file) = $this->getPluginNaming($type, $name);
+
+ $dir_prefix = "";
+ if ($name !== null) {
+ $dir_prefix = DIRECTORY_SEPARATOR . $type;
+ }
+
+ // dirlist にしたがって検索
+ foreach ($this->_dirlist as $dir) {
+ $dir .= $dir_prefix;
+
+ if (file_exists($dir . DIRECTORY_SEPARATOR . $file)) {
+ return $dir;
+ }
+ }
+
+ return Ethna::raiseWarning('plugin file is not found in search directories: [%s]',
+ E_PLUGIN_NOTFOUND, $file);
+ }
+
+ /**
+ * アプリケーション, extlib, Ethna の順でプラグインのソースを検索する
*
* @access private
* @param string $type プラグインの種類
* @param string $name プラグインの名前
+ * @return array class, dir, file
*/
function _searchPluginSrc($type, $name)
{
- // コントローラで指定されたアプリケーションIDの順に検索
- foreach ($this->appid_list as $appid) {
- list($class, $dir, $file) = $this->getPluginNaming($type, $name, $appid);
- if (class_exists($class)) {
- // すでにクラスが存在する場合は特別にスキップ
- if (isset($this->src_registry[$type]) == false) {
- $this->src_registry[$type] = array();
- }
- $this->src_registry[$type][$name] = array($class, null, null);
- return;
+
+ list($class, $file) = $this->getPluginNaming($type, $name);
+ if (class_exists($class)) {
+ // すでにクラスが存在する場合は特別にスキップ
+ if (isset($this->src_registry[$type]) == false) {
+ $this->src_registry[$type] = array();
}
- if (file_exists("{$dir}/{$file}")) {
- $this->logger->log(LOG_DEBUG, 'plugin file is found in search: [%s]',
- "{$dir}/{$file}");
- if (isset($this->src_registry[$type]) == false) {
- $this->src_registry[$type] = array();
- }
- $this->src_registry[$type][$name] = array($class, $dir, $file);
- return;
+
+ return;
+ }
+
+ $dir = $this->_searchPluginSrcDir($type, $name);
+ // エラーのときは
+ if (Ethna::isError($dir)) {
+ $this->src_registry[$type][$name] = null;
+ return ;
+ }
+
+ if (file_exists("{$dir}/{$file}")) {
+ $this->logger->log(LOG_DEBUG, 'plugin file is found in search: [%s]',
+ "{$dir}/{$file}");
+ if (isset($this->src_registry[$type]) == false) {
+ $this->src_registry[$type] = array();
}
+ $this->src_registry[$type][$name] = array($class, $dir, $file);
+ return;
}
// 見つからなかった場合 (nullで記憶しておく)
function searchAllPluginType()
{
$type_list = array();
- foreach (array_reverse($this->appid_list) as $appid) {
- list(, $dir, ) = $this->getPluginNaming('', null, $appid);
- if (is_dir($dir) == false) {
- continue;
- }
- $dh = opendir($dir);
- if (is_resource($dh) == false) {
+ foreach($this->_dirlist as $dir) {
+ $type_dir= glob($dir . DIRECTORY_SEPARATOR . "*", GLOB_ONLYDIR);
+ if (!$type_dir) {
continue;
}
- while (($type_dir = readdir($dh)) !== false) {
- if ($type_dir{0} != '.' && is_dir("{$dir}/{$type_dir}")) {
- $type_list[$type_dir] = 0;
+ foreach ($type_dir as $dir) {
+ if ($type_dir{0} != '.') {
+ $type_list[basename($dir)] = 0;
}
}
- closedir($dh);
}
return array_keys($type_list);
}
{
// 後で見付かったもので上書きするので $this->appid_list の逆順とする
$name_list = array();
- foreach (array_reverse($this->appid_list) as $appid) {
- // クラス名として許可された文字であればOKとする
- // アンダーバーを拒む理由はないし、命名規約からも禁止されていない
- // @see http://ethna.jp/ethna-document-dev_guide-plugin.html
- // @see http://www.php.net/manual/en/language.variables.php
- list($class_regexp, $dir, $file_regexp) = $this->getPluginNaming($type, '([a-zA-Z0-9_\x7f-\xff]+)', $appid);
-
- //ディレクトリの存在のチェック
- if (is_dir($dir) == false) {
- // アプリ側で見付からないのは正常
- continue;
- }
+ $ext = $this->ctl->getExt('php');
- // ディレクトリを開く
- $dh = opendir($dir);
- if (is_resource($dh) == false) {
- $this->logger->log(LOG_DEBUG, 'cannot open plugin directory: [%s]', $dir);
+ foreach($this->_dirlist as $dir) {
+ $files = glob($dir . DIRECTORY_SEPARATOR . $type . DIRECTORY_SEPARATOR . "/*." . $ext);
+ if (!$files) {
+ $this->logger->log(LOG_DEBUG, 'cannot open plugin directory: [%s/%s]', $dir, $type);
continue;
}
$this->logger->log(LOG_DEBUG, 'plugin directory opened: [%s]', $dir);
-
- // 条件にあう $name をリストに追加
- while (($file = readdir($dh)) !== false) {
- if (preg_match('#^'.$file_regexp.'$#', $file, $matches)
- && file_exists("{$dir}/{$file}")) {
- $name_list[$matches[1]] = true;
- }
+ foreach ($files as $plugin_file) {
+ $plugin_name = substr(basename($plugin_file), 0, - strlen($ext) - 1);
+ $name_list[$plugin_name] = 0;
}
-
- closedir($dh);
}
foreach (array_keys($name_list) as $name) {
if ($appid === null) {
$appid = $ctl->getAppId();
}
- list($class, $dir, $file) = $plugin->getPluginNaming($type, $name, $appid);
+
+ list($class, $file) = $plugin->getPluginNaming($type, $name);
+ $dir = $this->_searchPluginSrcDir($type, $name);
$plugin->_includePluginSrc($class, $dir, $file);
}
// }}}
<?php
// vim: foldmethod=marker tabstop=4 shiftwidth=4 autoindent
/**
- * Ethna_Plugin_Cachemanager.php
+ * Cachemanager.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**#@-*/
/**
- * Ethna_Plugin_Cachemanagerクラスのコンストラクタ
+ * Cachemanagerクラスのコンストラクタ
*
* @access public
*/
<?php
// vim: foldmethod=marker tabstop=4 shiftwidth=4 autoindent
/**
- * Ethna_Plugin_Cachemanager_Localfile.php
+ * Localfile.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker tabstop=4 shiftwidth=4 autoindent
/**
- * Ethna_Plugin_Cachemanager_Memcache.php
+ * Memcache.php
*
* - Point Cutしたいと思った!
* - キャッシュキーには250文字までしか使用できないので注意して下さい
/**#@-*/
/**
- * Ethna_Plugin_Cachemanager_Memcacheクラスのコンストラクタ
+ * Memcacheクラスのコンストラクタ
*
* @access public
*/
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Csrf.php
+ * Csrf.php
*
* @author Keita Arai <cocoiti@comio.info>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**
- * Ethna_Plugin_Csrfのコンストラクタ
+ * Csrfのコンストラクタ
*
* @access public
* @param object Ethna_Controller &$controller コントローラオブジェクト
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Csrf_Session.php
+ * Session.php
*
* @author Keita Arai <cocoiti@comio.info>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Filter.php
+ * Filter.php
*
* @author Kazuhiro Hosoi <hosoi@gree.co.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**
- * Ethna_Plugin_Filterのコンストラクタ
+ * Filterのコンストラクタ
*
* @access public
* @param object Ethna_Controller &$controller コントローラオブジェクト
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator.php
+ * Generator.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
function Ethna_Plugin_Generator(&$controller, $type, $name)
{
// Ethna_Generatorでpluginを取得するときに使ったコントローラ
- // ex, add-projectではEthna_Controller, app-actionではApp_Controller
+ // ex, add-projectではEthna_Controller, add-actionではApp_Controller
$this->ctl =& $controller;
}
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_Action.php
+ * Action.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_ActionTest.php
+ * ActionTest.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_AppManager.php
+ * AppManager.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_AppObject.php
+ * AppObject.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_EntryPoint.php
+ * EntryPoint.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_I18n.php
+ * I18n.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_Plugin.php
+ * Plugin.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_Project.php
+ * Project.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
return $r;
}
+ $basedir = sprintf("%s/%s", $basedir, $id);
+
// ディレクトリ作成
if (is_dir($basedir) == false) {
// confirm
"app.url_handler.php" => sprintf("$basedir/app/%s_UrlHandler.php", $macro['project_id']),
"etc.ini.php" => sprintf("$basedir/etc/%s-ini.php", $macro['project_prefix']),
"template.index.tpl" => sprintf("$basedir/template/$locale/index.tpl"),
- "template.layout.tpl" => sprintf("$basedir/template/$locale/layout.tpl"),
- "template.404.tpl" => sprintf("$basedir/template/$locale/error404.tpl"),
- "template.500.tpl" => sprintf("$basedir/template/$locale/error500.tpl"),
);
$skelfile_maps = array(
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_Template.php
+ * Template.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_View.php
+ * View.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Generator_ViewTest.php
+ * ViewTest.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle.php
+ * Handle.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddAction.php
+ * AddAction.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
/**
- * Ethna_Plugin_Handle_AddActionTest.php
+ * AddActionTest.php
*
* @author halt feits <halt.feits@gmail.com>
* @package Ethna
* @version $Id$
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddAction.php';
+require_once 'Ethna/class/Plugin/Handle/AddAction.php';
// {{{ Ethna_Plugin_Handle_AddActionTest
/**
<?php
/**
- * Ethna_Plugin_Handle_AddAppManager.php
+ * AddAppManager.php
*
* @author nozzzzz <nozzzzz@gmail.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
* @version $Id$
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddAppObject.php';
+require_once 'Ethna/class/Plugin/Handle/AddAppObject.php';
// {{{ Ethna_Plugin_Handle_AddAppManager
/**
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddAppObject.php
+ * AddAppObject.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddEntryPoint.php
+ * AddEntryPoint.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
* @version $Id$
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddAction.php';
+require_once 'Ethna/class/Plugin/Handle/AddAction.php';
// {{{ Ethna_Plugin_Handle_AddEntryPoint
/**
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddProject.php
+ * AddProject.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
if (isset($opt_list['basedir'])) {
$basedir = realpath(end($opt_list['basedir']));
} else {
- $basedir = sprintf("%s/%s", getcwd(), strtolower($app_id));
+ $basedir = getcwd();
}
// skeldir
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddTemplate.php
+ * AddTemplate.php
*
* @author nnno <nnno@nnno.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
* @package Ethna
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddView.php';
+require_once 'Ethna/class/Plugin/Handle/AddView.php';
// {{{ Ethna_Plugin_Handle_AddTemplate
/**
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_AddView.php
+ * AddView.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
* @version $Id$
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddAction.php';
+require_once 'Ethna/class/Plugin/Handle/AddAction.php';
// {{{ Ethna_Plugin_Handle_AddView
/**
<?php
/**
- * Ethna_Plugin_Handle_AddViewTest.php
+ * AddViewTest.php
*
* @author halt feits <halt.feits@gmail.com>
* @package Ethna
* @version $Id$
*/
-require_once ETHNA_BASE . '/class/Plugin/Handle/Ethna_Plugin_Handle_AddView.php';
+require_once 'Ethna/class/Plugin/Handle/AddView.php';
// {{{ Ethna_Plugin_Handle_AddViewTest
/**
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_ChannelUpdate.php
+ * ChannelUpdate.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_ClearCache.php
+ * ClearCache.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_I18n.php
+ * I18n.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_InfoPlugin.php
+ * InfoPlugin.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_InstallPlugin.php
+ * InstallPlugin.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_ListPlugin.php
+ * ListPlugin.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_MakePluginPackage.php
+ * MakePluginPackage.php
*
* please go to http://ethna.jp/ethna-document-dev_guide-pearchannel.html
* for more info.
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_PearLocal.php
+ * PearLocal.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_UninstallPlugin.php
+ * UninstallPlugin.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Handle_UpgradePlugin.php
+ * UpgradePlugin.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter.php
+ * Logwriter.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**#@-*/
/**
- * Ethna_Plugin_Logwriterクラスのコンストラクタ
+ * Logwriterクラスのコンストラクタ
*
* @access public
* @param string $log_ident ログアイデンティティ文字列(プロセス名等)
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter_Alertmail.php
+ * Alertmail.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter_Default.php
+ * Default.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter_Echo.php
+ * Echo.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter_File.php
+ * File.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**#@-*/
/**
- * Ethna_Plugin_Logwriter_Fileクラスのコンストラクタ
+ * Fileクラスのコンストラクタ
*
* @access public
*/
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Logwriter_Syslog.php
+ * Syslog.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker tabstop=4 shiftwidth=4 autoindent
/**
- * Ethna_Plugin_Urlhandler.php
+ * Urlhandler.php
*
* @author Masaki Fujimoto <fujimoto@php.net>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
/**#@-*/
/**
- * Ethna_Plugin_Urlhandlerクラスのコンストラクタ
+ * Urlhandlerクラスのコンストラクタ
*
* @access public
* @param object Ethna_Controller $controller コントローラオブジェクト
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator.php
+ * Validator.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Custom.php
+ * Custom.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_File.php
+ * File.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Max.php
+ * Max.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Mbstrmax.php
+ * Mbstrmax.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Mbstrmin.php
+ * Mbstrmin.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Min.php
+ * Min.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Regexp.php
+ * Regexp.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Required.php
+ * Required.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Strmax.php
+ * Strmax.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Strmaxcompat.php
+ * Strmaxcompat.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Strmin.php
+ * Strmin.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Strmincompat.php
+ * Strmincompat.php
*
* @author Yoshinari Takaoka <takaoka@beatcraft.com>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
<?php
// vim: foldmethod=marker
/**
- * Ethna_Plugin_Validator_Type.php
+ * Type.php
*
* @author ICHII Takashi <ichii386@schweetheart.jp>
* @license http://www.opensource.org/licenses/bsd-license.php The BSD License
);
/**
- * @var array list of application id where Ethna searches plugin.
- */
- var $plugin_search_appids = array(
- /*
- * write list of application id where Ethna searches plugin.
- *
- * Example:
- * When there are plugins whose name are like "Common_Plugin_Foo_Bar" in
- * application plugin directory, Ethna searches them in the following order.
- *
- * 1. Common_Plugin_Foo_Bar,
- * 2. {$project_id}_Plugin_Foo_Bar
- * 3. Ethna_Plugin_Foo_Bar
- *
- * 'Common', '{$project_id}', 'Ethna',
- */
- '{$project_id}', 'Ethna',
- );
-
- /**
* @var array filter definition.
*/
var $filter = array(