<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>@blog.justoneplanet.info &#187; CMS</title>
	<atom:link href="http://blog.justoneplanet.info/category/computer/cms/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.justoneplanet.info</link>
	<description>日々勉強</description>
	<lastBuildDate>Wed, 08 Feb 2012 02:57:17 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPressのカテゴリページで現在のカテゴリID</title>
		<link>http://blog.justoneplanet.info/2009/10/11/wordpress%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e7%8f%be%e5%9c%a8%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aaid/</link>
		<comments>http://blog.justoneplanet.info/2009/10/11/wordpress%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e7%8f%be%e5%9c%a8%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aaid/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 22:01:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=2017</guid>
		<description><![CDATA[$cat 以上]]></description>
			<content:encoded><![CDATA[<pre class="brush: php;">
$cat
</pre>
<p>以上</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/10/11/wordpress%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%a7%e7%8f%be%e5%9c%a8%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aaid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress MUのログインで自動転送がループする</title>
		<link>http://blog.justoneplanet.info/2009/08/11/wordpress-mu%e3%81%ae%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%a7%e8%87%aa%e5%8b%95%e8%bb%a2%e9%80%81%e3%81%8c%e3%83%ab%e3%83%bc%e3%83%97%e3%81%99%e3%82%8b/</link>
		<comments>http://blog.justoneplanet.info/2009/08/11/wordpress-mu%e3%81%ae%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%a7%e8%87%aa%e5%8b%95%e8%bb%a2%e9%80%81%e3%81%8c%e3%83%ab%e3%83%bc%e3%83%97%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 18:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=1752</guid>
		<description><![CDATA[再インストールした時に起こる問題のようだ。クッキーを削除したら動作するようになった。]]></description>
			<content:encoded><![CDATA[<p>再インストールした時に起こる問題のようだ。クッキーを削除したら動作するようになった。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/08/11/wordpress-mu%e3%81%ae%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%a7%e8%87%aa%e5%8b%95%e8%bb%a2%e9%80%81%e3%81%8c%e3%83%ab%e3%83%bc%e3%83%97%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupalをインストールしてみた</title>
		<link>http://blog.justoneplanet.info/2009/07/25/drupal%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://blog.justoneplanet.info/2009/07/25/drupal%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 11:14:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=1624</guid>
		<description><![CDATA[なんでもDrupalのSNSモジュールはすごいらしい。 ■言語の選択 インストールに使用する言語を設定するらしい。 ■インストール必要条件 インストールできる状態かチェックしてくれる。自分はファイル（ディレクトリ）のアク [...]]]></description>
			<content:encoded><![CDATA[<p>なんでもDrupalのSNSモジュールはすごいらしい。</p>
<h3>■言語の選択</h3>
<p>インストールに使用する言語を設定するらしい。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/1-Select-an-installation-profile-Drupal_12485001236461.png" rel="lightbox[1624]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/1-Select-an-installation-profile-Drupal_12485001236461-300x200.png" alt="言語の選択" title="言語の選択" width="300" height="200" class="aligncenter size-medium wp-image-1627" /></a></p>
<h3>■インストール必要条件</h3>
<p>インストールできる状態かチェックしてくれる。自分はファイル（ディレクトリ）のアクセス権の設定をするように注意された。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/67b345f416be4617101b2d46448cf21f1.png" rel="lightbox[1624]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/67b345f416be4617101b2d46448cf21f1-300x200.png" alt="インストール必要条件" title="インストール必要条件" width="300" height="200" class="aligncenter size-medium wp-image-1628" /></a></p>
<h3>■データベースの設定</h3>
<p>インストールするデータベースを選択する。1つのデータベースで複数のアプリケーションをインストールする場合は、高度なオプションのテーブルプリフィクスに適切な文字列を指定して、テーブルの名前に任意の文字列を付加することを勧める。これにより他のアプリケーションがテーブルに変更を加えてしまうことを防げる。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/318ca72303b7728fa8dd3016b5ec810b.png" rel="lightbox[1624]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/318ca72303b7728fa8dd3016b5ec810b-300x200.png" alt="データベースの設定" title="データベースの設定" width="300" height="200" class="aligncenter size-medium wp-image-1629" /></a></p>
<h3>■サイトの環境設定</h3>
<p>「サイトの名前」「管理者名」「管理者パスワード」などを設定する。下の方の「クリーンURL」というのはクエリ形式のURL（?q=about&#038;p=123）を検索エンジンフレンドリーなもの（/about/123）にするというものだ。ちなみに前述の変更したアクセス権をこのフェーズで戻してあげる。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/bd40e4b8661e512252e6064e1dab2566.png" rel="lightbox[1624]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/bd40e4b8661e512252e6064e1dab2566-209x300.png" alt="サイトの環境設定" title="サイトの環境設定" width="209" height="300" class="aligncenter size-medium wp-image-1630" /></a></p>
<h3>■インストール完了</h3>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/152f643ff053cc2f7d9b0242a9049b66.png" rel="lightbox[1624]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/152f643ff053cc2f7d9b0242a9049b66-300x200.png" alt="インストール完了" title="インストール完了" width="300" height="200" class="aligncenter size-medium wp-image-1631" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/07/25/drupal%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla!をインストールしてみた</title>
		<link>http://blog.justoneplanet.info/2009/07/25/joomla%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://blog.justoneplanet.info/2009/07/25/joomla%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 07:52:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=1609</guid>
		<description><![CDATA[永遠のテーマ!?、CMSは何を選ぶべきなのか？という問題を考えるために今回Joomlaをインストールしてみることにした。 ■言語選択 はじめに言語を選択する。ここでは普通に日本語を選択することにする。 ■インストール前の [...]]]></description>
			<content:encoded><![CDATA[<p>永遠のテーマ!?、CMSは何を選ぶべきなのか？という問題を考えるために今回Joomlaをインストールしてみることにした。</p>
<h3>■言語選択</h3>
<p>はじめに言語を選択する。ここでは普通に日本語を選択することにする。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/497ff3970672baff9b5e8bde4964891f.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/497ff3970672baff9b5e8bde4964891f-300x209.png" alt="言語選択画面" title="言語選択画面" width="300" height="209" /></a></p>
<h3>■インストール前の準備</h3>
<p>サーバの設定がJoomla!のインストールに適しているか確認してくれる。自分の場合は、「configureファイルの書き込み」と「mbstring.language」の設定でエラーが出た。素晴らしいのはphp_value mbstring.language neutralと,htaccessに記述するように教えてくれるところなのだが、サーバによってはphp.iniを変更する必要があることにまで触れてくれればパーフェクトであった。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/0e4889a73330f6b639086abc7614f4cb.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/0e4889a73330f6b639086abc7614f4cb-300x209.png" alt="インストール前の準備" title="インストール前の準備" width="300" height="209" /></a></p>
<h3>■ライセンス</h3>
<p>Joomla! is Free Software released under the GNU/GPL License.要はGNU/GPLライセンスの下で配布されているということ。GPLでライセンスされた著作物は、その派生的著作物に関してもGPLでライセンスされなければならないということだけ覚えておけば問題になることはないだろう。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/846688edc8b37027a307ecc9d423ae6c.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/846688edc8b37027a307ecc9d423ae6c-300x209.png" alt="ライセンス" title="ライセンス" width="300" height="209" /></a></p>
<h3>■データベースの設定</h3>
<p>ユーザ名とパスワード、DB名を入力する必要がある。但し、いくつものアプリケーションを1つのデータベースで運用している場合は、拡張設定をクリックしテーブルプリフィクスを設定し、生成される各テーブル名に特異な文字列を付加した方がイイかもしれない。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/179163b601458ed318b7c5743622f293.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/179163b601458ed318b7c5743622f293-300x210.png" alt="データベースの設定" title="データベースの設定" width="300" height="210" /></a></p>
<h3>■FTPの設定</h3>
<p>Joomla自体がFTPアクセスを使用する場合には設定する必要がある。今は必要ないので「いいえ」を選択した。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/4edf56861de52fe5ee15cc8bfe6c54561.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/4edf56861de52fe5ee15cc8bfe6c54561-300x209.png" alt="ftpの設定" title="ftpの設定" width="300" height="209" /></a></p>
<h3>■全般の設定</h3>
<p>基本的には「サイト名」「E-mailアドレス」「管理者パスワード」の設定でOKだ。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/29acde0f18c027edfb9f870a9d7b3b24.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/29acde0f18c027edfb9f870a9d7b3b24-288x300.png" alt="全般の設定" title="全般の設定" width="288" height="300" /></a></p>
<h3>■インストール完了</h3>
<p>これで基本的にはインストールが完了である。数々見てきたCMSの中でも、かなり良くできているグループに入るっといえる。</p>
<p class="ta-center"><a href="http://blog.justoneplanet.info/wp-content/uploads/2009/07/7113c28d6edb1c315c45973fe29da538.png" rel="lightbox[1609]"><img src="http://blog.justoneplanet.info/wp-content/uploads/2009/07/7113c28d6edb1c315c45973fe29da538-300x209.png" alt="インストール完了" title="インストール完了" width="300" height="209" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/07/25/joomla%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenPNE3をインストールしよう</title>
		<link>http://blog.justoneplanet.info/2009/05/12/openpne3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%82%88%e3%81%86/</link>
		<comments>http://blog.justoneplanet.info/2009/05/12/openpne3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%82%88%e3%81%86/#comments</comments>
		<pubDate>Mon, 11 May 2009 23:05:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=1194</guid>
		<description><![CDATA[■symfony1.2.xのインストール OpenPNE3では、Webアプリケーションフレームワークであるsymfonyを採用しているため、これがインストールされていないと動かない。更に、symfonyのバージョンは1. [...]]]></description>
			<content:encoded><![CDATA[<h3>■symfony1.2.xのインストール</h3>
<p>OpenPNE3では、Webアプリケーションフレームワークであるsymfonyを採用しているため、これがインストールされていないと動かない。更に、symfonyのバージョンは1.2系でなければならない。</p>
<p><a href="http://blog.justoneplanet.info/2009/03/16/symfony%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/">symfonyをインストールする</a></p>
<h3>■ファイルのダウンロードとアップロード</h3>
<p>wgetでも構わないがクライアントに一旦<a href="http://www.openpne.jp/pne-downloads/" target="_blank">ダウンロード</a>してみる。</p>
<h4>解凍</h4>
<p>解凍すると以下のディレクトリとファイルができる。</p>
<ul>
<li>apps</li>
<li>cache</li>
<li>config</li>
<li>data</li>
<li>doc</li>
<li>lib</li>
<li>log</li>
<li>plugins</li>
<li>test</li>
<li>web</li>
<li>LICENSE（ファイル）</li>
<li>NOTICE（ファイル）</li>
<li>README（ファイル）</li>
<li>symfony（ファイル）</li>
</ul>
<div class="kakomi">
<h4>注意</h4>
<p>「web」ディレクトリが公開ディレクトリとなるように設定を各自変更する必要がある。以下の「プログラム側設定ファイル」か「サーバの設定ファイル」のどちらかを変更しなくてはならない。どちらかというと「web」というディレクトリ名で運用しているサーバは少なかった（個人的な経験）。</p>
<h5>プログラム側設定ファイルで変更する</h5>
<p>以下の変更例は、「web」を「public_html」に変更する場合である。</p>
<pre class="brush: php;">
&lt;?php

# FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib

require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this-&gt;enableAllPluginsExcept(array('sfCompat10Plugin'));
    $this-&gt;setIncludePath();
  }

  public function setIncludePath()
  {
    sfToolkit::addIncludePath(array(
      //PEAR
      dirname(__FILE__).'/../lib/vendor/PEAR/',
    ));
  }
}
</pre>
<p>上述を以下のように変更する。</p>
<pre class="brush: php;">
&lt;?php

# FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib

require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this-&gt;enableAllPluginsExcept(array('sfCompat10Plugin'));
    $this-&gt;setIncludePath();
    $this-&gt;setWebDir($this-&gt;getRootDir() . '/public_html');
  }

  public function setIncludePath()
  {
    sfToolkit::addIncludePath(array(
      //PEAR
      dirname(__FILE__).'/../lib/vendor/PEAR/',
    ));
  }
}
</pre>
<p>追記部分は以下のコードである。</p>
<pre class="brush: php;">
$this-&gt;setWebDir($this-&gt;getRootDir() . '/public_html');
</pre>
<h5>サーバの設定ファイルを変更する</h5>
<p>httpd.confファイルなどに以下のような記述が存在するはずだ。</p>
<pre class="brush: bash;">
DocumentRoot /var/www/sample.com/public_html
</pre>
<p>以下のように変更して、サーバを再起動する。</p>
<pre class="brush: bash;">
DocumentRoot /var/www/sample.com/web
</pre>
</div>
<h4>アップロード</h4>
<p>「web」ディレクトリが公開ディレクトリとなるようにする。つまり、「web」フォルダの中の「index.php」が（公開ディレクトリの）トップページとなるような配置にしなければならない。</p>
<h3>■インストール</h3>
<p>ファイルをアップロードしたディレクトリにある「symfony」と同じ階層までコマンドラインで移動する。そして以下のコマンドを実行する。</p>
<pre class="brush: bash;">
./symfony openpne:install
</pre>
<p>以下の項目について質問される。</p>
<ul>
<li>DBのタイプ（mysql, pgsql, sqlite）</li>
<li>DB名</li>
<li>DBのユーザ名</li>
<li>DBのパスワード</li>
<li>DBのホスト名（localhostなど）</li>
<li>使用するソケットへのパス（未入力可）</li>
</ul>
<p>足りないパッケージなどなければ通常はこれで上手くいく。</p>
<h3>■初期設定</h3>
<h4>管理側</h4>
<p>http://sample.com/pc_backend.phpにアクセスして初期パスワード「password」を必ず変更する。</p>
<h4>ユーザ側</h4>
<p>http://example.com/index.phpにアクセスして初期ユーザーのパスワード「password」を必ず変更する。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/05/12/openpne3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%97%e3%82%88%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jopGlobalBlogArchive(WordPress MU Plugin)</title>
		<link>http://blog.justoneplanet.info/2009/04/22/jopglobalblogarchivewordpress-mu-plugin/</link>
		<comments>http://blog.justoneplanet.info/2009/04/22/jopglobalblogarchivewordpress-mu-plugin/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 02:47:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=885</guid>
		<description><![CDATA[WordPress MUで、表示中以外のブログを含めたサイト全体の新着ブログを表示するプラグインです。デフォルトのWordPress MUではできませんが、このプラグインを使えば可能になります。 みなさまのお問い合わせや [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress MUで、表示中以外のブログを含めたサイト全体の新着ブログを表示するプラグインです。デフォルトのWordPress MUではできませんが、このプラグインを使えば可能になります。</p>
<div class="kakomi">
<p>みなさまのお問い合わせやバグの指摘などから「正しい動作の実現」や「機能の追加」ができ、大変ありがたい限りです。是非とも、遠慮なくコメント欄でお問い合わせください。</p>
</div>
<h3>■ダウンロード</h3>
<dl>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.8.zip">version 0.1.8</a>（2009.09.15 latest release）</dt>
<dd>WordPress MU 2.8.3でテスト（運用中）</dd>
<dd>文字数制限機能の追加。</dd>
<dd>ブログIDの指定による表示ブログ・非表示ブログ指定機能の追加。</dd>
<dd>ページのリンク書き出しのにおけるバグを修正。</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.7.zip">version 0.1.7</a>（2009.09.04）</dt>
<dd>WordPress MU 2.8.3でテスト（運用中）</dd>
<dd>&lt;!&#8211;more&#8211;&gt;タグ以降の表示をオプションで設定できるように改良。</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.6.zip">version 0.1.6</a>（2009.08.28）</dt>
<dd>WordPress MU 2.8.3でテスト</dd>
<dd>インストール後に全ての記事で「投稿を更新」のボタンを押すことなく、記事を表示できるように改良。</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.5.zip">version 0.1.5</a>（2009.08.27）</dt>
<dd>WordPress MU 2.8.3でテスト</dd>
<dd>JopGlobalBlogIndex::the_timeメソッドにおいて、Wordpressと同じ引数が指定できるように改良。</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.4.zip">version 0.1.4</a>（2009.08.11）</dt>
<dd>WordPress MU 2.8.3でテスト</dd>
<dd>prefixをデフォルト以外にした時、投稿者名が表示されないバグを修正</dd>
<dd>ブログのタイトルや本文に（SQL文で使用される）特殊な文字があった場合に、投稿が表示されないバグを修正</dd>
<dd>複数回ループできないバグを修正</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.3.zip">version 0.1.3</a>（2009.07.09）</dt>
<dd>記事の削除ができないバグを修正</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.2.zip">version 0.1.2</a>（2009.06.24）</dt>
<dd>投稿者名が表示されるように改良</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.1.zip">version 0.1.1</a></dt>
<dd>β版:Warningの警告が出るのを修正</dd>
<dd>WordPress MU 2.7.0でテスト済み（運用中）</dd>
<dd>ディレクトリでブログを増やす場合でテスト済み、サブドメインの場合は未検証</dd>
<dt><a href="/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/jopGlobalBlogArchive0.1.0.zip">version 0.1.0</a>（2009.04.22）</dt>
<dd>β版</dd>
<dd>WordPress MU 2.7.0でテスト済み（運用中）</dd>
<dd>ディレクトリでブログを増やす場合でテスト済み、サブドメインの場合は未検証</dd>
</dl>
<h3>■仕様</h3>
<ul>
<li>PHP5以上</li>
<li>サブドメインでブログを管理する設定には未対応</li>
</ul>
<h3>■インストール方法</h3>
<ol>
<li>「/wp-content/mu-plugins/」に解凍したファイル、「jopGlobalBlogArchive.php」を設置する</li>
</ol>
<h3>■使い方</h3>
<h4>テンプレート</h4>
<p>例えば以下のような記述をテンプレート内にすると、サイト内の新規ブログを新しい順に5個（デフォルト）表示します。x個表示したい場合は、have_posts()の引数をhave_posts(x)と記述すれば、任意の回数だけ表示します。</p>
<p>通常のWordPressタグと同じようなコントロールができます。但し、query_posts関数は使用できません。</p>
<pre class="brush: php;">
&lt;div class=&quot;section&quot;&gt;
&lt;?php while(JopGlobalBlogIndex::have_posts()): ?&gt;
&lt;?php JopGlobalBlogIndex::the_post(); ?&gt;
&lt;div class=&quot;item&quot;&gt;
&lt;h3&gt;&lt;a href=&quot;&lt;?php print(JopGlobalBlogIndex::the_permalink()); ?&gt;&quot; title=&quot;&lt;?php print(JopGlobalBlogIndex::the_title()); ?&gt;&quot;&gt;&lt;?php print(JopGlobalBlogIndex::the_title()); ?&gt;&lt;/a&gt;(&lt;?php print(JopGlobalBlogIndex::the_author()); ?&gt;)&lt;?php print(JopGlobalBlogIndex::the_time('Y/m/d H:i:s')); ?&gt;&lt;/h3&gt;
&lt;p class=&quot;item_category&quot;&gt;Category: &lt;?php print(JopGlobalBlogIndex::the_category()); ?&gt;&lt;/p&gt;
&lt;?php print(JopGlobalBlogIndex::the_content()); ?&gt;
&lt;p class=&quot;readmore&quot;&gt;&lt;a href=&quot;&lt;?php print(JopGlobalBlogIndex::the_permalink()); ?&gt;&quot; title=&quot;&lt;?php print(JopGlobalBlogIndex::the_title()); ?&gt;&quot;&gt;Read More&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;?php endwhile; ?&gt;
&lt;/div&gt;
</pre>
<div class="kakomi">
<h4>解説</h4>
<pre class="brush: php;">
&lt;?php while(JopGlobalBlogIndex::have_posts([int $limit = 5[, array $option = array('allowedId' =&gt; array(), 'restrictedId' =&gt; array())]])): ?&gt;
&lt;?php JopGlobalBlogIndex::the_post(); ?&gt;
</pre>
<p>から</p>
<pre class="brush: php;">
&lt;?php endwhile; ?&gt;
</pre>
<p>の部分が記事の個数だけループされる部分です。$option['allowedId']には表示したいブログのIDを配列で指定でき、$option['restrictedId']には表示したくないブログのIDを指定できます。但し、$option['allowedId']か$option['restrictedId']の一方しか使用できず、両方指定してある場合は前者が有効となります。</p>
<h5>ループの中で使えるタグ一覧</h5>
<dl>
<dt>&lt;?php print(JopGlobalBlogIndex::the_permalink()); ?&gt;</dt>
<dd>記事のリンクを表示</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_title()); ?&gt;</dt>
<dd>記事のタイトルを表示</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_author()); ?&gt;</dt>
<dd>記事の投稿者名を表示</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_time(&#8216;Y/m/d H:i:s&#8217;)); ?&gt;</dt>
<dd>記事の公開日時を表示</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_category()); ?&gt;</dt>
<dd>記事のカテゴリーを表示</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_summary([int $limit = 50])); ?&gt;</dt>
<dd>記事の本文を表示。引数にtrueを設定すると、&lt;!&#8211;more&#8211;&gt;以降は表示されなくなる。デフォルトはfalse</dd>
<dt>&lt;?php print(JopGlobalBlogIndex::the_content([bool $omission = false])); ?&gt;</dt>
<dd>記事の本文を表示。引数にtrueを設定すると、&lt;!&#8211;more&#8211;&gt;以降は表示されなくなる。デフォルトはfalse</dd>
</dl>
</div>
<h3>■既知のバグ</h3>
<dl>
<dt>パーマリンクについて</dt>
<dd>リンクを書き換えるプラグインを使用し、親ブログと子ブログのうちどちらか一方で使用していた場合、リンクの書き換えに失敗し、正しいリンク先が表示できない。</li>
</dd>
</dl>
<h3>■version 0.1.8 ソースコード</h3>
<h4>jopGlobalBlogArchive.php</h4>
<p>「/wp-content/mu-plugins/jopGlobalBlogArchive.php」</p>
<pre class="brush: php;">
&lt;?php
/*
Plugin Name: jopGlobalBlogArchive
Plugin URI: http://blog.justoneplanet.info/wp-content/uploads/wordpressmu/jopGlobalBlogArchive/
Description: Prepare the list of some newer posts and categories from WPMU.
Author: Mitsuaki Ishimoto
Version: 0.1.8
Author URI: http://blog.justoneplanet.info/
*/
/*  Copyright 2009  Mitsuaki Ishimoto  (email : justoneplanet.info)

    This program is free software; fundamentally, you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    But the Author(:Mitsuaki Ishimoto) can deny for someone evil or immoral to use this plugin.
    it means someone evil or immoral is the people and organizations to hold a candle to the devil,
    to harm someone, not to observe various laws, not to contribute society and so on.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
//=======================================================
//actions
add_action('publish_post', 'jopSavePostForArchive');
add_action('publish_page', 'jopSavePostForArchive');
add_action('delete_post', 'jopDeletePostForArchive');

add_action('delete_category', 'jopDeleteCategoryForArchive');
//=======================================================
//class
class JopGlobalBlogIndex {
	/*
	 * $global_prefix
	 * (string) : prefix of database not including blog id
	 */
	private static $global_prefix;
	/*
	 * $post
	 * (object) : data of a post at current loop
	 */
	private static $post;
	/*
	 * $posts
	 * (array) : data of posts from the global post's table of database
	 */
	private static $posts;
	/*
	 * $counter
	 * (int) : counter for counting of loop
	 */
	private static $counter = 0;
	/**
	 * __construct
	 * An instantiation is prohibited.
	 */
	private function __construct(){
		throw new Exception('An instantiation is prohibited.');
	}
	/**
	 * getOptionsByBlogId
	 * get user's option defined by blog id and key
	 * @return (string) maybe_unserialize($_wp_alloptions[$blog_id][$key]) : option's value
	 * @param (string) $key : the key you need
	 * @param (string) maybe_unserialize($_wp_alloptions[$blog_id][$key]) : option's value
	 */
	private static function getOptionsByBlogId($key, $id){
		global $wpdb;
		$suppress = $wpdb-&gt;suppress_errors();
		$alloptions_db = $wpdb-&gt;get_results(
			&quot;SELECT option_name, option_value FROM &quot; . self::$global_prefix . $id . &quot;_options FORCE INDEX(PRIMARY) ORDER BY option_id ASC&quot;
		);
		$wpdb-&gt;suppress_errors($suppress);
		foreach((array)$alloptions_db as $o){
			$_wp_alloptions[$blog_id][$o-&gt;option_name] = $o-&gt;option_value;
		}
		wp_cache_set('alloptions', $_wp_alloptions[$blog_id], 'options');
		return maybe_unserialize($_wp_alloptions[$blog_id][$key]);
	}
	/**
	 * get_page_uri
	 * @return
	 */
	private static function get_page_uri(){
		global $wpdb;
		$uri = self::$post-&gt;post_name;
		if(self::$post-&gt;post_parent == self::$post-&gt;ID){
			return $uri;
		}
		$id = self::$post-&gt;post_parent;
		while($id != 0){
			$sql = &quot;SELECT
						`ID`,`post_name`,`post_parent`
					FROM &quot; . self::$global_prefix . self::$post-&gt;blog_id . &quot;_posts
					WHERE `ID` = '{$id}'&quot;;
			$result = $wpdb-&gt;get_results($sql, OBJECT);
			$result = $result[0];
			$id = $result-&gt;post_parent;
			$uri = $result-&gt;post_name . &quot;/&quot; . $uri;
		}
		return $uri;
	}
	/**
	 * _get_page_link
	 * @return (string)
	 * @param boolean $id[optional]
	 * @param boolean $leavename[optional]
	 */
	private static function _get_page_link($id = false, $leavename = false){
		global $wp_rewrite;
		$pagestruct = $wp_rewrite-&gt;get_page_permastruct();
		if($pagestruct != ''){
			$link = self::get_page_uri($id);
			$link = ($leavename)? $pagestruct : str_replace('%pagename%', $link, $pagestruct);
			$link = trailingslashit(self::getOptionsByBlogId('home', self::$post-&gt;blog_id)) . &quot;$link&quot;;
			$link = user_trailingslashit($link, 'page');
		}
		else{
			$link = trailingslashit(self::getOptionsByBlogId('home', self::$post-&gt;blog_id)) . &quot;?page_id={$post-&gt;post_id}&quot;;
		}
		return apply_filters('_get_page_link', $link, $id);
	}
	/**
	 * get_page_link
	 * @return (string) page_link
	 */
	private static function get_page_link($id = false, $leavename = false){
		if('page' == self::getOptionsByBlogId('show_on_front', self::$post-&gt;blog_id) &amp;&amp; self::$post-&gt;post_id == self::getOptionsByBlogId('page_on_front', self::$post-&gt;blog_id)){
			$link = self::getOptionsByBlogId('home', self::$post-&gt;blog_id);
		}
		else{
			$link = self::_get_page_link($id, $leavename);
		}
		return apply_filters('page_link', $link, $id);
	}
	/**
	 * get_permalink
	 * get the permalink from current post
	 * @return the permalink
	 * @param (int) $id[optional]
	 * @param (bool?) $leavename[optional]
	 */
	private static function get_permalink($id = 0, $leavename = false) {
		if(empty(self::$post-&gt;ID)){
			return false;
		}
		if(self::$post-&gt;post_type == 'page'){
			return self::get_page_link(self::$post-&gt;ID, $leavename);
		}
		elseif(self::$post-&gt;post_type == 'attachment'){
			return get_attachment_link(self::$post-&gt;ID);
		}
		$permalink = get_option('permalink_structure');
		if('' != $permalink &amp;&amp; !in_array(self::$post-&gt;post_status, array('draft', 'pending'))){
			$unixtime = strtotime(self::$post-&gt;post_date);
			$category = '';
			if(strpos($permalink, '%category%') !== false){
				$cats = get_the_category(self::$post-&gt;ID);
				if($cats){
					usort($cats, '_usort_terms_by_ID'); // order by ID
					$category = $cats[0]-&gt;slug;
					if($parent = $cats[0]-&gt;parent){
						$category = get_category_parents($parent, false, '/', true) . $category;
					}
				}
				// show default category in permalinks, without
				// having to assign it explicitly
				if(empty($category)) {
					$default_category = get_category(get_option('default_category'));
					$category = is_wp_error($default_category) ? '' : $default_category-&gt;slug;
				}
			}
			$author = '';
			if(strpos($permalink, '%author%') !== false){
				$authordata = get_userdata(self::$post-&gt;post_author);
				$author = $authordata-&gt;user_nicename;
			}
			$date = explode(&quot; &quot;, date('Y m d H i s', $unixtime));
			$blog_path = explode('/', self::$post-&gt;path);
			$blog_path = $blog_path[count($blog_path) - 2];
			$rewritecode = array(
				'blog',
				'%year%',
				'%monthnum%',
				'%day%',
				'%hour%',
				'%minute%',
				'%second%',
				$leavename? '' : '%postname%',
				'%post_id%',
				'%category%',
				'%author%',
				$leavename? '' : '%pagename%',
			);
			$rewritereplace = array(
				(self::$post-&gt;blog_id == 1)? 'blog' : $blog_path,
				$date[0],
				$date[1],
				$date[2],
				$date[3],
				$date[4],
				$date[5],
				self::$post-&gt;post_name,
				self::$post-&gt;ID,
				$category,
				$author,
				self::$post-&gt;post_name,
			);
			$permalink = get_option('home') . str_replace($rewritecode, $rewritereplace, $permalink);
			$permalink = user_trailingslashit($permalink, 'single');
			return apply_filters('post_link', $permalink, self::$post, $leavename);
		}
		else{ // if they're not using the fancy permalink option
			$permalink = get_option('home') . '/?p=' . self::$post-&gt;ID;
			return apply_filters('post_link', $permalink, self::$post, $leavename);
		}
	}
	/**
	 * savePost
	 * save post into the table '(prefix_)jop_global_posts' on installing and updating
	 * @return (null)
	 * @param (object) $result
	 * @param (int) $blogid
	 */
	public static function savePost($result, $blogid){
		global $wpdb;
		$id = $result['ID'];
		$sql = &quot;INSERT INTO &quot; . self::getGlobalPrefix() . &quot;jop_global_posts(
			`blog_id`,
			`post_id`,
			`identifier`,
			`post_author`,
			`post_date`,
			`post_date_gmt`,
			`post_content`,
			`post_title`,
			`post_category`,
			`post_excerpt`,
			`post_status`,
			`comment_status`,
			`ping_status`,
			`post_password`,
			`post_name`,
			`to_ping`,
			`pinged`,
			`post_modified`,
			`post_modified_gmt`,
			`post_content_filtered`,
			`post_parent`,
			`guid`,
			`menu_order`,
			`post_type`,
			`post_mime_type`,
			`comment_count`
		) VALUES('&quot;
			. $blogid . &quot;', '&quot;
			. $result['ID'] . &quot;', '&quot;
			. $blogid . &quot;/&quot; . $result['ID'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_author']) . &quot;', '&quot;
			. $result['post_date'] . &quot;', '&quot;
			. $result['post_date_gmt'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_content']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_title']) . &quot;', '&quot;
			. $result['post_category'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_excerpt']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_status']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['comment_status']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['ping_status']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_password']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_name']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['to_ping']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['pinged']) . &quot;', '&quot;
			. $result['post_modified'] . &quot;', '&quot;
			. $result['post_modified_gmt'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_content_filtered']) . &quot;', '&quot;
			. $result['post_parent'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['guid']) . &quot;', '&quot;
			. $result['menu_order'] . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_type']) . &quot;', '&quot;
			. $wpdb-&gt;_real_escape($result['post_mime_type']) . &quot;', '&quot;
			. $result['comment_count'] . &quot;'
		) ON DUPLICATE KEY UPDATE &quot;
			. &quot;`post_author` = '&quot;           . $wpdb-&gt;_real_escape($result['post_author']) . &quot;',&quot;
			. &quot;`post_date` = '&quot;             . $result['post_date'] . &quot;',&quot;
			. &quot;`post_date_gmt` = '&quot;         . $result['post_date_gmt'] . &quot;',&quot;
			. &quot;`post_content` = '&quot;          . $wpdb-&gt;_real_escape($result['post_content']) . &quot;',&quot;
			. &quot;`post_title` = '&quot;            . $wpdb-&gt;_real_escape($result['post_title']) . &quot;',&quot;
			. &quot;`post_category` = '&quot;         . $result['post_category'] . &quot;',&quot;
			. &quot;`post_excerpt` = '&quot;          . $wpdb-&gt;_real_escape($result['post_excerpt']) . &quot;',&quot;
			. &quot;`post_status` = '&quot;           . $wpdb-&gt;_real_escape($result['post_status']) . &quot;',&quot;
			. &quot;`comment_status` = '&quot;        . $wpdb-&gt;_real_escape($result['comment_status']) . &quot;',&quot;
			. &quot;`ping_status` = '&quot;           . $wpdb-&gt;_real_escape($result['ping_status']) . &quot;',&quot;
			. &quot;`post_password` = '&quot;         . $wpdb-&gt;_real_escape($result['post_password']) . &quot;',&quot;
			. &quot;`post_name` = '&quot;             . $wpdb-&gt;_real_escape($result['post_name']) . &quot;',&quot;
			. &quot;`to_ping` = '&quot;               . $wpdb-&gt;_real_escape($result['to_ping']) . &quot;',&quot;
			. &quot;`pinged` = '&quot;                . $wpdb-&gt;_real_escape($result['pinged']) . &quot;',&quot;
			. &quot;`post_modified` = '&quot;         . $result['post_modified'] . &quot;',&quot;
			. &quot;`post_modified_gmt` = '&quot;     . $result['post_modified_gmt'] . &quot;',&quot;
			. &quot;`post_content_filtered` = '&quot; . $wpdb-&gt;_real_escape($result['post_content_filtered']) . &quot;',&quot;
			. &quot;`post_parent` = '&quot;           . $result['post_parent'] . &quot;',&quot;
			. &quot;`guid` = '&quot;                  . $wpdb-&gt;_real_escape($result['guid']) . &quot;',&quot;
			. &quot;`menu_order` = '&quot;            . $result['menu_order'] . &quot;',&quot;
			. &quot;`post_type` = '&quot;             . $wpdb-&gt;_real_escape($result['post_type']) . &quot;',&quot;
			. &quot;`post_mime_type` = '&quot;        . $wpdb-&gt;_real_escape($result['post_mime_type']) . &quot;',&quot;
			. &quot;`comment_count` = '&quot;         . $result['comment_count'] . &quot;'&quot;;
		$wpdb-&gt;query($sql);

		/*
		 * pick up the term id for save
		 */
		$sql = &quot;SELECT &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_relationships.object_id, &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_taxonomy.term_id
				FROM &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_relationships
				LEFT JOIN &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_taxonomy
				ON &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_relationships.term_taxonomy_id = &quot; . self::getGlobalPrefix() . $blogid . &quot;_term_taxonomy.term_taxonomy_id
				WHERE &quot;
					. self::getGlobalPrefix() . $blogid . &quot;_term_relationships.`object_id` = '{$result['ID']}'&quot;;
		$result = $wpdb-&gt;get_results($sql, ARRAY_A);
		/*
		 * Once deleting for update
		 */
		$sql = &quot;DELETE FROM &quot;
					. self::getGlobalPrefix() . &quot;jop_global_term_relationships
				WHERE `object_id` = '{$id}'
				AND `blog_id` = '{$blogid}'&quot;;
		$wpdb-&gt;query($sql);

		/*
		 * insert
		 */
		$values = array();
		foreach($result as $key =&gt; $value){
			$values[] = &quot;'{$value['object_id']}', '{$blogid}', '{$value['term_id']}', '{$blogid}/{$value['object_id']}/{$value['term_id']}'&quot;;
		}
		$values = '(' . implode('),(', $values) . ')';
		$sql = &quot;INSERT INTO &quot; . self::getGlobalPrefix() . &quot;jop_global_term_relationships(
			`object_id`,
			`blog_id`,
			`cat_ID`,
			`identifier`
		) VALUES $values&quot;;
		$wpdb-&gt;query($sql);
	}
	/**
	 * install
	 * 1st query makes the table that keep the posts written by all users.
	 * 2nd query makes the table that keep the terms written by all users.
	 * @return (null)
	 */
	private static function install(){
		global $wpdb;
		$table_name = self::$global_prefix . &quot;jop_global_term_relationships&quot;;
		if($wpdb-&gt;get_var(&quot;SHOW TABLES LIKE '$table_name'&quot;) != $table_name){
			$sql = &quot;CREATE TABLE IF NOT EXISTS `$table_name` (
						`object_id` bigint(20) NOT NULL DEFAULT '0',
						`blog_id` int(11) NOT NULL DEFAULT '0',
						`cat_ID` bigint(20) NOT NULL DEFAULT '0',
						`identifier` varchar(255) NOT NULL DEFAULT '0/0',
						UNIQUE KEY `identifier` (`identifier`),
						KEY `cat_ID` (`cat_ID`),
						KEY `blog_id` (`blog_id`)
					) ENGINE=MyISAM DEFAULT CHARSET=utf8&quot;;
			$wpdb-&gt;get_results($sql);
		}
		$table_name = self::$global_prefix . &quot;jop_global_posts&quot;;
		if($wpdb-&gt;get_var(&quot;SHOW TABLES LIKE '$table_name'&quot;) != $table_name){
			$sql = &quot;CREATE TABLE IF NOT EXISTS `$table_name` (
						`ID` bigint(20) NOT NULL AUTO_INCREMENT,
						`blog_id` int(11) NOT NULL DEFAULT '0',
						`post_id` int(11) NOT NULL DEFAULT '0',
						`identifier` varchar(255) NOT NULL,
						`post_author` bigint(20) NOT NULL DEFAULT '0',
						`post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
						`post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
						`post_content` longtext NOT NULL,
						`post_title` text NOT NULL,
						`post_category` int(4) NOT NULL DEFAULT '0',
						`post_excerpt` text NOT NULL,
						`post_status` varchar(20) NOT NULL DEFAULT 'publish',
						`comment_status` varchar(20) NOT NULL DEFAULT 'open',
						`ping_status` varchar(20) NOT NULL DEFAULT 'open',
						`post_password` varchar(20) NOT NULL,
						`post_name` varchar(200) NOT NULL,
						`to_ping` text NOT NULL,
						`pinged` text NOT NULL,
						`post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
						`post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
						`post_content_filtered` text NOT NULL,
						`post_parent` bigint(20) NOT NULL DEFAULT '0',
						`guid` varchar(255) NOT NULL,
						`menu_order` int(11) NOT NULL DEFAULT '0',
						`post_type` varchar(20) NOT NULL DEFAULT 'post',
						`post_mime_type` varchar(100) NOT NULL,
						`comment_count` bigint(20) NOT NULL DEFAULT '0',
						PRIMARY KEY (`ID`),
						UNIQUE KEY `identifier` (`identifier`),
						KEY `blog_id` (`blog_id`),
						KEY `post_id` (`post_id`)
					) ENGINE=MyISAM  DEFAULT CHARSET=utf8&quot;;
			$wpdb-&gt;get_results($sql);
			/*
			 * save the posts have been published.
			 */
			$tables = $wpdb-&gt;get_results(&quot;SHOW TABLES LIKE '&quot; . self::$global_prefix . &quot;_\_posts'&quot;, ARRAY_N);
			foreach($tables as $table){
				$results = $wpdb-&gt;get_results(&quot;SELECT * FROM {$table[0]} WHERE `post_status` = 'publish'&quot;, ARRAY_A);
				$blogid = str_replace(array(self::$global_prefix, '_posts'), '', $table[0]);
				foreach($results as $result){
					self::savePost($result, $blogid);
				}
			}
		}
	}
	/**
	 * init
	 * @return null
	 */
	public static function init(){
		global $wpdb;
		self::$global_prefix = preg_replace(&quot;/[0-9]+_/&quot;, '', $wpdb-&gt;prefix);
		self::install();
	}
	/**
	 * getGlobalPrefix
	 * method for access to prefix
	 * @return (string) self::$global_prefix : table prefix
	 */
	public static function getGlobalPrefix(){
		return self::$global_prefix;
	}
	/**
	 * have_posts
	 * set the list of newer posts written by all users if self::$posts is not set
	 * judge if the self::$posts of current index exist or not
	 * @return (bool)
	 * @param (int) $limit : define the number of rows.
	 * @param (array) $option : define the option.
	 */
	public static function have_posts($limit = 5, $option = array()){
		global $wpdb;
		if(!isset(self::$posts)){
			$col = array(
				'ID',
				'blog_id',
				'post_id',
				'post_date',
				'post_content',
				'post_name',
				'post_author',
				'post_title',
				'post_category',
				'post_status',
				'post_type',
				'post_parent',
				'guid'
			);
			foreach($col as $key =&gt; $value){
				$col[$key] = self::$global_prefix . &quot;jop_global_posts.&quot; . $value;
			}
			$col = implode(',', $col);
			$sqlForAllowedBlog = '';
			if(is_array($option['allowedId'])){
				for($i = 0; $i &lt; count($option['allowedId']); $i++){
					if(is_int($option['allowedId'][$i]) &amp;&amp; $option['allowedId'][$i] &gt; 0){
						$sqlForAllowedBlog .= &quot; OR &quot; . self::$global_prefix . &quot;jop_global_posts.`blog_id` = '{$option['allowedId'][$i]}'&quot;;
					}
				}
				$sqlForAllowedBlog = substr($sqlForAllowedBlog, 4);
			}
			elseif(is_array($option['restrictedId'])){
				for($i = 0; $i &lt; count($option['restrictedId']); $i++){
					if(is_int($option['restrictedId'][$i]) &amp;&amp; $option['restrictedId'][$i] &gt; 0){
						$sqlForAllowedBlog .= &quot; AND &quot; . self::$global_prefix . &quot;jop_global_posts.`blog_id` != '{$option['restrictedId'][$i]}'&quot;;
					}
				}
				$sqlForAllowedBlog = substr($sqlForAllowedBlog, 5);
			}
			if($sqlForAllowedBlog !== ''){
				$sqlForAllowedBlog = &quot; AND ($sqlForAllowedBlog) &quot;;
			}
			$sql = &quot;SELECT
						{$col},&quot; . self::$global_prefix . &quot;blogs.path
					FROM &quot;
						. self::$global_prefix . &quot;jop_global_posts
					LEFT JOIN &quot;
						. self::$global_prefix . &quot;blogs
					ON &quot;
						. self::$global_prefix . &quot;jop_global_posts.blog_id = &quot; . self::$global_prefix . &quot;blogs.blog_id
					WHERE &quot;
						. self::$global_prefix . &quot;jop_global_posts.`post_status` = 'publish'
					AND &quot;
						. self::$global_prefix . &quot;jop_global_posts.`post_password` = ''
					$sqlForAllowedBlog
					ORDER BY `post_date` DESC
					LIMIT 0,$limit&quot;;
			$result = $wpdb-&gt;get_results($sql, OBJECT);
			self::$posts = $result;
		}
		if(isset(self::$posts[self::$counter])){
			return true;
		}
		else{
			self::$counter = 0;
			self::$posts = null;//for multiple loop(in the case of different situation)
			return false;
		}
	}
	/**
	 * the_post
	 * get the post in a loop and set the counter for the next loop.
	 * @return (array) self::$post
	 */
	public static function the_post(){
		self::$post = self::$posts[self::$counter];
		self::$counter++;
		return self::$post;
	}
	/**
	 * the_title
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;post_title
	 */
	public static function the_title(){
		return apply_filters('the_title', self::$post-&gt;post_title);
	}
	/**
	 * the_ID
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;ID
	 */
	public static function the_ID(){
		return self::$post-&gt;ID;
	}
	/**
	 * the_permalink
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;guid
	 */
	public static function the_permalink(){
		return apply_filters('the_permalink', self::get_permalink());
	}
	/**
	 * the_time
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;post_date
	 */
	public static function the_time($d = ''){
		return apply_filters('the_time', self::get_the_time( $d ), $d);
	}
	/**
	 * get_the_time
	 * @return (String) date
	 */
	private function get_the_time($d = ''){
		if('' == $d){
			$the_time = get_post_time(get_option('time_format'), false, self::$post, true);
		}
		else{
			$the_time = get_post_time($d, false, self::$post, true);
		}
		return apply_filters('get_the_time', $the_time, $d, self::$post);
	}
	/**
	 * the_author
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;post_author
	 */
	public static function the_author(){
		global $wpdb;
		$id = self::$post-&gt;post_author;
		$sql = &quot;SELECT `user_nicename` FROM `&quot; . self::$global_prefix . &quot;users` WHERE `ID` = '$id'&quot;;
		$result = $wpdb-&gt;get_results($sql, ARRAY_N);
		return $result[0][0];
	}
	/**
	 * the_content
	 * get the body from the current loop.
	 * @return (string) self::$post-&gt;post_content
	 */
	public static function the_content($stripteaser = false){
		$content = self::$post-&gt;post_content;
		if($stripteaser){
			list($content) = preg_split('/&lt;!--more(.*?)?--&gt;/', $content);
		}
		$content = apply_filters('the_content', $content);
		$content = str_replace(']]&gt;', ']]&amp;gt;', $content);
		return $content;
	}
	/**
	 * the_summary
	 * get the summary form the current loop.
	 * @return (string) self::$post-&gt;post_content
	 * @param (int) $limit
	 */
	public static function the_summary($limit = 50){
		if(!is_int($limit)){
			$limit = 50;
		}
		$content = self::$post-&gt;post_content;
		$funcs = get_defined_functions();
		if(in_array('mb_substr', $funcs['internal'])){
			$content = mb_substr(strip_tags($content), 0, $limit);
		}
		else{
			$content = substr(strip_tags($content), 0, $limit);
		}
		$content = str_replace(']]&gt;', ']]&amp;gt;', $content);
		return $content;
	}
	/**
	 * the_category
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;post_category
	 */
	public static function the_category(){
		global $wpdb;
		$blog_id = self::$post-&gt;blog_id;
		$post_id = self::$post-&gt;post_id;
		$sql = &quot;SELECT `&quot;
					. self::$global_prefix . &quot;sitecategories`.`cat_name`
				FROM `&quot;
					. self::$global_prefix . &quot;jop_global_term_relationships`
				LEFT JOIN `&quot;
					. self::$global_prefix . &quot;sitecategories`
				ON `&quot;
					. self::$global_prefix . &quot;jop_global_term_relationships`.`cat_ID` = `&quot; . self::$global_prefix . &quot;sitecategories`.`cat_ID`
				WHERE `&quot;
					. self::$global_prefix . &quot;jop_global_term_relationships`.`object_id` = '$post_id'
				AND `&quot;
					. self::$global_prefix . &quot;jop_global_term_relationships`.`blog_id` = '$blog_id'&quot;;
		$tmpAry = array();
		$result = $wpdb-&gt;get_results($sql, ARRAY_A);
		foreach($result as $key =&gt; $value){
			$tmpAry[] = $value['cat_name'];
		}
		sort($tmpAry);
		return implode(', ', $tmpAry);
	}
	/*prepare*/
	public static function the_tags(){
		return self::$post-&gt;post_title;
	}
	public static function the_title_attribute(){
		return self::$post-&gt;post_title;
	}
	/*categories*/
	/**
	 * wp_list_categories
	 * get the title from the current loop.
	 * @return (string) self::$post-&gt;post_category
	 */
	public static function wp_list_categories($args = ''){
		$defaults = array(
			'show_option_all'    =&gt; '',
			'orderby'            =&gt; 'name',
			'order'              =&gt; 'ASC',
			'show_last_update'   =&gt; 0,
			'style'              =&gt; 'list',
			'show_count'         =&gt; 0,
			'hide_empty'         =&gt; 1,
			'use_desc_for_title' =&gt; 1,
			'child_of'           =&gt; 0,
			'feed'               =&gt; '',
			'feed_type'          =&gt; '',
			'feed_image'         =&gt; '',
			'exclude'            =&gt; '',
			'current_category'   =&gt; 0,
			'hierarchical'       =&gt; true,
			'title_li'           =&gt; __('Categories'),
			'echo'               =&gt; 1,
			'depth'              =&gt; 0
		);
		$r = wp_parse_args($args, $defaults);
		if(!isset($r['pad_counts']) &amp;&amp; $r['show_count'] &amp;&amp; $r['hierarchical']){
			$r['pad_counts'] = true;
		}
		if(isset($r['show_date'])){
			$r['include_last_update_time'] = $r['show_date'];
		}
		extract($r);
		$categories = get_categories($r);
		$output = '';
		if($title_li &amp;&amp; 'list' == $style){
			$output = '&lt;li class=&quot;categories&quot;&gt;' . $r['title_li'] . '&lt;ul&gt;';
		}
		if(empty($categories)){
			if('list' == $style){
				$output .= '&lt;li&gt;' . __(&quot;No categories&quot;) . '&lt;/li&gt;';
			}
			else{
				$output .= __(&quot;No categories&quot;);
			}
		}
		else{
			global $wp_query;
			if(!empty($show_option_all)){
				if('list' == $style){
					$output .= '&lt;li&gt;&lt;a href=&quot;' .  get_bloginfo('url')  . '&quot;&gt;' . $show_option_all . '&lt;/a&gt;&lt;/li&gt;';
				}
				else{
					$output .= '&lt;a href=&quot;' .  get_bloginfo('url')  . '&quot;&gt;' . $show_option_all . '&lt;/a&gt;';
				}
			}
			if(empty($r['current_category']) &amp;&amp; is_category()){
				$r['current_category'] = $wp_query-&gt;get_queried_object_id();
			}
			if($hierarchical){
				$depth = $r['depth'];
			}
			else{
				$depth = -1; // Flat.
			}
			$output .= walk_category_tree($categories, $depth, $r);
		}
		if($title_li &amp;&amp; 'list' == $style){
			$output .= '&lt;/ul&gt;&lt;/li&gt;';
		}
		$output = apply_filters('wp_list_categories', $output);
		if($echo){
			echo $output;
		}
		else{
			return $output;
		}
	}
}
JopGlobalBlogIndex::init();
//=======================================================
//functions
/**
 * jopDeleteCategoryForArchive
 * @return (null)
 * @param (int) $id
 */
function jopDeleteCategoryForArchive($id){
	global $wpdb;
	$sql = &quot;DELETE FROM &quot;
				. JopGlobalBlogIndex::getGlobalPrefix() . &quot;jop_global_term_relationships
			WHERE `blog_id` = '{$wpdb-&gt;blogid}' AND `cat_ID` = '{$id}'&quot;;
	$wpdb-&gt;query($sql);
}
/**
 * jopSavePostForArchive
 * @return (null)
 * @param (int) $id
 */
function jopSavePostForArchive($id){
	global $wpdb;
	$sql = &quot;SELECT * FROM &quot;
				. JopGlobalBlogIndex::getGlobalPrefix() . $wpdb-&gt;blogid . &quot;_posts
			WHERE `ID` = '$id'&quot;;
	$result = $wpdb-&gt;get_results($sql, ARRAY_A);
	$result = $result[0];
	JopGlobalBlogIndex::savePost($result, $wpdb-&gt;blogid);
}
/**
 * jopDeletePostForArchive
 * @return (null)
 * @param (int) $id
 */
function jopDeletePostForArchive($id){
	global $wpdb;
	$sql = &quot;DELETE FROM &quot;
				. JopGlobalBlogIndex::getGlobalPrefix() . &quot;jop_global_posts
			WHERE `identifier` = '&quot; . $wpdb-&gt;blogid . '/' . $id . &quot;'&quot;;
	$wpdb-&gt;query($sql);
	//var_dump($sql);
	//throw new Exception();
}
?&gt;
</pre>
<h3>■ライセンスについて</h3>
<p>GNU General Public Licenseです。但し、法律に従わない組織や個人などの邪悪な（者の）使用は認めません。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/04/22/jopglobalblogarchivewordpress-mu-plugin/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>OpenPNE3で画像がアップロード出来ない</title>
		<link>http://blog.justoneplanet.info/2009/03/24/openpne3%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84/</link>
		<comments>http://blog.justoneplanet.info/2009/03/24/openpne3%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 03:41:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=394</guid>
		<description><![CDATA[■パーミッションの設定が間違っている そんなときは、公開ディレクトリの「uploads」以下のパーミッションを、すべて「777」にする。 ■公開ディレクトリの設定が間違っている symfonyの公開ディレクトリの設定はデ [...]]]></description>
			<content:encoded><![CDATA[<h3>■パーミッションの設定が間違っている</h3>
<p>そんなときは、公開ディレクトリの「uploads」以下のパーミッションを、すべて「777」にする。</p>
<hr />
<h3>■公開ディレクトリの設定が間違っている</h3>
<p>symfonyの公開ディレクトリの設定はデフォルトでは「web/」である。</p>
<p>しかし、これを理解せずに公開ディレクトリを「httpdocs/」などとしインストールを進めると、アップロードした写真が、「web/」配下に保存され、当然ながら公開ディレクトリとは異なるため、写真が表示されなくなる。</p>
<h4>対策:symfonyにおける公開ディレクトリ名の変更</h4>
<p>公開ディレクトリ名が「httpdocs」の場合</p>
<pre class="brush: php;">
&lt;?php
# FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib
require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this-&gt;enableAllPluginsExcept(array('sfCompat10Plugin'));
    $this-&gt;setIncludePath();
  }
  public function setIncludePath()
  {
    sfToolkit::addIncludePath(array(
      //PEAR
      dirname(__FILE__).'/../lib/vendor/PEAR/',
    ));
  }
}
</pre>
<p>上述の「config/ProjectConfiguration.class.php」を以下のように変更する。</p>
<pre class="brush: php;">
&lt;?php
# FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib
require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this-&gt;enableAllPluginsExcept(array('sfCompat10Plugin'));
    $this-&gt;setIncludePath();
    $this-&gt;setWebDir($this-&gt;getRootDir() . '/httpdocs');
  }
  public function setIncludePath()
  {
    sfToolkit::addIncludePath(array(
      //PEAR
      dirname(__FILE__).'/../lib/vendor/PEAR/',
    ));
  }
}
</pre>
<p>追記したのは、11行目部分の以下の記述。</p>
<pre class="brush: php;">
$this-&gt;setWebDir($this-&gt;getRootDir() . '/httpdocs');
</pre>
<p>そして以下のコマンドでOpenPNEを再インストールする。</p>
<pre class="brush: bash;">
./symfony openpne:migrate
</pre>
<h5>参考</h5>
<ul>
<li><a href="http://www.symfony-project.org/cookbook/1_2/ja/directory_structure">http://www.symfony-project.org/cookbook/1_2/ja/directory_structure</a></li>
<li><a href="http://symfony.xrea.jp/1.1/book/19-Mastering-Symfony-s-Configuration-Files.html">http://symfony.xrea.jp/1.1/book/19-Mastering-Symfony-s-Configuration-Files.html</a></li>
</ul>
<div class="kakomi">
<h4>別解:サーバ設定におけるWeb公開ディレクトリ名の変更</h4>
<p>どちらかというと美しくない方法ではあるが、サーバ設定で変更する方法も考えられる。</p>
<pre class="brush: xml;">
DocumentRoot /var/www/vhosts/「ドメイン」/subdomains/「ドメイン」/httpdocs
</pre>
<pre class="brush: xml;">
&lt;Directory  /var/www/vhosts/「ドメイン」/subdomains/「ドメイン」/httpdocs&gt;
</pre>
<p>httpd.confやhttpd.include（Plesk）ファイルの上述の部分を以下のように編集</p>
<pre class="brush: xml;">
DocumentRoot /var/www/vhosts/「ドメイン」/subdomains/「ドメイン」/web
</pre>
<pre class="brush: xml;">
&lt;Directory  /var/www/vhosts/「ドメイン」/subdomains/「ドメイン」/web&gt;
</pre>
</div>
<h3>■その他</h3>
<p><a href="http://www.pne.jp/ticket/3599">symfony側のバグ</a>という可能性もある。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/03/24/openpne3%e3%81%a7%e7%94%bb%e5%83%8f%e3%81%8c%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WP_MultilingualでWordPressを多言語化</title>
		<link>http://blog.justoneplanet.info/2009/01/28/wp_multilingual%e3%81%a7wordpress%e3%82%92%e5%a4%9a%e8%a8%80%e8%aa%9e%e5%8c%96/</link>
		<comments>http://blog.justoneplanet.info/2009/01/28/wp_multilingual%e3%81%a7wordpress%e3%82%92%e5%a4%9a%e8%a8%80%e8%aa%9e%e5%8c%96/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 03:25:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=242</guid>
		<description><![CDATA[・・・できるんですが、パーマリンクの設定を行うとバグが発生するようです。具体的には・・・ ■Wordpress通常版 デフォルト以外のラジオボタンを選択すると リダイレクトがループして表示できなくなる。 対処方法としては [...]]]></description>
			<content:encoded><![CDATA[<p>・・・できるんですが、パーマリンクの設定を行うとバグが発生するようです。具体的には・・・</p>
<h4>■Wordpress通常版</h4>
<p>デフォルト以外のラジオボタンを選択すると</p>
<ul>
<li>リダイレクトがループして表示できなくなる。</li>
</ul>
<p>対処方法としてはパーマリンク設定を変更しない!?「数字ベース」を選択するとブログの表示は出来るようだが、設定画面でエラーがでる。</p>
<h4>■Wordpress MU</h4>
<p>設定＞パーマリンクの設定をクリックすると</p>
<ul>
<li>リダイレクトがループして表示できなくなる。</li>
<li>「管理」が表示されなくなる。</li>
</ul>
<p>言語のアクティベートを解除して、もう一度アクティベートをすると不具合が解消される。ただしパーマリンク設定の変更は現状出来ない。</p>
<h4>■ダウンロード</h4>
<p><a href="http://wordpress.org/extend/plugins/wp-multilingual/">こちら</a>から行えます</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2009/01/28/wp_multilingual%e3%81%a7wordpress%e3%82%92%e5%a4%9a%e8%a8%80%e8%aa%9e%e5%8c%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nucleusのifを使ってみよう</title>
		<link>http://blog.justoneplanet.info/2008/12/16/nucleus%e3%81%aeif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/</link>
		<comments>http://blog.justoneplanet.info/2008/12/16/nucleus%e3%81%aeif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 04:00:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[コンピューター]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=200</guid>
		<description><![CDATA[■趣旨 備忘録です。 ■使い方 ブログの名前（短縮名）で条件分岐 &#60;%if(blogsetting,bshortname,ブログの名前)%&#62; &#60;%処理1%&#62; &#60;%else%&#62; &#60; [...]]]></description>
			<content:encoded><![CDATA[<h4>■趣旨</h4>
<p>備忘録です。</p>
<h4>■使い方</h4>
<h5>ブログの名前（短縮名）で条件分岐</h5>
<p><code>&lt;%if(blogsetting,bshortname,ブログの名前)%&gt;<br />
&lt;%処理1%&gt;<br />
&lt;%else%&gt;<br />
&lt;%</code><code>処理2</code><code>%&gt;<br />
&lt;%endif%&gt;</code></p>
<h5>つまりblogsettingを1つ目の引数に持ってくると</h5>
<p><code>&lt;%if(blogsetting,nucleus_blogのカラム名,対象カラムの値)%&gt;<br />
&lt;%処理1%&gt;<br />
&lt;%else%&gt;<br />
&lt;%</code><code>処理2</code><code>%&gt;<br />
&lt;%endif%&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2008/12/16/nucleus%e3%81%aeif%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NP_MitasNom( of Nucleus Plugin)のバグを直そう</title>
		<link>http://blog.justoneplanet.info/2008/11/26/np_mitasnom-of-nucleus-plugin%e3%81%ae%e3%83%90%e3%82%b0%e3%82%92%e7%9b%b4%e3%81%9d%e3%81%86/</link>
		<comments>http://blog.justoneplanet.info/2008/11/26/np_mitasnom-of-nucleus-plugin%e3%81%ae%e3%83%90%e3%82%b0%e3%82%92%e7%9b%b4%e3%81%9d%e3%81%86/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 03:21:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://blog.justoneplanet.info/?p=161</guid>
		<description><![CDATA[■結論 NP_MitasNom.phpの112行目あたり、 if(!$blogid &#38;&#38; $itemid){ $blogid = getBlogIDFromItemID($itemid); } を if( [...]]]></description>
			<content:encoded><![CDATA[<h4>■結論</h4>
<p>NP_MitasNom.phpの112行目あたり、</p>
<p><code>if(!$blogid &amp;&amp; $itemid){<br />
$blogid = getBlogIDFromItemID($itemid);<br />
}</code><br />
を<br />
<code>if(/*!$blogid &amp;&amp; */$itemid){<br />
$blogid = getBlogIDFromItemID($itemid);<br />
}</code><br />
と記述する</p>
<h4>■結果</h4>
<p>「常にWYSIWYGエディターを使いますか？」に対して、「はい」を選択した時、一般ユーザーの記事の追加、編集が出来なくなるバグを解消できる。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2008/11/26/np_mitasnom-of-nucleus-plugin%e3%81%ae%e3%83%90%e3%82%b0%e3%82%92%e7%9b%b4%e3%81%9d%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EC CUBEはMySQL4.0系ではインストールできない</title>
		<link>http://blog.justoneplanet.info/2008/06/25/ec-cube%e3%81%afmysql40%e7%b3%bb%e3%81%a7%e3%81%af%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/</link>
		<comments>http://blog.justoneplanet.info/2008/06/25/ec-cube%e3%81%afmysql40%e7%b3%bb%e3%81%a7%e3%81%af%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 15:52:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://justoneplanet.sakura.ne.jp/wordpress/2008/06/25/ec-cube%e3%81%afmysql40%e7%b3%bb%e3%81%a7%e3%81%af%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/</guid>
		<description><![CDATA[■理由 サブクエリを使っているため。またインストール時にもテーブルの制作に失敗する。 参考文献]]></description>
			<content:encoded><![CDATA[<h4>■理由</h4>
<p>サブクエリを使っているため。またインストール時にもテーブルの制作に失敗する。</p>
<p><a href="http://lolipoking.lolipop.jp/php/patio.cgi?mode=past&#038;no=3049">参考文献</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2008/06/25/ec-cube%e3%81%afmysql40%e7%b3%bb%e3%81%a7%e3%81%af%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPressの各権限で出来る事</title>
		<link>http://blog.justoneplanet.info/2007/10/31/wordpress%e3%81%ae%e5%90%84%e6%a8%a9%e9%99%90%e3%81%a7%e5%87%ba%e6%9d%a5%e3%82%8b%e4%ba%8b/</link>
		<comments>http://blog.justoneplanet.info/2007/10/31/wordpress%e3%81%ae%e5%90%84%e6%a8%a9%e9%99%90%e3%81%a7%e5%87%ba%e6%9d%a5%e3%82%8b%e4%ba%8b/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 08:16:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://justoneplanet.sakura.ne.jp/wordpress/2007/10/31/wordpress%e3%81%ae%e5%90%84%e6%a8%a9%e9%99%90%e3%81%a7%e5%87%ba%e6%9d%a5%e3%82%8b%e4%ba%8b/</guid>
		<description><![CDATA[■Administrator いわゆる管理者。無制限状態。なんでも出来る ■Editor 編集者。ダッシュボード、投稿、管理（アップロード使用可）、ブログロール、プロフィールが操作可能 ■Author 投稿者。ダッシュボ [...]]]></description>
			<content:encoded><![CDATA[<h4>■Administrator</h4>
<p>いわゆる管理者。無制限状態。なんでも出来る</p>
<h4>■Editor</h4>
<p>編集者。ダッシュボード、投稿、管理（アップロード使用可）、ブログロール、プロフィールが操作可能</p>
<h4>■Author</h4>
<p>投稿者。ダッシュボード、投稿、管理（アップロード使用可）、プロフィールが操作可能</p>
<h4>■Contributor</h4>
<p>寄稿者。ダッシュボード、投稿、管理（アップロード使用不可）、プロフィールが操作可能</p>
<h4>■Subscriber</h4>
<p>購読者。ダッシュボードとプロフィールが操作可能</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justoneplanet.info/2007/10/31/wordpress%e3%81%ae%e5%90%84%e6%a8%a9%e9%99%90%e3%81%a7%e5%87%ba%e6%9d%a5%e3%82%8b%e4%ba%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

