* ==========================================================================================
*/
+define('NP_TRACKBACK_LINKCHECK_STRICT', 1);
+//define('NP_TRACKBACK_LINKCHECK_STRICT', 0);
+
class NP_TrackBack_XMLParser {
function NP_TrackBack_XMLParser(){
$this->parser = xml_parser_create();
}
}
- if(substr($blogurl, -1) == '/') $blogurl = substr($blogurl,0,-1);
+ if(substr($blogurl, -1) == '/') $blogurl = substr($blogurl, 0, -1);
$usePathInfo = ($CONF['URLMode'] == 'pathinfo');
-
$itemUrlOrg = $CONF['ItemURL'];
- $CONF['ItemURL'] = $blogurl . ($usePathInfo ? '' : '/index.php');
+ if( ! ($usePathInfo || substr($blogurl, -4) == '.php') ) $blogurl .= '/index.php';
+ $CONF['ItemURL'] = $blogurl;
+
$itemLink = createItemLink($itemid,'');
$CONF['ItemURL'] = $itemUrlOrg;
*/
function getTrackBackUrl($itemid) {
global $CONF, $manager;
- return $CONF['ActionURL'] . '?action=plugin&name=TrackBack&tb_id='.$itemid;
+ return 'http://blog.cles.jp/item/' . intval($itemid) . '.trackback';
}
/*
*/
$uri = $this->_createItemLink($item['itemid'],$blog);
- $title = strip_tags($item['title']);
- $desc = strip_tags($item['body']);
- $desc = $this->_cut_string($desc, 200);
- $desc = htmlspecialchars($desc, ENT_QUOTES);
-
+ $timestamp = time();
+ $sourceaddr = ip2long(serverVar('REMOTE_ADDR'));
+ $key = md5( sprintf("%u %u %u %s", $timestamp, $sourceaddr, $itemid, __FILE__));
?>
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
$contents = $this->retrieveUrl($url);
$linkArray = $this->getPermaLinksFromText($contents);
- $itemLink = $this->_createItemLink($tb_id, $b);
+
+ if( NP_TRACKBACK_LINKCHECK_STRICT )
+ $itemLink = $this->_createItemLink($tb_id, $b);
+ else
+ $itemLink = $b->getURL();
+
$itemLinkPat = '{^' . preg_quote($itemLink) .'}i';
$itemLinkPat = str_replace('&','&(amp;)?', $itemLinkPat);
function getName() { return 'TrackBack'; }
function getAuthor() { return 'rakaz + nakahara21 + hsur'; }
function getURL() { return 'http://blog.cles.jp/np_cles/category/31/subcatid/3'; }
- function getVersion() { return '2.0.3 jp10.3'; }
- function getDescription() { return '[$Revision: 1.17 $]<br />' . _TB_DESCRIPTION; }
-
+ function getVersion() { return '2.0.3 jp10.4'; }
+ function getDescription() { return '[$Revision: 1.18 $]<br />' . _TB_DESCRIPTION; }
+
//modify start+++++++++
/*
function getTableList() { return array(sql_table("plugin_tb"), sql_table("plugin_tb_lookup")); }
<li>¡¡[Changed] TrackBack¤Î¥ì¥¹¥Ý¥ó¥¹¤Î²òÀϤËXML¥Ñ¡¼¥µ¡¼¤ò»È¤¦¤è¤¦¤Ë¤·¤¿</li>
<li>¡¡[Fixed] ¸ÀµÚ¥ê¥ó¥¯¥Á¥§¥Ã¥¯¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ</li>
<li>¡¡[Added] ÊÝα¤Ë¤·¤Æ¤¤¤ëURL¤ÈƱ¤¸URL¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤ò̵»ë¤¹¤ë¤è¤¦¤Ë¤·¤¿</li>
- <!-- 10.1 -->
+ <!-- 10.1, 10.2, 10.3 -->
<li>¡¡[Fixed] ¸ÀµÚ¥ê¥ó¥¯¥Á¥§¥Ã¥¯¤ÎÍѤÎURLÀ¸À®¥ë¡¼¥Á¥ó¤ÎÉÔ¶ñ¹ç¤ò½¤Àµ</li>
+ <!-- 10.4 -->
+ <li>¡¡[Added] spam¥È¥é¥Ã¥¯¥Ð¥Ã¥¯°ì³ç¾Ãµî»þ¤Ë³Îǧ¤¬½Ð¤ë¤è¤¦¤Ë¤·¤¿</li>
<li>Version 2.0.3jp9 : (2007/05/04)</li>
<li>¡¡[Added] doIf()¤òÄɲÃ(Nucleus 3.3¸þ¤±)</li>
function doDelete(){
var ids = checkUpdateIds();
if( !(ids.length && ids.length > 0) ) return ;
+ if( !confirm('ËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«¡©') ) return ;
var params = [
'action=dodelete',
</h2>
<ul>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>">¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>">spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤ò¥¯¥ê¥¢¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©');">¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤ò¥¯¥ê¥¢¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©');">spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
</ul>
<?php if(count($items)): ?>
</h2>
<ul>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>">¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>">spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤ò¥¯¥ê¥¢¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©');">¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤ò¥¯¥ê¥¢¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©');">spamȽÄꤵ¤ì¤¿¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤Î¥¯¥ê¥¢</a></li>
</ul>
<div id="message" style="color: red;"></div>
function doDelete(){
var ids = checkUpdateIds();
if( !(ids.length && ids.length > 0) ) return ;
+ if( !confirm('ËÜÅö¤Ëºï½ü¤·¤Þ¤¹¤«¡©') ) return ;
var params = [
'action=dodelete',
<li> [Changed] TrackBackのレスポンスの解析にXMLパーサーを使うようにした</li>
<li> [Fixed] 言及リンクチェックの不具合を修正</li>
<li> [Added] 保留にしているURLと同じURLのトラックバックを無視するようにした</li>
- <!-- 10.1 -->
+ <!-- 10.1, 10.2, 10.3 -->
<li> [Fixed] 言及リンクチェックの用のURL生成ルーチンの不具合を修正</li>
+ <!-- 10.4 -->
+ <li> [Added] spamトラックバック一括消去時に確認が出るようにした</li>
<li>Version 2.0.3jp9 : (2007/05/04)</li>
<li> [Added] doIf()を追加(Nucleus 3.3向け)</li>
function doDelete(){
var ids = checkUpdateIds();
if( !(ids.length && ids.length > 0) ) return ;
+ if( !confirm('本当に削除しますか?') ) return ;
var params = [
'action=dodelete',
</h2>
<ul>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>">ブロックされたトラックバックのクリア</a></li>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>">spam判定されたトラックバックのクリア</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('ブロックされたトラックバックをクリアしてもよろしいですか?');">ブロックされたトラックバックのクリア</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('spam判定されたトラックバックをクリアしてもよろしいですか?');">spam判定されたトラックバックのクリア</a></li>
</ul>
<?php if(count($items)): ?>
</h2>
<ul>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>">ブロックされたトラックバックのクリア</a></li>
- <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>">spam判定されたトラックバックのクリア</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_clear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('ブロックされたトラックバックをクリアしてもよろしいですか?');">ブロックされたトラックバックのクリア</a></li>
+ <li><a href="<?php echo htmlspecialchars($manager->addTicketToUrl($CONF['PluginURL'].'trackback/index.php?action=blocked_spamclear&next=blocked'),ENT_QUOTES); ?>" onClick="return confirm('spam判定されたトラックバックをクリアしてもよろしいですか?');">spam判定されたトラックバックのクリア</a></li>
</ul>
<div id="message" style="color: red;"></div>
function doDelete(){
var ids = checkUpdateIds();
if( !(ids.length && ids.length > 0) ) return ;
+ if( !confirm('本当に削除しますか?') ) return ;
var params = [
'action=dodelete',