MODx アーカイブ

accessBySSLが更新されました

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

カテゴリ:MODx | トラックバック (0)

cfFormDB更新しました

yamaさんから修正・追加されたcfFormDBをコミットしていただきましたので、先ほどマージしました。
作者自身がなかなか手を付けられない中、いつもいつもありがとうございます。

ダウンロードはGitHubからお願いします。
cfFormDB

数多くの点に対応いただきましたので、以下に列挙します。
詳細はGitHubからご確認ください。

  • 一覧表示の文字数を100文字程度に制限
  • 全項目表示画面で改行表示(<br />タグに変換)
  • データが存在しない時のPHPエラーを修正
  • CSVダウンロード時のダイアログにファイルサイズを表示
  • cfformdb_detailテーブルに主キーを設定
  • デフォルトの画面を選択できるようにする
  • CSVダウンロード画面のform-action属性が空のため修正
  • MODXのバージョンによっては「出力する項目がありません」を表示できないため修正
  • 全項目表示画面のレイアウトを修正
  • 「閉じる」ボタンの遷移先を変更
  • Small fix
  • CSVデータ内のダブルクォートをエスケープする
  • CSVダウンロード画面に対象期間設定を追加
  • 画面デザイン調整(RevoStyleでも違和感がないように)

カテゴリ:MODx | トラックバック (0)

cfFormDB更新しました

じつはかなり前にyamaさんよりpull requestいただいていたのですが、ようやく対応しました。。。

フォーラムでの不具合報告に対応していただいています。
http://forum.modx.jp/viewtopic.php?f=32&t=863
yamaさん、ありがとうございます!

最新版はこちらからダウンロードしてください。
https://github.com/clefarray/cfFormDB


カテゴリ:cfFormMailer | トラックバック (0)

[MODX]特定のドキュメントだけSSLアクセスするプラグイン「accessBySSL」

例えばcfFormMailerを使用したお問い合わせフォームなど、MODXドキュメントのなかで、特定のドキュメントだけSSLを利用してアクセスしたい場合があります。

mod_rewriteを使ってhttps://~にリダイレクトする、という方法もあるかと思いますが、
これだけでは不完全ですし、共有SSLの場合はうまくいかないこともあります。

ということで、簡単に、そして強引な方法でSSLアクセスを実現するプラグインを作りました。
もともとは自分のサイトで使うために作ったものなのですが、もしかしたら需要があるかもと思い、公開することにしました。
サイトを見てもらえれば、実際に「お問い合わせ」だけSSLでアクセスされているのがわかると思います。

続きを読む "[MODX]特定のドキュメントだけSSLアクセスするプラグイン「accessBySSL」" »

カテゴリ:MODx | トラックバック (0)

MODx Evolution における SQL インジェクションの脆弱性

MODx Evolution のv1.0.4以下に対して、SQLインジェクションの脆弱性があることが発表されています。

詳細は↓こちら

JVN#54092716
MODx Evolution における SQL インジェクションの脆弱性


最新版のv1.0.5では修正されているので、
早急にバージョンアップが必要ですね。

カテゴリ:MODx | トラックバック (0)

MODxモジュールを作る際に参照する変数メモ

ただいま、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: ローディングアイコン

カテゴリ:MODx | トラックバック (0)

MODx Evolution 1.0.3

ちょっと時間が開いてしまっていますが(汗)、今月2日にMODxの新バージョン、MODx Evolution 1.0.3が公開されました。
http://modxcms-jp.com/news/158.html

TinyMCEやManagerManagerなど多くの点で改良が加えられているようです。

近日中に、拙作cfFormMailerの動作確認も兼ねて、いろいろいじってみたいと思います。

カテゴリ:MODx | トラックバック (0)

[modx]タイトルタグをちょっと便利に表示するスニペット

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'];
}
?>

カテゴリ:MODx | トラックバック (0)

EUC-JP 使用時にドキュメントエイリアスの設定ができない

公式フォーラム内に情報がありますが、自分用メモ的にここにも書きます。

[環境]
MODx 0.9.6 stable (rev 2767)

MODx を 文字コード EUC-JP で使用しているときに、ドキュメントにエイリアスを指定しようとしても「すでに使用中です」という趣旨のエラーメッセージが表示されて、指定に失敗します。

これは /manager/processors/save_content.processor.php の不具合なので、ここから最新版の save_content.processor.php をダウンロードして置き換えることで解消されます。

カテゴリ:MODx | トラックバック (0)

カテゴリーs

Powered by Movable Type 5.01

墨田区 錦糸町のホームページ制作工房 クレファレイ・ファクトリーによるブログです。

クレファレイ・ファクトリー