<?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>さんきゅう堂的_STYLE &#187; 覚　書</title>
	<atom:link href="http://sunq.jp/style/archives/category/hardsoft/memo/feed" rel="self" type="application/rss+xml" />
	<link>http://sunq.jp/style</link>
	<description>奈良県王寺町より今をライブカメラで発信！</description>
	<lastBuildDate>Tue, 22 May 2012 03:29:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SemanticScuttle0.98.3 アップグレード</title>
		<link>http://sunq.jp/style/archives/2011/11/07-121840?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=semanticscuttle0-98-3-%25e3%2582%25a2%25e3%2583%2583%25e3%2583%2597%25e3%2582%25b0%25e3%2583%25ac%25e3%2583%25bc%25e3%2583%2589</link>
		<comments>http://sunq.jp/style/archives/2011/11/07-121840#comments</comments>
		<pubDate>Mon, 07 Nov 2011 03:18:40 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[0.98.3]]></category>
		<category><![CDATA[semanticscuttle]]></category>
		<category><![CDATA[アップグレード]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/11/07-121840</guid>
		<description><![CDATA[0.97.1から0.98.3にアップグレード。 db変更。/data/schema/6.sql を実行 www-header.php 変更 &#60;?php /** * Base file that every file [...]]]></description>
			<content:encoded><![CDATA[<p>0.97.1から0.98.3にアップグレード。<br />
<a href="http://semanticscuttle.sourceforge.net/" target="_blank"></a><br />
<span id="more-5917"></span>db変更。/data/schema/6.sql を実行<br />
www-header.php 変更</p>
<pre class="brush: php:first-line:20">
&lt;?php
/**
 * Base file that every file in www/ should include.
 * Loads all other SemanticScuttle files.
 *
 * SemanticScuttle - your social bookmark manager.
 *
 * PHP version 5.
 *
 * @category Bookmarking
 * @package  SemanticScuttle
 * @author   Benjamin Huynh-Kim-Bang &lt;mensonge@users.sourceforge.net&gt;
 * @author   Christian Weiske &lt;cweiske@cweiske.de&gt;
 * @author   Eric Dane &lt;ericdane@users.sourceforge.net&gt;
 * @license  GPL http://www.gnu.org/licenses/gpl.html
 * @link     http://sourceforge.net/projects/semanticscuttle
 */
if (&#039;@data_dir@&#039; == &#039;@&#039; . &#039;data_dir@&#039;) {
    //non pear-install
    require_once dirname(__FILE__) . &#039;/src/SemanticScuttle/header.php&#039;;
} else {
    //pear installation; files are in include path
    require_once &#039;SemanticScuttle/header.php&#039;;
}
?&gt;
</pre>
<p style="margin-top:1em;">
<p>/data/cache 作成。パーミッション777に変更</p>
<p style="margin-top:1em;">
<p>/data/templates/default/bookmarks-thumbnail.inc.tpl.php 変更<br />/data/config.default.php $enableWebsiteThumbnails = true; に変更</p>
<pre class="brush: php">
&lt;?php
/**
 * Bookmark thumbnail image
 * Shows the website thumbnail for the bookmark.
 *
 * Expects a $row variable with bookmark data.
 */
if (!$GLOBALS[&#039;enableWebsiteThumbnails&#039;]) {
    return;
}

$thumbnailHash = md5(
    $address . $GLOBALS[&#039;thumbnailsUserId&#039;] . $GLOBALS[&#039;thumbnailsKey&#039;]
);
echo &#039;&lt;a href=&quot;&#039;. $address .&#039;&quot;&#039;. $rel .&#039; target=&quot;_blank&quot;&gt;&lt;img class=&quot;thumbnail&quot; src=&quot;http://capture.heartrails.com/120x90/border?&#039;.$address.&#039;&quot; /&gt;&#039;;
//echo &#039;&lt;a href=&quot;&#039;. $address .&#039;&quot;&#039;. $rel .&#039; &gt;&lt;img class=&quot;thumbnail&quot; src=&quot;http://www.artviper.net/screenshots/screener.php?url=&#039;.$address.&#039;&amp;w=120&amp;sdx=1280&amp;userID=&#039;.$GLOBALS[&#039;thumbnailsUserId&#039;].&#039;&amp;hash=&#039;.$thumbnailHash.&#039;&quot; /&gt;&#039;;
//echo &#039;&lt;img class=&quot;thumbnail&quot; onclick=&quot;window.location.href=\&#039;&#039;.$address.&#039;\&#039;&quot; src=&quot;http://www.artviper.net/screenshots/screener.php?url=&#039;.$address.&#039;&amp;w=120&amp;sdx=1280&amp;userID=&#039;.$GLOBALS[&#039;thumbnailsUserId&#039;].&#039;&amp;hash=&#039;.$thumbnailHash.&#039;&quot; /&gt;&#039;;

?&gt;
</pre>
<p style="margin-top:1em;">
<p>/data/templates/default/bookmarks.tpl.php ページナビゲーション</p>
<pre class="brush: php">
&lt;?php
/**
 * Show a list of bookmarks.
 *
 * SemanticScuttle - your social bookmark manager.
 *
 * PHP version 5.
 *
 * @category    Bookmarking
 * @package     SemanticScuttle
 * @subcategory Templates
 * @author      Benjamin Huynh-Kim-Bang &lt;mensonge@users.sourceforge.net&gt;
 * @author      Christian Weiske &lt;cweiske@cweiske.de&gt;
 * @author      Eric Dane &lt;ericdane@users.sourceforge.net&gt;
 * @license     GPL http://www.gnu.org/licenses/gpl.html
 * @link        http://sourceforge.net/projects/semanticscuttle
 */

/* Service creation: only useful services are created */
$bookmarkservice = SemanticScuttle_Service_Factory::get(&#039;Bookmark&#039;);
$tagservice      = SemanticScuttle_Service_Factory::get(&#039;Tag&#039;);
$cdservice       = SemanticScuttle_Service_Factory::get(&#039;CommonDescription&#039;);

$pageName   = isset($pageName) ? $pageName : &#039;&#039;;
$user       = isset($user) ? $user : &#039;&#039;;
$currenttag = isset($currenttag) ? $currenttag : &#039;&#039;;

$this-&gt;includeTemplate($GLOBALS[&#039;top_include&#039;]);

include(&#039;search.menu.php&#039;);
?&gt;

&lt;?php if($pageName == PAGE_INDEX &amp;&amp; $GLOBALS[&#039;welcomeMessage&#039;]):?&gt;
&lt;p id=&quot;welcome&quot;&gt;&lt;?php echo $GLOBALS[&#039;welcomeMessage&#039;];?&gt;&lt;/p&gt;
&lt;?php endif?&gt;

&lt;?php if($GLOBALS[&#039;enableAdminColors&#039;]!=false &amp;&amp; isset($userid) &amp;&amp; $userservice-&gt;isAdmin($userid) &amp;&amp; $pageName != PAGE_WATCHLIST) : ?&gt;
&lt;div style=&quot;width:70%;text-align:center;&quot;&gt;
 &lt;img src=&quot;&lt;?php $theme-&gt;resource(&#039;images/logo_24.gif&#039;); ?&gt;&quot; width=&quot;12px&quot;/&gt;
 &lt;?php echo T_(&#039;Bookmarks on this page are managed by an admin user.&#039;); ?&gt;
 &lt;img src=&quot;&lt;?php $theme-&gt;resource(&#039;images/logo_24.gif&#039;); ?&gt;&quot; width=&quot;12px&quot;/&gt;
&lt;/div&gt;
&lt;?php endif?&gt;

&lt;?php
// common tag description
if(($currenttag!= &#039;&#039; &amp;&amp; $GLOBALS[&#039;enableCommonTagDescription&#039;])
|| (isset($hash) &amp;&amp; $GLOBALS[&#039;enableCommonBookmarkDescription&#039;])):?&gt;

&lt;p class=&quot;commondescription&quot;&gt;&lt;?php
$cDescription = &#039;&#039;;
if($currenttag!= &#039;&#039; &amp;&amp; $cdservice-&gt;getLastTagDescription($currenttag)) {
	$cDescription = $cdservice-&gt;getLastTagDescription($currenttag);
	echo nl2br(filter($cDescription[&#039;cdDescription&#039;]));
} elseif(isset($hash) &amp;&amp; $cdservice-&gt;getLastBookmarkDescription($hash)) {
	$cDescription = $cdservice-&gt;getLastBookmarkDescription($hash);
	echo nl2br(filter($cDescription[&#039;cdTitle&#039;])). &quot;&lt;br/&gt;&quot;;
	echo nl2br(filter($cDescription[&#039;cdDescription&#039;])). &quot;&lt;br/&gt;&quot;;
}

//common tag description edit
if ($userservice-&gt;isLoggedOn()) {
	if ($currenttag != &#039;&#039;
        &amp;&amp; ($GLOBALS[&#039;enableCommonTagDescriptionEditedByAll&#039;]
            || $currentUser-&gt;isAdmin()
        )
    ) {
		echo &#039; &lt;a href=&quot;&#039;. createURL(&#039;tagcommondescriptionedit&#039;, $currenttag).&#039;&quot; title=&quot;&#039;.T_(&#039;Edit the common description of this tag&#039;).&#039;&quot;&gt;&#039;;
		echo !is_array($cDescription) || strlen($cDescription[&#039;cdDescription&#039;])==0?T_(&#039;Edit the common description of this tag&#039;):&#039;&#039;;
		echo &#039; &lt;img src=&quot;&#039; . $theme-&gt;resource(&#039;images/b_edit.png&#039;) . &#039;&quot; /&gt;&lt;/a&gt;&#039;;
	} else if (isset($hash)) {
		echo &#039; (&lt;a href=&quot;&#039;.createURL(&#039;bookmarkcommondescriptionedit&#039;, $hash).&#039;&quot; title=&quot;&#039;.T_(&#039;Edit the common description of this bookmark&#039;).&#039;&quot;&gt;&#039;;
		echo T_(&#039;Edit the common description of this bookmark&#039;).&#039;&lt;/a&gt;)&#039;;
	}
}
?&gt;&lt;/p&gt;
&lt;?php endif ?&gt;

&lt;?php
/* personal tag description */
if($currenttag!= &#039;&#039; &amp;&amp; $user!=&#039;&#039;) {
	$userObject = $userservice-&gt;getUserByUsername($user);
	if($tagservice-&gt;getDescription($currenttag, $userObject[&#039;uId&#039;])) { ?&gt;

&lt;p class=&quot;commondescription&quot;&gt;&lt;?php
$pDescription = $tagservice-&gt;getDescription($currenttag, $userObject[&#039;uId&#039;]);
echo nl2br(filter($pDescription[&#039;tDescription&#039;]));

//personal tag description edit
if($userservice-&gt;isLoggedOn()) {
	if($currenttag!= &#039;&#039;) {
		echo &#039; &lt;a href=&quot;&#039;. createURL(&#039;tagedit&#039;, $currenttag).&#039;&quot; title=&quot;&#039;.T_(&#039;Edit your personal description of this tag&#039;).&#039;&quot; &gt;&#039;;
		echo strlen($pDescription[&#039;tDescription&#039;])==0?T_(&#039;Edit your personal description of this tag&#039;):&#039;&#039;;
		echo &#039; &lt;img src=&quot;&#039; . $theme-&gt;resource(&#039;images/b_edit.png&#039;) . &#039;&quot; /&gt;&lt;/a&gt;&#039;;
	}
}
?&gt;&lt;/p&gt;

&lt;?php
	}
}
?&gt;

&lt;?php if (count($bookmarks) &gt; 0) { ?&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.onload = playerLoad;
&lt;/script&gt;
&lt;!--  ソートを非表示　 --&gt;
&lt;!-- &lt;p id=&quot;sort&quot;&gt;&lt;?php echo $total.&#039; &#039;.T_(&quot;bookmark(s)&quot;); ?&gt; - &lt;?php echo T_(&quot;Sort by:&quot;); ?&gt; --&gt;
 &lt;?php
$titleArrow  = &#039;&#039;;
$dateArrow   = &#039;&#039;;
$votingArrow = &#039;&#039;;
$dateSort    = &#039;date_desc&#039;;
$titleSort   = &#039;title_asc&#039;;
$votingSort  = &#039;voting_desc&#039;;

switch(getSortOrder()) {
case &#039;date_asc&#039;:
	$dateArrow = &#039; ↑&#039;;
	$dateSort  = &#039;date_desc&#039;;
	break;

case &#039;title_asc&#039;:
	$titleArrow = &#039; ↑&#039;;
	$titleSort  = &#039;title_desc&#039;;
	break;

case &#039;title_desc&#039;:
	$titleArrow = &#039; ↓&#039;;
	$titleSort  = &#039;title_asc&#039;;
	break;

case &#039;voting_asc&#039;:
	$votingArrow = &#039; ↑&#039;;
	$votingSort  = &#039;voting_desc&#039;;
	break;

case &#039;voting_desc&#039;:
	$votingArrow = &#039; ↓&#039;;
	$votingSort  = &#039;voting_asc&#039;;
	break;

case &#039;date_desc&#039;:
default:
	$dateArrow = &#039; ↓&#039;;
	$dateSort = &#039;date_asc&#039;;
	break;
}
?&gt;
&lt;!-- ソートを非表示 --&gt;
&lt;!--  &lt;a href=&quot;?sort=&lt;?php echo $dateSort ?&gt;&quot;&gt;&lt;?php echo T_(&quot;Date&quot;).$dateArrow; ?&gt;&lt;/a&gt;
&lt;span&gt;/&lt;/span&gt; --&gt;
&lt;!--  &lt;a href=&quot;?sort=&lt;?php echo $titleSort ?&gt;&quot;&gt;&lt;?php echo T_(&quot;Title&quot;).$titleArrow; ?&gt;&lt;/a&gt;
 &lt;span&gt;/&lt;/span&gt; --&gt;
&lt;?php if ($GLOBALS[&#039;enableVoting&#039;]) { ?&gt;
&lt;!--   &lt;a href=&quot;?sort=&lt;?php echo $votingSort ?&gt;&quot;&gt;&lt;?php echo T_(&quot;Voting&quot;).$votingArrow; ?&gt;&lt;/a&gt;
 &lt;span&gt;/&lt;/span&gt; --&gt;
&lt;?php } ?&gt;

&lt;?php
if ($currenttag!= &#039;&#039;) {
	if ($user!= &#039;&#039;) {
		echo &#039; - &#039;;
		echo &#039;&lt;a href=&quot;&#039;. createURL(&#039;tags&#039;, $currenttag) .&#039;&quot;&gt;&#039;;
		echo T_(&#039;Bookmarks from other users for this tag&#039;).&#039;&lt;/a&gt;&#039;;
		//echo T_(&#039; for these tags&#039;);
	} else if ($userservice-&gt;isLoggedOn()){
		echo &#039; - &#039;;
		echo &#039;&lt;a href=&quot;&#039;. createURL(&#039;bookmarks&#039;, $currentUser-&gt;getUsername().&#039;/&#039;.$currenttag) .&#039;&quot;&gt;&#039;;
		echo T_(&#039;Only your bookmarks for this tag&#039;).&#039;&lt;/a&gt;&#039;;
		//echo T_(&#039; for these tags&#039;);
	}
}
?&gt;&lt;/p&gt;

&lt;?php
	// PAGINATION

	// Ordering
	$sortOrder = &#039;&#039;;
	if (GET_SORT != &#039;&#039;) {
		$sortOrder = &#039;sort=&#039; . getSortOrder();
	}

	$sortAmp = (($sortOrder) ? &#039;&amp;amp;&#039;. $sortOrder : &#039;&#039;);
	$sortQue = (($sortOrder) ? &#039;?&#039;. $sortOrder : &#039;&#039;);

	// Previous
	$perpage = getPerPageCount($currentUser);
	if (!$page || $page &lt; 2) {
		$page = 1;
		$start = 0;
		$bfirst = &#039;&lt;span class=&quot;disable&quot;&gt;&#039;. T_(&#039;First&#039;) .&#039;&lt;/span&gt;&#039;;
		$bprev = &#039;&lt;span class=&quot;disable&quot;&gt;&#039;. T_(&#039;Previous&#039;) .&#039;&lt;/span&gt;&#039;;
	} else {
		$prev = $page - 1;
		$prev = &#039;page=&#039;. $prev;
		$start = ($page - 1) * $perpage;
		$bfirst= &#039;&lt;a href=&quot;&#039;. sprintf($nav_url, $user, $currenttag, &#039;&#039;) . $sortQue .&#039;&quot;&gt;&#039;. T_(&#039;First&#039;) .&#039;&lt;/a&gt;&#039;;
		$bprev = &#039;&lt;a href=&quot;&#039;. sprintf($nav_url, $user, $currenttag, &#039;?&#039;) . $prev . $sortAmp .&#039;&quot;&gt;&#039;. T_(&#039;Previous&#039;) .&#039;&lt;/a&gt;&#039;;
	}

	// Next
	$next = $page + 1;
	$totalpages = ceil($total / $perpage);
	if (count($bookmarks) &lt; $perpage || $perpage * $page == $total) {
		$bnext = &#039;&lt;span class=&quot;disable&quot;&gt;&#039;. T_(&#039;Next&#039;) .&#039;&lt;/span&gt;&#039;;
		$blast = &#039;&lt;span class=&quot;disable&quot;&gt;&#039;. T_(&#039;Last&#039;) .&quot;&lt;/span&gt;\n&quot;;
	} else {
		$bnext = &#039;&lt;a href=&quot;&#039;. sprintf($nav_url, $user, $currenttag, &#039;?page=&#039;) . $next . $sortAmp .&#039;&quot;&gt;&#039;. T_(&#039;Next&#039;) .&#039;&lt;/a&gt;&#039;;
		$blast = &#039;&lt;a href=&quot;&#039;. sprintf($nav_url, $user, $currenttag, &#039;?page=&#039;) . $totalpages . $sortAmp .&#039;&quot;&gt;&#039;. T_(&#039;Last&#039;) .&quot;&lt;/a&gt;\n&quot;;
	}

	// RSS
	$brss = &#039;&#039;;
	$size = count($rsschannels);
	for ($i = 0; $i &lt; $size; $i++) {
            $brss =  &#039;&lt;a style=&quot;background:#FFFFFF&quot;&#039;
                . &#039; href=&quot;&#039;. htmlspecialchars($rsschannels[$i][1]) . &#039;&quot;&#039;
                . &#039; title=&quot;&#039; . htmlspecialchars($rsschannels[$i][0]) . &#039;&quot;&gt;&#039;
                . &#039;&lt;img src=&quot;&#039; . $theme-&gt;resource(&#039;images/rss.gif&#039;) . &#039;&quot;&#039;
                . &#039; width=&quot;16&quot; height=&quot;16&quot;&#039;
                . &#039; alt=&quot;&#039; . htmlspecialchars($rsschannels[$i][0]) .&#039;&quot;/&gt;&#039;
                . &#039;&lt;/a&gt;&#039;;
	}

	$pagesBanner = &#039;&lt;p class=&quot;paging&quot;&gt;&#039;. $bfirst .&#039;&lt;span&gt; / &lt;/span&gt;&#039;. $bprev .&#039;&lt;span&gt; / &lt;/span&gt;&#039;. $bnext .&#039;&lt;span&gt; / &lt;/span&gt;&#039;. $blast .&#039;&lt;span&gt; / &lt;/span&gt;&#039;. sprintf(T_(&#039;Page %d of %d&#039;), $page, $totalpages) .&quot; &quot;. $brss .&quot; &lt;/p&gt;\n&quot;;

	//if (getPerPageCount($currentUser) &gt; 10) {
	//	echo $pagesBanner; // display a page banner if too many bookmarks to manage
	//}
// ページナビゲーション
function paging($limit, $page, $disp=15){
	//$dispはページ番号の表示数
	$next = $page+1;
	$prev = $page-1;
	//ページ番号リンク用
	$start =  ($page-floor($disp/2)&gt; 0) ? ($page-floor($disp/2)) : 1; //始点
	$end =  ($start&gt; 1) ? ($page+floor($disp/2)) : $disp; //終点
	$start = ($limit &lt;$end)? $start-($end-$limit):$start; //始点再計算
	if($page != 1 ) {
		print &#039;&lt;div class=&quot;pagination&quot;&gt;&#039;;
		print &#039;&lt;a href=&quot;?page=&#039;.$prev.&#039;&quot;&gt;≪ 前へ&lt;/a&gt;&#039;;
	} elseif ($page != 0 ) {
		print &#039;&lt;div class=&quot;pagination&quot;&gt;&#039;;
		print &#039;&lt;span class=&quot;disabled&quot;&gt;≪ 前へ&lt;/span&gt;&#039;;
	}
	//最初のページへのリンク
	if($start&gt;= floor($disp/2)){
		print &#039;&lt;a href=&quot;?page=1&quot;&gt;1&lt;/a&gt;&#039;;
		if($start&gt; floor($disp/2)) print &quot;...&quot;; //ドットの表示
	}
	for($i=$start; $i &lt;= $end ; $i++){ //ページリンク表示ループ
		$class = ($page == $i) ? &#039; class=&quot;current&quot;&#039;:&quot;&quot;; //現在地を表すCSSクラス
		if($i &lt;= $limit &amp;&amp; $i&gt; 0 ) //1以上最大ページ数以下の場合
			print &#039;&lt;a href=&quot;?page=&#039;.$i.&#039;&quot;&#039;.$class.&#039;&gt;&#039;.$i.&#039;&lt;/a&gt;&#039;; //ページ番号リンク表示
	}
	//最後のページへのリンク
	if($limit&gt; $end){
		if($limit-1&gt; $end ) print &quot;...&quot;; //ドットの表示
		print &#039;&lt;a href=&quot;?page=&#039;.$limit.&#039;&quot;&gt;&#039;.$limit.&#039;&lt;/a&gt;&#039;;
	}
	if($page &lt;$limit){
		print &#039;&lt;a href=&quot;?page=&#039;.$next.&#039;&quot;&gt;次へ ≫&lt;/a&gt;&#039;;
		print &#039;&lt;/div&gt;&#039;; // pagination end
	} elseif ($page == $limit) {
		print &#039;&lt;span class=&quot;disabled&quot;&gt;次へ ≫&lt;/span&gt;&#039;;
		print &#039;&lt;/div&gt;&#039;; // pagination end
	}
	/*確認用
	print &quot;&lt;p&gt;current:&quot;.$page.&quot;&lt;br /&gt;&quot;;
	print &quot;next:&quot;.$next.&quot;&lt;br /&gt;&quot;;
	print &quot;prev:&quot;.$prev.&quot;&lt;br /&gt;&quot;;
	print &quot;limit:&quot;.$limit.&quot;&lt;br /&gt;&quot;;
	print &quot;start:&quot;.$start.&quot;&lt;br /&gt;&quot;;
	print &quot;end:&quot;.$end.&quot;&lt;/p&gt;&quot;;*/
}
$limit = $totalpages; //最大ページ数
$page = empty($_GET[&quot;page&quot;])? 1:$_GET[&quot;page&quot;]; //ページ番号
paging($limit, $page); //表示タグ
// ページナビゲーションここまで

?&gt;

&lt;ol&lt;?php echo ($start &gt; 0 ? &#039; start=&quot;&#039;. ++$start .&#039;&quot;&#039; : &#039;&#039;); ?&gt; id=&quot;bookmarks&quot;&gt;
&lt;?php
    $addresses = array();
    foreach ($bookmarks as $key =&gt; &amp;$row) {
        $addresses[$row[&#039;bId&#039;]] = $row[&#039;bAddress&#039;];
    }
    $otherCounts = $bookmarkservice-&gt;countOthers($addresses);
    if ($userservice-&gt;isLoggedOn()) {
        $existence = $bookmarkservice-&gt;bookmarksExist(
            $addresses, $currentUser-&gt;getId()
        );
    }

    if ($userservice-&gt;isLoggedOn()) {
        $watchedNames = $userservice-&gt;getWatchNames(
            $currentUser-&gt;getId(), true
        );
    } else {
        $watchedNames = null;
    }

	foreach ($bookmarks as $key =&gt; &amp;$row) {
		switch ($row[&#039;bStatus&#039;]) {
			case 0:
				$access = &#039;&#039;;
				break;
			case 1:
				$access = &#039; shared&#039;;
				break;
			case 2:
				$access = &#039; private&#039;;
				break;
		}

		$cats = &#039;&#039;;
		$tagsForCopy = &#039;&#039;;
		$tags = $row[&#039;tags&#039;];
		foreach ($tags as $tkey =&gt; &amp;$tag) {
            $tagcaturl = sprintf(
                $cat_url,
                filter($row[&#039;username&#039;], &#039;url&#039;),
                filter($tag, &#039;url&#039;)
            );
			$cats .= sprintf(
                &#039;&lt;a href=&quot;%s&quot; rel=&quot;tag&quot;&gt;%s&lt;/a&gt;, &#039;,
                $tagcaturl, filter($tag)
            );
			$tagsForCopy .= $tag . &#039;,&#039;;
		}
		$cats = substr($cats, 0, -2);
		if ($cats != &#039;&#039;) {
			$cats = T_(&#039;Tags:&#039;) . &#039; &#039; . $cats;
		}

		// Edit and delete links
		$edit = &#039;&#039;;
		if ($bookmarkservice-&gt;editAllowed($row)) {
			$edit = &#039; - &lt;a href=&quot;&#039; . createURL(&#039;edit&#039;, $row[&#039;bId&#039;]) . &#039;&quot;&gt;&#039;
                . T_(&#039;Edit&#039;)
                . &#039;&lt;/a&gt;&#039;
                . &#039; &lt;a href=&quot;#&quot; onclick=&quot;deleteBookmark(this, &#039;. $row[&#039;bId&#039;] .&#039;); return false;&quot;&gt;&#039;
                . T_(&#039;Delete&#039;)
                .&#039;&lt;/a&gt;&#039;;
		}

		// Last update
		$update = &#039;   &lt;small title=&quot;&#039;. T_(&#039;Last update&#039;) .&#039;&quot;&gt;(&#039;. date($GLOBALS[&#039;shortdate&#039;], strtotime($row[&#039;bModified&#039;])). &#039;) &lt;/small&gt;&#039;;

		// User attribution
		$copy = &#039;   &#039; . T_(&#039;by&#039;) . &#039; &#039;;
		if ($userservice-&gt;isLoggedOn()
            &amp;&amp; $currentUser-&gt;getUsername() == $row[&#039;username&#039;]
        ) {
			$copy .= T_(&#039;you&#039;);
		} else {
			$copy .= &#039;&lt;a href=&quot;&#039; . createURL(&#039;bookmarks&#039;, $row[&#039;username&#039;]) . &#039;&quot;&gt;&#039;
                . SemanticScuttle_Model_UserArray::getName($row)
                . &#039;&lt;/a&gt;&#039;;
		}

		// others
		if (!isset($hash)) {
			$others = $otherCounts[$row[&#039;bAddress&#039;]];
			$ostart = &#039;&lt;a href=&quot;&#039; . createURL(&#039;history&#039;, $row[&#039;bHash&#039;]) . &#039;&quot;&gt;&#039;;
			$oend = &#039;&lt;/a&gt;&#039;;
			switch ($others) {
				case 0:
					break;
				case 1:
					$copy .= sprintf(T_(&#039; and %s1 other%s&#039;), $ostart, $oend);
					break;
				default:
					$copy .= sprintf(T_(&#039; and %2$s%1$s others%3$s&#039;), $others, $ostart, $oend);
			}
		}

		// Copy link
		if ($userservice-&gt;isLoggedOn()
            &amp;&amp; ($currentUser-&gt;getId() != $row[&#039;uId&#039;])
            &amp;&amp; !$existence[$row[&#039;bAddress&#039;]]
        ) {
			$copy .= &#039; - &lt;a href=&quot;&#039;
                . createURL(
                    &#039;bookmarks&#039;,
                    $currentUser-&gt;getUsername()
                    . &#039;?action=add&amp;amp;copyOf=&#039; . $row[&#039;bId&#039;])
                . &#039;&quot; title=&quot;&#039;.T_(&#039;Copy this bookmark to YOUR bookmarks.&#039;).&#039;&quot;&gt;&#039;
                . T_(&#039;Copy&#039;)
                . &#039;&lt;/a&gt;&#039;;
		}

		// Nofollow option
		$rel = &#039;&#039;;
		if ($GLOBALS[&#039;nofollow&#039;]) {
			$rel = &#039; rel=&quot;nofollow&quot;&#039;;
		}

		$address  = filter($row[&#039;bAddress&#039;]);
		$oaddress = $address;
		// Redirection option
		if ($GLOBALS[&#039;useredir&#039;]) {
			$address = $GLOBALS[&#039;url_redir&#039;] . $address;
		}

		// Admin specific design
		if ($userservice-&gt;isAdmin($row[&#039;username&#039;])
            &amp;&amp; $GLOBALS[&#039;enableAdminColors&#039;]
        ) {
			$adminBgClass = &#039; class=&quot;adminBackground&quot;&#039;;
			$adminStar    = &#039; &lt;img&#039;
                . &#039; src=&quot;&#039; . $theme-&gt;resource(&#039;images/logo_24.gif&#039;) . &#039;&quot;&#039;
                . &#039; width=&quot;12px&quot;&#039;
                . &#039; title=&quot;&#039; . T_(&#039;This bookmark is certified by an admin user.&#039;) . &#039;&quot;&#039;
                . &#039;/&gt;&#039;;
		} else {
			$adminBgClass = &#039;&#039;;
			$adminStar    = &#039;&#039;;
		}

		// Private Note (just visible by the owner and his/her contacts)
        if ($watchedNames !== null
            &amp;&amp; ($currentUser-&gt;getId() == $row[&#039;uId&#039;]
                || in_array($row[&#039;username&#039;], $watchedNames)
            )
        ) {
			$privateNoteField = $row[&#039;bPrivateNote&#039;];
		} else {
			$privateNoteField = &#039;&#039;;
		}

        if ($GLOBALS[&#039;enableVoting&#039;] &amp;&amp; $GLOBALS[&#039;hideBelowVoting&#039;] !== null
            &amp;&amp; $row[&#039;bVoting&#039;] &lt; $GLOBALS[&#039;hideBelowVoting&#039;]
        ) {
            $access .= &#039; below-threshold&#039;;
        }

		// Output
		echo &#039; &lt;li class=&quot;xfolkentry&#039;. $access .&#039;&quot;&gt;&#039;.&quot;\n&quot;;
        include &#039;bookmarks-thumbnail.inc.tpl.php&#039;;
        include &#039;bookmarks-vote.inc.tpl.php&#039;;

		echo &#039;  &lt;div&#039; . $adminBgClass . &#039;&gt;&#039; . &quot;\n&quot;;

		echo &#039;   &lt;div class=&quot;link&quot;&gt;&#039;
            . &#039;&lt;a href=&quot;&#039;. htmlspecialchars($address) .&#039;&quot;&#039;. $rel .&#039; class=&quot;taggedlink&quot;&gt;&#039;
            . filter($row[&#039;bTitle&#039;])
            . &#039;&lt;/a&gt;&#039; . $adminStar . &quot;&lt;/div&gt;\n&quot;;
		if ($row[&#039;bDescription&#039;] == &#039;&#039;) {
			$bkDescription = $GLOBALS[&#039;blankDescription&#039;];
		} else {
			// Improve description display (anchors, links, ...)
			$bkDescription = preg_replace(&#039;|\[\/.*?\]|&#039;, &#039;&#039;, filter($row[&#039;bDescription&#039;])); // remove final anchor
			$bkDescription = preg_replace(&#039;|\[(.*?)\]|&#039;, &#039; &lt;span class=&quot;anchorBookmark&quot;&gt;$1&lt;/span&gt; ≫ &#039;, $bkDescription); // highlight starting anchor
			$bkDescription = preg_replace(&#039;@((http|https|ftp)://.*?)( |\r|$)@&#039;, &#039;&lt;a href=&quot;$1&quot; rel=&quot;nofollow&quot;&gt;$1&lt;/a&gt;$3&#039;, $bkDescription); // make url clickable

		}
		echo &#039;   &lt;div class=&quot;description&quot;&gt;&#039;. nl2br($bkDescription) .&quot;&lt;/div&gt;\n&quot;;
        echo &#039;   &lt;div class=&quot;address&quot;&gt;&#039; . shortenString($oaddress) . &quot;&lt;/div&gt;\n&quot;;

		echo &#039;   &lt;div class=&quot;meta&quot;&gt;&#039;
            . $cats . &quot;\n&quot;
            . $copy . &quot;\n&quot;
            . $edit . &quot;\n&quot;
            . $update . &quot;\n&quot;
            . &quot;  &lt;/div&gt;\n&quot;;
		echo $privateNoteField != &#039;&#039;
            ? &#039;    &lt;div class=&quot;privateNote&quot; title=&quot;&#039;. T_(&#039;Private Note on this bookmark&#039;) .&#039;&quot;&gt;&#039;.$privateNoteField.&quot;&lt;/div&gt;\n&quot;
            : &#039;&#039;;
        echo &#039;  &#039;;
        include &#039;bookmarks-vote-horizontal.inc.tpl.php&#039;;
		echo &quot; &lt;/div&gt;\n&quot;;

		echo &quot; &lt;/li&gt;\n&quot;;
	}
	?&gt;

&lt;/ol&gt;

	&lt;?php
	if(getPerPageCount($currentUser)&gt;7) {
		echo &#039;&lt;p class=&quot;backToTop&quot;&gt;&lt;a href=&quot;#header&quot; title=&quot;&#039;.T_(&#039;Come back to the top of this page.&#039;).&#039;&quot;&gt;&#039;.T_(&#039;Top of the page&#039;).&#039;&lt;/a&gt;&lt;/p&gt;&#039;;
	}
	//echo $pagesBanner;  // display previous and next links pages + RSS link

} else {
	echo &#039;&lt;p class=&quot;error&quot;&gt;&#039;.T_(&#039;No bookmarks available&#039;).&#039;&lt;/p&gt;&#039;;
}
// ページナビゲーション
paging($limit, $page); //表示タグ
$this-&gt;includeTemplate(&#039;sidebar.tpl&#039;);
$this-&gt;includeTemplate($GLOBALS[&#039;bottom_include&#039;]);
?&gt;
</pre>
<p style="margin-top:1em;">
<p>/themes/default/scuttle.css 変更</p>
<pre class="brush: css">
/* Watch out. This file bugs (in the header) when it is formated with Eclipse (Ctrl+Shift+F)*/

/* BASE */

* {
    font-family:Verdana, &quot;メイリオ&quot;, sans-serif;
}
a {
    color: #47A;
    text-decoration: none;
}
a:hover {
    color: #258;
    text-decoration: underline;
}
a img {
    border: 0;
}

body {
    margin: 0;
    padding: 0;
}
input[type=text],
input[type=password],
select,
textarea {
    border: 1px solid #AAA;
    padding: 0.1em;
}
input[type=text],
input[type=password],
textarea {
    padding: 0.2em;
}
input[type=text]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
    border-color: #666;
}
p.tipMsg,
p.error,
p.success {
    border: 1px solid;
    font-size: 14px;
    margin: 0.5em;
    padding: 0.5em;
    width: 70%;
}
p.tipMsg {
    background: #FFFF99;
    border-color: #CC9900;
    color: #CC9900;
}
p.error {
    background: #FCC;
    border-color: #966;
    color: #633;
}
p.success {
    background: #CFC;
    border-color: #696;
    color: #363;
}
td#availability {
    color: #285;
    font-weight: bold;
}
td#availability.not-available {
    color: #F00;
}
textarea {
    font-size: 14px;
    padding: 0.2em;
}
th {
    padding-right: 1em;
    text-align: right;
}

/* HEADER */

div#header {
    background: #FFF url(&#039;images/bg_header.png&#039;) bottom repeat-x;
    border-bottom: 3px solid #9CD;
    clear: both;
}
div#header:after {
    content: &quot;.&quot;;
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
* html div#header {
    height: 1%;
}
h1 {
    float: left;
    font-size: x-large;
    font-weight: bold;
    letter-spacing: 0.25em;
    margin: 0;
    padding: 1em;
}
html &gt; body h1 {
    background: url(&#039;images/logo.png&#039;) no-repeat 10px;
    padding-left: 75px;
}
html &gt; body div#header.popup h1 {
    background: url(&#039;images/logo_24.gif&#039;) no-repeat 10px;
    padding: 0.5em 0.5em 0.5em 50px;
}
/*html &gt; body div#header #welcome {
    position:absolute;
    left:75px;
}*/
#welcome {
    /* border: 10px solid #995; */
    width: 66%;
    padding: 10px;
    text-align:center;
    font-size: medium;
}
#bottom {
    background: #666 url(&#039;images/bg_bar.png&#039;) center center repeat-x;
    border-bottom: 3px solid #DDD;
    clear: both;
    color: #FFF;
    padding: 10px 0 10px 20px;
    text-align: left;
    font-size: 14px;
}
#bottom a {
    color: #FFF;
}
h1 a {
    color: #000;
}
h1 a:hover {
    color: #000;
}
h2 {
    background: #666 url(&#039;images/bg_bar.png&#039;) center center repeat-x;
    border-bottom: 3px solid #DDD;
    clear: both;
    color: #FFF;
    font-size: medium;
    letter-spacing: 0.1em;
    margin: 0 0 1em 0;
    padding: 0.5em 1em;
}
h2 a, h2 a:hover {
    color: #DDD;
}

/*sup {
    color: #77ABE0;
    font-weight: bold;
}*/

/* NAVIGATION */

ul#navigation {
    list-style-type: none;
    margin: 0;
    padding: 1.75em 1em;
    width: auto;
}
ul#navigation a {
    font-size: medium;
    font-weight: bold;
    padding: 0.2em 0.5em;
}
ul#navigation a:hover {
    background: #7AD;
    color: #FFF;
}
ul#navigation li {
    float: left;
}
ul#navigation li.access {
    float: right;
}

/* BOOKMARKS */

ol#bookmarks {
    list-style-type: none;
    margin: 0;
    padding: 0 1em;
    width: 70%;
}
html &gt; body ol#bookmarks {
    margin: 0 1em;
    padding: 0;
}
img.thumbnail {
    float: left;
    padding: 1px;
    margin-right: 6px;
    margin-bottom:4px;
    cursor:pointer;
    /* border:1px solid #AAA; */
}
div.link a {
    color: blue;
    font-size: medium;
}
div.link a:visited {
    color: purple;
}
div.address {
    color: #285;
}
div.meta {
    color: #285;
}
div.meta span {
    color: #F00;
}
div.privateNote {
    font-variant: small-caps;
    font-size: 14px;
    text-align: right;
}
li.xfolkentry {
    border-bottom: 1px solid #DDD;
    margin-bottom: 0;
    padding: 1em 0.5em;
}
html &gt; body li.xfolkentry {
    border-bottom: 1px dotted #AAA;
}
li.xfolkentry div {
    padding-left: 10px;
}
li.xfolkentry.deleted {
    opacity: 0.5;
}
li.xfolkentry.private {
    border-left: 3px solid #F00;
}
li.xfolkentry.shared {
    border-left: 3px solid #FA0;
}
li.below-threshold &gt; div {
    border-right: 5px dotted #F00;
}

li.xfolkentry div div.description span.anchorBookmark {
    /*font-family:monospace;*/
}

/* bookmark voting */
.vote-badge {
    float: left;
    width: 3em;
    margin: 5px;
    border: 1px solid #CCCC88;
    font-weight: bold;
    /*border-radius: 10px;*/
    -moz-border-radius: 10px;
}
.vote-badge span, .vote-badge a {
    display: block;
    text-align: center;
}
.vote-badge a:hover {
    text-decoration: none;
}
.vote-badge .vote-for {
    /*border-top-right-radius: 10px;*/
    /*border-top-left-radius: 10px;*/
    -moz-border-radius-topright: 10px;
    -moz-border-radius-topleft: 10px;
}
.vote-badge .vote-against {
    /*border-bottom-right-radius: 10px;*/
    /*border-bottom-left-radius: 10px;*/
    -moz-border-radius-bottomright: 10px;
    -moz-border-radius-bottomleft: 10px;
}
.vote-badge a.vote-for:hover {
    background-color: #ccffbb;
}
.vote-badge a.vote-against:hover {
    background-color: #ffcccc;
}
.vote-badge-for .vote-for-inactive {
    color: transparent;
    background-color: #ccffbb;
}
.vote-badge-against .vote-against-inactive {
    color: transparent;
    background-color: #ffcccc;
}

/* bookmark voting horizontal */
div.vote-horiz .voting {
    font-weight: bold;
}
li.xfolkentry div.vote-horiz-for {
/*    border-left: 1em solid #ccffbb;*/
/*    padding-left: 0.5em;*/
}
li.xfolkentry div.vote-horiz-against {
/*    border-left: 1em solid #ffcccc;*/
/*    padding-left: 0.5em;*/
}
.vote-horiz a, .vote-horiz .vote-for-inactive,
.vote-horiz .vote-against-inactive {
    padding-left: 1.5em;
    margin-left: 0.7em;
}
.vote-horiz a.vote-for:hover {
    background-color: #ccffbb;
}
.vote-horiz a.vote-against:hover {
    background-color: #ffcccc;
}
.vote-horiz .vote-for-inactive, .vote-horiz .vote-against-inactive {
    color: #AAA;
}
.vote-horiz .vote-for {
    background: url(images/vote-for.png) no-repeat;
}
.vote-horiz .vote-against {
    background: url(images/vote-against.png) no-repeat;
}
.vote-horiz .vote-for-inactive {
    background: url(images/vote-for-voted.png) no-repeat;
}
.vote-horiz .vote-against-inactive {
    background: url(images/vote-against-voted.png) no-repeat;
}

/* SIDEBAR */

div#sidebar {
    font-size: 14px;
    position: absolute;
    right: 1em;
    top: 10em;
    width: 25%;
}
div#sidebar a {
    color: #995;
}
div#sidebar a:hover {
    color: #773;
}
div#sidebar&gt;div {
    background: #FFF url(&#039;images/bg_sidebar.png&#039;) bottom repeat-x;
    border: 1px solid #CC8;
    color: #555;
    margin-bottom: 1em;
}
div#sidebar h2 {
    background: transparent;
    border: 0;
    color: #995;
    letter-spacing: 0;
    margin: 0;
    padding: 0.5em 0;
}
div#sidebar hr {
    display: none;
}
div#sidebar p {
    margin: 1em;
}
div#sidebar p.tags a {
    margin: 0;
}
div#sidebar table {
    margin: 0.5em 0.5em 0 0.5em;
}
div#sidebar table td {
    padding-bottom: 0.25em;
    padding-right: 0.5em;
}
div#sidebar ul {
    list-style-type: none;
    margin: 0;
    padding: 0.5em;
}
div#sidebar ul li {
    margin: 0.5em 0;
}

div#related {
    padding: 0.5em;
}

.crossTags {
    padding:0px 3px;
    border: 1px solid #999955
}

div#sidebar&gt;div#maintagsmenu {
    padding: 0.5em;
    border: 5px solid #999955
}

/* TAGS */

p.commondescription {
    padding-left:5px;
    color: #555;
    font-weight: bold;
    font-size: medium;
    border-left: 1px solid #CC8;
    width: 70%;
}

p.tags {
    line-height: 2.25em;
    /*margin: 2em 10%;*/
    text-align: justify;
    vertical-align: middle;
    width: 70%;
}
p.tags a,
p.tags span {
    color: #47A;
    margin-right: 0.5em;
}
p.tags span:hover {
    cursor: pointer;
    text-decoration: underline;
}
p.tags span.selected {
    background: #CEC;
}

.anchor {
    cursor: pointer;
    text-decoration: underline;
}

.treeTag {
	color: #999955;
}
.treeTag:hover {
    cursor: pointer;
    text-decoration: underline;
}
.treeTag.selected {
    background: #CEC;
}

/* PROFILE */

table.profile th {
    width: 10em;
}

table tr.ssl-current td {
    background-color: #AFA;
}

/* OTHER GUFF */

dd {
	background: #CEC;
	border-right: 4px solid #ACA;
	color: #464;
	padding: 6px;
}
dd a {
	color: #464;
}
dd a:hover {
	color: #000 !important;
	text-decoration: underline !important;
}

dl {
	font-size: 14px;
	margin: 1em;
	width: 70%;
}
dl#profile dd {
	background: #CDE;
	border-color: #ABC;
	color: #247;
}
dl#profile dt {
	background: #BCE;
	border-color: #9AC;
	color: #245;
	display: block;
	font-weight: bold;
	padding: 6px;
}
dl#profile a {
	color: #446;
}
dl#profile a:hover {
	color: #000 !important;
	text-decoration: underline !important;
}
dl#meta dd {
	line-height: 1.5em;
}
dl#meta dt {
	background: #BDB;
	color: #353;
	display: block;
	font-weight: bold;
	padding: 6px;
}
dt {
	border-right: 4px solid #9B9;
}
dt a {
	background: #BDB;
	color: #353;
	display: block;
	font-weight: bold;
	padding: 6px;
}
dt a:hover {
    background: #ACA;
    border: 0;
}
form {
	margin: 0;
}
form#search {
       margin-right: 0.75em;
       color: #CCC;
       font-size: 14px;
       float: right;
       margin: 0;
       position: absolute;
       right: 0;
       top: 5.8em;
}
form label,
form td,
form th {
	font-size: 14px;
}
form table {
	margin: 0 1em;
}
h3 {
	background: #DDD;
	color: #555;
	font-size: 14px;
	letter-spacing: 0.2em;
	margin: 2em 1em 1em 1em;
	padding: 0.25em 0.75em;
}
li {
	font-size: 14px;
	margin-bottom: 0.5em;
}
p {
    font-size: 14px;
    margin: 1em;
}
p#sort {
    /*color: #CCC;*/
    font-size: 14px;
    /*float: right;*/
    /*margin: 0;*/
    /*position: absolute;*/
    right: 0;
    top: 7em;
}
html &gt; body p#sort {
    /*margin-right: 0.75em;*/
}
p#sort a {
    background: #AAA;
    color: #555;
    font-weight: normal;
    margin-right: 0.5em;
    padding: 0 1em;
}
html &gt; body p#sort a {
    margin-right: 0;
}
p#sort a:hover {
    background: #CCC;
    text-decoration: none !important;
}
p#sort span {
    display: none;
}

p.backToTop{
	text-align:center;
}

p.paging {
	font-size: 14px;
	margin-left: 1em;
	text-align:center;
}
p.paging a,
p.paging span.disable {
	background: #888;
	color: #FFF;
	display: inline;
	margin-right: 0.5em;
	padding: 0.25em 1em;
}
p.paging a:hover {
	background: #666;
}
p.paging span {
	display: none;
}
p.paging span.disable {
	background: #DDD;
	color: #AAA;
}
div.collapsible p.tags {
	line-height: 2.25em;
	margin: 1em 2em;
}
th label {
	padding-right: 1em;
}
ul {
	margin-right: 1em;
	width: 75%;
}

.adminBackground {
    /*background: #FFFFFF url(images/logo_24.png) no-repeat scroll center right;*/
    /*border-top: 1px solid;
    border-color: #CC9900;*/
}

.adminBackground {
	background: #FFF;/* url(&#039;images/bg_admin.png&#039;) repeat-y top right; */
}

a.bookmarklet {
	padding: 2px;
	background-color: #AAFAEE;
}

/* tree styles */
#related-content.jstree-default.jstree-focused {
    background: none !important;
}

/* add/edit bookmark */
.ui-autocomplete {
    width: 458px;
}
/* DOJO Style */

/* DOJO Style */
.scuttletheme .dijitInputField input,.scuttletheme .dijitTextBox,.scuttletheme .dijitComboBox,.scuttletheme .dijitSpinner
	{
	width: 100%;
	margin: 0 0 0 0;
}
/*Pagination*/
	div.pagination {
	text-align:left;
	padding: 5px 5px 10px 20px;
	margin: 3px 3px 3px 18px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #aaaaaa;
	width: 70%;
}
	div.pagination a {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #000000;
	text-decoration: none; /* no underline */
	color: #000000;
}
	div.pagination a.current{ /* 現在ページ */
	border: 1px solid #000000;
	background-color:#000000;
	color: #fff;
}
	div.pagination a:hover, div.pagination a:active {
	border: 1px solid #000000;
	background-color:#000000;
	color: #fff;
}
	div.pagination span.disabled {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #EEE;
	color: #DDD;
}
</pre>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5917&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/11/07-121840/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zenphoto1.4.1.5 アップグレード</title>
		<link>http://sunq.jp/style/archives/2011/11/02-124647?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zenphoto1-4-1-5-%25e3%2582%25a2%25e3%2583%2583%25e3%2583%2597%25e3%2582%25b0%25e3%2583%25ac%25e3%2583%25bc%25e3%2583%2589</link>
		<comments>http://sunq.jp/style/archives/2011/11/02-124647#comments</comments>
		<pubDate>Wed, 02 Nov 2011 03:46:47 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[1.4.1.5]]></category>
		<category><![CDATA[zenPHOTO]]></category>
		<category><![CDATA[アップグレード]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/11/02-124647</guid>
		<description><![CDATA[User guide Installation, Upgrading and Requirements 08/08/2008 http://www.zenphoto.org/news/installation-and-u [...]]]></description>
			<content:encoded><![CDATA[<p>User guide<br />
Installation, Upgrading and Requirements 08/08/2008<br />
<a title="" href="http://www.zenphoto.org/news/installation-and-upgrading#2" target="_blank">http://www.zenphoto.org/news/installation-and-upgrading#2</a><br />
削除ファイル<br /><span id="more-5906"></span><br />
<table class="tb2">
<tbody>
<tr valign="top">
<td>
                rm -fr ./zp-core/setup_set-mod_rewrite.php ./zp-core/password_form.php ./zp-core/zp-extensions/class-textobject/pdfDefault.png ./zp-core/zp-extensions/class-textobject/ppsDefault.png ./zp-core/zp-extensions/gravatar.php ./zp-core/zp-extensions/tiny_mce/plugins/pagebreak/img/pagebreak.gif ./zp-core/zp-extensions/tiny_mce/plugins/pagebreak/img/trans.gif ./zp-core/zp-extensions/tiny_mce/plugins/pagebreak/img ./zp-core/zp-extensions/tiny_mce/plugins/pagebreak/css/content.css ./zp-core/zp-extensions/tiny_mce/plugins/pagebreak/css ./zp-core/zp-extensions/tiny_mce/plugins/autosave/images ./zp-core/zp-extensions/tiny_mce/plugins/safari/editor_plugin.js ./zp-core/zp-extensions/tiny_mce/plugins/safari/blank.htm ./zp-core/zp-extensions/tiny_mce/plugins/safari/editor_plugin_src.js ./zp-core/zp-extensions/tiny_mce/plugins/safari ./zp-core/zp-extensions/tiny_mce/plugins/spellchecker/includes ./zp-core/zp-extensions/tiny_mce/plugins/spellchecker/classes/utils ./zp-core/zp-extensions/tiny_mce/plugins/spellchecker/classes ./zp-core/zp-extensions/tiny_mce/plugins/paste/css/blank.css ./zp-core/zp-extensions/tiny_mce/plugins/paste/css/pasteword.css ./zp-core/zp-extensions/tiny_mce/plugins/paste/css ./zp-core/zp-extensions/tiny_mce/plugins/compat2x/editor_plugin.js ./zp-core/zp-extensions/tiny_mce/plugins/compat2x/editor_plugin_src.js ./zp-core/zp-extensions/tiny_mce/plugins/compat2x ./zp-core/zp-extensions/tiny_mce/plugins/media/img/quicktime.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img/flv_player.swf ./zp-core/zp-extensions/tiny_mce/plugins/media/img/realmedia.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img/shockwave.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img/flash.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img/windowsmedia.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img/trans.gif ./zp-core/zp-extensions/tiny_mce/plugins/media/img ./zp-core/zp-extensions/tiny_mce/plugins/media/css/content.css ./zp-core/zp-extensions/tiny_mce/plugins/ajaxfilemanager/inc/data.php ./zp-core/zp-extensions/flowplayer3/flowplayer.audio-3.2.1.swf ./zp-core/zp-extensions/flowplayer3/flowplayer-3.2.4.min.js ./zp-core/zp-extensions/flowplayer3/flowplayer.controls-3.2.2.swf ./zp-core/zp-extensions/flowplayer3/flowplayer-3.2.4.swf ./zp-core/zp-extensions/zenpage/zenpage-functions.php ./zp-core/pclzip.lib.php ./themes/default/password_form.php ./themes/effervescence_plus/password_form.php ./themes/stopdesign/comment_form.php ./themes/stopdesign/password_form.php ./themes/zenpage/password_form.php
            </td>
</tr>
</tbody>
</table>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5906&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/11/02-124647/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theme Arthemia youtube</title>
		<link>http://sunq.jp/style/archives/2011/05/09-210638?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=theme-arthemia-youtube</link>
		<comments>http://sunq.jp/style/archives/2011/05/09-210638#comments</comments>
		<pubDate>Mon, 09 May 2011 12:06:38 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[arthemia]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/05/09-210638</guid>
		<description><![CDATA[共有URLが変わったので$patternを変更 single.php　footer.phpは$pattern部のみ &#60;div style=&#34;float:left;margin:0px 10px 10px  [...]]]></description>
			<content:encoded><![CDATA[<p>共有URLが変わったので$patternを変更<br />
single.php　footer.phpは$pattern部のみ<br />
<span id="more-5533"></span></p>
<pre class="brush: php">
        &lt;div style=&quot;float:left;margin:0px 10px 10px 0px;&quot;&gt;

        &lt;?php $the_video = $video . &#039;&quot;&#039;;
        $pattern = &#039;/http:\/\/(?:www[.]youtube[.]com\/watch(?:\?|#!)v=|youtu[.]be\/)([\w\-]+)(?:[-_.!~*\&#039;()a-zA-Z0-9;\/?:@&amp;=+$,%#]*)/&#039;;
        preg_match_all($pattern, $the_video, $matches);
        $video_src = $matches[&#039;1&#039;][0]; ?&gt;

        &lt;div id=&quot;player&quot;&gt;&lt;object width=&quot;570&quot; height=&quot;320&quot;&gt;
        &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/&lt;?php echo $video_src; ?&gt;&quot;&gt;&lt;/param&gt;
        &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;
        &lt;embed src=&quot;http://www.youtube.com/v/&lt;?php echo $video_src; ?&gt;&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;570&quot; height=&quot;320&quot;&gt;
        &lt;/embed&gt;
        &lt;/object&gt;&lt;/div&gt;
</pre>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5533&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/05/09-210638/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zenphotoバージョン1.4.0.3</title>
		<link>http://sunq.jp/style/archives/2011/04/30-193727?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zenphoto%25e3%2583%2590%25e3%2583%25bc%25e3%2582%25b8%25e3%2583%25a7%25e3%2583%25b31-4-0-3</link>
		<comments>http://sunq.jp/style/archives/2011/04/30-193727#comments</comments>
		<pubDate>Sat, 30 Apr 2011 10:37:27 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[zenPHOTO]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/04/30-193727</guid>
		<description><![CDATA[覚書 /zenphoto/zp-core/zp-extensions/flowplayer3.php line234 autoBuffering: '.true.', この値をtrueにすると、HTMLを開いたときに、動 [...]]]></description>
			<content:encoded><![CDATA[<p>覚書</p>
<pre class="prettyprint">
/zenphoto/zp-core/zp-extensions/flowplayer3.php line234
autoBuffering: '.true.',
この値をtrueにすると、HTMLを開いたときに、動画の先読み込み後に動画の再生を開始します。
ただ、自動再生が有効の場合意味がありません。初期値はtrueで先読みをします。
</pre>
<p>表示用サムネイルは同フォルダ、同名.jpgで表示される。<br />
参考先　<a href="http://www.xucker.jpn.org/pc/flowplayer_options.html" title="" target="_blank">FlowPlayerのオプション</a><br />
<span id="more-5519"></span></p>
<pre class="prettyprint">
&lt;?php flowplayerPlaylist("playlist"); ?&gt;
</pre>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5519&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/04/30-193727/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SemanticScuttle日本語ファイル</title>
		<link>http://sunq.jp/style/archives/2011/02/12-135245?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=semanticscuttle%25e6%2597%25a5%25e6%259c%25ac%25e8%25aa%259e%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab</link>
		<comments>http://sunq.jp/style/archives/2011/02/12-135245#comments</comments>
		<pubDate>Sat, 12 Feb 2011 04:52:45 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[messages.mo]]></category>
		<category><![CDATA[messages.po]]></category>
		<category><![CDATA[semanticscuttle]]></category>
		<category><![CDATA[日本語]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/?p=5254</guid>
		<description><![CDATA[SemanticScuttle-0.97.1に入ってるものを再読込みして変換してみた。 サイトについての部分は必ずサイトに合わせて要変更です。 messages.poファイルをPoeditで編集してください。 poedi [...]]]></description>
			<content:encoded><![CDATA[<p>SemanticScuttle-0.97.1に入ってるものを再読込みして変換してみた。<br />
サイトについての部分は必ずサイトに合わせて要変更です。<br />
messages.poファイルをPoeditで編集してください。<br />
poedit-1.4.6-setup.exe　<a href="http://sourceforge.jp/projects/sfnet_poedit/" target="_blank">http://sourceforge.jp/projects/sfnet_poedit/</a><br />
/semanticscuttle/data/locales/ja_JP/LC_MESSAGES/messages.mo</p>
<p><a href="http://sunq.jp/style/?download=messages.po">messages.po</a>　DL数　419回</p>
<p><a href="http://sunq.jp/style/?download=messages.mo">messages.mo</a>　DL数　283回</p>
<p></p>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5340&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/02/12-135245/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SemanticScuttleにページナビゲーションをつけてみた</title>
		<link>http://sunq.jp/style/archives/2011/02/12-131430?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=semanticscuttle%25e3%2581%25ab%25e3%2583%259a%25e3%2583%25bc%25e3%2582%25b8%25e3%2583%258a%25e3%2583%2593%25e3%2582%25b2%25e3%2583%25bc%25e3%2582%25b7%25e3%2583%25a7%25e3%2583%25b3%25e3%2582%2592%25e3%2581%25a4%25e3%2581%2591%25e3%2581%25a6%25e3%2581%25bf%25e3%2581%259f</link>
		<comments>http://sunq.jp/style/archives/2011/02/12-131430#comments</comments>
		<pubDate>Sat, 12 Feb 2011 04:14:30 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[pagenavigation]]></category>
		<category><![CDATA[semanticscuttle]]></category>
		<category><![CDATA[ページナビゲーション]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/02/12-131430</guid>
		<description><![CDATA[日付、題名、評価による並び替え時に情報保持しないので並び替え表示削除 覚書ですので参考までに スクリプト参考先 WebTecNote http://tenderfeel.xsrv.jp/php/639/ CSS参考先 h [...]]]></description>
			<content:encoded><![CDATA[<p>日付、題名、評価による並び替え時に情報保持しないので並び替え表示削除<br />
  <br />覚書ですので参考までに</p>
<p><span id="more-5339"></span></p>
<p>スクリプト参考先 WebTecNote <a title="http://tenderfeel.xsrv.jp/php/639/" href="http://tenderfeel.xsrv.jp/php/639/" target="_blank">http://tenderfeel.xsrv.jp/php/639/</a></p>
<p>CSS参考先 <a title="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" href="http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/" target="_blank">http://mis-algoritmos.com/2007/03/16/some-styles-for-your-pagination/</a></p>
<p>/data/templates/bookmarks.tpl.php</p>
<p></p>
<pre class="brush: php:first-line:210">
// ページナビゲーション
function paging($limit, $page, $disp=15){
	//$dispはページ番号の表示数
	$next = $page+1;
	$prev = $page-1;
	//ページ番号リンク用
	$start =  ($page-floor($disp/2)&gt; 0) ? ($page-floor($disp/2)) : 1; //始点
	$end =  ($start&gt; 1) ? ($page+floor($disp/2)) : $disp; //終点
	$start = ($limit &lt;$end)? $start-($end-$limit):$start; //始点再計算
	if($page != 1 ) {
		print &#039;&lt;div class=&quot;pagination&quot;&gt;&#039;;
		print &#039;&lt;a href=&quot;?page=&#039;.$prev.&#039;&quot;&gt;« 前へ&lt;/a&gt;&#039;;
	} elseif ($page != 0 ) {
		print &#039;&lt;div class=&quot;pagination&quot;&gt;&#039;;
		print &#039;&lt;span class=&quot;disabled&quot;&gt;« 前へ&lt;/span&gt;&#039;;
	}
	//最初のページへのリンク
	if($start&gt;= floor($disp/2)){
		print &#039;&lt;a href=&quot;?page=1&quot;&gt;1&lt;/a&gt;&#039;;
		if($start&gt; floor($disp/2)) print &quot;...&quot;; //ドットの表示
	}
	for($i=$start; $i &lt;= $end ; $i++){ //ページリンク表示ループ
		$class = ($page == $i) ? &#039; class=&quot;current&quot;&#039;:&quot;&quot;; //現在地を表すCSSクラス
		if($i &lt;= $limit &amp;&amp; $i&gt; 0 ) //1以上最大ページ数以下の場合
			print &#039;&lt;a href=&quot;?page=&#039;.$i.&#039;&quot;&#039;.$class.&#039;&gt;&#039;.$i.&#039;&lt;/a&gt;&#039;; //ページ番号リンク表示
	}
	//最後のページへのリンク
	if($limit&gt; $end){
		if($limit-1&gt; $end ) print &quot;...&quot;; //ドットの表示
		print &#039;&lt;a href=&quot;?page=&#039;.$limit.&#039;&quot;&gt;&#039;.$limit.&#039;&lt;/a&gt;&#039;;
	}
	if($page &lt;$limit){
		print &#039;&lt;a href=&quot;?page=&#039;.$next.&#039;&quot;&gt;次へ »&lt;/a&gt;&#039;;
		print &#039;&lt;/div&gt;&#039;; // pagination end
	} elseif ($page == $limit) {
		print &#039;&lt;span class=&quot;disabled&quot;&gt;次へ »&lt;/span&gt;&#039;;
		print &#039;&lt;/div&gt;&#039;; // pagination end
	}
	/*確認用
	print &quot;&lt;p&gt;current:&quot;.$page.&quot;&lt;br /&gt;&quot;;
	print &quot;next:&quot;.$next.&quot;&lt;br /&gt;&quot;;
	print &quot;prev:&quot;.$prev.&quot;&lt;br /&gt;&quot;;
	print &quot;limit:&quot;.$limit.&quot;&lt;br /&gt;&quot;;
	print &quot;start:&quot;.$start.&quot;&lt;br /&gt;&quot;;
	print &quot;end:&quot;.$end.&quot;&lt;/p&gt;&quot;;*/
}
$limit = $totalpages; //最大ページ数
$page = empty($_GET[&quot;page&quot;])? 1:$_GET[&quot;page&quot;]; //ページ番号
paging($limit, $page);
// ページナビゲーションここまで
</pre>
</p>
<p>
    <img title="navigation-1.jpg" border="0" alt="navigation-1.jpg" src="http://sunq.jp/style/wp-content/uploads/2011/02/bw_uploadstm_navigation-1.jpg" width="491" height="27" /></p>
<p>    <img title="navigation-2.jpg" border="0" alt="navigation-2.jpg" src="http://sunq.jp/style/wp-content/uploads/2011/02/bw_uploadstm_navigation-2.jpg" width="493" height="21" /></p>
<p>    <img title="navigation-3.jpg" border="0" alt="navigation-3.jpg" src="http://sunq.jp/style/wp-content/uploads/2011/02/bw_uploadstm_navigation-3.jpg" width="500" height="23" /></p>
<p>scuttle.cssに追加</p>
<pre class="brush: css">
/*Pagination*/
	div.pagination {
	text-align:left;
	padding: 5px 5px 10px 20px;
	margin: 3px 3px 3px 18px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #aaaaaa;
	width: 70%;
}
	div.pagination a {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #000000;
	text-decoration: none; /* no underline */
	color: #000000;
}
	div.pagination a.current{ /* 現在ページ */
	border: 1px solid #000000;
	background-color:#000000;
	color: #fff;
}
	div.pagination a:hover, div.pagination a:active {
	border: 1px solid #000000;
	background-color:#000000;
	color: #fff;
}
	div.pagination span.disabled {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #EEE;
	color: #DDD;
}
</pre>
<p></p>
<p>
  <br />こんな感じです。<a href="http://sunq.jp/lc24/" target="_blank">http://sunq.jp/lc24/</a></p>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5339&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/02/12-131430/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SemanticScuttle データ 一括インポート</title>
		<link>http://sunq.jp/style/archives/2011/02/06-204338?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=semanticscuttle-%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e4%25b8%2580%25e6%258b%25ac%25e3%2582%25a4%25e3%2583%25b3%25e3%2583%259d%25e3%2583%25bc%25e3%2583%2588</link>
		<comments>http://sunq.jp/style/archives/2011/02/06-204338#comments</comments>
		<pubDate>Sun, 06 Feb 2011 11:43:38 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[semanticscuttle]]></category>
		<category><![CDATA[インポート]]></category>
		<category><![CDATA[一括]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2011/02/06-204338</guid>
		<description><![CDATA[WordPressエクスポートデータ(wordpress.xml)からSemanticScuttle(semanticscuttle.xml)一括インポートデータを作ってみた。 今回はPanasonicカメラのURLのみ [...]]]></description>
			<content:encoded><![CDATA[<p>WordPressエクスポートデータ(wordpress.xml)からSemanticScuttle(semanticscuttle.xml)一括インポートデータを作ってみた。<br />
今回はPanasonicカメラのURLのみを抜き取り。     <br />
 <span id="more-5267"></span>     <br />
wordpress.xmlを秀丸エディタで開きgrepでURL行を抽出。     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-1" border="0" alt="hide-grep-1" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep1.jpg" width="503" height="378" />&#160; </p>
<p>検索する文字列を<strong>http://</strong>でOK     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-2" border="0" alt="hide-grep-2" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep2.jpg" width="472" height="330" />&#160; </p>
<p>新規ファイルでURLが含まれる行が抽出されます。     <br />抽出されたデータから不要なものを置き換えていきます。     <br />
抜粋例</p>
<table class="tb2">
<tbody>
<tr>
<td>wordpress.2004-01-01.2011-03-01.xml(126395):&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;content:encoded&gt;&lt;![CDATA[&lt;p&gt;長崎県長崎市 長崎港一望&#160;&#160; &lt;br /&gt;コントロール不可、固定、3秒更新&#160;&#160;&#160; &lt;br /&gt;機種 Panasonic &lt;a href=&quot;http://panasonic.biz/netsys/netwkcam/lineup/hcm515.html&quot; target=&quot;_blank&quot;&gt;BB-HCM515&lt;/a&gt;&lt;a title=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; href=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; target=&quot;_blank&quot;&gt;&#160;&#160;&#160;&#160; &lt;br /&gt;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&lt;/a&gt;&#160;&#160;&#160; &lt;br /&gt;&#160;&#160;&#160; &lt;br /&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;長崎県長崎市 長崎港一望&quot; border=&quot;0&quot; alt=&quot;長崎県長崎市 長崎港一望&quot; src=&quot;http://sunq.jp/style/wp-content/uploads/2011/02/0206.jpg&quot; width=&quot;504&quot; height=&quot;379&quot; /&gt;&lt;/p&gt;]]&gt;&lt;/content:encoded&gt;</td>
</tr>
</tbody>
</table>
<p>  秀丸エディタ→検索→置換え    <br />データ置換え例：検索 wordpress.<font color="#ff0000" size="4"><strong>.+?</strong></font>&lt;content:encoded&gt; 置換え 空     <br />正規表現にチェックを入れて、全置換え     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-3" border="0" alt="hide-grep-3" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep3.jpg" width="442" height="276" />     </p>
<p>wordpress.<strong><font color="#ff0000" size="4">から</font></strong>&lt;content:encoded&gt;までが置き換えられました。     <br />同様の作業で不要なURLを置換え削除していきます。     <br />下記の場合はhttp://panasonic.biz/.+?target=&quot;_blank&quot;&gt;     <br />http://sunq.jp/.+?.jpg&quot;</p>
<table class="tb2">
<tbody>
<tr>
<td>&lt;![CDATA[&lt;p&gt;長崎県長崎市 長崎港一望&#160;&#160; &lt;br /&gt;コントロール不可、固定、3秒更新&#160;&#160;&#160; &lt;br /&gt;機種 Panasonic &lt;a href=&quot;http://panasonic.biz/netsys/netwkcam/lineup/hcm515.html&quot; target=&quot;_blank&quot;&gt;BB-HCM515&lt;/a&gt;&lt;a title=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; href=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; target=&quot;_blank&quot;&gt;&#160;&#160;&#160;&#160; &lt;br /&gt;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&lt;/a&gt;&#160;&#160;&#160; &lt;br /&gt;&#160;&#160;&#160; &lt;br /&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;長崎県長崎市 長崎港一望&quot; border=&quot;0&quot; alt=&quot;長崎県長崎市 長崎港一望&quot; src=&quot;http://sunq.jp/style/wp-content/uploads/2011/02/0206.jpg&quot; width=&quot;504&quot; height=&quot;379&quot; /&gt;&lt;/p&gt;]]&gt;&lt;/content:encoded&gt;</td>
</tr>
</tbody>
</table>
<p>これでカメラURLになりましたが不要なタグ、文字列が存在します。</p>
<table class="tb2">
<tbody>
<tr>
<td>&lt;![CDATA[&lt;p&gt;長崎県長崎市 長崎港一望&#160;&#160; &lt;br /&gt;コントロール不可、固定、3秒更新&#160;&#160;&#160; &lt;br /&gt;機種 Panasonic &lt;a href=&quot;&gt;BB-HCM515&lt;/a&gt;&lt;a title=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; href=&quot;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&quot; target=&quot;_blank&quot;&gt;&#160;&#160;&#160;&#160; &lt;br /&gt;http://118.243.30.68:81/CgiStart?page=Single&amp;amp;Language=1&lt;/a&gt;&#160;&#160;&#160; &lt;br /&gt;&#160;&#160;&#160; &lt;br /&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;長崎県長崎市 長崎港一望&quot; border=&quot;0&quot; alt=&quot;長崎県長崎市 長崎港一望&quot; src=&quot; width=&quot;504&quot; height=&quot;379&quot; /&gt;&lt;/p&gt;]]&gt;&lt;/content:encoded&gt;</td>
</tr>
</tbody>
</table>
<p>今度はこのデータをexcelに貼り付けます。     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-4" border="0" alt="hide-grep-4" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep4.jpg" width="504" height="160" />     </p>
<p>excelマクロでURLのみを別シートに抜き出します。     <br />参考先：<a title="http://oshiete.goo.ne.jp/qa/1527820.html" href="http://oshiete.goo.ne.jp/qa/1527820.html" target="_blank">http://oshiete.goo.ne.jp/qa/1527820.html</a>     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-5" border="0" alt="hide-grep-5" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep5.jpg" width="454" height="351" />     </p>
<p>とりあえずマクロ名をあで作成をクリック     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-6" border="0" alt="hide-grep-6" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep6.jpg" width="506" height="374" />&#160; </p>
<p>コードを挿入     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-7" border="0" alt="hide-grep-7" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep7.jpg" width="504" height="454" />     </p>
<pre class="brush: vb">
Sub URL抽出()

　　Dim RegEx　　　As Object
　　Dim strPattern As String
　　Dim objMatches As Object
　　Dim objItem　　As Object
　　Dim rngCell　　As Range
　　Dim Source　　 As String
　　Dim lngCounter As Long
　　Dim Buf()　　　As String
　　
　　&#039;URLパターン
　　strPattern = &quot;((http|https|ftp)://[-_.!~*&#039;()a-zA-Z0-9;/?:@&amp;=+$,]+)&quot;
　　&#039;マッチング
　　lngCounter = 0
　　Set RegEx = CreateObject(&quot;VBScript.RegExp&quot;)
　　With RegEx
　　　　.Pattern = strPattern
　　　　.Global = True
　　　　For Each rngCell In Selection
　　　　　　If Not IsEmpty(rngCell) Then
　　　　　　　　Source = StrConv(Trim$(rngCell.Text), vbNarrow Or vbLowerCase)
　　　　　　　　Set objMatches = .Execute(Source)
　　　　　　　　For Each objItem In objMatches
　　　　　　　　　　ReDim Preserve Buf(lngCounter)
　　　　　　　　　　Buf(lngCounter) = objItem
　　　　　　　　　　lngCounter = lngCounter + 1
　　　　　　　　Next objItem
　　　　　　　　Set objMatches = Nothing
　　　　　　End If
　　　　Next rngCell
　　End With
　　Set RegEx = Nothing
　　&#039;結果出力
　　With ActiveWorkbook.Sheets.Add
　　　　.Range(&quot;A1&quot;).Resize(UBound(Buf) + 1).Value = _
　　　　Application.Transpose(Buf)
　　End With

End Sub
</pre>
<p>右上×で閉じる。     <br />ツール→マクロ→マクロでURL抽出を実行     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-8" border="0" alt="hide-grep-8" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep8.jpg" width="404" height="301" />     </p>
<p>これで別シートにURLのみが抽出されました。     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-9" border="0" alt="hide-grep-9" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep9.jpg" width="470" height="187" />&#160; </p>
<p>ですが同じURLが表示されているので重複を非表示にします。     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-10" border="0" alt="hide-grep-10" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep10.jpg" width="472" height="371" />     </p>
<p>リスト範囲指定、重複するレコードは無視するにチェックを入れてOK     <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-11" border="0" alt="hide-grep-11" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep11.jpg" width="470" height="420" />         <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-12" border="0" alt="hide-grep-12" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep12.jpg" width="469" height="186" />     </p>
<p>これ欲しいURLのみになりました。     <br />後はSemanticScuttleエクスポートデータ形式に合わせたデータを作成。     <br />SemanticScuttleエクスポートデータ<br />
<table class="tb2">
<tbody>
<tr>
<td>           &lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot; ?&gt;              <br />&lt;posts&gt;               <br />&lt;post href=&quot;http://kunisakijyuhan.aa1.netvolante.jp:50001/cgistart?page=single&amp;amp;Language=1&quot; description=&quot;&quot; hash=&quot;&quot; tag=&quot;Panasonic&quot; time=&quot;&quot; /&gt;               <br />&lt;/post&gt;         </td>
</tr>
</tbody>
</table>
<p>   excelでこのデータ形式にします。    <br />URLデータはA1にあるのでA1前に列の挿入し     <br />A1に<strong>&lt;post href=&quot;      <br /></strong>C1に<strong>&quot; description=&quot;&quot; hash=&quot;&quot; tag=&quot;Panasonic&quot; time=&quot;&quot; /&gt;      <br /></strong>D1に関数を入れてデータを結合します。     <br />関数：<strong>=CONCATENATE(A1,B1,C1)      <br /><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hide-grep-13" border="0" alt="hide-grep-13" src="http://sunq.jp/style/wp-content/uploads/2011/02/hidegrep13.jpg" width="504" height="435" />&#160; </p>
<p></strong>D1データを秀丸エディタにコピー、トップ、エンドを挿入後semanticscuttle.xmlで保存しインポート。     </p>
<p>今回のデータは655URLで一括だと500サーバーエラーでしたので200URLづつに分割してインポートしました。     <br />でも今回URLとタグのみインポートだったので抽出次第ではもう少しまともにインポートできるかもです。</p>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=5267&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2011/02/06-204338/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apache2.2.17 起動スクリプト</title>
		<link>http://sunq.jp/style/archives/2010/10/28-222814?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apache2-2-17-%25e8%25b5%25b7%25e5%258b%2595%25e3%2582%25b9%25e3%2582%25af%25e3%2583%25aa%25e3%2583%2597%25e3%2583%2588</link>
		<comments>http://sunq.jp/style/archives/2010/10/28-222814#comments</comments>
		<pubDate>Thu, 28 Oct 2010 13:28:14 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[Apache2.2.17]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2010/10/28-222814</guid>
		<description><![CDATA[/etc/init.d/httpd を作成 最初は /usr/local/src/httpd-2.2.17/build/rpm/httpd.init をhttpdにリネーム、/etc/init.d/へコピー　ルート修正後 [...]]]></description>
			<content:encoded><![CDATA[<p>
    /etc/init.d/httpd を作成
</p>
<p><span id="more-4739"></span>最初は<br />
/usr/local/src/httpd-2.2.17/build/rpm/httpd.init<br />
をhttpdにリネーム、/etc/init.d/へコピー　ルート修正後テスト</p>
<table class="tb2">
<tbody>
<tr valign="top">
<td>
<p>                    # <font color="#FF0000">sh -x /etc/init.d/httpd start<br /></font>+ . /lib/lsb/init-functions<br />
                    ++ . /etc/rc.status<br />
                    +++ LC_ALL=POSIX<br />
                    +++ export LC_ALL<br />
                    +++ trap rc_lc SIGWINCH<br />
                    +++ rc_lc<br />
                    +++ test -n &#8221;<br />
                    ++++ stty size<br />
                    +++ set &#8212; 33 93<br />
                    +++ LINES=33&nbsp;&nbsp;<br />
                    +++ COLUMNS=93<br />
                    +++ test 33 -eq 0<br />
                    +++ test 93 -eq 0<br />
                    +++ export LINES COLUMNS&nbsp;&nbsp;<br />
                    +++ case ":$PATH:" in<br />
                    +++ test -t 1 -a xterm '!=' raw -a xterm '!=' dumb<br />
                    +++ stty size<br />
                    ++++ echo -en '\033'<br />
                    +++ esc=$'\E'<br />
                    +++ extd=&#8221;<br />
                    +++ warn=&#8221;<br />
                    +++ done=&#8221;&nbsp;<br />
                    +++ attn=&#8221;&nbsp;<br />
                    ++++ echo -en '\017'<br />
                    +++ norm=&#8221;&nbsp;<br />
                    ++++ echo -en '\015&nbsp;&nbsp; '<br />
                    +++ stat=&#8221;<br />
                    +++ rc_done=' done'<br />
                    +++ rc_running=' running'&nbsp;&nbsp;<br />
                    +++ rc_failed='&nbsp; failed'<br />
                    +++ rc_missed='&nbsp; missing'&nbsp;&nbsp;<br />
                    +++ rc_skipped=' skipped'&nbsp;&nbsp;<br />
                    +++ rc_dead=' dead'<br />
                    +++ rc_unused='&nbsp; unused'<br />
                    +++ rc_unknown=' failed&#8221;&nbsp;&nbsp;<br />
                    +++ rc_reset=&#8221;p='&nbsp;&nbsp;<br />
                    +++ rc_save=&#8221;<br />
                    +++ rc_restor'='<br />
                    +++ _rc_service=/etc/init.d/httpd<br />
                    +++ _rc_status=0<br />
                    +++ _rc_status_all=0<br />
                    +++ _rc_todo=start&nbsp;&nbsp;<br />
                    +++ test start = status<br />
                    +++ test -n start<br />
                    +++ cmdline=<br />
                    + '[' -f /etc/sysconfig/httpd ']'<br />
                    + . /etc/sysconfig/httpd<br />
                    ++ DOC_SERVER=no<br />
                    ++ APACHE_CONF_INCLUDE_FILES=<br />
                    ++ APACHE_CONF_INCLUDE_DIRS=<br />
                    ++ APACHE_MODULES='authz_host actions alias auth_basic authz_groupfile authn_file authz_user autoindex cgi dir expires include log_config mime mime_magic negotiation setenvif status userdir asis dav dav_fs deflate headers imagemap rewrite ssl php5 perl wsgi authz_default'&nbsp;<br />
                    ++ APACHE_SERVER_FLAGS=<br />
                    ++ APACHE_HTTPD_CONF=<br />
                    ++ APACHE_MPM=<br />
                    ++ APACHE_SERVERADMIN=<br />
                    ++ APACHE_SERVERNAME=<br />
                    ++ APACHE_START_TIMEOUT=2<br />
                    ++ APACHE_SERVERSIGNATURE=on<br />
                    ++ APACHE_LOGLEVEL=warn<br />
                    ++ APACHE_ACCESS_LOG='/usr/local/apache2/logs/access_log combined'&nbsp;<br />
                    ++ APACHE_USE_CANONICAL_NAME=off<br />
                    ++ APACHE_SERVERTOKENS=OS<br />
                    ++ APACHE_EXTENDED_STATUS=off<br />
                    + HTTPD_LANG=C<br />
                    + INITLOG_ARGS=<br />
                    + httpd=/usr/local/apache2/bin/httpd<br />
                    + prog=httpd<br />
                    + pidfile=/usr/local/apache2/logs/httpd.pid<br />
                    + lockfile=/var/lock/subsys/httpd<br />
                    + RETVAL=0&nbsp;&nbsp;<br />
                    + case "$1" in<br />
                    + start<br />
                    + echo -n 'Starting httpd: '<br />
                    Starting httpd: + check13<br />
                    + CONFFILE=/usr/local/apache2/conf/httpd.conf<br />
                    + GONE='(ServerType|BindAddress|Port|AddModule|ClearModuleList|'<br />
                    + GONE='(ServerType|BindAddress|Port|AddModule|ClearModuleList|AgentLog|RefererLog|RefererIgnore|FancyIndexing|'&nbsp;<br />
                    + GONE='(ServerType|BindAddress|Port|AddModule|ClearModuleList|AgentLog|RefererLog|RefererIgnore|FancyIndexing|AccessConfig|ResourceConfig)'<br />
                    + grep -Eiq '^[[:space:]]*((ServerType|BindAddress|Port|AddModule|ClearModuleList|AgentLog|RefererLog|RefererIgnore|FancyIndexing|AccessConfig|ResourceConfig))' /usr/local/apache2/conf/httpd.conf<br />
                    + LANG=C<br />
                    + skeleton &#8211;pidfile=/usr/local/apache2/logs/httpd.pid /usr/local/apache2/bin/httpd<br />
                    <font color="#FF0000">/etc/init.d/httpd: line 85: daemon: command not found<br /></font>+ RETVAL=127<br />
                    + echo&nbsp;</p>
<p>                    + '[' 127 = 0 ']'<br />
                    + return 127<br />
                    + exit 127</p>
</td>
</tr>
</tbody>
</table>
<p>
daemonがありませんとエラー<br />
apachectl=/usr/local/apache2/bin/apachectl　を追加<br />
#LANG=$HTTPD_LANG daemon &#8211;pidfile=${pidfile} $httpd $OPTIONS　を無効<br />
$apachectl start　を追加<br />
/lib/lsb/init-functions　opensuse はこれ</p>
<pre class="prettyprint">
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# httpd        Startup script for the Apache Web Server
#
# chkconfig: 2345 85 15
# description: The Apache HTTP Server is an efficient and extensible  \
#             server implementing the current HTTP standards.
# processname: httpd
# pidfile: /var/log/httpd/httpd.pid
# config: /etc/sysconfig/httpd
#
### BEGIN INIT INFO
# Provides: httpd
# Required-Start: $local_fs $remote_fs $network $named
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: distcache
# Short-Description: start and stop Apache HTTP Server
# Description: The Apache HTTP Server is an extensible server
#  implementing the current HTTP standards.
### END INIT INFO
# Source function library.
. /lib/lsb/init-functions
if [ -f /etc/sysconfig/httpd ]; then
        . /etc/sysconfig/httpd
fi
# Start httpd in the C locale by default.
HTTPD_LANG=${HTTPD_LANG-"C"}
# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""
# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
# with the thread-based "worker" MPM; BE WARNED that some modules may not
# work correctly with a thread-based MPM; notably PHP will refuse to start.
apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
# check for 1.3 configuration
check13 () {
    CONFFILE=/usr/local/apache2/conf/httpd.conf
    GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
    GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
    GONE="${GONE}AccessConfig|ResourceConfig)"
    if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
        echo
        echo 1&gt;&amp;2 " Apache 1.3 configuration directives found"
        echo 1&gt;&amp;2 " please read @docdir@/migration.html"
        failure "Apache 1.3 config directives test"
        echo
        exit 1
    fi
}
# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure.  So we just do it the way init scripts
# are expected to behave here.
start() {
        echo -n $"Starting $prog: "
        check13 || exit 1
        #LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
        $apachectl start
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] &amp;&amp; touch ${lockfile}
        return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    killproc -p ${pidfile} $httpd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] &amp;&amp; rm -f ${lockfile} ${pidfile}
}
reload() {
    echo -n $"Reloading $prog: "
    check13 || exit 1
    killproc -p ${pidfile} $httpd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
        if ! test -f ${pidfile}; then
            echo $prog is stopped
            RETVAL=3
        else
            status -p {$pidfile} $httpd
            RETVAL=$?
        fi
        ;;
  restart)
    stop
    start
    ;;
  condrestart)
    if test -f ${pidfile} &amp;&amp; status -p ${pidfile} $httpd &gt;&amp;/dev/null; then
        stop
        start
    fi
    ;;
  reload)
        reload
    ;;
  configtest)
        LANG=$HTTPD_LANG $httpd $OPTIONS -t
        RETVAL=$?
        ;;
  graceful)
        echo -n $"Gracefully restarting $prog: "
    LANG=$HTTPD_LANG $httpd $OPTIONS -k $@
    RETVAL=$?
        echo
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|graceful|help|configtest}"
    exit 1
esac
exit $RETVAL
</pre>
<p></p>
<table class="tb2">
<tbody>
<tr valign="top">
<td>
                # /etc/init.d/httpd start<br />
                Starting httpd:<br />
                # /etc/init.d/httpd stop<br />
                Stopping httpd:<br />
                # /etc/init.d/httpd start<br />
                Starting httpd:<br />
                # /etc/init.d/httpd restart<br />
                Stopping httpd:<br />
                Starting httpd:
            </td>
</tr>
</tbody>
</table>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=4739&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2010/10/28-222814/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php5.2.14 モジュール、PEARモジュールの追加</title>
		<link>http://sunq.jp/style/archives/2010/10/28-103104?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php5-2-14-%25e3%2583%25a2%25e3%2582%25b8%25e3%2583%25a5%25e3%2583%25bc%25e3%2583%25ab%25e3%2580%2581pear%25e3%2583%25a2%25e3%2582%25b8%25e3%2583%25a5%25e3%2583%25bc%25e3%2583%25ab%25e3%2581%25ae%25e8%25bf%25bd%25e5%258a%25a0</link>
		<comments>http://sunq.jp/style/archives/2010/10/28-103104#comments</comments>
		<pubDate>Thu, 28 Oct 2010 01:31:04 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[php5.2.14]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2010/10/28-103104</guid>
		<description><![CDATA[apache、phpをrpmインストール後、localへapache、phpをインストールした環境 インストールされているモジュール確認 # /usr/local/php5/bin/php -m [PHP Modules [...]]]></description>
			<content:encoded><![CDATA[<p>apache、phpをrpmインストール後、localへapache、phpをインストールした環境<br /><span id="more-4735"></span>
<pre>
インストールされているモジュール確認
# /usr/local/php5/bin/php -m
[PHP Modules]
ctype
date
dom
eAccelerator
exif
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
SimpleXML
sockets
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend Optimizer
zlib

[Zend Modules]
Zend Optimizer
eAccelerator
</pre>
<p>インストール時に解凍したphp5.2.14/ext内にモジュールソースがあります。</p>
<pre>
モジュールの作成
# cd /usr/local/src/php-5.2.14/ext/インストールするモジュールフォルダ
# /usr/local/php5/bin/phpize  Makefileの作成
# ./configure

Makefileのパスを変更

install_targets = install-modules install-headers
prefix = /usr/local/php5	/usr/local/php5/include/php/こうなる
exec_prefix = $(prefix)
libdir = ${exec_prefix}/lib	/usr/local/php5/include/php/ext/pdo/こうなる
prefix = /usr/local/php5

phpincludedir = /usr/local/php5/include/php

EXTENSION_DIR = /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613
PHP_EXECUTABLE = /usr/local/php5/bin/php

INCLUDES = -I/usr/local/php5/include/php -I/usr/local/php5/include/php/main -I/usr/local/php5/include/php/TSRM -I/usr/local/php5/include/php/Zend -I/usr/local/php5/include/php/ext -I/usr/local/php5/include/php/ext/date/lib

# make
# make install
</pre>
<p>peclでモジュールインストール</p>
<pre>
何があるのか確認
# /usr/local/php5/bin/pecl list-all
All packages [Channel pecl.php.net]:
====================================
Package             Latest     Local
pecl/KTaglib        0.2.0            Library to edit audio properties and tags on MPEG and OGG files
pecl/FliteTTS                        Text to speech voice synthesis for PHP
pecl/Ovrimos                         Ovrimos interface
pecl/DTrace         1.0.3            A Solaris Dtrace provider
pecl/inclued        0.1.1            Clued-in about your inclueds
pecl/zookeeper      0.1.0            PHP extension for interfacing with Apache ZooKeeper
pecl/augeas         0.6.1            PHP bindings to the Augeas API
pecl/xmms           0.2              Provides functions to interact with xmms
pecl/newt           1.2.4            Extension for RedHat Newt window library
pecl/tvision        0.1              Turbo Vision wrapper
pecl/ncurses        1.0.1            Terminal screen handling and optimization package
pecl/date_time      0.1              Date and Time Library
pecl/timezonedb     2010.13          Timezone Database to be used with PHP's date and time functions
pecl/BLENC          1.0alpha         Transparent PHP Script Encryption using Blowfish
pecl/mcrypt_filter  0.1.0            Applies mcrypt symmetric encryption using stream filters
pecl/gnupg          1.3.2            wrapper around the gpgme library
pecl/libevent       0.0.4            Libevent - event notification
pecl/syck           0.9.3            YAML-1.0 parser and emitter
pecl/zip            1.10.2           A zip management extension
pecl/bz2            1.0              A Bzip2 management extension
pecl/lzf            1.5.2            LZF compression.
pecl/Fileinfo       1.0.4            libmagic bindings
pecl/id3            0.2              Functions to read and write ID3 tags in MP3 files.
pecl/rar            2.0.0            Read RAR files from PHP
pecl/archive        0.2              archive extension
pecl/rpmreader      0.3              RPM file meta information reader
pecl/haru           1.0.0            Haru PDF functions
pecl/cpdf                            C language API definitions for ClibPDF library
pecl/fpdf                            PDF Form Data Format functions
pecl/qqwry          0.1.0            Get IP location from QQWry file
pecl/yaml           0.6.3            YAML-1.1 parser and emitter
pecl/dazuko         0.42             Dazuko file-access-control
pecl/xattr          1.1.0            Extended attributes.
pecl/inotify        0.1.4            Inotify
pecl/fuse           0.1              File system in user space package
pecl/WinBinder      0.46.0           A Native Windows Binding for PHP
pecl/win32std       1.0              Set of standard Windows API functions.
pecl/tk             0.1.1            Extension for Tk (X-windows interface toolkit)
pecl/html_parse     1.0.0            HTML parser extenion
pecl/tidy           1.2              Tidy HTML Repairing and Parsing
pecl/pecl_http      1.7.0            Extended HTTP Support
pecl/txforward      1.0.6            Reverse Proxy (web accelerator) PHP compatibility layer
pecl/fribidi        1.0              Implementation of the Unicode BiDi algorithm
pecl/idn            0.2.0            GNU Libidn
pecl/intl           1.1.1            Internationalization extension
pecl/translit       0.6.0            Transliterates non-latin character sets to latin
pecl/unicode                         Unicode extension
pecl/gender         0.7.0            Gender Extension
pecl/spidermonkey   0.1.4            JavaScript engine for PHP
pecl/vpopmail       0.2              Provides functions to interact with vpopmail, a Qmail addon
pecl/mailparse      2.1.5            Email message manipulation
pecl/POP3           1.0.2            POP3 Client Library
pecl/big_int        1.0.7            big_int library provides a set of functions for calculations with arbitrary length integers and bitsets
pecl/stats          1.0.2            Extension with routines for statistical computation.
pecl/ecasound       0.2              Ecasound provides audio recording and processing functions
pecl/ming                            Binding for the ming library, swf generation (flash)
pecl/Bitset         1.0              BITSET library
pecl/spplus         1.0              SPPLUS Paiement System
pecl/TCLink         3.4.0            Enables credit card processing via the TrustCommerce payment gateway
pecl/cybercash      1.18p1           providesa access to cybercash online payment API
pecl/cybermut       1.1              CyberMut Paiement System
pecl/coin_acceptor  0.3              Interface for serial coin acceptors
pecl/mcve           7.0.3            libmonetra/libmcve interface
pecl/optimizer      0.1alpha1        PHP optimizer extension for APC
pecl/bcompiler      0.9.3            A bytecode compiler
pecl/apd            1.0.1            A full-featured engine-level profiler/debugger
pecl/python         0.8.0            Embedded Python
pecl/mono           0.7              Allows you to access .NET assemblies from PHP
pecl/session_mysql                   mysql session save handler for php
pecl/scream         0.1.0            Break the silence operator
pecl/xdebug         2.1.0            Provides functions for function traces and profiling
pecl/vld            0.10.1           Provides functionality to dump the internal representation of PHP scripts
pecl/ffi            0.3              Foreign Function Interface
pecl/perl           1.0.0            Embedded Perl.
pecl/parsekit       1.3.0            PHP Opcode Analyser
pecl/docblock       0.2.0            phpDocumentor-style DocBlock (T_DOC_COMMENT token) tokenizer
pecl/PHPScript                       Allows you to use PHP as an ActiveScript engine from within other applications
pecl/classkit       0.4              Runtime redefinition of class methods
pecl/postparser                      Handle file file uploads within a php script
pecl/intercept      0.3.0            Intercept function/method calls
pecl/runkit         0.9              For all those things you.... probably shouldn't have been doing anyway....

                                     WARNING: 0.9 does not compile with PHP 5.2+ so use the CVS version instead.
pecl/phar           2.0.0            allows running of complete applications out of .phar files (like Java .jar files)
pecl/operator       0.3              Operator overloading for Objects
pecl/htscanner      0.9.0            htaccess support for PHP
pecl/Parse_Tree     0.1.4            Generates a parse tree for a PHP source file in XML format.
pecl/PreProcessor                    PHP Macro Preprocessor
pecl/uploadprogress 1.0.1            An extension to track progress of a file upload.
pecl/lua                             Embedded lua interpreter
pecl/funcall        0.2.5            Add callbacks for any function/method
pecl/params         1.0              Parameter Parsing Utility
pecl/PHK            1.4.0            PHK Accelerator extension
pecl/automap        1.1.0            A fast map-based autoloader
pecl/tcc            0.1.2            TCC Extension
pecl/llvm                            Zend bytecode to LLVM assembly compiler
pecl/memtrack       0.2.0            PHP extension to watch (unusually high) memory consumption in PHP scripts
pecl/memsession     1.0.1            In-memory session extension
pecl/APM            1.0.0beta2       Alternative PHP Monitor
pecl/shape          0.9.2            libshape wrapper
pecl/amfext         0.9.2            ActionScript Message Format extension
pecl/sphinx         1.1.0            Client extension for Sphinx - opensource SQL full-text search engine
pecl/clucene        0.0.9            Extension for CLucene
pecl/mnogosearch    1.0.0            mnoGoSearch extension module for PHP
pecl/swish          0.4.0            Swish-e bindings
pecl/solr           0.9.11           The Apache Solr PHP extension is an extremely fast, light-weight, feature-rich library that allows PHP applications to communicate easily and efficiently with Apache Solr server instances using an object-oriented API.
pecl/selinux        0.3.1            SELinux binding for PHP script language
pecl/openal         0.1              OpenAL Bindings
pecl/oggvorbis      0.2              OGG wrapper for OGG/Vorbis files
pecl/zlib_filter    1.1              zlib filter implementation backport for PHP 5.0
pecl/bz2_filter     1.1.0            bz2 filter implementation backport for PHP 5.0
pecl/bloomy         0.1.0            Extension implementing a Bloom filter
pecl/Judy           0.1.2            PHP Judy implements sparse dynamic arrays (aka Judy Arrays)
pecl/PECL_Gen       0.9.9            Tool to generate PECL extensions from an XML description
pecl/SPL                             Standard PHP Library
pecl/crack          0.4              "Good Password" Checking Utility: Keep your users' passwords reasonably safe from dictionary based attacks
pecl/fann           0.1.1            Artificial neural networks
pecl/Valkyrie       0.1              Valkyrie validation extension
pecl/clips          0.5.0            Integrated CLIPS environment for deployment of expert systems
pecl/huffman        0.2.0            Huffman compression is a lossless compression algorithm that is ideal for compressing textual data.
pecl/crack_dll      0.4              "Good Password" Checking Utility: Keep your users' passwords reasonably safe from dictionary based attacks
pecl/filter         0.11.0           Extension for safely dealing with input parameters.

                                     Note: This extension is now part of PHP Core, so use it instead of this outdated PECL version (as of PHP 5.2.0).
pecl/hash           1.5              HASH Message Digest Framework
pecl/SPL_Types      0.3.0            Standard PHP Library, Types Addon
pecl/xrange         1.3.1            Numeric iterator primitives
pecl/xhprof         0.9.2            XHProf: A Hierarchical Profiler for PHP
pecl/stomp          1.0.3            Stomp client extension
pecl/svn            1.0.0            PHP Bindings for the Subversion Revision control system.
pecl/SCA_SDO        1.2.4            Service Component Architecture (SCA) and Service Data Objects (SDO) for PHP
pecl/json           1.2.1            JavaScript Object Notation.

                                     Note: This extension is now part of PHP Core, so use it instead. As of PHP 5.2.0.
pecl/axis2                           Web Services for PHP
pecl/oauth          1.0.0            oauth consumer extension
pecl/XMLRPCi        1.0              Improved XML-RPC
pecl/xmlReader      1.0.1            Provides fast, non-cached, forward-only access to XML data under PHP 5.

                                     NOTE: This extension is part of core, thus, the PECL extension is dead.
pecl/xmlwriter      2.0.4            Provides fast, non-cached, forward-only means to write XML data.

                                     This PECL extension is dead, instead use XMLWriter that comes with core (as of PHP 5.1.2)
pecl/domxml                          DOM XML Functions
pecl/WBXML          1.0.3            WBXML to XML conversion
pecl/xslcache       0.7.1            A modification of PHP's standard XSL extension that caches the parsed XSL stylesheet representation

後はモジュールをインストール
# /usr/local/php5/bin/pecl install モジュール名
</pre>
<p>PEARモジュールインストール</p>
<pre>
インストールされているものを確認
# /usr/local/php5/bin/pear list
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.7   stable
Config           1.10.11 stable
Console_Getopt   1.2.3   stable
DB               1.7.13  stable
DB_Pager         0.7     stable
Log              1.12.3  stable
Mail             1.2.0   stable
Mail_Mime        1.8.0   stable
Mail_mimeDecode  1.5.4   stable
Net_POP3         1.3.7   stable
Net_SMTP         1.4.4   stable
Net_Socket       1.0.10  stable
PEAR             1.9.1   stable
Pager            2.4.8   stable
Structures_Graph 1.0.3   stable
XML_Util         1.2.1   stable

いるものをインストール
# /usr/local/php5/bin/pear install モジュール名
</pre>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=4735&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2010/10/28-103104/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php5.2.14 make: *** [sapi/cli/php] エラー 1</title>
		<link>http://sunq.jp/style/archives/2010/10/27-202811?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php5-2-14-make-sapicliphp-%25e3%2582%25a8%25e3%2583%25a9%25e3%2583%25bc-1</link>
		<comments>http://sunq.jp/style/archives/2010/10/27-202811#comments</comments>
		<pubDate>Wed, 27 Oct 2010 11:28:11 +0000</pubDate>
		<dc:creator>さんきゅう</dc:creator>
				<category><![CDATA[覚　書]]></category>
		<category><![CDATA[php5.2.14]]></category>

		<guid isPermaLink="false">http://sunq.jp/style/archives/2010/10/27-202811</guid>
		<description><![CDATA[参考先　http://ayd.jp/p_blog/archive-200711/article-1195754575.html make: *** [sapi/cli/php] エラー 1 # make clean #  [...]]]></description>
			<content:encoded><![CDATA[<p>参考先　<a title="" href="http://ayd.jp/p_blog/archive-200711/article-1195754575.html" target="_blank">http://ayd.jp/p_blog/archive-200711/article-1195754575.html</a></p>
<pre>
make: *** [sapi/cli/php] エラー 1
</pre>
<p></p>
<pre>
# make clean
# make ZEND_EXTRA_LIBS='-liconv'
</pre>
<img src="http://sunq.jp/style/?ak_action=api_record_view&id=4734&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://sunq.jp/style/archives/2010/10/27-202811/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

