2013-12-2512:28
MODX用スニペット「accessBySSL」ですが、cfFormMailer,cfFormDBに続き、またまたyamaさんからコミットしていただきました。
いつも本当にありがとうございます。
以下、変更内容です。
-
絶対パスのみを変換
-
Small fix
-
$modx->makeUrl()関数の引数を調整
-
$_SERVER['HTTP_HOST']を$modx->config['site_url']から取得
-
Small fix
-
Fix (1.0.11J以前のバージョンとの互換性)
-
Small fix (可読性を改善)
-
パス生成処理まわりを整理
最新版はGitHubにありますので、そちらからダウンロードしてください。
GitHub / accessBySSL
2013-07-0518:44
yamaさんから修正・追加されたcfFormDBをコミットしていただきましたので、先ほどマージしました。
作者自身がなかなか手を付けられない中、いつもいつもありがとうございます。
ダウンロードはGitHubからお願いします。
cfFormDB
数多くの点に対応いただきましたので、以下に列挙します。
詳細はGitHubからご確認ください。
-
一覧表示の文字数を100文字程度に制限
-
全項目表示画面で改行表示(<br />タグに変換)
-
データが存在しない時のPHPエラーを修正
-
CSVダウンロード時のダイアログにファイルサイズを表示
-
cfformdb_detailテーブルに主キーを設定
-
デフォルトの画面を選択できるようにする
-
CSVダウンロード画面のform-action属性が空のため修正
-
MODXのバージョンによっては「出力する項目がありません」を表示できないため修正
-
全項目表示画面のレイアウトを修正
-
「閉じる」ボタンの遷移先を変更
-
Small fix
-
CSVデータ内のダブルクォートをエスケープする
-
CSVダウンロード画面に対象期間設定を追加
-
画面デザイン調整(RevoStyleでも違和感がないように)
2012-09-0718:29
じつはかなり前にyamaさんよりpull requestいただいていたのですが、ようやく対応しました。。。
フォーラムでの不具合報告に対応していただいています。
http://forum.modx.jp/viewtopic.php?f=32&t=863yamaさん、ありがとうございます!
最新版はこちらからダウンロードしてください。
https://github.com/clefarray/cfFormDB
2011-05-1014:01
例えば
cfFormMailerを使用したお問い合わせフォームなど、MODXドキュメントのなかで、
特定のドキュメントだけSSLを利用してアクセスしたい場合があります。
mod_rewriteを使ってhttps://~にリダイレクトする、という方法もあるかと思いますが、
これだけでは不完全ですし、共有SSLの場合はうまくいかないこともあります。
ということで、簡単に、そして強引な方法でSSLアクセスを実現するプラグインを作りました。
もともとは
自分のサイトで使うために作ったものなのですが、もしかしたら需要があるかもと思い、公開することにしました。
サイトを見てもらえれば、実際に「お問い合わせ」だけSSLでアクセスされているのがわかると思います。
続きを読む "[MODX]特定のドキュメントだけSSLアクセスするプラグイン「accessBySSL」" »
2011-01-2709:49
MODx Evolution のv1.0.4以下に対して、SQLインジェクションの脆弱性があることが発表されています。
詳細は↓こちら
JVN#54092716
MODx Evolution における SQL インジェクションの脆弱性最新版のv1.0.5では修正されているので、
早急にバージョンアップが必要ですね。
2010-11-1213:01
ただいま、cfFormMailerと連携するちょっとしたモジュールを作成中なのですが、
それの制作の際に必要となった変数を、今後のために備忘録としてメモっておきます。
$contentモジュールの情報が格納されている連想配列です。参照時にはglobal $content;としてグローバル宣言しておきます。
- id: モジュールID
- name: モジュール名
- description: モジュールの説明
- editor_type: 未使用?
- disabled: モジュールを停止(1・・・停止)
- category: カテゴリ
- wrap: 行の折り返し
- locked: Administrator(ロールID1)のみ編集可能
- icon: アイコンファイルパス
- enable_resource: 外部ファイルを有効に(未使用?)
- resource_file: 未使用?
- createdon: 作成日時(UNIXタイム)
- editedon: 更新日時(UNIXタイム)
- guid: Globally Unique ID
- enable_sharedparams: 共有パラメータを使用
- properties: モジュール設定
- modulecode: モジュールコード
なお、"enable_resource"はモジュール管理画面のHTMLソースではCSSにより非表示となっています。
$modx->event->params「モジュール設定」の情報が展開された連想配列です。
じつは設定情報はモジュールが実行される前にexract()関数により変数として展開されており、
モジュールコードからは、そのまま変数として使えますが、
モジュール本体を外部ファイルにしている場合などは、いちいち変数を引き継ぐのが面倒なので(笑)
この変数を参照するようにしています。
$_style管理画面テーマで使用しているアイコンなどのファイルパス、またはコードが格納されている連想配列です。
こちらも参照の際はグローバル宣言が必要です。
全部は多いのでよく使う(と思う)ものだけ抜粋します。
この変数が定義されているのは/manager/media/style/テーマ名/style.php なので、他の値はこのファイルを参照してください。
- icons_save: 保存やOKなど (※MODxCarbonテーマでは、save以外にaddやedit_documentでも同一です。)
- icons_refresh: 再読込アイコン
- icons_cancel: キャンセルアイコン
- icons_delete: 削除アイコン
- icons_close: 閉じるアイコン (※MODxCarbonテーマではcancelと同一です)
- icons_working: 注意アイコン
- icons_preview_resource: 表示アイコン
- ajax_loader: ローディングアイコン
2010-04-0523:11
ちょっと時間が開いてしまっていますが(汗)、今月2日にMODxの新バージョン、
MODx Evolution 1.0.3が公開されました。
http://modxcms-jp.com/news/158.htmlTinyMCEやManagerManagerなど多くの点で改良が加えられているようです。
近日中に、拙作cfFormMailerの動作確認も兼ねて、いろいろいじってみたいと思います。
2010-02-1223:00
modxでタイトルを指定する場合、通常は
<title>[*pagetitle*] [(site_name)]</title>
のようにテンプレートなどに記述しますが、
- トップページのように[*pagetitle*]が必要無い場合がある。
- 階層化されているコンテンツのときは、親コンテンツ名も合わせて表示させたい
というような場合にちょっと不便です。少なくとも、私には不便です。
いろいろ回避や対処方法はあると思いますが、
私は上記対応に特化した、簡単なスニペット(名付けて「viewTitle」!)を使っています。
リニューアルした私のサイトで実際に使っていますが、
すべてのページのタイトルタグは、テンプレートに次のように記述しています。
<title>[!viewTitle?hideId=`1`&addParent=`1`!]</title>
これで、トップページはサイト名([(site_name)])だけを表示し、2階層以上あるページでは、ページ名の他に親となっているページのタイトルも表示されるようになっています。
汎用的で実用的かと言われると、ちょっとアレですがw
気が向いたら使ってみてください。
下のコードをコピーし、"viewTitle"という新規スニペットを作成して、「スニペットコード」内にペーストしてください。
呼び出しパラメーターは
hideId ・・・ ページ名([*pagetitle*])を隠すドキュメントID。デフォルトは「1」。コンマ区切りで複数指定可。
addParent ・・・ 親ページ名を表示するフラグで0または1を指定。デフォルトは「1」(表示する)。
separator ・・・ ページ名、親ページ名、サイト名の区切りに使う文字列。デフォルトは「 | 」。
<?php
/* viewTitle
@PARAMETER
hideId: ページタイトルを表示させないドキュメントID(コンマ区切り) (デフォルト: 1)
addParent: 親のページタイトルを表示するか[0:しない / 1(デフォルト):する]
separator: ページタイトルとサイト名の区切り (デフォルト: | )
*/
$addParent = isset($addParent) ? $addParent : 1;
$hideId = (isset($hideId) && !$hideId) ? $hideId : '1';
$separator = isset($separator) ? $separator : ' | ';
$ids = explode(',', $hideId);
if (in_array($modx->documentObject['id'], $ids)) {
return $modx->config['site_name'];
} else {
$parent = '';
if ($addParent && $modx->documentObject['parent']) {
$parent = $modx->getParent($modx->documentObject['id'], 1, 'pagetitle');
}
return $modx->documentObject['pagetitle'] . $separator . (is_array($parent) && isset($parent['pagetitle']) ? $parent['pagetitle'] . $separator : "") . $modx->config['site_name'];
}
?>
2007-11-0223:06
公式フォーラム内に情報がありますが、自分用メモ的にここにも書きます。
[環境]
MODx 0.9.6 stable (rev 2767)
MODx を 文字コード EUC-JP で使用しているときに、ドキュメントにエイリアスを指定しようとしても「すでに使用中です」という趣旨のエラーメッセージが表示されて、指定に失敗します。
これは /manager/processors/save_content.processor.php の不具合なので、ここから最新版の save_content.processor.php をダウンロードして置き換えることで解消されます。