MODX Evolution 1.0.23J をリリースしました
2020年5月13日 22時00分 shortlink:http://modx.jp/?id=1068
当バージョンよりPHP7.4で動作します。
ダウンロード
https://modx.jp/download/download_evo.html
上記からダウンロードしてください。
アップデートの手順
https://modx.jp/docs/update.html
上記を参照してください。
変更内容
不具合修正
- Fix session_cache_limiter(): Cannot change cache limiter when session is active in xxx [ユーザ報告]
- ウェブユーザーが常にログイン状態になる [ユーザ報告]
- 所属リソース保存時のエラーを修正 [ユーザ報告]
- Fix mysql予約語がバッティングすることがあるため修正
- リソース新規保存時にcreatedonの値が空になる
- TinyMCE ウェブユーザ用の設定が反映されないため修正
- Fix send contentType
- Ditto - &paginateパラメータの不具合を修正
- Fix config('disable_cache_at_login') - 常にログイン状態になる
- Fix - Ditto filter
- Fix - スニペットコードの判定を誤ることがある
- ロードバランサー下の環境で問題が起きるためIPアドレスベースのセッション判定を廃止
- Fix - 投稿画面のテンプレート切り替え
- Fix - md5形式のパスワードハッシュが現行の形式に更新されない
- Fix - 自動生成したパスワードでログインできない
- Fix - 「許可するリソース」の設定が有効にならない
- 投稿画面でウェブリンクへのファイル貼り付けができない
- 投稿画面のウェブリンク欄がリッチテキストになる
- Fix - ログイン判定(常にログイン状態になってしまう)
- Fix 新規インストールを行なうと、リソース移動の設定がデフォルトで無効になっている
- qm - fix close button(閉じるボタン)
- Fix - 日時予約投稿ができなくなっているため修正
- Fix - ManagerManagerのカラーピッカーが動作しない
- 修正 - ウェブリンクにファイルのURLを貼り付けられない
- 修正 - ウェブリンクのフィールドがリッチテキストになる
- forum#1898 ウェブユーザパスワード変更時のPHPエラーを修正 [ユーザ報告]
- cache_sync.class.php システムイベントの実行タイミングを調整
- Fix - MySQLの予約語「groups」でエラー
- Fix 管理画面内のテンプレート変数一覧の表示順
- Fix - テンプレート変数(Custom Form)のオプション内でスニペットが動作しない [ユーザ報告]
- アップデート時に古い構造のrevisionテーブルを一時的に削除(アップデート後にエラーになるため) (ユーザからの要望)
改善
- 日付選択UIでinputフィールドのautocompleteを無効にする
- Ditto &documents指定時に&orderByが空の場合は指定順に表示する [ユーザ報告]
- tinyMCE - custom_cssをhttps対応
- 管理画面Treeノード上のpagetitleでhtmlタグを表示する
- インストーラ改修
- PHPMailer - エラーメッセージを日本語化
- モディファイアのパース失敗時のエラーメッセージを改善
- セッション用クッキーの生成をhttponlyとする
- セッションIDをクライアント側で任意に設定できないようにする
- ログイン時にセッションIDを必ずシステム生成する
- Fix - 管理画面ログイン失敗時のアラート表示
- Fix cacheRefreshTime
- evo()->parseChunk() $tplの中身を見て引数を変更。「{{」を含む場合
- evo()->parseChunk()の引数デフォルトを昔の構成に戻す(※このAPIを使うこと自体は非推奨)
- TinyMCE - custom_paramsでリソース変数を使えるようにする
- 日本語ファイル - Authorを追加 Mitsuhiro Yoshida (Since Etomite CMS 2004-)
- PHP7.4対応
- 管理画面のstyle.cssをautoprefixerで最適化
- キャッシュ削除の文言を改良
- Improved - evo()->array_get() キーがnullの場合は配列全体を返す
- ex_export_site.php リトライ回数を減らして高速化
- 全キャッシュクリア時は拡張子関係なく全ファイルを削除
- 関連ライブラリのコピーライト年号表記を自動更新
更新
- Update version tinymce 3.5.12
- Update jquery.min.js v3.4.1
新しい仕様
- New evo()->output()
- New evo()->doc()
- New evo()->db->count()
- New evo()->config()
- 簡易ヘルパ関数
- New - assets/modifiers/{filter_name}.php
- New - evo()->getUserFromName()
- New evo()->is_int()
廃止
- create_functionを廃止(fix for PHP7.2)
- E_DEPRECATEDチェックを削除
- get_magic_quotes_gpc()を廃止(PHP7.4対応)
- set_magic_quotes_runtime()を廃止(PHP7.4対応)
トピックス
PHP7.4に対応
PHP7.4に対応しました。
翻訳貢献者の名前を追加
管理画面日本語ファイル翻訳者として吉田光宏氏の名前を追加しました(本人承諾済)。吉田氏はMODXの前身であるEtomiteの翻訳ファイルを最初に作った人です(2004年)。Etomiteの翻訳ファイルはほぼそのままMODXに引き継がれました。
開発をサポートする基礎的なhelper関数を追加
簡易な記述で利用できるヘルパ関数を追加しました。冗長な記述で見通しが悪くなりがちなソースコードをすっきりまとめることができます。
evo(void)
$modxオブジェクトと同じ。たとえば、
$parent_id = $modx->getParentID($doc_id);
と書くところを、
$parent_id = evo()->getParentID($doc_id);
上記のように書くことができます。グローバル変数としての宣言漏れによる不具合を防ぐことができます。
db(void)
db()->select('*', 'site_content', 'id=5');
$modx->dbオブジェクトを返します。
docid(void)
$modx->documentIdentifier (リソースID)を返します。
config($key, $default=null)
$modx->config[$key] の getterです。
base_path(void)
MODX_BASE_PATH を返します。
event(void)
$modx->eventオブジェクトを返します。
manager(void)
$modx->managerを返します。
hsc($string)
htmlspecialchars($string, ENT_COMPAT, $modx->config['modx_charset']) と同等です。
parseText($template_text, $placeholder_vars, $left='', $execModifier=false)
$modx->parseText()のエイリアスです。ただし引数のデフォルト値が異なり、第5パラメータの$execModifierはfalseです。モディファイアを解釈しません。
array_get($array, $key=null, $default=null)
Laravelの array_get(Arr::get())と同等です。
getv($key=null,$default=null)
$_GET[$key]を返します。
$value = isset($_GET['v']) ? $_GET['v'] : 0;
従来は上記のように書く必要がありましたが、
$value = getv('v', 0);
上記のように書くだけで済みます。
postv($key=null,$default=null)
$_POST[$key]を返します。
anyv($key=null,$default=null)
$_REQUEST[$key]を返します。
cookiev($key=null,$default=null)
$_COOKIE[$key]を返します。
serverv($key=null,$default=null)
$_SERVER[$key]を返します。
sessionv($key=null,$default=null)
$_SESSION[$key]を返します。
その他
MODXのことで分からないことがあれば気軽にご相談ください(フォーラムまたは問い合わせフォームどちらでも)。