にへるつおるぐ | src | ブログ | コンタクト | 統計 |

ソースコード・スクリプト・パッチ置き場

Items that do not fit in other categories

2013-08-14 17:43:07 JST-9 | akebia | General | コメント | トラックバック | 履歴

NP_znItemCache.php.patch

*** NP_znItemCache.php	2007-05-15 06:47:18.000000000 +0900
--- NP_znItemCache.php	2013-08-12 19:42:15.476434151 +0900
***************
*** 27,33 ****
  		}
  		if (!$this->checkPluginOption('debugMode')) $this->createOption("debugMode", 'debug mode', 'yesno', 'no');
  		if (!$this->checkPluginOption('verCheck')) $this->createOption('verCheck', ''._ZNITEMCACHE1.'', 'yesno', 'no'); //version check //vc
! 		return '0.024';
  	}
  	function getName()
  	{
--- 27,33 ----
  		}
  		if (!$this->checkPluginOption('debugMode')) $this->createOption("debugMode", 'debug mode', 'yesno', 'no');
  		if (!$this->checkPluginOption('verCheck')) $this->createOption('verCheck', ''._ZNITEMCACHE1.'', 'yesno', 'no'); //version check //vc
! 		return '0.024-2';
  	}
  	function getName()
  	{
***************
*** 35,45 ****
  	}
  	function getAuthor()
  	{
! 		return ''._ZNITEMCACHE2.'';
  	}
  	function getURL()
  	{
! 		return 'http://wa.otesei.com/NP_znItemCache';
  	}
  	function supportsFeature($w)
  	{
--- 35,45 ----
  	}
  	function getAuthor()
  	{
! 		return ''._ZNITEMCACHE2.' + akebia';
  	}
  	function getURL()
  	{
! 		return 'http://nyan.co.uk/akebia/item/231';
  	}
  	function supportsFeature($w)
  	{
***************
*** 125,130 ****
--- 125,139 ----
  	function event_PreSkinParse()
  	{
  		global $CONF;
+ 		//NP_Revision
+ 		$this->rev = requestVar('rev');
+ 		if ($CONF['URLMode'] == 'pathinfo') {
+ 			global $virtualpath;
+ 			if (preg_match('/revision\/([0-9]+\.[0-9]+)/', $virtualpath, $matches)) {
+ 				$this->rev = $matches[1];
+ 			}
+ 		}
+ 
  		//$CONF['Self']
  		$confSelf = $this->getOption('confSelf');
  		$this->selfArray = array_map('trim', preg_split("/[\r\n]+/", $confSelf));
***************
*** 203,208 ****
--- 212,232 ----
  	function event_PreItem($data)
  	{
  		global $manager;
+ 		//NP_Revision
+ 		if ($this->rev != '') {
+ 			$manager->_loadPlugin('NP_Revision'); $o = $manager->plugins['NP_Revision'];
+ 			if($this->rev == $o->eval_Last($data['item']->itemid)) {
+ 				$this->rev = '';
+ 			} else {
+ 				if ($this->cacheExist($data['item']->itemid)) {
+ 					$o->event_PreItem($data);
+ 					if($data['item']->body) $this->cacheFound($data);
+ 					$manager->subscriptions['PreItem'] = array('NP_znItemCache'); //
+ 					return;
+ 				}
+ 			}
+ 		}
+ 
  		//
  		if ($this->cacheExist($data['item']->itemid)) {
  			$this->cacheFound($data);
***************
*** 224,230 ****
  			$data['item']->more =                  $cache['more'];
  			//
  			$manager->subscriptions['PreItem'] = $this->notcachePlugins;
! 			$manager->notify('PreItem', array('blog' => &$data['blog'], 'item' => &$data['item']));
  		} else {
  			//unserialize
  			$this->cacheNotFound($data);
--- 248,254 ----
  			$data['item']->more =                  $cache['more'];
  			//
  			$manager->subscriptions['PreItem'] = $this->notcachePlugins;
! 			$_ = array('blog' => &$data['blog'], 'item' => &$data['item']); $manager->notify('PreItem', $_);
  		} else {
  			//unserialize
  			$this->cacheNotFound($data);
***************
*** 238,244 ****
  		global $manager;
  		//
  		$manager->subscriptions['PreItem'] = array_diff($this->subscriptionsPreItem, $this->notcachePlugins);
! 		$manager->notify('PreItem', array('blog' => &$data['blog'], 'item' => &$data['item']));
  		//
  		$ibody = $data['item']->body;
  		$imore = $data['item']->more;
--- 262,268 ----
  		global $manager;
  		//
  		$manager->subscriptions['PreItem'] = array_diff($this->subscriptionsPreItem, $this->notcachePlugins);
! 		$_ = array('blog' => &$data['blog'], 'item' => &$data['item']); $manager->notify('PreItem', $_);
  		//
  		$ibody = $data['item']->body;
  		$imore = $data['item']->more;
***************
*** 250,256 ****
  		}
  		//
  		$manager->subscriptions['PreItem'] = $this->notcachePlugins;
! 		$manager->notify('PreItem', array('blog' => &$data['blog'], 'item' => &$data['item']));
  	}
  	//
  	//
--- 274,280 ----
  		}
  		//
  		$manager->subscriptions['PreItem'] = $this->notcachePlugins;
! 		$_ = array('blog' => &$data['blog'], 'item' => &$data['item']); $manager->notify('PreItem', $_);
  	}
  	//
  	//
***************
*** 276,281 ****
--- 300,311 ----
  		//global $manager;
  		//$cacheFileName = $manager->getParserProperty('znItemCachePrefix') . $itemid;
  		global $CONF;
+ 		//NP_Revision
+ 		if ($this->rev != '') {
+ 			$cacheFileName = $CONF['Self'] . $itemid . '/' . $this->rev;
+ 			return $this->getDirectory().'cache/'.md5('i'.$cacheFileName);
+ 		}
+ 		
  		$cacheFileName = $CONF['Self'] . $itemid;
  		return $this->getDirectory().'cache/'.md5('i'.$cacheFileName);
  	}

Comments

No comments yet

Add Comment

Trackback

このトラックバックURL(右クリックして、リンクのURLをコピー)を使ってこの記事にトラックバックを送ることができます。もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。トラックバックの手動送信に失敗したり、拒否された場合には、あけび猫が入力しますので、こちらまでご連絡下さい。重複したトラックバックは、自動的に1つにまとめられるようなので、気軽に色々試してみて下さい。


http://2hz.org/src/