<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
      <!ENTITY lt "&#38;#60;">
      <!ENTITY gt "&#62;">
      <!ENTITY amp "&#38;#38;">
      <!ENTITY apos "&#39;">
      <!ENTITY quot "&#34;">
      <!ENTITY nbsp "&#160;">
      <!ENTITY copy "&#169;">
]>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">ブログ</title>
    <subtitle type="text">XCL Labo-XCL の利用とカスタマイズに関する備忘録</subtitle>
    <updated>2026-05-17T07:18:01+09:00</updated>
    <id>https://xcl.masa-lab.net/modules/d3blog/index.php</id>
    <link rel="alternate" type="text/xhtml" hreflang="ja" href="https://xcl.masa-lab.net/" />
    <link rel="self" type="application/atom+xml" href="https://xcl.masa-lab.net/modules/d3blog/index.php?page=atom" />
    <rights>Copyright &copy; 2008-2018 by MASA Lab.</rights>
    <generator uri="https://xcl.masa-lab.net/">D3BLOG - XOOPS BLOG MODULE</generator>
    <entry>
        <title>なぜ表示フォントが違う？</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=163" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=163</id>
        <published>2011-03-10T23:50:00+09:00</published>
        <updated>2011-04-20T11:44:37+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">EUCからUTFへの移行テストをしてみて気がついた表示されるフォントが違うのだ。ゴシックで表示されていたのだが、明朝になっている。どうして？どうやら IE だけの問題のようだが...IE + ...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>EUCからUTFへの移行テストをしてみて気がついた<br /><br />表示されるフォントが違うのだ。<br />ゴシックで表示されていたのだが、明朝になっている。<br /><br />どうして？<br />どうやら IE だけの問題のようだが...<br />IE + UTF-8 って変なことが結構起こる...<br /><br />CSSに設定するしかないかなぁ....</div>]]>
       </content>
    </entry>
    <entry>
        <title>XCL2.2 RC１ が出た</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=157" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=157</id>
        <published>2011-03-05T23:20:00+09:00</published>
        <updated>2011-03-10T13:58:06+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">ついに RC まできた。http://sourceforge.net/apps/phpbb/xoopscube/viewtopic.php?f=5&t=246できればRC4 とかまで行かないで欲しいが...そろそろ既存の環境を移行する準備をしなければ。</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>ついに RC まできた。<br /><a href="http://sourceforge.net/apps/phpbb/xoopscube/viewtopic.php?f=5&t=246" rel="external">http://sourceforge.net/apps/phpbb/xoopscube/viewtopic.php?f=5&t=246</a><br /><br />できればRC4 とかまで行かないで欲しいが...<br /><br /><br />そろそろ既存の環境を移行する準備をしなければ。</div>]]>
       </content>
    </entry>
    <entry>
        <title>wizmobile [0.5X] は重いの？</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=133" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=133</id>
        <published>2010-04-14T00:20:00+09:00</published>
        <updated>2010-04-16T19:56:18+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">名前解決のせいですっかり手間取ってしまったがwizmobile 0.5x を試してみた。でも、0.5x は重いような気がする。0.4 までは 200ms 程度だったレスポンスが 5sec 程度になっている。何かまた、...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div><a href="./details.php?bid=132">名前解決のせい</a>ですっかり手間取ってしまったが<br />wizmobile 0.5x を試してみた。<br /><br />でも、0.5x は重いような気がする。<br /><br />0.4 までは 200ms 程度だったレスポンスが 5sec 程度になっている。<br />何かまた、サーバの問題があるのだろうか？<br />それとも機能が増えてこうなったの？</div>]]>
       </content>
    </entry>
    <entry>
        <title>inquiry [0.33] の Preload</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=115" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=115</id>
        <published>2008-12-07T23:40:00+09:00</published>
        <updated>2010-04-15T14:11:09+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">inquiry の preload が行うことPreBlockFilter でFrontController.PostFilter というデリゲートをセットする。postFilter 時に_FRONTCONTROLLER が定義されていなければFrontController.PostFilter を raise する。このデリ...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>inquiry の preload が行うこと<br /><br />PreBlockFilter で<br />FrontController.PostFilter というデリゲートをセットする。<br /><br />postFilter 時に<br />_FRONTCONTROLLER が定義されていなければ<br />FrontController.PostFilter を raise する。<br /><br />このデリゲート中では <br />モジュールの情報をロード ($module->loadInfo()) し、<br />_SESSION['INQUIRY'] を unset している？<br />mod_info['mcl_update'] == 'inquiry' なら smarty プラグインをインストールする？<br /><br />うーーーん。<br />まず<br /><pre class="blogCode"><code>
