[geeklog-jp commit] r1093 - in trunk/geeklog-1-jp-extended: . plugins/custommenu plugins/custommenu/bonus/layout/Prof...

Zurück zum Archiv-Index

codes****@googl***** codes****@googl*****
2009年 1月 4日 (日) 22:29:56 JST


Author: dengenxp
Date: Sun Jan  4 05:06:49 2009
New Revision: 1093

Modified:
    trunk/geeklog-1-jp-extended/CHANGES.jp
    trunk/geeklog-1-jp-extended/plugins/custommenu/README_JP
     
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custom.css
     
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custommenu/menueditor.thtml
     
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/custommenu/menueditor.thtml
     
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/style.css
    trunk/geeklog-1-jp-extended/plugins/custommenu/config.php
    trunk/geeklog-1-jp-extended/plugins/custommenu/functions.inc
    trunk/geeklog-1-jp-extended/plugins/custommenu/install_defaults.php
    trunk/geeklog-1-jp-extended/plugins/custommenu/language/english.php
    trunk/geeklog-1-jp-extended/plugins/custommenu/language/english_utf-8.php
     
trunk/geeklog-1-jp-extended/plugins/custommenu/language/japanese_utf-8.php
     
trunk/geeklog-1-jp-extended/plugins/custommenu/layout/professional/custommenu/menueditor.thtml
    trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp.html
    trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp_1.5.html
     
trunk/geeklog-1-jp-extended/public_html/admin/plugins/custommenu/index.php
     
trunk/geeklog-1-jp-extended/public_html/custommenu/templates/menueditor.thtml

Log:
custommenuプラグイン:r1092の変更をtrunk/geeklog-1-jp-extendedへ反映させま 
す。
変更点をCHANGES.jpへ記載します。

Modified: trunk/geeklog-1-jp-extended/CHANGES.jp
==============================================================================
--- trunk/geeklog-1-jp-extended/CHANGES.jp	(original)
+++ trunk/geeklog-1-jp-extended/CHANGES.jp	Sun Jan  4 05:06:49 2009
@@ -1,5 +1,16 @@
  $Id$

+2009-1-4  Yoshinori Tahara <dengen>
+
+	* PHPモードで、ID、クラス名、子メニューエントリの配列を設定できるよう
+	  にしました。
+	  メニューアイテムの編集におけるバリデーションを強化しました。
+	  0.4.0以降へのバージョンアップが正常に行えない問題に対応しました。
+	  メニューアイテムIDの変更に伴い親アイテムIDが更新されない問題に対応
+	  しました。
+	  テンプレートとCSSを一部修正しました。
+	  説明書(readme_jp.thml, readme_jp_1.5.html)を充実させました。
+
  2008-12-26  mystral-kk <mystral-kk>

  	* Dataproxyプラグイン、サイトマッププラグインを共にバージョン

Modified: trunk/geeklog-1-jp-extended/plugins/custommenu/README_JP
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/README_JP	(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/README_JP	Sun Jan  4  
05:06:49 2009
@@ -1,128 +1,4 @@
  Geeklog1.4.1にインストールする場合は、readme_ja.htmlをお読みください。
  Geeklog1.5.0にインストールする場合は、readme_ja_1.5.htmlをお読みください。

-
-[多階層メニューに対応した独自メニューレンダラについて]
-
-バージョン0.4.0より多階層メニューや画像を使ったメニューに対応した独自メニ 
ューレンダラを搭載しました。
-比較的大規模なサイトに多くみられるプルダウンメニューなどを実装可能なHTMLを 
出力できるようになりました。
-
-Geeklog標準のメニューレンダラが出力するヘッダーメニュー部のHTMLは次のような 
ものです。
-
-        <div class="header-navigation-container">
-          <ul>
-            <li class="menuitem"><a href="index1.php">text1</a></li>
-            <li class="menuitem"><a href="index2.php">text2</a></li>
-            <li class="menuitem"><a href="index3.php">text3</a></li>
-                :
-                :
-                :
-            <li class="menuitem last"><a href="indexx.php">textx</a></li>
-          </ul>
-        </div>
-
-これに対して、今回搭載した独自メニューレンダラでは、次のような入れ子構造の 
HTMLを出力することができます。
-
-        <div class="header-navigation-container">
-          <ul>
-            <li id="menu_id1" class="menuitem"><a  
href="index1.php">text1</a></li>
-            <li id="menu_id2" class="menuitem"><a  
href="index2.php">text2</a>
-              <ul>
-                <li id="submenu_id1" class="menuitem"><a  
href="index_s1.php">text1</a></li>
-                <li id="submenu_id2" class="menuitem"><a  
href="index_s2.php">text2</a></li>
-                <li id="submenu_id3" class="menuitem"><a  
href="index_s3.php">text3</a></li>
-                    :
-                    :
-                    :
-                <li id="submenu_idx" class="menuitem"><a  
href="index_sx.php">textx</a></li>
-              </ul>
-            </li>
-            <li id="menu_id3" class="menuitem"><a  
href="index3.php">text3</a></li>
-                :
-                :
-                :
-            <li id="menu_idx" class="menuitem last"><a  
href="indexx.php">textx</a></li>
-          </ul>
-        </div>
-
-また、メニューアイテムごとに次のテンプレート変数をサポートします。
-
-    menuitem_url        メニューアイテムのリンク先URL
-    menuitem_text       メニューアイテムのタイトル
-    menuitem_id         メニューアイテムのID
-    menuitem_class      メニューアイテムのクラス名  (例:'last')
-    class_property      メニューアイテムのクラスプロパティ   
(例:'class="last"')
-    menuitem_icon_url   メニューアイテムのアイコンとして用いる画像のURL
-
-多階層メニューを試すには、次の操作を行って下さい。
-    (1) /bonus/lib-common.phpの657行〜666行のように、lib-common.phpを修正す 
る必要があります。
-    (2) コンフィギュレーション -> カスタムメニュー -> メニューレンダラ を「 
階層メニュー対応」に設定します。
-    (3) /bonus/layout/テーマ名 のファイル群を、テーマディレクトリにコピーし 
ます。(professional と ProfessionalCSS のみ対応)
-
-上記(3)の操作で、menuitem.thtml, menuitem_last.thtml, style.css,  
custom.css を上書きしますので、事前のバックアップをお忘れなく。
-
-「メニューアイテムの編集」で「親アイテムID」を使って階層を設定します。
-
-階層メニューの起点になるメニューアイテムのクラス名に'drop'や'fly'を設定して 
みて下さい。(アローアイコンが出現します)
-子階層メニューの最初のアイテム、孫階層メニューの最初のアイテム、親階層メニ 
ューの最後のアイテムのクラス名に'enclose'を設定して下さい。
-
-画像を使ったメニューを試すには、テンプレート変数 menuitem_icon_url を使っ 
て、/layout/テーマ名/custommenu/内のmenuitem.thtml, menuitem_drop.thtmlを修 
正します。加えて、CSSを使ってレイアウトを調整してください。
-
-
-[URLの照合機能について]
-
-バージョン0.3.0よりURLの照合機能を追加しました。
-URLの照合機能とは、Geeklogサイトの表示中のページのURLをメニューアイテムごと 
に照合し、マッチしたメニューアイテムのスタイルを変化させるものです。
-例えば、リンクのページを開いているときに、リンクのメニューアイテムを反転さ 
せて表示させることが可能となります。
-ただし、別途、システムの一部(lib-common.php)とテーマの一部を変更する必要 
があります。
-
-一例として、リンクのメニューアイテムを反転させる方法を示します。ここでは、 
professionalテーマを用います。
-カスタムメニューの管理画面で「リンク」を編集します。
-項目「URL照合文字列」へ"/links/"を入力し、更新ボタンをクリックします。カス 
タムメニューエディタでの作業はこれだけです。
-
-これは、「表示ページのURLに"/links/"が含まれていたときに、メニューアイテム 
「リンク」のスタイルを変化させる。」という意味の設定です。
-なお、「正規表現」を有効にすると、PHPがサポートしている正規表現で照合するこ 
とができます。照合の条件が複雑な場合に使用することを想定した機能であり、使用 
する場面は少ないでしょう。照合にはpreg_match関数を使用しています。
-正規表現の詳細については http://jp.php.net/manual/ja/regexp.reference.php  
を参照してください。
-
-lib-common.phpの変更は実質2行追加するだけの簡単なものであり、副作用もありま 
せん。同梱の/bonus/lib-common.phpの623行目および681行目を参考にしてくださ 
い。Geeklog1.5.1用ですので該当バージョンをお使いの方はそのまま使用されてもよ 
いでしょう。
-
-テーマの変更は、menuitem.thtml、menuitem_last.thtml、style.css の3つのファ 
イルを対象とします。
-/bonus/layout/professonal/内のファイルを参照してください。
-<li>タグに class="{menuitem_selected}" が追加されていることに注目してくださ 
い。
-style.csssは1031行目から1033行目の3行を加えるだけです。(サンプルなので単純 
に背景色を変えただけ)
-
-これで完了です。メニューアイテム「リンク」をクリックして効果を確認してみて 
ください。
-テーマをさらに変更してハイセンスなメインメニューを構築してください。
-
-
-[多言語切り替え機能について]
-
-バージョン0.2.3より多言語切り替え機能への対応を強化しました。
-バージョン0.2.2以前のバージョンでは、多言語切り替えのために「可変モード」を 
用意していましたが、メニューアイテムの表示を切り替えることはできるものの、リ 
ンク先まで切り替えることはできませんでした。(そこまでやるにはPHPモードを活 
用する必要がありました。)
-バージョン0.2.3からはGeeklog1.5.1から追加された「ブロックの多言語切り替え機 
能」と同様の機能をサポートします。
-
-「ブロックの多言語切り替え機能」の詳細については以下のWikiを参照してくださ 
い。
-http://wiki.geeklog.jp/index.php/Multi-Language_Support#.E3.83.96.E3.83.AD.E3.83.83.E3.82.AF
-http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support#Blocks
-
-一例として、英語と日本語を切り替える場合の使用方法を示します。
-カスタムメニュー管理画面で言語数+1つ(つまり合計3つ)で1セットのメニ 
ューアイテムを作成します。
-そして「メニューアイテムID」を、例えば次のように設定します。
-about
-about_en
-about_ja
-
-ここで添字"_en"を付加したものは英語モードで、添字"_ja"を付加したものは日本 
語モードで用いるアイテムにします。
-そして、それぞれの「有効」オプションを次のように設定します。
-about        有効
-about_en     無効
-about_ja     無効
-
-「タイトル(固定)」や「URL」はそれぞれの言語に応じて、表示させたいリンク先 
のURLを指定します。(「モード」が「固定」の場合)
-これで完了です。言語モードを切り替えてみてください。
-
-メニューアイテム"about"の情報が、システムの言語モードに応じて、メニューアイ 
テム"about_en"やメニューアイテム"about_ja"の情報でオーバーライドされる仕組み 
です。システムの多言語モードがオフの時には、メニューアイテム"about"の情報が 
そのまま使われます。
-
-
-
  以上。

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custom.css
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custom.css	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custom.css	 
Sun Jan  4 05:06:49 2009
@@ -90,6 +90,7 @@
  div#container div#navigation li:hover
  {
      position : relative;
+    z-index  : 100;
  }

  /* Make the hovered list color persist */
@@ -113,7 +114,7 @@
      top : -11px;
      left : 80px;
      padding : 10px 30px 30px 30px;
-    background : transparent url(transparent.gif);
+    background : transparent url(custommenu/images/transparent.gif);
      width : 120px;
  }

