- Ethna_MailSender にて、メール送信に問題がある場合の設定として 'mail_func_workaround' を追加
-- この値を true に設定すると、メールヘッダの改行コードを一律 CRLF にする処理を回避する
-- $mail = new Ethna_MailSender(); $mail->setOption(array('mail_func_workaround')); でも設定可能
+- Smarty の設定(現在はデリミタのみ)を [appid]-ini.php に書くことが出来るようにした
*** bug fix
- Ethna_Plugin_Logwriter の debug_backtrace の一部が取得できず、E_NOTICE が出るバグを修正 (thanks: http://www.remix.gr.jp/)
- cli 環境で Ethna_Session::start を叩いたときに $_SERVER 変数がないために E_NOTICE が出る問題を修正
- PHP 5.3.0 で新設された E_DEPRECATED を ON にすると Fatal Error が起きるバグを修正 (#18418)
+- Smartyのデリミタを変更している場合にi18nコマンドが機能しないバグを修正 (#18668)
** 2.5.0-preview4
/** @var object Ethna_Controller controllerオブジェクト($controllerの省略形) */
var $ctl;
+ /** @var array [appid]-ini.phpのレンダラ設定 */
+ var $config;
+
/** @var string template directory */
var $template_dir;
$this->template = null;
$this->prop = array();
$this->plugin_registry = array();
+ $config = $this->ctl->getConfig();
+ $this->config = $config->get('renderer');
}
/**
$this->engine =& new Smarty;
+ // ディレクトリ関連は Controllerによって実行時に設定
+ // TODO: iniファイルによって上書き可にするかは要検討
$template_dir = $controller->getTemplatedir();
$compile_dir = $controller->getDirectory('template_c');
$this->engine->compile_dir = $this->compile_dir;
$this->engine->compile_id = md5($this->template_dir);
- // 一応がんばってみる
+ // デリミタは Ethna_Config を見る
+ $smarty_config = isset($this->config['smarty'])
+ ? $this->config['smarty']
+ : array();
+ if (array_key_exists('left_delimiter', $smarty_config)) {
+ $this->engine->left_delimiter = $smarty_config['left_delimiter'];
+ }
+ if (array_key_exists('right_delimiter', $smarty_config)) {
+ $this->engine->right_delimiter = $smarty_config['right_delimiter'];
+ }
+
+ // コンパイルディレクトリは必須なので一応がんばってみる
if (is_dir($this->engine->compile_dir) === false) {
Ethna_Util::mkdir($this->engine->compile_dir, 0755);
}
// mail
//'mail_func_workaround' => false,
+ // Smarty
+ //'renderer' => array(
+ // 'smarty' => array(
+ // 'left_delimiter' => '{',
+ // 'right_delimiter' => '}',
+ // ),
+ //),
+
// csrf
// 'csrf' => 'Session',
);