$module=new XoopsModule();
$module-&gt;loadInfo(...)
</code></pre><br />が気になる。<br /><br />これをすると、キャッシュされた modinfo を使わずに xoops_version.php は確実に再読み込みされる。<br /><br />確かに、他への影響を減らすにはよいのだろうが...</div>]]>
       </content>
    </entry>
    <entry>
        <title>XCL [2.1.5] レンダリングのなぞ</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=107" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=107</id>
        <published>2008-09-21T00:30:00+09:00</published>
        <updated>2008-09-19T19:50:16+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">■_commonPrepareRender_commonPrepareRender()はブロックやメイン、テーマのレンダーごとに毎回呼ばれるが、mXoopsTpl に変数をセットしているので、一度セットすれば十分なのではないのだろうか？...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>■_commonPrepareRender<br />_commonPrepareRender()<br />はブロックやメイン、テーマのレンダーごとに毎回呼ばれるが、mXoopsTpl に変数をセットしているので、一度セットすれば十分なのではないのだろうか？<br />内容的にも、不変なもののように見えるが...<br />RenderTarget で上書きされた場合のことを考慮しているのだろうか？<br />そうかも...<br />とはいえ、ちょっと効率が気になる...<br /><br />■RenderTargetにアサインされた変数<br />ブロックの場合、RenderTargetにアサインされた変数は、XoopsTpl にコピーされ、レンダリング後 XoopsTpl から消去される。<br />しかし、メインブロックの場合は、レンダリング後に消去されていないように思える...<br />なので、theme.html でその変数を使用することができる？(未確認)</div>]]>
       </content>
    </entry>
    <entry>
        <title>XCL ログインのなぞ （その２）</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=99" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=99</id>
        <published>2008-09-11T00:40:00+09:00</published>
        <updated>2008-09-11T14:40:59+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">その１でコードを変更してみたのだが、よくよく見るとちょっと問題がある。XoopUserHandler は criteria の条件をエスケープしてくれないので、このままでは脆弱性につながる恐れがある。修...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>その１でコードを変更してみたのだが、よくよく見るとちょっと問題がある。<br /><br />XoopUserHandler は criteria の条件をエスケープしてくれないので、このままでは脆弱性につながる恐れがある。<br />修正するとすれば↓のようにする必要がある。<br /><pre class="blogCode"><code>
