<?xml version="1.0" encoding="utf-8" ?> 
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
  <channel rdf:about="http://www.o-ya.net/modules/d3blog/index.php">
    <title>趣味のブログ</title> 
    <link>http://www.o-ya.net/modules/d3blog/index.php</link> 
    <description>OhYeah!-日々発見!!</description> 
    <dc:language>ja</dc:language> 
    <dc:creator>OhYeah! created using XOOPS Cube</dc:creator> 
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=66" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=65" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=64" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=63" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=39" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=36" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=35" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=33" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=26" /> 
        <rdf:li rdf:resource="http://www.o-ya.net/modules/d3blog/details.php?bid=25" /> 
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=66">
    <title>Pydio エディタのマルチエンコーディング化</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=66</link> 
    <dc:date>2015-02-06T22:59:16+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>以前、このブログで「AjaxPlorer エディタのマルチエンコーディング化」のコードハックを紹介したが、今回はその Pydio 版。Pydio のエディタを UTF-8 だけでなく、EUC-JP, Shift_JIS, ISO-2022-JP に対...</description> 
    <content:encoded>以前、このブログで「&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=11&amp;amp;cid=8&quot; target=&quot;_blank&quot;&gt;AjaxPlorer エディタのマルチエンコーディング化&lt;/a&gt;」のコードハックを紹介したが、今回はその Pydio 版。Pydio のエディタを UTF-8 だけでなく、EUC-JP, Shift_JIS, ISO-2022-JP に対応させる。&lt;br /&gt;といっても、修正内容はほぼ同じで、修正箇所の探し方がちょっと変わったくらい。&lt;br /&gt;このハックにより、UTF-8 以外のエンコーディングでも日本語が化けずに表示されるようになる。エンコーディング変換機能はないので、元ファイルのエンコーディングで保存される。当然、Pydio のエディタでの新規作成は UTF-8 のみとなる。&lt;br /&gt;前回と異なるのは、coreserver の php 周りの仕様変更のせいか、file_put_contents での保存ができないので保存時のファイルロックをかけるのをやめたこと、エンコーディング判定の際に detect order を指定するようにしたことの２点のみだ。&lt;br /&gt;&lt;br /&gt;修正するファイルは、今回も plugins/access.fs/class.fsAccessDriver.php だけ。AjaxPlorer 4, Pydio 5/6、いずれも同じ方法で修正可能だ(AjaxPlorer 4 は文括弧やインデントの位置が若干異なるが)。&lt;br /&gt;&lt;br /&gt;1. マルチエンコーディング表示&lt;br /&gt;　function readFile の&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;        if ($headerType == &amp;quot;plain&amp;quot;) {
            header(&amp;quot;Content-type:text/plain&amp;quot;);
        } else if ($headerType == &amp;quot;image&amp;quot;) {&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;を下記のように修正する。&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;        if ($headerType == &amp;quot;plain&amp;quot;) {
            //header(&amp;quot;Content-type:text/plain&amp;quot;);
            // Added by OhYeah!
            $header = &amp;quot;Content-type:text/plain&amp;quot;;
            if (ConfService::getLanguage() == &amp;#039;ja&amp;#039; &amp;amp;&amp;amp; function_exists(&amp;#039;mb_detect_encoding&amp;#039;)) {
                if (!$data) {
                    $filePathOrData = file_get_contents($filePathOrData);
                    $data = true;
                }
                session_start();
                $_SESSION[&amp;#039;edenc&amp;#039;] = mb_detect_encoding($filePathOrData, &amp;#039;sjis-win,eucjp-win,JIS,UTF-8&amp;#039;);
                session_write_close();
                switch (strtolower($_SESSION[&amp;#039;edenc&amp;#039;])) {
                    case &amp;#039;sjis-win&amp;#039;:
                        $header .= &amp;#039;; charset=shift_jis&amp;#039;;
                        break;
                    case &amp;#039;eucjp-win&amp;#039;:
                        $header .= &amp;#039;; charset=euc-jp&amp;#039;;
                        break;
                    case &amp;#039;jis&amp;#039;:
                        $header .= &amp;#039;; charset=iso-2022-jp&amp;#039;;
                        break;
                    case &amp;#039;utf-8&amp;#039;:
                       $header .= &amp;#039;; charset=utf-8&amp;#039;;
                }
            }
            header($header);
            // End Addition
        } else if ($headerType == &amp;quot;image&amp;quot;) {&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. 元ファイルのエンコーディングで保存&lt;br /&gt;function switchAction の case &amp;quot;put_content&amp;quot; の&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;                }
                $fp=fopen($fileName,&amp;quot;w&amp;quot;);&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;を下記のように修正する。&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;                }
                // Added by OhYeah!
                if (isset($_SESSION[&amp;#039;edenc&amp;#039;])) {
                    $code = mb_convert_encoding($code, $_SESSION[&amp;#039;edenc&amp;#039;], mb_detect_encoding($code, &amp;#039;sjis-win,eucjp-win,JIS,UTF-8&amp;#039;));
                }
                // End Addition
                $fp=fopen($fileName,&amp;quot;w&amp;quot;);&lt;/code&gt;&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=65">
    <title>Pydio を WebDAV サーバにする</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=65</link> 
    <dc:date>2015-01-29T23:10:58+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>AjaxPlorer の頃から WebDAV サーバ機能はあったが、私には WebDAV クライアントから共有リポジトリの内容を見られるようにすることができなかった。Pydio では、簡単に WebDAV サーバとして機能...</description> 
    <content:encoded>AjaxPlorer の頃から WebDAV サーバ機能はあったが、私には WebDAV クライアントから共有リポジトリの内容を見られるようにすることができなかった。Pydio では、簡単に WebDAV サーバとして機能させられる。&lt;br /&gt;Pydio を WebDAV サーバとして使用するには、３か所の設定変更が必要だ。&lt;br /&gt;まずは、Pydio をインストールしたディレクトリにある .htaccess を環境に合わせて変更する。最低限必要な設定箇所は、ReriteBase の行。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;RewriteBase /&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;標準状態では、上の通りなので、サブドメイン等のドキュメントルートに Pydio をインストールした場合の設定になっている。ドキュメントルート直下にたとえば pydio というサブディレクトリを作成してインストールした場合は、&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;RewriteBase /pydio&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;と修正する。&lt;br /&gt;次に、現在の coreserver/XREA のように、PHP が Apache モジュールではなく、CGI や FastCGI として動作しているサーバでは、&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;#RewriteCond %{HTTP:Authorization} ^(.*)
#RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;の２行の先頭の # を削除しておく必要がある。&lt;br /&gt;サーバ管理のためにサーバのルートを WebDAV で公開するような場合は、RewriteRule ^shares の行も、できれば shares 以外の仮想ディレクトリに修正しておいた方が良いだろう。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;RewriteRule ^shares ./dav.php [L]&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;[imgtag id=41 align=right]Main Option の WebDAV サーバ設定[/imgtag]次に、「設定(g)」メニューから、「Application Core」→「Pydio Main Options」とたどり、「WebDAV Server」の部分を下記のように設定する。&lt;br /&gt;1. ENABLE WEBDAV で Yes を選択&lt;br /&gt;2. SHARES URI を .htaccess で設定した RewriteBase＋仮想ディレクトリに設定&lt;br /&gt;たとえば、RewriteBase が /pydio で仮想ディレクトリが shares の場合は「/pydio/shares」&lt;br /&gt;3. BROWSER ACCESS で Yes を選択&lt;br /&gt;(Pydio からこの項目が追加され、WebDAV クライアントから見えるようになった)&lt;br /&gt;4. 「保存」ボタンをクリック&lt;br /&gt;&lt;br /&gt;[imgtag id=42 align=right]My Account の「WebDAV 設定」の設定部[/imgtag]最後に、プロファイル設定の周辺にある「WebDAV 共有を有効化」をチェックする。Pydio6 では「MyAccout」→「WEBDAV 設定」、Pydio5 では「Dashboard」→「My Profile」→「WebDAV 設定」。&lt;br /&gt;&lt;br /&gt;なお、サーバ管理のために .htaccess などの . で始まる隠しファイルを WebDAV で扱えるようにするには、「&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=63&quot; target=&quot;_blank&quot;&gt;Pydio の WebDAV サーバで . から始まる隠しファイルを扱う&lt;/a&gt;」で書いたコードハックが必要になる。</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=64">
    <title>Pydio で特定ユーザのみ . から始まる隠しファイルを扱えるようにする</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=64</link> 
    <dc:date>2015-01-25T12:42:46+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>AjaXplorer をサーバのファイルマネージャとして使用する場合に問題となるのは、. で始まる隠しファイルを扱えるか否かをファイルシステム単位でしか設定できないところだ。Admin 権限の...</description> 
    <content:encoded>AjaXplorer をサーバのファイルマネージャとして使用する場合に問題となるのは、. で始まる隠しファイルを扱えるか否かをファイルシステム単位でしか設定できないところだ。Admin 権限のあるユーザだけに .htacess などの書き換えを許そうと思うと、コードハックするしか方法がない。&lt;br /&gt;Pydio に改名したバージョン 5 以降では、ユーザアカウント毎にパラメータを追加できるようになり、特定ユーザで特定ワークスペース(リポジトリ)のみ . で始まる隠しファイルを扱えるようにするなんてことが可能になった。&lt;br /&gt;隠しファイルを扱えるようにするためのパラメータ追加は簡単だ。下記の手順で隠しファイルが扱えるようになる。&lt;br /&gt;(1) Admin 権限を持つユーザアカウントで Pydio にログオンする&lt;br /&gt;(2) 「設定(g)」メニューを選択&lt;br /&gt;(3) 「Workspace &amp;amp; Users」→「Users &amp;amp; Groups」を選択&lt;br /&gt;(4) 隠しファイルを扱えるようにしたいユーザを選択して「Edit」を実行&lt;br /&gt;(5) 「Parameters」タブを選択&lt;br /&gt;(6) 「Plugin Indentifier」で「access.fs」を選択&lt;br /&gt;(7) 「Parameter Name」で「SHOW_HIDDEN_FILES」を選択&lt;br /&gt;(8) 「Repository Scope」で隠しファイルを扱いたいワークスペースを選択&lt;br /&gt;(9) 「Add Parameter」ボタンをクリック&lt;br /&gt;(10) パラメータを追加したワークスペースのタブを選択&lt;br /&gt;(11) 「access.fs」を開いて「Show Hidden Files」の「Yes」を選択&lt;br /&gt;(12) 「保存」ボタンをクリックし、(4) のユーザでログオンし直す&lt;br /&gt;[imgtag id=39 align=left]Pydio ユーザ毎のパラメータ追加[/imgtag]　[imgtag id=40 align=left]Pydio ユーザ毎に追加したパラメータの設定[/imgtag]</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=63">
    <title>Pydio の WebDAV サーバで . から始まる隠しファイルを扱う</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=63</link> 
    <dc:date>2015-01-23T00:12:17+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>AjaXplorer で . で始まる隠しファイルを扱うにはファイルシステムのドライバ設定を変更するしかなかったが、Pydio に改名したバージョン 5 以降では、ユーザアカウント毎にパラメータを追...</description> 
    <content:encoded>AjaXplorer で . で始まる隠しファイルを扱うにはファイルシステムのドライバ設定を変更するしかなかったが、Pydio に改名したバージョン 5 以降では、ユーザアカウント毎にパラメータを追加できるようになり、特定ユーザの特定リポジトリのみ . で始まる隠しファイルを扱えるようにするなんてことが可能になった。が、&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=64&quot; target=&quot;_blank&quot;&gt;この設定をしたリポジトリ&lt;/a&gt;であっても、WebDAV クライアントからは . で始まる隠しファイルが扱えないというバグがある。&lt;br /&gt;このバグの修正方法は次のとおり。5.x.x/6.0.x とも同じ。&lt;br /&gt;バグ修正の元ネタはここ。ただし、ここに掲載されているコードもそのままでは動作しないので、注意が必要。&lt;br /&gt;&lt;a href=&quot;https://pyd.io/f/topic/webdav-issues/&quot; target=&quot;_blank&quot;&gt;https://pyd.io/f/topic/webdav-issues/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;修正点は２点。これだけで、SHOW_HIDDEN_FILES パラメータを追加して Yes に設定したユーザ＆リポジトリの . で始まる隠しファイルが WebDAV サーバから見えるようになる。&lt;br /&gt;&lt;br /&gt;まず、/core/classes/class.AJPX_Plugin.php 138 行目の protected を&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;    protected function getFilteredOption($optionName, $repositoryScope = AJXP_REPO_SCOPE_ALL)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;を&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;    public function getFilteredOption($optionName, $repositoryScope = AJXP_REPO_SCOPE_ALL)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;と public にする。&lt;br /&gt;&lt;br /&gt;次に、/core/classes/sabredav/ajaxplorer/class.AJXP_Sabre_Collection.php 156 行目の&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;            if ( !$this-&amp;gt;repository-&amp;gt;getOption(&amp;quot;SHOW_HIDDEN_FILES&amp;quot;) &amp;amp;&amp;amp; AJXP_Utils::isHidden($file)) {&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;を&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;            if ( !$this-&amp;gt;getAccessDriver()-&amp;gt;getFilteredOption(&amp;quot;SHOW_HIDDEN_FILES&amp;quot;, $this-&amp;gt;repository-&amp;gt;getId()) &amp;amp;&amp;amp; AJXP_Utils::isHidden($file)) {&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;に修正する。</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=39">
    <title>Lightbox Plus のバグ</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=39</link> 
    <dc:date>2010-09-26T21:36:28+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　オリジナル Lightbox+ に次のようなバグがありました。このサイトの私家改造版 Lightbox+ は、2010.09.22 から修正済みです。また、Lightbox+ for XCL は本日修正版に更新しました。</description> 
    <content:encoded>　&lt;a href=&quot;http://serennz.sakura.ne.jp/toybox/lightbox/?ja&quot; target=&quot;_blank&quot;&gt;オリジナル Lightbox+&lt;/a&gt; に次のようなバグがありました。このサイトの私家改造版 Lightbox+ は、2010.09.22 から修正済みです。また、&lt;a href=&quot;http://www.o-ya.net//modules/d3downloads/index.php?page=singlefile&amp;cid=6&amp;lid=1&quot; target=&quot;_blank&quot;&gt;Lightbox+ for XCL&lt;/a&gt; は本日修正版に更新しました。&lt;br /&gt;1. 大画像表示時に、Next ボタンがスクロールバーやキーボードによる水平スクロールに伴って表示位置が移動してしまう。&lt;br /&gt;　これは、Next ボタンの位置を表示ボックスに absolute right で貼り付けているのが原因です。表示ボックスに absolute left で貼り付けるか、fixed right でブラウザのクライアントエリアに貼り付ける必要があります。今回は、前者を採りました。&lt;br /&gt;&lt;br /&gt;2. 大画像表示時に、ブラウザによっては Next ボタンの右端がスクロールバーに隠れてしまう。&lt;br /&gt;　これは、ブラウザのクライアントエリアの取得する WindowSize で最初に window.innnerWidth/window.innnerHeight を使用しているのが原因です。innerWidth/innerHeight はブラウザの種類によってどの領域を返すかが異なるので、改良版のように修正しました。このサイトはどのブラウザでも標準モードで表示しているので各ブラウザで問題なく動作していますが、互換モードで document.documentElement が有効なブラウザがあると、互換モード表示サイトでは問題があるかもしれません。&lt;br /&gt;参考サイト: &lt;a href=&quot;http://d.hatena.ne.jp/onozaty/20060802/p1&quot; target=&quot;_blank&quot;&gt;http://d.hatena.ne.jp/onozaty/20060802/p1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;オリジナル WindowSize.prototype.update&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;	var w = 
	  (window.innerWidth) ? window.innerWidth
	: (d.documentElement &amp;amp;&amp;amp; d.documentElement.clientWidth) ? d.documentElement.clientWidth
	: d.body.clientWidth;
	var h = 
	  (window.innerHeight) ? window.innerHeight
	: (d.documentElement &amp;amp;&amp;amp; d.documentElement.clientHeight) ? d.documentElement.clientHeight
	: d.body.clientHeight;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;改良版 WindowSize.prototype.update&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;	var w = 
		(d.documentElement &amp;amp;&amp;amp; d.documentElement.clientWidth) ? d.documentElement.clientWidth :
		(d.boy.clientWidth) ? d.body.clientWidth : window.innerWidth;
	var h = 
		(d.documentElement &amp;amp;&amp;amp; d.documentElement.clientHeight) ? d.documentElement.clientHeight :
		(d.boy.clientHeight) ? d.body.clientHeight : window.innerHeight;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;　ついでに、スクロールバーのサイズも含めた表示領域サイズを取得する PageSize も、Firefox でしか使用できない window.scrollMaxX/window.scrollMaxY を使用していたので、scrollWidth/scrollHeight を使用したものに修正しています。これも、互換モード表示サイトでは、もしかすると問題があるかもしれません。&lt;br /&gt;参考サイト: &lt;a href=&quot;http://d.hatena.ne.jp/onozaty/20060803/p1&quot; target=&quot;_blank&quot;&gt;http://d.hatena.ne.jp/onozaty/20060803/p1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;オリジナル PageSize.prototype.update&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;	var w = 
	  (window.innerWidth &amp;amp;&amp;amp; window.scrollMaxX) ? window.innerWidth + window.scrollMaxX
	: (d.body.scrollWidth &amp;gt; d.body.offsetWidth) ? d.body.scrollWidth
	: d.body.offsetWidt;
	var h = 
	  (window.innerHeight &amp;amp;&amp;amp; window.scrollMaxY) ? window.innerHeight + window.scrollMaxY
	: (d.body.scrollHeight &amp;gt; d.body.offsetHeight) ? d.body.scrollHeight
	: d.body.offsetHeight;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;改良版 PageSize.prototype.update&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;	var w = 
		(d.documentElement &amp;amp;&amp;amp; d.documentElement.scrollWidth) ? d.documentElement.scrollWidth :
		(d.boy.scrollWidth) ? d.body.scrollWidth : window.innerWidth;
	var h = 
		(d.documentElement &amp;amp;&amp;amp; d.documentElement.scrollHeight) ? d.documentElement.scrollHeight :
		(d.boy.scrollHeight) ? d.body.scrollHeight : window.innerHeight;&lt;/code&gt;&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=36">
    <title>Lightbox Plus の改良その２</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=36</link> 
    <dc:date>2010-09-19T16:23:58+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　Lightbox+ はオリジナル Lightbox と違って、拡大画像をいきなりピクセル等倍で表示しないで、ブラウザのウィンドウサイズにオートフィットしてくれるところが非常に優れています。が、...</description> 
    <content:encoded>　&lt;a href=&quot;http://serennz.sakura.ne.jp/toybox/lightbox/?ja&quot; target=&quot;_blank&quot;&gt;Lightbox+&lt;/a&gt; はオリジナル &lt;a href=&quot;http://www.huddletogether.com/projects/lightbox2/&quot; target=&quot;_blank&quot;&gt;Lightbox&lt;/a&gt; と違って、拡大画像をいきなりピクセル等倍で表示しないで、ブラウザのウィンドウサイズにオートフィットしてくれるところが非常に優れています。が、「&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=35&quot; target=&quot;_blank&quot;&gt;Lightbox Plus の改良&lt;/a&gt;」で書いたように、マウスカーソルが分かりづらいなど操作上の使いにくさがいくつかあります。&lt;br /&gt;　てなわけで、今回はズームナビゲーションボックスを中心にさらに改良しました。&lt;br /&gt;　前回、今回を通じての改良点は以下のとおり。この記事の下に動作確認用の巨大画像を貼ってあるので、お試しください。&lt;a href=&quot;http://www.o-ya.net//modules/d3downloads/index.php?page=singlefile&amp;cid=6&amp;lid=1&quot; target=&quot;_blank&quot;&gt;Lightbox+ for XCL&lt;/a&gt; の Lightbox+ はこの変更を行ったものに差し替えました。XOOPS Cube Legacy を使用していなくても、Lightbox+ for XCL の /html/common/lightboxp 下のファイルをサーバにコピーすれば、Lightbox2 の代わりに使用できます。&lt;br /&gt;　なお、前回のマウスカーソルの変更で、拡大表示時に次の画像に移ったり、ダブルクリックで終了したりすると次の画像表示時にマウスカーソルが移動カーソルになったままになるというバグがありましたが、これも修正してあります。&lt;br /&gt;&lt;br /&gt;1. マウスカーソルを次のように変更しました。&lt;br /&gt; (1) Prev/Next/Close ボタン上は&lt;span style=&quot;cursor:pointer;&quot;&gt;ポインタカーソル&lt;/span&gt;&lt;br /&gt; (2) 通常表示画像上は&lt;span style=&quot;cursor:default;&quot;&gt;デフォルトカーソル&lt;/span&gt;&lt;br /&gt; (3) 拡大表示画像上は&lt;span style=&quot;cursor:move;&quot;&gt;ムーブカーソル&lt;/span&gt;&lt;br /&gt; (4) 拡大表示時ドラッグ移動中は&lt;span style=&quot;cursor:pointer;&quot;&gt;ポインタカーソル&lt;/span&gt;&lt;br /&gt; (5) 拡大表示時ズームナビゲーションボックス上は&lt;span style=&quot;cursor:n-resize;&quot;&gt;上下リサイズカーソル&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. 拡大表示時のズームナビゲーションボックスを次のように変更しました。&lt;br /&gt;(1) スクロールホイールによる拡大／縮小をズームナビゲーションボックス上でのみ有効化&lt;br /&gt;(2) ズームナビゲーションボックスのクリックでピクセル等倍表示&lt;br /&gt;(3) 現在の拡大率の表示&lt;br /&gt;&lt;br /&gt;3. 各種アイコンを次のように変更しました。&lt;br /&gt; (1) ローディングアイコンを今風に変更&lt;br /&gt; (2) Prev/next/Close を半透明アイコンに変更(IE6 以降、Firefox, Chrome, Opera)&lt;br /&gt;&lt;br /&gt;[imgtag id=23]ハナアブ[/imgtag] [imgtag id=24]キイロトラカミキリ[/imgtag] [imgtag id=25]アキアカネ[/imgtag] [imgtag id=26]？バッタ[/imgtag]</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=35">
    <title>Lightbox Plus の改良</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=35</link> 
    <dc:date>2010-09-16T22:16:51+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　Lightbox+ は非常に気に入りましたが、どうもマウスカーソルが分かりづらい、拡大表示時に常にスクロールホイールが拡大／縮小になってしまうのがあまり好みではないってことで、自...</description> 
    <content:encoded>　&lt;a href=&quot;http://serennz.sakura.ne.jp/toybox/lightbox/?ja&quot; target=&quot;_blank&quot;&gt;Lightbox+&lt;/a&gt; は非常に気に入りましたが、どうもマウスカーソルが分かりづらい、拡大表示時に常にスクロールホイールが拡大／縮小になってしまうのがあまり好みではないってことで、自分好みに改良しました。&lt;br /&gt;　改良点は以下のとおり。&lt;del&gt;この記事の下に動作確認用の巨大画像を貼ってあるので、お試しください。&lt;/del&gt;&lt;a href=&quot;http://www.o-ya.net/modules/d3downloads/index.php?cid=6&quot; target=&quot;_blank&quot;&gt;Lightbox+ for XCL&lt;/a&gt; の Lightbox+ はこの変更を行ったものに差し替えました。&lt;br /&gt;&lt;br /&gt;1. マウスカーソルを次のように変更しました。&lt;br /&gt; (1) Prev/Next/Close ボタン上は&lt;span style=&quot;cursor:pointer;&quot;&gt;ポインタカーソル&lt;/span&gt;&lt;br /&gt; (2) 通常表示画像上は&lt;span style=&quot;cursor:default;&quot;&gt;デフォルトカーソル&lt;/span&gt;&lt;br /&gt; (3) 拡大表示画像上は&lt;span style=&quot;cursor:move;&quot;&gt;ムーブカーソル&lt;/span&gt;&lt;br /&gt; (4) 拡大表示時ドラッグ移動中は&lt;span style=&quot;cursor:pointer;&quot;&gt;ポインタカーソル&lt;/span&gt;&lt;br /&gt; (5) 拡大表示時ズームナビゲーションボックス上は&lt;span style=&quot;cursor:n-resize;&quot;&gt;上下リサイズカーソル&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. 拡大表示時のスクロールホイールによる拡大／縮小をズームナビゲーションボックス上でのみ有効になるように変更しました。&lt;br /&gt;&lt;br /&gt;3. 各種アイコンを次のように変更しました。&lt;br /&gt; (1) ローディングアイコンを今風に変更&lt;br /&gt; (2) Prev/next/Close を半透明アイコンに変更(IE6 以降、Firefox, Chrome, Opera)&lt;br /&gt;&lt;br /&gt;(2010-09-19)&lt;br /&gt;動作サンプルは、「&lt;a href=&quot;http://www.o-ya.net/modules/d3blog/details.php?bid=36&quot; target=&quot;_blank&quot;&gt;Lightbox+ の改良その２&lt;/a&gt;」に移動しました。</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=33">
    <title>Lightbox Plus っていいですね</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=33</link> 
    <dc:date>2010-09-12T14:18:47+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　画像のオーバーレイ表示でよく使われる Lightbox ですが、ブラウザウィンドウのクライアントエリアより画像が大きくてもオートフィッティングしてくれないのがやや難です。Highslide は...</description> 
    <content:encoded>　画像のオーバーレイ表示でよく使われる Lightbox ですが、ブラウザウィンドウのクライアントエリアより画像が大きくてもオートフィッティングしてくれないのがやや難です。Highslide はウィンドウサイズに合わせて大画像をオートフィッティングしてくれますが、Highslide で表示させる HTML を書くのはとっても面倒&lt;img src=&quot;http://www.o-ya.net/uploads/smil4c6419daee8e4.gif&quot; alt=&quot;&quot; /&gt;。&lt;br /&gt;　Lightbox の簡単さと Highslide のオートフィッティング機能を併せ持つものがないかと探していたら、&lt;a href=&quot;http://serennz.sakura.ne.jp/toybox/lightbox/?ja&quot; target=&quot;_blank&quot;&gt;Lightbox+&lt;/a&gt; なんてものがありました。&lt;br /&gt;　Lightbox+ は、Lightbox をベースに、オートフィッティング機能を追加したものです。Lightbox+ で画像表示中にブラウザのウィンドウサイズを変更しても自動追従してくれます。もちろん、ピクセル等倍で表示する(あるいはピクセル等倍からオートフィットに戻す)ためのズームボタンもあります。&lt;br /&gt;　さらに、ウィンドウサイズより大きい画像をスクロールバー付きで表示している際は、スクロールバーを使わなくても、画像のドラッグで表示位置を自由に変更できます。これも便利な機能ですね。&lt;br /&gt;&lt;br /&gt;　ってことで、このサイトの画像オーバーレイ表示は全て Lightbox+ で表示するようにしました。IMGTag D3 の「アルバム」も Lightbox ではなく Lightbox+ で表示されます。「&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=25&quot; target=&quot;_blank&quot;&gt;AjaXplorer のススメ&lt;/a&gt;」のスクリーンショットがやや大きめの画像なので機能を確認しやすいと思います。&lt;br /&gt;　なお、&lt;del&gt;Lightbox+ にはマウスホイールによるズーム機能がありますが、これは Off にしてあります(アニメーション機能も)。&lt;/del&gt;マウスホイールによるズーム機能が表示ボックス全体で有効になるのは使いづらいので、ズームナビゲータボックスの中だけでズームできるように変更しました。また、マウスポインタが感覚的に分かりづらかったので、ほぼ全面的に変更してあります。&lt;br /&gt;&lt;br /&gt;　XOOPS Cube Legacy なら、&lt;a href=&quot;http://www.o-ya.net/modules/d3downloads/index.php?page=singlefile&amp;cid=6&amp;lid=1&quot; target=&quot;_blank&quot;&gt;Lightbox+ for XCL&lt;/a&gt; を使えば、簡単に全てのモジュールで Lightbox+ が使用できるようになります。</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=26">
    <title>AjaXplorer のインストール</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=26</link> 
    <dc:date>2010-09-01T23:09:58+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　以前携帯農薬検索実験室に書いたネタですが、「ススメ」を書いた以上、インストール方法も書いておかないと不親切だろうということで、こちらにも再掲載します。</description> 
    <content:encoded>　以前&lt;a href=&quot;http://macs.o-ya.net/&quot; target=&quot;_blank&quot;&gt;携帯農薬検索実験室&lt;/a&gt;に書いたネタですが、「&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=25&quot; target=&quot;_blank&quot;&gt;ススメ&lt;/a&gt;」を書いた以上、インストール方法も書いておかないと不親切だろうということで、こちらにも再掲載します。&lt;br /&gt;　AjaXplorer のインストールは簡単で、&lt;a href=&quot;http://www.ajaxplorer.info/wordpress/&quot; target=&quot;_blank&quot;&gt;公式サイト&lt;/a&gt;からファイルをダウンロードしてディレクトリ構造を維持したままサーバに転送するだけです。&lt;br /&gt;　PHP4 か PHP5 が使えれば、PEAR も PECL も DB も不要です。ただし、起動する前に最低限下記の設定が必要です。&lt;br /&gt;&lt;br /&gt;1. Windows のセキュリティパッチ(必須)&lt;br /&gt;　Windows サーバにインストールする場合、ディレクトリトラバーサルのセキュリティホールがあるので、&lt;a href=&quot;http://www.o-ya.net/http://www.o-ya.net/modules/d3blog/details.php?bid=12&quot; target=&quot;_blank&quot;&gt;AjaXplorer の Windows サーバにおけるセキュリティ対策&lt;/a&gt;に書いた修正を必ず行ってください。&lt;br /&gt;&lt;br /&gt;2. php.ini の設定(必須)&lt;br /&gt;　PHP の error_reporting に E_NOTICE が設定されていると、ajaXplorer の設定時(初回起動時)にエラーが出まくります。php.ini を確認して、error_reporting を下記のように設定しておくと良いでしょう。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;error_reporting = E_ALL &amp;amp; ~E_NOTICE&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;　なお、この設定をしても、Windows 環境では Zlib 関係が failed と表示されます。が、実際には問題なく ZIP の圧縮／解凍が可能でした。&lt;br /&gt;&lt;br /&gt;3. エディタの日本語マルチエンコーディング化(強く推奨)&lt;br /&gt;　標準では、オンラインテキストエディタは UTF-8 にしか対応していません。EUC-JP や Shift_JIS で書かれたファイルを編集する可能性がある場合は、&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=11&quot; target=&quot;_blank&quot;&gt;AjaXplorer エディタのマルチエンコーディング化&lt;/a&gt;で書いた修正を行っておくと良いでしょう。&lt;br /&gt;&lt;br /&gt;4. conf.php の設定(AjaXplorer 2.6.x)&lt;br /&gt;(1) ルートパスの設定(推奨)&lt;br /&gt;　標準状態では、ajaXplorer のインストールディレクトリ下の files ディレクトリが、管理できるルートパスになります。これでは不便なので、ajaXplorer インストールディレクトリ下の server/conf/conf.php の BASIC REPOSITORY CONFIGURATION の PATH を書き換える必要があります。realpath 以下を全て削除して絶対パスで書き換えても良いし、デフォルト設定を生かして conf.php からの相対パスで書き換えても OK です。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;		&amp;quot;PATH&amp;quot;			=&amp;gt;	realpath(dirname(__FILE__).&amp;quot;/../../../&amp;quot;),&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;(2) アップロードファイルサイズ(推奨)&lt;br /&gt;　php.ini の post_max_size に合わせて、conf.php の $upload_max_size_per_file を設定します。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;$upload_max_size_per_file = &amp;#039;8M&amp;#039;;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;(3) 日本語化(任意)&lt;br /&gt;　AjaXplorer はメニュー等が日本語に対応していますが(ユーザ毎に言語設定可能)、標準では英語なので、最初から日本語で表示するためには、AjaXplorer インストールディレクトリ下の server/conf/conf.php の DEFAULT LANGUAGE を下記のように書き換える必要があります。&lt;br /&gt;&lt;pre class=&quot;blogCode&quot;&gt;&lt;code&gt;$default_language=&amp;quot;ja&amp;quot;; // &amp;quot;en&amp;quot; を &amp;quot;ja&amp;quot; に&lt;/code&gt;&lt;/pre&gt;</content:encoded>
  </item>
  <item rdf:about="http://www.o-ya.net/modules/d3blog/details.php?bid=25">
    <title>AjaXplorer のススメ</title> 
    <link>http://www.o-ya.net/modules/d3blog/details.php?bid=25</link> 
    <dc:date>2010-09-01T22:01:20+09:00</dc:date> 
    <dc:creator>OhYeah!</dc:creator> 
    <description>　サーバにある Perl や PHP などのスクリプトをちょっと修正したいとき、XOOPS のテーマファイルをいじっているときなど、「いちいちローカルファイルを修正して FTP で転送するのは面倒...</description> 
    <content:encoded>　サーバにある Perl や PHP などのスクリプトをちょっと修正したいとき、XOOPS のテーマファイルをいじっているときなど、「いちいちローカルファイルを修正して FTP で転送するのは面倒だ。サーバ側のファイルを直接編集できないものか…。」と思ったことはありませんか？ こんな時便利なのが、いわゆるウェブファイルマネージャといわれるソフトです。&lt;br /&gt;　ウェブファイルマネージャは、サーバ側に Perl や PHP などで書かれた CGI 等をインストールして、クライアント側からはウェブブラウザでサーバのファイル管理や編集ができるウェブアプリケーションです。レンタルサーバには何らかのウェブファイルマネージャがインストールされていることが多く(XREA/CORESERVER は net2ftp)、使われたことがある方も多いのではないかと思います。&lt;br /&gt;　一般的なウェブファイルマネージャは、ほとんどの機能をサーバサイドのスクリプトで実装しているので、ユーザインタフェースはあまり使い勝手がよくないものが多いです。&lt;br /&gt;&lt;br /&gt;　そこでお勧めしたいのが、AjaXplorer です。AjaXplorer は、クライアント側は Javascript で書かれた AJAX フレームワークを使用して、ウェブブラウザ上で動作しているにもかかわらず、Explorer ライクな操作性を実現しています。&lt;br /&gt;　公式サイトは下記のとおりで、ここにデモサイトもあるのでさわってみてください。デモサイトで、アドレスバー右端のスパナマークをクリックすると、メニューを日本語にできます。&lt;br /&gt;　なお、スクリーンショットは、デモサイトでキャプチャリングしました。&lt;br /&gt;&lt;a href=&quot;http://www.ajaxplorer.info/wordpress/&quot; target=&quot;_blank&quot;&gt;http://www.ajaxplorer.info/wordpress/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. ドラッグ＆ドロップによるファイルのコピー／移動と右ボタンメニュー&lt;br /&gt;　Ctrl や Shift キーを併用した複数ファイル選択、ドラッグ＆ドロップによるファイル移動(Ctrl キー併用でコピー)、マウスの右ボタンクリックによるコンテキストメニューの表示など、Explorer に近い操作性です。&lt;br /&gt;&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=6&amp;sz=2&quot; title=&quot;右ボタンメニュー&quot; rel=&quot;lightbox[pics]&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=6&amp;sz=0&quot; alt=&quot;右ボタンメニュー&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. オンラインテキストエディタ&lt;br /&gt;　テキストエディタで、サーバ上のスクリプトや HTML ファイルを直接編集することが可能です。動作はやや重いですが、Javascript や PHP ファイルなどはキーワードにって色分けされます。&lt;br /&gt;　標準では UTF-8 にしか対応してないので、EUC-JP や Shift_JIS の日本語ファイルは文字化けしますが、&lt;a href=&quot;http://www.o-ya.net//modules/d3blog/details.php?bid=11&quot; target=&quot;_blank&quot;&gt;ajaXplorer エディタのマルチエンコーディング化&lt;/a&gt;のハックで EUC-JP や Shift_JIS などにも対応できます。&lt;br /&gt;&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=4&amp;sz=2&quot; rel=&quot;lightbox[pics]&quot; title=&quot;エディタ&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=4&amp;sz=0&quot; alt=&quot;エディタ&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. ZIP 書庫のフォルダ表示及び解凍&lt;br /&gt;　ZIP 書庫をフォルダと見なして、中のファイルをファイルペインで見ることが可能です。ZIP 書庫の解凍、ZIP 形式の圧縮も可能です。&lt;br /&gt;&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=5&amp;sz=2&quot; rel=&quot;lightbox[pics]&quot; title=&quot;ZIP フォルダ&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=5&amp;sz=0&quot; alt=&quot;ZIP フォルダ&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. 画像表示、動画再生、音声再生&lt;br /&gt;　画像ファイル(JPEG, PNG, GIF)は、詳細ペインに画像が表示されるほか、ファイルペインにサムネイル表示(サイズ変更可)することも可能です。減数表示やスライドショウも可能です。&lt;br /&gt;　動画ファイル(少なくとも FLV に対応)や音声ファイル(少なくとも MP3 に対応)も、詳細ペインで再生可能です。&lt;br /&gt;&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=1&amp;sz=2&quot; rel=&quot;lightbox[pics]&quot; title=&quot;リスト表示&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=1&amp;sz=0&quot; alt=&quot;リスト表示&quot; /&gt;&lt;/a&gt;　&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=2&amp;sz=2&quot; rel=&quot;lightbox[pics]&quot; title=&quot;サムネイル表示&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=2&amp;sz=0&quot; alt=&quot;サムネイル表示&quot; /&gt;&lt;/a&gt;　&lt;a href=&quot;/modules/d3imgtag/index.php?page=image&amp;id=3&amp;sz=2&quot; rel=&quot;lightbox[pics]&quot; title=&quot;大画像表示&quot;&gt;&lt;img src=&quot;/modules/d3imgtag/index.php?page=image&amp;id=3&amp;sz=0&quot; alt=&quot;大画像表示&quot; /&gt;&lt;/a&gt;</content:encoded>
  </item>
</rdf:RDF>