@@ -174,7 +175,7 @@
      top  : -11px;
      left : 80px;
      padding : 10px 30px 30px 30px;
-    background : transparent url(transparent.gif);
+    background : transparent url(custommenu/images/transparent.gif);
  }

  /* keep the third level+ hidden when you hover on first level link */

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custommenu/menueditor.thtml
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custommenu/menueditor.thtml	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/ProfessionalCSS/custommenu/menueditor.thtml	 
Sun Jan  4 05:06:49 2009
@@ -1,166 +1,100 @@

-    <form action="{site_admin_url}/plugins/custommenu/index.php"  
method="post">
-        <table cellspacing="0" cellpadding="3" width="100%">
-            <tr>
-                <td width="180" class="alignright"  
style="vertical-align:top">{lang_mode}:</td>
-                <td>
-                    <select name="mmode">
-                        <option value="fixation"  
{val_mode_fixation}>{lang_mode_fixation}</option>
-                        <option value="variable"  
{val_mode_variable}>{lang_mode_variable}</option>
-                        <option value="php"  
{val_mode_php}>{lang_mode_php}</option>
-                    </select>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_mode_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_title_fixation}:</td>
-                <td>
-                    <input type="text" name="title_fixation"  
value="{val_title_fixation}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_title_fixation_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_title_variable}:</td>
-                <td>
-                    <input type="text" name="title_variable"  
value="{val_title_variable}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_title_variable_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_php_function}:</td>
-                <td>
-                    <input type="text" name="php_function"  
value="{val_php_function}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_php_function_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright">{lang_is_enabled}:</td>
-                <td><input type="checkbox" name="is_enabled"  
{val_is_enabled}{xhtml}></td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_menuitemurl}:</td>
-                <td>
-                    <input type="text" name="url"  
value="{val_menuitemurl}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_includehttp}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_menuitemid}:</td>
-                <td>
-                    <input type="text" name="mid" value="{val_mid}"  
size="48" {mid_readonly}{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_nospaces}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_parentitemid}:</td>
-                <td>
-{selpmid}
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_class_name}:</td>
-                <td>
-                    <input type="text" name="class_name"  
value="{val_class_name}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_class_name_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright">{lang_topic}:</td>
-                <td>
-                  <select name="tid">
-                      <option value="all"  
{all_selected}>{lang_all}</option>
-                      <option value="homeonly"  
{homeonly_selected}>{lang_homeonly}</option>
-                      {topic_options}
-                  </select>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_menuitemorder}:</td>
-                <td>
-                    <input type="text" name="menuorder"  
value="{val_menuorder}" size="4"{xhtml}>
-                    <span class="pluginMediumText"> 0 - 9999</span>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright">{lang_menuitemtype}:</td>
-                <td>{lang_type}</td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_icon_url}:</td>
-                <td>
-                    <input type="text" name="icon_url"  
value="{val_icon_url}" size="48"{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_icon_url_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td class="alignright"  
style="vertical-align:top">{lang_pattern}:</td>
-                <td>
-                    <input type="text" name="pattern"  
value="{val_pattern}" size="48"{xhtml}>
-                    &nbsp;{lang_is_preg}:
-                    <input type="checkbox" name="is_preg"  
{val_is_preg}{xhtml}>
-                    <br{xhtml}><div  
class="pluginMediumText">{lang_pattern_info}</div>
-                </td>
-            </tr>
-
-            <tr>
-                <td colspan="2"><hr{xhtml}></td>
-            </tr>
-
-            <tr>
-                <td colspan="2"><strong>{lang_accessrights}</strong></td>
-            </tr>
-
-            <tr>
-                <td class="alignright">{lang_owner}:</td>
-                <td>{owner_name}</td>
-            </tr>
-
-            <tr>
-                <td class="alignright">{lang_group}:</td>
-                <td>
-                    {group_dropdown}
-                </td>
-            </tr>
-
-            <tr>
-                <td colspan="2"><strong>{lang_permissions}:</strong></td>
-            </tr>
-
-            <tr>
-                <td colspan="2">{lang_perm_key}</td>
-            </tr>
-
-            <tr>
-                <td colspan="2">{permissions_editor}</td>
-            </tr>
-
-            <tr>
-                <td colspan="2">{lang_permissions_msg}</td>
-            </tr>
-            <tr><td>&nbsp;</td></tr>
-            <tr>
-                <td colspan="2">
-                    <input type="submit" name="mode"  
value="{lang_save}"{xhtml}>
-                    <input type="submit" name="mode"  
value="{lang_cancel}"{xhtml}>
-                    <input type="submit" name="mode" value="{lang_delete}"  
onclick="return confirm('{lang_confirm}');" {delete_disabled}{xhtml}>
-                    <input type="hidden" name="type"  
value="{val_type}"{xhtml}>
-                    <input type="hidden" name="owner_id"  
value="{owner_id}"{xhtml}>
-                    <input type="hidden" name="old_mid"  
value="{val_old_mid}"{xhtml}>
-                    <input type="hidden" name="{gltoken_name}"  
value="{gltoken}"{xhtml}>
-                </td>
-            </tr>
-        </table>
-    </form>
+<form action="{site_admin_url}/plugins/custommenu/index.php" method="post"  
id="custommenueditor" class="compact">
+  <fieldset>
+    <legend>{lang_custommenueditor}</legend>
+    <dl>
+      <dt><label for="mmode">{lang_mode}</label></dt>
+      <dd>
+        <select name="mmode" id="mmode">
+          <option value="fixation"  
{val_mode_fixation}>{lang_mode_fixation}</option>
+          <option value="variable"  
{val_mode_variable}>{lang_mode_variable}</option>
+          <option value="php" {val_mode_php}>{lang_mode_php}</option>
+        </select>
+      </dd>
+      <dd class="description">{lang_mode_info}</dd>
+
+      <dt><label for="title_fixation">{lang_title_fixation}</label></dt>
+      <dd><input type="text" size="40" value="{val_title_fixation}"  
name="title_fixation" id="title_fixation" class="text"{xhtml}></dd>
+      <dd class="description">{lang_title_fixation_info}</dd>
+
+      <dt><label for="title_variable">{lang_title_variable}</label></dt>
+      <dd><input type="text" size="40" value="{val_title_variable}"  
name="title_variable" id="title_variable" class="text"{xhtml}></dd>
+      <dd class="description">{lang_title_variable_info}</dd>
+
+      <dt><label for="php_function">{lang_php_function}</label></dt>
+      <dd><input type="text" size="40" value="{val_php_function}"  
name="php_function" id="php_function" class="text"{xhtml}></dd>
+      <dd class="description">{lang_php_function_info}</dd>
+
+      <dt><label for="is_enabled">{lang_is_enabled}</label></dt>
+      <dd><input type="checkbox" {val_is_enabled} name="is_enabled"  
id="is_enabled"{xhtml}></dd>
+
+      <dt><label for="url">{lang_menuitemurl}</label></dt>
+      <dd><input type="text" size="40" value="{val_menuitemurl}"  
name="url" id="url" class="text"{xhtml}></dd>
+      <dd class="description">{lang_includehttp}</dd>
+
+      <dt><label for="mid">{lang_menuitemid}</label></dt>
+      <dd><input type="text" size="40" value="{val_mid}" name="mid"  
id="mid" class="text" {mid_readonly}{xhtml}></dd>
+      <dd class="description">{lang_nospaces}</dd>
+
+      <dt><label for="pmid">{lang_parentitemid}</label></dt>
+      <dd>{selpmid}</dd>
+
+      <dt><label for="class_name">{lang_class_name}</label></dt>
+      <dd><input type="text" size="40" value="{val_class_name}"  
name="class_name" id="class_name" class="text"{xhtml}></dd>
+      <dd class="description">{lang_class_name_info}</dd>
+
+      <dt><label for="tid">{lang_topic}</label></dt>
+      <dd>
+        <select name="tid" id="tid">
+          <option value="all" {all_selected}>{lang_all}</option>
+          <option value="homeonly"  
{homeonly_selected}>{lang_homeonly}</option>
+          {topic_options}
+        </select>
+      </dd>
+
+      <dt><label for="menuorder">{lang_menuitemorder}</label></dt>
+      <dd><input type="text" size="4" value="{val_menuorder}"  
name="menuorder" id="menuorder" class="text"{xhtml}></dd>
+      <dd class="description">0-9999</dd>
+
+      <dt><label for="type">{lang_menuitemtype}</label></dt>
+      <dd>{lang_type}</dd>
+
+      <dt><label for="icon_url">{lang_icon_url}</label></dt>
+      <dd><input type="text" size="40" value="{val_icon_url}"  
name="icon_url" id="icon_url" class="text"{xhtml}></dd>
+      <dd class="description">{lang_icon_url_info}</dd>
+
+      <dt><label for="icon_url">{lang_pattern}</label></dt>
+      <dd><input type="text" size="40" value="{val_pattern}"  
name="pattern" id="pattern" class="text"{xhtml}>
+          &nbsp;{lang_is_preg}:<input type="checkbox" {val_is_preg}  
name="is_preg" id="is_preg"{xhtml}></dd>
+      <dd class="description">{lang_pattern_info}</dd>
+    </dl>
+  </fieldset>
+
+  <fieldset>
+    <legend>{lang_accessrights}</legend>
+    <dl>
+      <dt>{lang_owner}</dt>
+      <dd>{owner_name}</dd>
+
+      <dt><label for="group_id">{lang_group}</label></dt>
+      <dd>{group_dropdown}</dd>
+
+      <dt><label for="perm_owner">{lang_permissions}</label></dt>
+      <dd>{permissions_editor}</dd>
+      <dd class="description">{lang_perm_key}</dd>
+      <dd class="description">{lang_permissions_msg}</dd>
+    </dl>
+  </fieldset>
+
+  <ul class="submit">
+    <li><input type="submit" name="mode" value="{lang_save}"{xhtml}></li>
+    <li><input type="submit" name="mode" value="{lang_cancel}"{xhtml}></li>
+    <li><input type="submit" name="mode" value="{lang_delete}"  
onclick="return confirm('{lang_confirm}');" {delete_disabled}{xhtml}></li>
+    <li>
+      <input type="hidden" name="type" value="{val_type}"{xhtml}>
+      <input type="hidden" name="owner_id" value="{owner_id}"{xhtml}>
+      <input type="hidden" name="old_mid" value="{val_old_mid}"{xhtml}>
+      <input type="hidden" name="{gltoken_name}" value="{gltoken}"{xhtml}>
+    </li>
+  </ul>
+</form>

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/custommenu/menueditor.thtml
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/custommenu/menueditor.thtml	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/custommenu/menueditor.thtml	 
Sun Jan  4 05:06:49 2009
@@ -2,7 +2,7 @@
      <form action="{site_admin_url}/plugins/custommenu/index.php"  
method="post">
          <table cellspacing="0" cellpadding="3" width="100%">
              <tr>
-                <td width="180" class="alignright"  
style="vertical-align:top">{lang_mode}:</td>
+                <td class="alignright" style="width:180px;  
vertical-align:top">{lang_mode}:</td>
                  <td>
                      <select name="mmode">
                          <option value="fixation"  
{val_mode_fixation}>{lang_mode_fixation}</option>

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/style.css
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/style.css	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/bonus/layout/professional/style.css	 
Sun Jan  4 05:06:49 2009
@@ -1097,6 +1097,7 @@
  .header-navigation-container li:hover
  {
      position : relative;
+    z-index  : 100;
  }

  /* Make the hovered list color persist */
@@ -1120,7 +1121,7 @@
      top        : -11px;
      left       : 80px;
      padding    : 10px 30px 30px 30px;
-    background : transparent url(transparent.gif);
+    background : transparent url(custommenu/images/transparent.gif);
      width      : 120px;
  }