$userHandler =&amp; xoops_gethandler(&#039;user&#039;);

$criteria =&amp; new CriteriaCompo();
$criteria-&gt;add(new Criteria(&#039;uname&#039;, addslashes(xoops_getrequest(&#039;uname&#039;))));
$criteria-&gt;add(new Criteria(&#039;pass&#039;, md5(xoops_getrequest(&#039;pass&#039;))));

$userArr =&amp; $userHandler-&gt;getObjects($criteria);
$user =&amp; $userArr[0];
(...中略...)

$xoopsUser = $user;
</code></pre><br /><br />なるほどね。<br />確かに XoopsObjectHandler は問題ですね...<br />本来 criteria に渡す際に addslashes などを考慮しなければいけないのはつらい訳で、これでは脆弱性が容易に埋め込まれてしまう...<br />しかも addslashes は SQL 特有の処理なので criteria の抽象性が失われてしまうし...<br /><br />Core の部分も XoopsObjectGenericHandler のようにしたいが、それでは影響が大きくなりすぎてしまうので変更できない。<br />ということで、最初のコードに落ち着いているということかな？<br /><br />どちらにしても、users に問い合わせをしたいときには <br />xoops_gethandler(&#039;user&#039;) ではなく xoops_getmodulehandler(&#039;users&#039;, &#039;user&#039;) を使え！<br />というのを覚えておこう &gt;&gt; 自分</div>]]>
       </content>
    </entry>
    <entry>
        <title>XCL ログインのなぞ （その１</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=96" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=96</id>
        <published>2008-09-10T23:10:00+09:00</published>
        <updated>2008-09-11T10:06:19+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">XCLのログインコードを見ていてちょっと気になったのは
$userHandler =&amp; xoops_getmodulehandler(&#039;users&#039;, &#039;user&#039;);

$criteria =&amp; new CriteriaCompo();
$criteria-&gt;add(new Criteria(&#039;uname&#039;, xo...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>XCLのログインコードを見ていてちょっと気になったのは<br /><br /><pre class="blogCode"><code>
$userHandler =&amp; xoops_getmodulehandler(&#039;users&#039;, &#039;user&#039;);

$criteria =&amp; new CriteriaCompo();
$criteria-&gt;add(new Criteria(&#039;uname&#039;, xoops_getrequest(&#039;uname&#039;)));
$criteria-&gt;add(new Criteria(&#039;pass&#039;, md5(xoops_getrequest(&#039;pass&#039;))));

$userArr =&amp; $userHandler-&gt;getObjects($criteria);
(...中略...)
$handler =&amp; xoops_gethandler(&#039;user&#039;);
$user =&amp; $handler-&gt;get($userArr[0]-&gt;get(&#039;uid&#039;));

$xoopsUser = $user;
</code></pre><br /><br />というくだり。<br />_<br />なぜ xoops_getmodulehandler(&#039;users&#039;, &#039;user&#039;) で取得したハンドラでログインチェックを行い、その後そのuid から xoops_gethandler(&#039;user&#039;) ハンドラを使って $xoopsUser を取得するのだろう？<br /><br />互換性の問題から $userArr[0] が使えないのはわかるが、それであれば最初からxoops_gethandler(&#039;user&#039;) ハンドラでログインチェックをすれば良いのでは？<br /><br />事実このように修正しても、一見動いているように見える...<br /><pre class="blogCode"><code>
$userHandler =&amp; xoops_gethandler(&#039;user&#039;);

$criteria =&amp; new CriteriaCompo();
$criteria-&gt;add(new Criteria(&#039;uname&#039;, xoops_getrequest(&#039;uname&#039;)));
$criteria-&gt;add(new Criteria(&#039;pass&#039;, md5(xoops_getrequest(&#039;pass&#039;))));

$userArr =&amp; $userHandler-&gt;getObjects($criteria);
$user =&amp; $userArr[0];
(...中略...)

$xoopsUser = $user;
</code></pre><br /><br />違いを探るためにそれぞれのハンドラの実装をチェック<br />・xoops_gethandler(&#039;user&#039;)<br />ファイル=kernel/user.php<br />クラス=XoopsUserHandler extends XoopsObjectHandler<br />・xoops_getmodulehandler(&#039;users&#039;, &#039;user&#039;)<br />ファイル=modules/user/class/users.php<br />クラス=UserUsersHandler extends XoolsObjectGenericHandler<br /><br />確かに基底クラスが異なっていたり、XoopsUserHandler は大きすぎる感じはあるが、互換性のためには XoopsUser (=XoopsUserHandler) が必要なことを考えると、そのまま使っても良いような気がするのだが....<br /><br />続く...<br /><span style="color: #ff0000;">(追記)</span><br />上記のコードには問題があるので続きを必ず読みましょう...</div>]]>
       </content>
    </entry>
    <entry>
        <title>altsys の言語定数キャッシュを消したら手動で更新を忘れないように...</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=69" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=69</id>
        <published>2008-08-09T23:40:00+09:00</published>
        <updated>2008-09-11T14:43:02+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">altsys の言語定数キャッシュ(XOOPS_TRUST_PATH/cache/*)を消してしまうと、ほかのキャッシュのようには自動で生成されない。これはパフォーマンスとの兼ね合いの仕様であろう。なので、変更し...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>altsys の言語定数キャッシュ(XOOPS_TRUST_PATH/cache/*)を消してしまうと、ほかのキャッシュのようには自動で生成されない。<br />これはパフォーマンスとの兼ね合いの仕様であろう。<br /><br />なので、変更した定数の画面を呼び出して、手動で更新するように。<br /><br />たまにキャッシュをクリアして、このわなに引っかかり驚く...<br />くれぐれも忘れないように >> 自分</div>]]>
       </content>
    </entry>
    <entry>
        <title>モジュールのバージョン表示が変わらない？</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=10" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=10</id>
        <published>2008-06-05T23:10:00+09:00</published>
        <updated>2008-09-03T22:22:23+09:00</updated>
        <category term="気になったこと" label="気になったこと" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">d3blog を 1.02 から 1.02.3a にアップデートしたのだがモジュール管理画面のバージョン表示は 1.02 のまま変わらなかった。アップデートに失敗したのか？しかしd3blogの一般設定画面に新しい...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>d3blog を 1.02 から 1.02.3a にアップデートしたのだが<br />モジュール管理画面のバージョン表示は 1.02 のまま変わらなかった。<br />アップデートに失敗したのか？<br />しかしd3blogの一般設定画面に新しい項目が増えているから、バージョンはあがっているようだ。<br />trust_dir にある modules/d3blog/xoops_version.php を見てみると<br /><pre class="blogCode"><code>
$modversion[&#039;version&#039;] = 1.023;
</code></pre><br /><br />ためしに xoops_version.php を編集して試してみる<br /><br /><pre class="blogCode"><code>
$modversion[&#039;version&#039;] = 1.025;
</code></pre><br />アップグレード必要のマークが表示された。<br />念のため情報画面を見てみると<br />1.02 &raquo; 1.02 <br />となっている??<br /><br /><pre class="blogCode"><code>
$modversion[&#039;version&#039;] = 1.033;
</code></pre><br />アップグレード必要のマークが表示された。<br />情報画面では<br />1.02 &raquo; 1.03<br />と表示された。<br /><br />結論(?)<br />バージョン情報は x.xx までしか表示されないということかな。<br /><br />仕様らしきものを見つけた...<br /><a href="http://xoopscube.org/modules/pukiwiki/index.php?cmd=read&page=XOOPSCubeLegacy%2FReference%2Fxoops_version&word=xoops_version" rel="external">http://xoopscube.org/modules/pukiwiki/index.php?cmd=read&page=XOOPSCubeLegacy%2FReference%2Fxoops_version&word=xoops_version</a><br /><br /><pre class="blogCode"><code>
$modversion[&#039;version&#039;] 
A version number of the module. This is must. This value is converted to integer and stored to DB.

$storedVersion = (int)($modversion[&#039;version&#039;] * 100);Therefore, you must write a version with &#039;x.xx&#039; format.

$modversion[&#039;version&#039;] = &#039;2.08&#039;;The following examples are not handled correctly.

[BAD EXSAMPLES]
$modversion[&#039;version&#039;] = &#039;1.0.2.1&#039;;
$modversion[&#039;version&#039;] = &#039;2.5 beta&#039;;
</code></pre><br /><br />とはいえ、cube の世界ではいろいろ議論されているようである...<br />とりあえず、自分で作るときは n.nn でわかるようにしたほうがいいかな。</div>]]>
       </content>
    </entry>
</feed>