&num=5&category=<%topentry_category_no>&skip=<%topentry_no>&type=rand">
¢¬¤³¤³¤Þ¤Ç
*/
//
// [´ØÏ¢¥¨¥ó¥È¥ê¡¼¤¬Àµ¤·¤¯É½¼¨¤µ¤ì¤Ê¤¤¾ì¹ç]
// ¡¦¤³¤Á¤é¤Îµ»öÆâÍÆ¡¢¥³¥á¥ó¥ÈÍó¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤
// http://gunnerscard.blog95.fc2.com/blog-entry-122.html
//
// [¥¥ã¥Ã¥·¥åµ¡Ç½¤¬ÍøÍѤǤ¤Ê¤¤¾ì¹ç]
// ¢£¤Ç¥Þ¡¼¥¯¤µ¤ì¤¿¥¥ã¥Ã¥·¥å´ØÏ¢¥½¡¼¥¹¤òºï½ü¤¹¤ë¤«¡¢/* ¥½¡¼¥¹ */¤Ç°Ï¤ó¤Ç¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¯¤À¤µ¤¤
//
// [¹¹¿·ÍúÎò]
// archives.html¤Î¥¿¥°¹½À®¤ÎÊѹ¹¤Ë¤¢¤ï¤»¤Æ½¤Àµ
//
//¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡//
// ʸ»ú¥³¡¼¥ÉÀßÄê
$en_output = "UTF-8"; // ½ÐÎÏ¥³¡¼¥É
$en_php = "EUC-JP"; // ¥½¡¼¥¹¥³¡¼¥É
//---------------------------------
// ¢£¥¥ã¥Ã¥·¥åÀßÄê
//---------------------------------
// Cache_Lite¤Î¥×¥í¥°¥é¥à¤òÆɤ߹þ¤à
require_once 'Cache/Lite.php';
// ¥ª¥×¥·¥ç¥óÀßÄê
$cacheOptions = array (
'cacheDir' => './cache/', // ¥¥ã¥Ã¥·¥åÊݸÀè(¢¨ËÜ¥Õ¥¡¥¤¥ë¤«¤é¤ÎÁêÂХѥ¹¤Ç»ØÄê)
'lifeTime' => 3600, // [6»þ´Ö]»ØÄꤷ¤¿Éÿô¤Ï¥¥ã¥Ã¥·¥å¤ò»È¤¦¡¢null¤Ë¤¹¤ë¤È̵´ü¸Â
);
//---------------------------------
// ÊÑ¿ôÀßÄê
//---------------------------------
// FC2¥Ö¥í¥°¥¢¥É¥ì¥¹
$blog_url = "";
// ɽ¼¨¥¿¥¤¥×¡Êdate:ÆüÉÕ½ç, rand:¥é¥ó¥À¥à¡Ë
$type = "date";
// ¥«¥Æ¥´¥êNo
$category = "";
// ɽ¼¨¥¨¥ó¥È¥ê¿ô¡Ê¥Ç¥Õ¥©¥ë¥È£µ·ï¡¢»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¤½¤Î·ï¿ô¤Ë½¾¤¦¡Ë
$num = 5;
// ¸Æ½Ð¸µ¤Îµ»ö¤Ï´ØÏ¢¥¨¥ó¥È¥ê¤ÎÂоݳ°¤È¤¹¤ë
$skip = "";
//---------------------------------
// ÀßÄêÃͤμèÆÀ
//---------------------------------
if (isset($_GET["chk_url"])) {
$chk_url = $_GET["chk_url"]."archives.html";
}
if (isset($_GET["type"])) {
$type = $_GET["type"];
}
if (isset($_GET["category"])) {
$category = urldecode($_GET["category"]);
}
if (isset($_GET["num"])) {
$num = $_GET["num"];
}
if (isset($_GET["skip"])) {
$skip = $_GET["skip"];
}
//---------------------------------
// ÀßÄꤵ¤ì¤¿¥¢¥É¥ì¥¹¤Î¤ßÍøÍѲÄǽ¤Ë¤¹¤ë¾ì¹ç¡¢¥Ö¥í¥°¥¢¥É¥ì¥¹¤òÀßÄꤷ¤Æ¤¯¤À¤µ¤¤
//---------------------------------
$permit_url = ""; // http://*******.fc2.com/
if ($permit_url != "" && str_replace("archives.html", "", $chk_url) != $permit_url) {
die;
}
//---------------------------------
// ¢£¥¥ã¥Ã¥·¥åÍøÍѽàÈ÷
//---------------------------------
// ¥¥ã¥Ã¥·¥å£É£Ä
$cacheId = $chk_url;
// ¥¤¥ó¥¹¥¿¥ó¥¹À¸À®
$objCache = new Cache_Lite($cacheOptions);
//-------------------------------
// ¥¨¥ó¥È¥êÇÛÎóºîÀ®´Ø¿ô
// $buf ¼èÆÀ¥½¡¼¥¹
// $type ɽ¼¨¥¿¥¤¥×
// $category ¥«¥Æ¥´¥ê̾
// $num ɽ¼¨·ï¿ô
// $skip ½ü³°¤¹¤ë¥¨¥ó¥È¥êNo
//-------------------------------
function MakeArray ($buf, $type, $category, $num, $skip)
{
// ½é´ü²½
$ary_buf = array();
$tmp_array = array();
$chk_flg = 0;
//-----------------------------
// ¼èÆÀ¥½¡¼¥¹À°·Á
//-----------------------------
// ²þ¹Ô¥³¡¼¥ÉÅý°ì
$buf = str_replace("\r\n", "\n", $buf);
$buf = str_replace("\r", "\n", $buf);
$buf = str_replace("
", "\n", $buf);
// ²þ¹Ô¤Î½ÅÊ£¤È¥¿¥Ö¤òºï½ü
while (substr_count($buf, "\n\n") > 0) {
$buf = str_replace("\n\n", "\n", $buf);
$buf = str_replace("\t", "", $buf);
$buf = str_replace("\n", "", $buf); // 20100629 add ²þ¹Ô¥³¡¼¥Éºï½ü
}
// 20100629 add
// ¥¨¥ó¥È¥êÉôʬ¤Ë²þ¹Ô¥³¡¼¥ÉÁÞÆþ
$buf = str_replace("", "\n", $buf);
$buf = str_replace("- ", "\n
- ", $buf);
$buf = str_replace("
- ", "\n
- ", $buf);
$buf = str_replace("
", "
\n", $buf);
// ¥Æ¥¥¹¥ÈÍ×ÁǤòÇÛÎó²½
$ary_buf = explode("\n", $buf);
unset($buf);
// Á´¥¨¥ó¥È¥ê¤òÇÛÎó²½
$j = 0;
for ($i = 0; $i < count($ary_buf); $i++) {
if ($chk_flg != 0 && substr_count($ary_buf[$i], "")) { // 20100629 modify
//if ($chk_flg != 0 && substr_count($ary_buf[$i], "
")) {
$tmp_array[$j] = str_replace("
", "", str_replace("", "", $ary_buf[$i]));
$j++;
}
// ³«»Ï¥¡¼µ¯Æ°
if (substr_count($ary_buf[$i], "alllog")) $chk_flg++;
}
unset($ary_buf);
//-----------------------------
// »ØÄꥫ¥Æ¥´¥ê¤Î¤ß¼èÆÀ
//-----------------------------
$ary_buf = array();
$j = 0;
// ÇÛÎó²½
for ($i = 0; $i < count($tmp_array); $i++) {
if ($skip != "" && $skip >= 0) {
if (!substr_count($tmp_array[$i], "entry-".$skip.".html") && substr_count($tmp_array[$i], "category-".$category.".html")) {
// 20100629 modify
$tmp_string = explode("", $tmp_array[$i]);
$ary_buf[$j] = trim(str_replace("", "", $tmp_string[0]));
//$tmp_string = explode("|", $tmp_array[$i]);
//$ary_buf[$j] = trim($tmp_string[0]).")";
$j++;
}
} else {
if (substr_count($tmp_array[$i], "category-".$category.".html")) {
// 20100629 modify
$tmp_string = explode("", $tmp_array[$i]);
$ary_buf[$j] = trim(str_replace("", "", $tmp_string[0]));
//$tmp_string = explode("|", $tmp_array[$i]);
//$ary_buf[$j] = trim($tmp_string[0]).")";
$j++;
}
}
}
unset($tmp_array);
//-----------------------------
// ɽ¼¨¥¿¥¤¥×¤Ë½¾¤Ã¤ÆºÇ½ªÀ°·Á
//-----------------------------
$tmp_array = array();
$key_array = array();
// ¥é¥ó¥À¥à¤Çɽ¼¨
// ¢¨É½¼¨¿ô¤¬Â¸ºß¤¹¤ë¥¨¥ó¥È¥ê¿ô¤è¤ê¾¯¤Ê¤¤¾ì¹ç¤Ï¡¢¶¯À©Åª¤ËÆüÉÕ½ç¤Ø
if ($type == "rand" && count($ary_buf) > $num) {
$key_array = array_rand($ary_buf, $num); // ¥¨¥ó¥È¥êÇÛÎ󤫤é¥é¥ó¥À¥à¤Çkey¤ò¼èÆÀ
for ($i = 0; $i < $num; $i++) {
$tmp_array[$i] = $ary_buf[$key_array[$i]]; // ¼èÆÀ¤·¤¿key¤«¤éÂоݤȤʤ륨¥ó¥È¥ê¤ò¼èÆÀ
}
// ÆüÉÕ½ç¤Ëɽ¼¨
} else {
for ($i = 0; $i < $num; $i++) {
// Ãæ¿È¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Î¤ß¼èÆÀ
if ($ary_buf[$i] != "") $tmp_array[$i] = $ary_buf[$i];
}
}
unset($ary_buf);
return $tmp_array;
}
//---------------------------------------------------------
// ¥á¥¤¥ó½èÍý
//---------------------------------------------------------
// ½é´ü²½
$ary_buf = array();
$buf = "";
$idx = 0;
//--------------------
// ¥Ú¡¼¥¸¥½¡¼¥¹¼èÆÀ
//--------------------
if (isset($objCache)) {
// ͸ú¤Ê¥¥ã¥Ã¥·¥å¤¬Â¸ºß
if ($cache = $objCache->get($cacheId)) {
$buf = $cache;
// ¥¥ã¥Ã¥·¥å¤¬Â¸ºß¤·¤Ê¤¤¤«´ü¸ÂÀÚ¤ì
} else {
$buf = mb_convert_encoding(file_get_contents($chk_url), $en_php, $en_output); // ¼èÆÀ¼Â¹Ô
// ¥¥ã¥Ã¥·¥åºÆºîÀ®
$objCache->save($buf, $cacheId);
}
} else {
$buf = mb_convert_encoding(file_get_contents($chk_url), $en_php, $en_output); // ¼èÆÀ¼Â¹Ô
}
//--------------------
// À°·ÁºÑ¤ß¥¨¥ó¥È¥êÇÛÎó¼èÆÀ
//--------------------
$ary_buf = MakeArray($buf, $type, $category, $num, $skip);
$idx = count($ary_buf);
//-------------------------------
// ½ÐÎÏ
//-------------------------------
// ¥Ø¥Ã¥À¡¼javascript»ØÄê
header("Content-type: application/x-javascript");
echo "document.write(\"";
echo "";
echo "\")";
// ¥ê¥ó¥¯Àè¤ò¿¶Ê¬
if (rand(1, 8) <= 4 ) {
echo " + document.write(\"\")";
} else {
echo " + document.write(\"\")";
}
unset($ary_buf);
?>