@@ -1181,7 +1182,7 @@
      top        : -11px;
      left       : 80px;
      padding    : 10px 30px 30px 30px;
-    background : transparent url(transparent.gif);
+    background : transparent url(custommenu/images/transparent.gif);
  }

  /* keep the third level+ hidden when you hover on first level link */

Modified: trunk/geeklog-1-jp-extended/plugins/custommenu/config.php
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/config.php	(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/config.php	Sun Jan  4  
05:06:49 2009
@@ -69,7 +69,7 @@
  /**
  * Plugin Version
  */
-$_CMED_CONF['version'] = '0.4.0';
+$_CMED_CONF['version'] = '0.4.1';

  /**
  * Add to $_TABLES array the tables custommenu plugin uses

Modified: trunk/geeklog-1-jp-extended/plugins/custommenu/functions.inc
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/functions.inc	(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/functions.inc	Sun Jan  4  
05:06:49 2009
@@ -212,11 +212,26 @@

      if (version_compare($pi_version, '0.4.0') < 0) {
          $sql = "ALTER TABLE {$_TABLES['menuitems']} "
-             . "ADD COLUMN pmid varchar(40) NOT NULL default ''"
+             . "ADD COLUMN pmid varchar(40) NOT NULL default '',"
               . "ADD COLUMN class_name varchar(48) default NULL";
          DB_query($sql);
      }

+    if (version_compare($pi_version, '0.4.1') < 0) {
+        require_once  
$_CONF['path'] . 'plugins/custommenu/install_defaults.php';
+        require_once $_CONF['path_system'] . 'classes/config.class.php';
+        $c = config::get_instance();
+        $n = DB_count($_TABLES['conf_values'], "name", 'menu_render');
+        if ($n == 0) {
+            $c->add('menu_render',  
$_CMED_DEFAULT['menu_render'], 'select', 0, 0, 10, 20, true, 'custommenu');
+        }
+        $n = DB_count($_TABLES['conf_values'], "name", 'prefix_id');
+        if ($n == 0) {
+            $c->add('prefix_id', $_CMED_DEFAULT['prefix_id'], 'text', 0,  
0, 0, 30, true, 'custommenu');
+        }
+        DB_query("UPDATE {$_TABLES['conf_values']} SET sort_order = 40  
WHERE name = 'default_permissions'");
+    }
+
      // Update the version numbers
      DB_query("UPDATE {$_TABLES['plugins']} "
             . "SET pi_version = '{$_CMED_CONF['version']}', pi_gl_version  
= '" . VERSION . "' "
@@ -464,6 +479,9 @@

  if (!function_exists('CUSTOM_menuEntries')) {

+    $pi_version = DB_getItem($_TABLES['plugins'], 'pi_version', "(pi_name  
= 'custommenu')");
+    $_CMED_CONF['pulldown_enabled'] =  
(version_compare($pi_version, '0.4.0') >= 0);
+
      function CUSTOM_menuEntries()
      {
          return CMED_menuEntries_recursive();
@@ -471,14 +489,16 @@

      function CMED_menuEntries_recursive($pmid='')
      {
-        global $_CONF, $_TABLES, $topic;
+        global $_CONF, $_TABLES, $topic, $_CMED_CONF;

          $thisUrl = COM_getCurrentURL();
          $lang = COM_getLanguageId();
          $myentries = array();
          if (!empty($_TABLES['menuitems'])) {
              $sql = "SELECT * FROM {$_TABLES['menuitems']} WHERE is_enabled  
= 1";
-            $sql .= " AND pmid = '$pmid'";
+            if ($_CMED_CONF['pulldown_enabled']) {
+               $sql .= " AND pmid = '$pmid'";
+            }
              if(!empty($topic)) {
                  $sql .= " AND (tid = '$topic' OR tid = 'all')";
              } else {
@@ -505,8 +525,10 @@
                                           
$A['perm_members'],$A['perm_anon']);
                  if ($access > 0) {

-                    $submenu_entries =  
CMED_menuEntries_recursive($A['mid']);
-
+                    $submenu_entries = array();
+                    if ($_CMED_CONF['pulldown_enabled']) {
+                        $submenu_entries =  
CMED_menuEntries_recursive($A['mid']);
+                    }
                      $url         = CMED_replaceUrl($A['url']);
                      $icon_url    = CMED_replaceUrl($A['icon_url']);
                      $pattern     = stripslashes($A['pattern']);
@@ -532,6 +554,15 @@
                                      $url      = $menuitems['url'];
                                      $label    = $menuitems['label'];
                                      $icon_url = $menuitems['icon_url'];
+                                    if (!empty($menuitems['id_name'])) {
+                                        $id_name = $menuitems['id_name'];
+                                    }
+                                    if (!empty($menuitems['class_name'])) {
+                                        $id_name =  
$menuitems['class_name'];
+                                    }
+                                    if  
(is_array($menuitems['submenu_entries'])) {
+                                        $submenu_entries =  
$menuitems['submenu_entries'];
+                                    }
                                  }
                              }
                              break;
@@ -634,9 +665,12 @@
      $label = $LANG01[71];

      $menuitems = array(
-        'url'      => $url,
-        'label'    => $label,
-        'icon_url' => '',
+        'url'        => $url,
+        'label'      => $label,
+        'icon_url'   => '',
+        'id_name'    => '',
+        'class_name' => '',
+        'submenu_entries' => array(),
      );
      return $menuitems;
  }
@@ -654,9 +688,12 @@
      }

      $menuitems = array(
-        'url'      => $url,
-        'label'    => $label,
-        'icon_url' => '',
+        'url'        => $url,
+        'label'      => $label,
+        'icon_url'   => '',
+        'id_name'    => '',
+        'class_name' => '',
+        'submenu_entries' => array(),
      );
      return $menuitems;
  }

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/install_defaults.php
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/install_defaults.php	 
(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/install_defaults.php	Sun  
Jan  4 05:06:49 2009
@@ -73,15 +73,16 @@
  $_CMED_DEFAULT['default_permissions'] = array (3, 2, 2, 2);

  /**
- *
- *
- *
- *
- *
+ * Menu Render
+ * 'standard' -> Geeklog system standard
+ * 'pulldown' -> Supports a pulldown menu
   */
  $_CMED_DEFAULT['menu_render'] = 'standard';
-$_CMED_DEFAULT['prefix_id'] = 'cmitem-';

+/**
+ * Prefix to add to ID
+ */
+$_CMED_DEFAULT['prefix_id'] = 'cmitem-';

  /**
  * Initialize CustomMenu Editor plugin configuration

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/english.php
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/language/english.php	 
(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/language/english.php	Sun  
Jan  4 05:06:49 2009
@@ -69,6 +69,9 @@
      'id'                  => 'ID',
      'classname'           => 'Class',
      'instructions'        => 'To modify or delete a data, click on that  
data\'s edit icon below.  To create a new data, click on "Create New"  
above.',
+
+    'warning_updated'     => 'CustomMenu Editor Plugin is updated.',
+    'instructions_update' => 'Please update \'custommenu\' in Plugin  
Management.',
  );

  $LANG_CMED_EDITOR = array(
@@ -128,6 +131,8 @@
      'validate_message_3'  => 'In the PHP Mode, you cannot omit input of  
the PHP Function Name.',
      'validate_message_4'  => 'You cannot omit input of the Menuitem ID.',
      'validate_message_5'  => 'There is already the same Menuitem ID.',
+    'validate_message_6'  => 'URL matching character string is not right.',
+    'validate_message_7'  => 'In the Fixed Mode and the Variable Mode, you  
cannot omit the input of the URL.',
      'pattern'             => 'URL matching character string',
      'pattern_info'        => 'When the URL of a page displaying matched it  
with this character string, "selected" is added to the information of  
menuitem handed to Geeklog system.<br' . XHTML . '>It is enabled to reverse  
the style of the menuitem when I utilize this.',
      'is_preg'             => 'Regular Expression',

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/english_utf-8.php
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/english_utf-8.php	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/english_utf-8.php	 
Sun Jan  4 05:06:49 2009
@@ -69,6 +69,9 @@
      'id'                  => 'ID',
      'classname'           => 'Class',
      'instructions'        => 'To modify or delete a data, click on that  
data\'s edit icon below.  To create a new data, click on "Create New"  
above.',
+
+    'warning_updated'     => 'CustomMenu Editor Plugin is updated.',
+    'instructions_update' => 'Please update \'custommenu\' in Plugin  
Management.',
  );

  $LANG_CMED_EDITOR = array(
@@ -129,6 +132,7 @@
      'validate_message_4'  => 'You cannot omit input of the Menuitem ID.',
      'validate_message_5'  => 'There is already the same Menuitem ID.',
      'validate_message_6'  => 'URL matching character string is not right.',
+    'validate_message_7'  => 'In the Fixed Mode and the Variable Mode, you  
cannot omit the input of the URL.',
      'pattern'             => 'URL matching character string',
      'pattern_info'        => 'When the URL of a page displaying matched it  
with this character string, "selected" is added to the information of  
menuitem handed to Geeklog system.<br' . XHTML . '>It is enabled to reverse  
the style of the menuitem when I utilize this.',
      'is_preg'             => 'Regular Expression',

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/japanese_utf-8.php
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/japanese_utf-8.php	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/language/japanese_utf-8.php	 
Sun Jan  4 05:06:49 2009
@@ -69,6 +69,9 @@
      'id'                  => 'ID',
      'classname'           => 'クラス名',
      'instructions'        => 'データを修正、削除する場合は各データの「編集 
」アイコンをクリックしてください。新規作成は「新規作成」をクリックしてくださ 
い。',
+
+    'warning_updated'     => 'CustomMenu Editor Plugin は更新されていま 
す。',
+    'instructions_update' => 'プラグイン管理で \'custommenu\' の更新を行っ 
て下さい。',
  );

  $LANG_CMED_EDITOR = array(
@@ -129,6 +132,7 @@
      'validate_message_4'  => 'メニューアイテムIDは省略できません。',
      'validate_message_5'  => 'すでに同じメニューアイテムIDが存在します。',
      'validate_message_6'  => 'URL照合文字列が正しくありません。',
+    'validate_message_7'  => '固定モードと可変モードで、URLは省略できませ 
ん。',
      'pattern'             => 'URL照合文字列',
      'pattern_info'        => '表示中のページのURLがこの文字列とマッチした場 
合は、システムに渡されるメニューアイテムの情報に"selected"が付加されます。 
<br' . XHTML . '>これを活用するとメニューアイテムのスタイルを反転させること 
などが可能になります。',
      'is_preg'             => '正規表現',

Modified:  
trunk/geeklog-1-jp-extended/plugins/custommenu/layout/professional/custommenu/menueditor.thtml
==============================================================================
---  
trunk/geeklog-1-jp-extended/plugins/custommenu/layout/professional/custommenu/menueditor.thtml	 
(original)
+++  
trunk/geeklog-1-jp-extended/plugins/custommenu/layout/professional/custommenu/menueditor.thtml	 
Sun Jan  4 05:06:49 2009
@@ -2,7 +2,7 @@
      <form action="{site_admin_url}/plugins/custommenu/index.php"  
method="post">
          <table cellspacing="0" cellpadding="3" width="100%">
              <tr>
-                <td width="180" class="alignright"  
style="vertical-align:top">{lang_mode}:</td>
+                <td class="alignright" style="width:180px;  
vertical-align:top">{lang_mode}:</td>
                  <td>
                      <select name="mmode">
                          <option value="fixation"  
{val_mode_fixation}>{lang_mode_fixation}</option>

Modified: trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp.html
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp.html	(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp.html	Sun Jan   
4 05:06:49 2009
@@ -116,9 +116,9 @@
  </head>
  <body>
    <h1><a name="_top">CustomMenu Editor プラグイン</a></h1>
-  <h2>バージョン: 0.4.0</h2>
+  <h2>バージョン: 0.4.1</h2>
    <h2>作成者: Yoshinori Tahara - dengen</h2>
-  <h2>公開日:&nbsp;2008.12.24</h2>
+  <h2>公開日:&nbsp;2009.1.4</h2>
    <h2>ライセンス:&nbsp;GPL</h2>
    <h2>概要:</h2>
    <ul>
@@ -142,8 +142,12 @@
  <ul>
    <li><a href="#_installation">1) インストール</a></li>
    <li><a href="#_uninstallation">2) アンインストール</a></li>
-  <li><a href="#_license">3) 著作権について</a></li>
-  <li><a href="#_history">4) 改訂履歴</a></li>
+  <li><a href="#_menuitemmode">3) メニューアイテムのモードについて 
</a></li>
+  <li><a href="#_multilanguage">4) 多言語切り替え機能について</a></li>
+  <li><a href="#_urlmatching">5) URLの照合機能について</a></li>
+  <li><a href="#_originalmenulender">6) 多階層メニューに対応した独自メニ 
ューレンダラについて</a></li>
+  <li><a href="#_license">7) 著作権について</a></li>
+  <li><a href="#_history">8) 改訂履歴</a></li>
  </ul>


@@ -254,17 +258,219 @@
    </ul>
    <p class="goto"><a href="#_top">Goto Top</a></p>

+  <h3><a name="_menuitemmode">3) メニューアイテムのモードについて 
</a></h3>
+  <p>本プラグインではメニューアイテムを3種類のモードで使い分けることが可能 
です。各モードの説明を次に示します。</p>
+  <div style="margin-left:3em">
+  <table>
+    <tr>
+      <th>モード</th>
+      <th>説明</th>
+      <th>難易度</th>
+      <th>柔軟性</th>
+    </tr>
+    <tr>
+      <td>固定</td>
+      <td>タイトル文字列を固定するモードです。<br />併せて「タイトル(固定 
)」を入力します。</td>
+      <td>簡単</td>
+      <td>低</td>
+    </tr>
+    <tr>
+      <td>可変</td>
+      <td>Geeklogの多言語切り替え機能に応じてタイトルを可変にするモードで 
す。<br />併せて「タイトル(可変)」を入力します。<br />
+「タイトル(可変)」には言語ファイル内で定義されている配列変数を指定しま 
す。<br />
+例えば、$MY_WORD['label'] をタイトルにする場合は MY_WORD['label'] を記入し 
ます。</td>
+      <td>やや難しい</td>
+      <td>中</td>
+    </tr>
+    <tr>
+      <td>PHP</td>
+      <td>多言語切り替え機能に応じてタイトルを可変にするモードです。<br  
/>併せて「PHP関数名」を入力します。<br />
+「PHP関数名」にはメニューアイテムの情報を返り値として返す関数の関数名を指定 
します。<br />
+この関数は関数名に接頭辞「phpmenuitem_」を付けて定義して下さい。<br />
+関数の定義は system/lib-custom.php で行うのが適当でしょう。<br />
+サンプルとして、plugins/custommenu/functions.php に 次の関数を定義していま 
す。<br />
+<table>
+    <tr>
+      <th>サンプル関数名</th>
+      <th>メニュータイトル</th>
+      <th>説明</th>
+    </tr>
+    <tr>
+      <td>phpmenuitem_contribute</td>
+      <td>記事投稿</td>
+      <td>話題に応じてURLを変化させる例です。</td>
+    </tr>
+    <tr>
+      <td>phpmenuitem_login</td>
+      <td>ログイン(ログアウト)</td>
+      <td>ユーザがログインしているかどうかに応じて、タイトルとURLを変化させ 
る例です。</td>
+    </tr>
+</table></td>
+      <td>難しい</td>
+      <td>高</td>
+    </tr>
+  </table>
+  </div>
+
+  <p class="goto"><a href="#_top">Goto Top</a></p>

-<h3><a name="_license">3) 著作権について</a></h3>
+  <h3><a name="_multilanguage">4) 多言語切り替え機能について</a></h3>
+  <p>バージョン0.2.3より多言語切り替え機能への対応を強化しました。</p>
+  <p>バージョン0.2.2以前のバージョンでは、多言語切り替えのために「可変モー 
ド」を用意していましたが、メニューアイテムの表示を切り替えることはできるもの 
の、リンク先まで切り替えることはできませんでした。(そこまでやるにはPHPモー 
ドを活用する必要がありました。)</p>
+  <p>バージョン0.2.3からはGeeklog1.5.1から追加された「ブロックの多言語切り 
替え機能」と同様の機能をサポートします。</p>
+  <p>「ブロックの多言語切り替え機能」の詳細については以下のWikiを参照してく 
ださい。</p>
+  <ul>
+  <li><a  
href="http://wiki.geeklog.jp/index.php/Multi-Language_Support#.E3.83.96.E3.83.AD.E3.83.83.E3.82.AF">http://wiki.geeklog.jp/index.php/Multi-Language_Support#.E3.83.96.E3.83.AD.E3.83.83.E3.82.AF</a></li>
+  <li><a  
href="http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support#Blocks">http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support#Blocks</a></li>
+  </ul>
+  <p>一例として、英語と日本語を切り替える場合の使用方法を示します。</p>
+  <ul>
+  <li>カスタムメニュー管理画面で言語数+1つ(つまり合計3つ)で1セットの 
メニューアイテムを作成します。</li>
+  <li>そして「メニューアイテムID」を、例えば次のように設定します。</li>
+  </ul>
+  <pre><code>about
+about_en
+about_ja</code></pre>
+  <ul>
+  <li>ここで添字"_en"を付加したものは英語モードで、添字"_ja"を付加したもの 
は日本語モードで用いるアイテムにします。</li>
+  <li>そして、それぞれの「有効」オプションを次のように設定します。</li>
+  </ul>
+  <pre><code>about        有効
+about_en     無効
+about_ja     無効</code></pre>
+  <ul>
+  <li>「タイトル(固定)」や「URL」はそれぞれの言語に応じて、表示させたいリ 
ンク先のURLを指定します。(「モード」が「固定」の場合)</li>
+  <li>これで完了です。言語モードを切り替えてみてください。</li>
+  <li>メニューアイテム"about"の情報が、システムの言語モードに応じて、メニ 
ューアイテム"about_en"やメニューアイテム"about_ja"の情報でオーバーライドされ 
る仕組みです。システムの多言語モードがオフの時には、メニューアイテ 
ム"about"の情報がそのまま使われます。</li>
+  </ul>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_urlmatching">5) URLの照合機能について</a></h3>
+  <p>バージョン0.3.0よりURLの照合機能を追加しました。</p>
+  <p>URLの照合機能とは、Geeklogサイトの表示中のページのURLをメニューアイテ 
ムごとに照合し、マッチしたメニューアイテムのスタイルを変化させるものです。 
</p>
+  <p>例えば、リンクのページを開いているときに、リンクのメニューアイテムを反 
転させて表示させることが可能となります。</p>
+  <p>ただし、別途、システムの一部(lib-common.php)とテーマの一部を変更する 
必要があります。</p>
+  <p>一例として、リンクのメニューアイテムを反転させる方法を示します。ここで 
は、professionalテーマを用います。</p>
+  <ul>
+  <li>カスタムメニューの管理画面で「リンク」を編集します。</li>
+  <li>項目「URL照合文字列」へ"/links/"を入力し、更新ボタンをクリックしま 
す。カスタムメニューエディタでの作業はこれだけです。<br />
+これは、「表示ページのURLに"/links/"が含まれていたときに、メニューアイテム 
「リンク」のスタイルを変化させる。」という意味の設定です。</li>
+  <li>なお、「正規表現」を有効にすると、PHPがサポートしている正規表現で照合 
することができます。照合の条件が複雑な場合に使用することを想定した機能であ 
り、使用する場面は少ないでしょう。照合にはpreg_match関数を使用しています。 
<br />
+正規表現の詳細については <a  
href="http://jp.php.net/manual/ja/regexp.reference.php">http://jp.php.net/manual/ja/regexp.reference.php</a>  
を参照してください。</li>
+  <li>lib-common.phpの変更は実質2行追加するだけの簡単なものであり、副作用も 
ありません。同梱の/bonus/lib-common.phpの623行目および681行目を参考にしてく 
ださい。Geeklog1.5.1用ですので該当バージョンをお使いの方はそのまま使用されて 
もよいでしょう。</li>
+  <li>テーマの変更は、menuitem.thtml、menuitem_last.thtml、style.css の3つ 
のファイルを対象とします。<br />
+/bonus/layout/professonal 内のファイルを参照してください。<br />
+&lt;li&gt;タグに class="{menuitem_selected}" が追加されていることに注目して 
ください。</li>
+  <li>style.cssは1031行目から1033行目の3行を加えるだけです。(サンプルなので 
単純に背景色を変えただけ)</li>
+  <li>これで完了です。メニューアイテム「リンク」をクリックして効果を確認し 
てみてください。<br />
+テーマをさらに変更してハイセンスなメインメニューを構築してください。</li>
+  </ul>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_originalmenulender">6) 多階層メニューに対応した独自メニ 
ューレンダラについて</a></h3>
+  <p>バージョン0.4.0より多階層メニューや画像を使ったメニューに対応した独自 
メニューレンダラを搭載しました。</p>
+  <p>比較的大規模なサイトに多くみられるプルダウンメニューなどを実装可能な 
HTMLを出力できるようになりました。</p>
+  <p>Geeklog標準のメニューレンダラが出力するヘッダーメニュー部のHTMLは次の 
ようなものです。</p>
+  <pre><code>&lt;div class="header-navigation-container"&gt;
+  &lt;ul&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index2.php"&gt;text2&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+        :
+        :
+        :
+    &lt;li class="menuitem last"&gt;&lt;a  
href="indexx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;</code></pre>
+  <p>これに対して、今回搭載した独自メニューレンダラでは、次のような入れ子構 
造のHTMLを出力することができます。</p>
+  <pre><code>&lt;div class="header-navigation-container"&gt;
+  &lt;ul&gt;
+    &lt;li id="menu_id1" class="menuitem"&gt;&lt;a  
href="index1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+    &lt;li id="menu_id2" class="menuitem"&gt;&lt;a  
href="index2.php"&gt;text2&lt;/a&gt;
+    &lt;ul&gt;
+      &lt;li id="submenu_id1" class="menuitem"&gt;&lt;a  
href="index_s1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+      &lt;li id="submenu_id2" class="menuitem"&gt;&lt;a  
href="index_s2.php"&gt;text2&lt;/a&gt;&lt;/li&gt;
+      &lt;li id="submenu_id3" class="menuitem"&gt;&lt;a  
href="index_s3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+          :
+          :
+          :
+      &lt;li id="submenu_idx" class="menuitem"&gt;&lt;a  
href="index_sx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+    &lt;/li&gt;
+    &lt;li id="menu_id3" class="menuitem"&gt;&lt;a  
href="index3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+        :
+        :
+        :
+    &lt;li id="menu_idx" class="menuitem last"&gt;&lt;a  
href="indexx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;</code></pre>
+  <p>また、メニューアイテムごとに次のテンプレート変数をサポートします。</p>
+  <div style="margin-left:3em">
+  <table>
+    <tr>
+      <th>テンプレート変数名</th>
+      <th>説明</th>
+    </tr>
+    <tr>
+      <td>menuitem_url</td>
+      <td>メニューアイテムのリンク先URL</td>
+    </tr>
+    <tr>
+      <td>menuitem_text</td>
+      <td>メニューアイテムのタイトル</td>
+    </tr>
+    <tr>
+      <td>menuitem_id</td>
+      <td>メニューアイテムのID</td>
+    </tr>
+    <tr>
+      <td>menuitem_class</td>
+      <td>メニューアイテムのクラス名  (例:'last')</td>
+    </tr>
+    <tr>
+      <td>class_property</td>
+      <td>メニューアイテムのクラスプロパティ  (例:'class="last"')</td>
+    </tr>
+    <tr>
+      <td>menuitem_icon_url</td>
+      <td>メニューアイテムのアイコンとして用いる画像のURL</td>
+    </tr>
+  </table>
+  </div>
+  <p>多階層メニューを試すには、次の操作を行って下さい。</p>
+  <ul>
+    <li>/bonus/lib-common.phpの657行〜666行のように、lib-common.phpを修正す 
る必要があります。</li>
+    <li>コンフィギュレーション -> カスタムメニュー -> メニューレンダラ を「 
階層メニュー対応」に設定します。</li>
+    <li>/bonus/layout/テーマ名 のファイル群を、テーマディレクトリにコピーし 
ます。(professional と ProfessionalCSS のみ対応)<br />
+この操作で、各テーマの menuitem.thtml, menuitem_last.thtml, style.css,  
custom.css を上書きしますので、事前のバックアップをお忘れなく。</li>
+    <li>「メニューアイテムの編集」で「親アイテムID」を使って階層を設定しま 
す。</li>
+    <li>階層メニューの起点になるメニューアイテムのクラス名に 'drop'  
や 'fly' を設定してみて下さい。(アローアイコンが出現します)</li>
+    <li>子階層メニューの最初のアイテム、孫階層メニューの最初のアイテム、親 
階層メニューの最後のアイテムのクラス名に 'enclose' を設定して下さい。</li>
+  </ul>
+  <p>画像を使ったメニューを試すには、テンプレート変数 menuitem_icon_url を 
使って、/layout/テーマ名/custommenu 内の menuitem.thtml,  
menuitem_drop.thtml を修正します。加えて、CSSを使ってレイアウトを調整してく 
ださい。</p>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_license">7) 著作権について</a></h3>
    <p>本作品で、削除および矢印アイコンとして使用している delete.png,  
arrow-dn.png, arrow-up.pngは Joseph North さんの著作物です。<br />ライセンス 
は次のリンクをご覧ください。</p>
    <p>Sweetie Icon Set<br />----------------<br />Author:  Joseph North<br  
/>Email:   subli****@gmail*****<br />License: <a  
href="http://creativecommons.org/licenses/by-sa/2.0/jp/">Creative Commons  
Attribution-ShareAlike 2.0</a><br /> Year:    2005</p>
    <p class="goto"><a href="#_top">Goto Top</a></p>
-  <h3><a name="_history">4) 改訂履歴</a></h3>
+  <h3><a name="_history">8) 改訂履歴</a></h3>
    <table>
      <tr>
        <th>バージョン</th>
        <th>公開日</th>
        <th>説明</th>
+    </tr>
+    <tr>
+      <td class="center">0.4.1</td>
+      <td class="center">2009.1.4</td>
+      <td><span class="new">追加</span>&nbsp;PHPモードで、ID、クラス名、子 
メニューエントリの配列を設定できるようにしました。<br />
+          <span class="fix">修正</span>&nbsp;メニューアイテムの編集における 
バリデーションを強化しました。<br />
+          <span class="fix">修正</span>&nbsp;0.4.0以降へのバージョンアップ 
が正常に行えない問題に対応しました。<br />
+          <span class="fix">修正</span>&nbsp;メニューアイテムIDの変更に伴い 
親アイテムIDが更新されない問題に対応しました。<br />
+          <span class="fix">修正</span>&nbsp;テンプレートとCSSを一部修正し 
ました。<br />
+          <span class="fix">修正</span>&nbsp;説明書(readme_jp.thml,  
readme_jp_1.5.html)を充実させました。<br />
+      </td>
      </tr>
      <tr>
        <td class="center">0.4.0</td>

Modified: trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp_1.5.html
==============================================================================
--- trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp_1.5.html	 
(original)
+++ trunk/geeklog-1-jp-extended/plugins/custommenu/readme_jp_1.5.html	Sun  
Jan  4 05:06:49 2009
@@ -116,9 +116,9 @@
  </head>
  <body>
    <h1><a name="_top">CustomMenu Editor プラグイン</a></h1>
-  <h2>バージョン: 0.4.0</h2>
+  <h2>バージョン: 0.4.1</h2>
    <h2>作成者: Yoshinori Tahara - dengen</h2>
-  <h2>公開日:&nbsp;2008.12.24</h2>
+  <h2>公開日:&nbsp;2009.1.4</h2>
    <h2>ライセンス:&nbsp;GPL</h2>
    <h2>概要:</h2>
    <ul>
@@ -142,8 +142,12 @@
  <ul>
    <li><a href="#_installation">1) インストール</a></li>
    <li><a href="#_uninstallation">2) アンインストール</a></li>
-  <li><a href="#_license">3) 著作権について</a></li>
-  <li><a href="#_history">4) 改訂履歴</a></li>
+  <li><a href="#_menuitemmode">3) メニューアイテムのモードについて 
</a></li>
+  <li><a href="#_multilanguage">4) 多言語切り替え機能について</a></li>
+  <li><a href="#_urlmatching">5) URLの照合機能について</a></li>
+  <li><a href="#_originalmenulender">6) 多階層メニューに対応した独自メニ 
ューレンダラについて</a></li>
+  <li><a href="#_license">7) 著作権について</a></li>
+  <li><a href="#_history">8) 改訂履歴</a></li>
  </ul>


@@ -202,7 +206,7 @@

      // Sample link #2: Link to the Personal Calendar - only visible for
      // logged-in users
-    if (!empty ($_USER['uid']) && ($_USER['uid'] > 1)) {
+    if (!empty ($_USER['uid']) &amp;&amp; ($_USER['uid'] > 1)) {
          $myentries[] = array ('url'   => $_CONF['site_url']
                                           . '/calendar/index.php?mode=personal',
                                'label' => 'My Calendar');
@@ -260,16 +264,226 @@
    <p class="goto"><a href="#_top">Goto Top</a></p>


-<h3><a name="_license">3) 著作権について</a></h3>
+  <h3><a name="_menuitemmode">3) メニューアイテムのモードについて 
</a></h3>
+  <p>本プラグインではメニューアイテムを3種類のモードで使い分けることが可能 
です。各モードの説明を次に示します。</p>
+  <div style="margin-left:3em">
+  <table>
+    <tr>
+      <th>モード</th>
+      <th>説明</th>
+      <th>難易度</th>
+      <th>柔軟性</th>
+    </tr>
+    <tr>
+      <td>固定</td>
+      <td>タイトル文字列を固定するモードです。<br />併せて「タイトル(固定 
)」を入力します。</td>
+      <td>簡単</td>
+      <td>低</td>
+    </tr>
+    <tr>
+      <td>可変</td>
+      <td>Geeklogの多言語切り替え機能に応じてタイトルを可変にするモードで 
す。<br />併せて「タイトル(可変)」を入力します。<br />
+「タイトル(可変)」には言語ファイル内で定義されている配列変数を指定しま 
す。<br />
+例えば、$MY_WORD['label'] をタイトルにする場合は MY_WORD['label'] を記入し 
ます。</td>
+      <td>やや難しい</td>
+      <td>中</td>
+    </tr>
+    <tr>
+      <td>PHP</td>
+      <td>多言語切り替え機能に応じてタイトルを可変にするモードです。<br  
/>併せて「PHP関数名」を入力します。<br />
+「PHP関数名」にはメニューアイテムの情報を返り値として返す関数の関数名を指定 
します。<br />
+この関数は関数名に接頭辞「phpmenuitem_」を付けて定義して下さい。<br />
+関数の定義は system/lib-custom.php で行うのが適当でしょう。<br />
+サンプルとして、plugins/custommenu/functions.php に 次の関数を定義していま 
す。<br />
+<table>
+    <tr>
+      <th>サンプル関数名</th>
+      <th>メニュータイトル</th>
+      <th>説明</th>
+    </tr>
+    <tr>
+      <td>phpmenuitem_contribute</td>
+      <td>記事投稿</td>
+      <td>話題に応じてURLを変化させる例です。</td>
+    </tr>
+    <tr>
+      <td>phpmenuitem_login</td>
+      <td>ログイン(ログアウト)</td>
+      <td>ユーザがログインしているかどうかに応じて、タイトルとURLを変化させ 
る例です。</td>
+    </tr>
+</table></td>
+      <td>難しい</td>
+      <td>高</td>
+    </tr>
+  </table>
+  </div>
+
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+
+
+
+
+
+
+  <h3><a name="_multilanguage">4) 多言語切り替え機能について</a></h3>
+  <p>バージョン0.2.3より多言語切り替え機能への対応を強化しました。</p>
+  <p>バージョン0.2.2以前のバージョンでは、多言語切り替えのために「可変モー 
ド」を用意していましたが、メニューアイテムの表示を切り替えることはできるもの 
の、リンク先まで切り替えることはできませんでした。(そこまでやるにはPHPモー 
ドを活用する必要がありました。)</p>
+  <p>バージョン0.2.3からはGeeklog1.5.1から追加された「ブロックの多言語切り 
替え機能」と同様の機能をサポートします。</p>
+  <p>「ブロックの多言語切り替え機能」の詳細については以下のWikiを参照してく 
ださい。</p>
+  <ul>
+  <li><a  
href="http://wiki.geeklog.jp/index.php/Multi-Language_Support#.E3.83.96.E3.83.AD.E3.83.83.E3.82.AF">http://wiki.geeklog.jp/index.php/Multi-Language_Support#.E3.83.96.E3.83.AD.E3.83.83.E3.82.AF</a></li>
+  <li><a  
href="http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support#Blocks">http://wiki.geeklog.net/wiki/index.php/Multi-Language_Support#Blocks</a></li>
+  </ul>
+  <p>一例として、英語と日本語を切り替える場合の使用方法を示します。</p>
+  <ul>
+  <li>カスタムメニュー管理画面で言語数+1つ(つまり合計3つ)で1セットの 
メニューアイテムを作成します。</li>
+  <li>そして「メニューアイテムID」を、例えば次のように設定します。</li>
+  </ul>
+  <pre><code>about
+about_en
+about_ja</code></pre>
+  <ul>
+  <li>ここで添字"_en"を付加したものは英語モードで、添字"_ja"を付加したもの 
は日本語モードで用いるアイテムにします。</li>
+  <li>そして、それぞれの「有効」オプションを次のように設定します。</li>
+  </ul>
+  <pre><code>about        有効
+about_en     無効
+about_ja     無効</code></pre>
+  <ul>
+  <li>「タイトル(固定)」や「URL」はそれぞれの言語に応じて、表示させたいリ 
ンク先のURLを指定します。(「モード」が「固定」の場合)</li>
+  <li>これで完了です。言語モードを切り替えてみてください。</li>
+  <li>メニューアイテム"about"の情報が、システムの言語モードに応じて、メニ 
ューアイテム"about_en"やメニューアイテム"about_ja"の情報でオーバーライドされ 
る仕組みです。システムの多言語モードがオフの時には、メニューアイテ 
ム"about"の情報がそのまま使われます。</li>
+  </ul>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_urlmatching">5) URLの照合機能について</a></h3>
+  <p>バージョン0.3.0よりURLの照合機能を追加しました。</p>
+  <p>URLの照合機能とは、Geeklogサイトの表示中のページのURLをメニューアイテ 
ムごとに照合し、マッチしたメニューアイテムのスタイルを変化させるものです。 
</p>
+  <p>例えば、リンクのページを開いているときに、リンクのメニューアイテムを反 
転させて表示させることが可能となります。</p>
+  <p>ただし、別途、システムの一部(lib-common.php)とテーマの一部を変更する 
必要があります。</p>
+  <p>一例として、リンクのメニューアイテムを反転させる方法を示します。ここで 
は、professionalテーマを用います。</p>
+  <ul>
+  <li>カスタムメニューの管理画面で「リンク」を編集します。</li>
+  <li>項目「URL照合文字列」へ"/links/"を入力し、更新ボタンをクリックしま 
す。カスタムメニューエディタでの作業はこれだけです。<br />
+これは、「表示ページのURLに"/links/"が含まれていたときに、メニューアイテム 
「リンク」のスタイルを変化させる。」という意味の設定です。</li>
+  <li>なお、「正規表現」を有効にすると、PHPがサポートしている正規表現で照合 
することができます。照合の条件が複雑な場合に使用することを想定した機能であ 
り、使用する場面は少ないでしょう。照合にはpreg_match関数を使用しています。 
<br />
+正規表現の詳細については <a  
href="http://jp.php.net/manual/ja/regexp.reference.php">http://jp.php.net/manual/ja/regexp.reference.php</a>  
を参照してください。</li>
+  <li>lib-common.phpの変更は実質2行追加するだけの簡単なものであり、副作用も 
ありません。同梱の/bonus/lib-common.phpの623行目および681行目を参考にしてく 
ださい。Geeklog1.5.1用ですので該当バージョンをお使いの方はそのまま使用されて 
もよいでしょう。</li>
+  <li>テーマの変更は、menuitem.thtml、menuitem_last.thtml、style.css の3つ 
のファイルを対象とします。<br />
+/bonus/layout/professonal 内のファイルを参照してください。<br />
+&lt;li&gt;タグに class="{menuitem_selected}" が追加されていることに注目して 
ください。</li>
+  <li>style.cssは1031行目から1033行目の3行を加えるだけです。(サンプルなので 
単純に背景色を変えただけ)</li>
+  <li>これで完了です。メニューアイテム「リンク」をクリックして効果を確認し 
てみてください。<br />
+テーマをさらに変更してハイセンスなメインメニューを構築してください。</li>
+  </ul>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_originalmenulender">6) 多階層メニューに対応した独自メニ 
ューレンダラについて</a></h3>
+  <p>バージョン0.4.0より多階層メニューや画像を使ったメニューに対応した独自 
メニューレンダラを搭載しました。</p>
+  <p>比較的大規模なサイトに多くみられるプルダウンメニューなどを実装可能な 
HTMLを出力できるようになりました。</p>
+  <p>Geeklog標準のメニューレンダラが出力するヘッダーメニュー部のHTMLは次の 
ようなものです。</p>
+  <pre><code>&lt;div class="header-navigation-container"&gt;
+  &lt;ul&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index2.php"&gt;text2&lt;/a&gt;&lt;/li&gt;
+    &lt;li class="menuitem"&gt;&lt;a  
href="index3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+        :
+        :
+        :
+    &lt;li class="menuitem last"&gt;&lt;a  
href="indexx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;</code></pre>
+  <p>これに対して、今回搭載した独自メニューレンダラでは、次のような入れ子構 
造のHTMLを出力することができます。</p>
+  <pre><code>&lt;div class="header-navigation-container"&gt;
+  &lt;ul&gt;
+    &lt;li id="menu_id1" class="menuitem"&gt;&lt;a  
href="index1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+    &lt;li id="menu_id2" class="menuitem"&gt;&lt;a  
href="index2.php"&gt;text2&lt;/a&gt;
+    &lt;ul&gt;
+      &lt;li id="submenu_id1" class="menuitem"&gt;&lt;a  
href="index_s1.php"&gt;text1&lt;/a&gt;&lt;/li&gt;
+      &lt;li id="submenu_id2" class="menuitem"&gt;&lt;a  
href="index_s2.php"&gt;text2&lt;/a&gt;&lt;/li&gt;
+      &lt;li id="submenu_id3" class="menuitem"&gt;&lt;a  
href="index_s3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+          :
+          :
+          :
+      &lt;li id="submenu_idx" class="menuitem"&gt;&lt;a  
href="index_sx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+    &lt;/ul&gt;
+    &lt;/li&gt;
+    &lt;li id="menu_id3" class="menuitem"&gt;&lt;a  
href="index3.php"&gt;text3&lt;/a&gt;&lt;/li&gt;
+        :
+        :
+        :
+    &lt;li id="menu_idx" class="menuitem last"&gt;&lt;a  
href="indexx.php"&gt;textx&lt;/a&gt;&lt;/li&gt;
+  &lt;/ul&gt;
+&lt;/div&gt;</code></pre>
+  <p>また、メニューアイテムごとに次のテンプレート変数をサポートします。</p>
+  <div style="margin-left:3em">
+  <table>
+    <tr>
+      <th>テンプレート変数名</th>
+      <th>説明</th>
+    </tr>
+    <tr>
+      <td>menuitem_url</td>
+      <td>メニューアイテムのリンク先URL</td>
+    </tr>
+    <tr>
+      <td>menuitem_text</td>
+      <td>メニューアイテムのタイトル</td>
+    </tr>
+    <tr>
+      <td>menuitem_id</td>
+      <td>メニューアイテムのID</td>
+    </tr>
+    <tr>
+      <td>menuitem_class</td>
+      <td>メニューアイテムのクラス名  (例:'last')</td>
+    </tr>
+    <tr>
+      <td>class_property</td>
+      <td>メニューアイテムのクラスプロパティ  (例:'class="last"')</td>
+    </tr>
+    <tr>
+      <td>menuitem_icon_url</td>
+      <td>メニューアイテムのアイコンとして用いる画像のURL</td>
+    </tr>
+  </table>
+  </div>
+  <p>多階層メニューを試すには、次の操作を行って下さい。</p>
+  <ul>
+    <li>/bonus/lib-common.phpの657行〜666行のように、lib-common.phpを修正す 
る必要があります。</li>
+    <li>コンフィギュレーション -> カスタムメニュー -> メニューレンダラ を「 
階層メニュー対応」に設定します。</li>
+    <li>/bonus/layout/テーマ名 のファイル群を、テーマディレクトリにコピーし 
ます。(professional と ProfessionalCSS のみ対応)<br />
+この操作で、各テーマの menuitem.thtml, menuitem_last.thtml, style.css,  
custom.css を上書きしますので、事前のバックアップをお忘れなく。</li>
+    <li>「メニューアイテムの編集」で「親アイテムID」を使って階層を設定しま 
す。</li>
+    <li>階層メニューの起点になるメニューアイテムのクラス名に 'drop'  
や 'fly' を設定してみて下さい。(アローアイコンが出現します)</li>
+    <li>子階層メニューの最初のアイテム、孫階層メニューの最初のアイテム、親 
階層メニューの最後のアイテムのクラス名に 'enclose' を設定して下さい。</li>
+  </ul>
+  <p>画像を使ったメニューを試すには、テンプレート変数 menuitem_icon_url を 
使って、/layout/テーマ名/custommenu 内の menuitem.thtml,  
menuitem_drop.thtml を修正します。加えて、CSSを使ってレイアウトを調整してく 
ださい。</p>
+  <p class="goto"><a href="#_top">Goto Top</a></p>
+
+  <h3><a name="_license">7) 著作権について</a></h3>
    <p>本作品で、削除および矢印アイコンとして使用している delete.png,  
arrow-dn.png, arrow-up.pngは Joseph North さんの著作物です。<br />ライセンス 
は次のリンクをご覧ください。</p>
    <p>Sweetie Icon Set<br />----------------<br />Author:  Joseph North<br  
/>Email:   subli****@gmail*****<br />License: <a  
href="http://creativecommons.org/licenses/by-sa/2.0/jp/">Creative Commons  
Attribution-ShareAlike 2.0</a><br /> Year:    2005</p>
    <p class="goto"><a href="#_top">Goto Top</a></p>
-  <h3><a name="_history">4) 改訂履歴</a></h3>
+
+  <h3><a name="_history">8) 改訂履歴</a></h3>
    <table>
      <tr>
        <th>バージョン</th>
        <th>公開日</th>
        <th>説明</th>
+    </tr>
+    <tr>
+      <td class="center">0.4.1</td>
+      <td class="center">2009.1.4</td>
+      <td><span class="new">追加</span>&nbsp;PHPモードで、ID、クラス名、子 
メニューエントリの配列を設定できるようにしました。<br />
+          <span class="fix">修正</span>&nbsp;メニューアイテムの編集における 
バリデーションを強化しました。<br />
+          <span class="fix">修正</span>&nbsp;0.4.0以降へのバージョンアップ 
が正常に行えない問題に対応しました。<br />
+          <span class="fix">修正</span>&nbsp;メニューアイテムIDの変更に伴い 
親アイテムIDが更新されない問題に対応しました。<br />
+          <span class="fix">修正</span>&nbsp;テンプレートとCSSを一部修正し 
ました。<br />
+          <span class="fix">修正</span>&nbsp;説明書(readme_jp.thml,  
readme_jp_1.5.html)を充実させました。<br />
+      </td>
      </tr>
      <tr>
        <td class="center">0.4.0</td>

Modified:  
trunk/geeklog-1-jp-extended/public_html/admin/plugins/custommenu/index.php
==============================================================================
---  
trunk/geeklog-1-jp-extended/public_html/admin/plugins/custommenu/index.php	 
(original)
+++  
trunk/geeklog-1-jp-extended/public_html/admin/plugins/custommenu/index.php	 
Sun Jan  4 05:06:49 2009
@@ -57,6 +57,17 @@
      exit;
  }

+$pi_version = DB_getItem($_TABLES['plugins'], 'pi_version', "(pi_name  
= 'custommenu')");
+if (version_compare($pi_version, $_CMED_CONF['version']) < 0) {
+    $display  = COM_siteHeader();
+    $display .= COM_startBlock($LANG_CMED['warning_updated']);
+    $display .= $LANG_CMED['instructions_update'];
+    $display .= COM_endBlock();
+    $display .= COM_siteFooter(true);
+    echo $display;
+    exit;
+}
+
  /**
  * Sanitize a URL
  *
@@ -118,8 +129,9 @@
  {
      global $_CONF, $MI;

-    $url      = $_POST['url'];
-    $icon_url = $_POST['icon_url'];
+    $url       = trim($_POST['url']);
+    $icon_url  = trim($_POST['icon_url']);
+    $menuorder = trim($_POST['menuorder']);
      $MI = array(
          'mid'          => COM_applyFilter($_POST['mid']),
          'pmid'         => COM_applyFilter($_POST['pmid']),
@@ -131,15 +143,13 @@
          'php_function' => $_POST['php_function'],
  //        'url'          => isset ($url)      ?  
CMED_sanitizeUrl($url,      array('http', 'https')) : '',
  //        'icon_url'     => isset ($icon_url) ?  
CMED_sanitizeUrl($icon_url, array('http', 'https')) : '',
-        'url'          => isset ($url)      ? strip_tags($url)      : '',
-        'icon_url'     => isset ($icon_url) ? strip_tags($icon_url) : '',
+        'url'          => empty($url)      ? '' : strip_tags($url),
+        'icon_url'     => empty($icon_url) ? '' : strip_tags($icon_url),
          'tid'          => COM_applyFilter ($_POST['tid']),
-        'menuorder'    => $_POST['menuorder'],
-
+        'menuorder'    => empty($menuorder) ? 0 :  
COM_applyFilter($menuorder, true),
          'pattern'      => $_POST['pattern'],
          'is_preg'      => ($_POST['is_preg'] == 'on') ? 1 : 0,
          'class_name'   => COM_applyFilter($_POST['class_name']),
-
          'owner_id'     => COM_applyFilter($_POST['owner_id'], true),
          'group_id'     => COM_applyFilter($_POST['group_id'], true),
          'perm_owner'   => $_POST['perm_owner'],
@@ -190,6 +200,10 @@
          }
      }

+    if (empty($MI['url']) && ($MI['mode'] != 'php')) {
+        $retval .= $LANG_CMED_EDITOR['validate_message_7'] . '<br' .  
XHTML . '>';
+    }
+
      return $retval;
  }

@@ -555,6 +569,12 @@
                                  . $MI['is_preg']      . ",'"  .  
$MI['pmid']       . "','" . $MI['class_name'] . "')";
                  DB_query($sql);

+                // With a change of mid, I change pmid.
+                $result = DB_query("SELECT mid FROM  
{$_TABLES['menuitems']} WHERE pmid ='{$MI['old_mid']}'");
+                while ($B = DB_fetchArray($result)) {
+                    DB_query("UPDATE {$_TABLES['menuitems']} SET pmid  
= '{$MI['mid']}' WHERE mid = '{$B['mid']}'");
+                }
+
              } else {
                  DB_save($_TABLES['menuitems'],
                      'mid, is_enabled, type, mode, label, label_var,  
php_function, url, '
@@ -730,6 +750,11 @@
      }

      DB_delete($_TABLES['menuitems'], 'mid', $mid);
+
+    $result = DB_query("SELECT mid FROM {$_TABLES['menuitems']} WHERE pmid  
='$mid'");
+    while ($B = DB_fetchArray($result)) {
+        DB_query("UPDATE {$_TABLES['menuitems']} SET pmid = '' WHERE mid  
= '{$B['mid']}'");
+    }

      return $retval;
  }

Modified:  
trunk/geeklog-1-jp-extended/public_html/custommenu/templates/menueditor.thtml
==============================================================================
---  
trunk/geeklog-1-jp-extended/public_html/custommenu/templates/menueditor.thtml	 
(original)
+++  
trunk/geeklog-1-jp-extended/public_html/custommenu/templates/menueditor.thtml	 
Sun Jan  4 05:06:49 2009
@@ -2,7 +2,7 @@
      <form action="{site_admin_url}/plugins/custommenu/index.php"  
method="post">
          <table cellspacing="0" cellpadding="3" width="100%">
              <tr>
-                <td width="180" class="alignright"  
style="vertical-align:top">{lang_mode}:</td>
+                <td class="alignright" style="width:180px;  
vertical-align:top">{lang_mode}:</td>
                  <td>
                      <select name="mmode">
                          <option value="fixation"  
{val_mode_fixation}>{lang_mode_fixation}</option>



Geeklogjp-changes メーリングリストの案内
Zurück zum Archiv-Index