📄 feedforall_parse_trackback.inc.php
字号:
<?php//// rss2html.php RSS feed to HTML webpage script//// Copyright 2007 NotePage, Inc. all rights reserved// http://www.feedforall.com//// NotePage, Inc. grants registerd users of our FeedForAll and/or// FeedForAll Mac product(s) the right to install and use the// FeedForAll_rss2html_pro.php script free of charge. // Please refer to the EULA included in the download for full license// terms and conditions.//// $Id: FeedForAll_parse_TrackBack.inc.php,v 3.0 2007/04/16 14:23:03 housley Exp $//// $Log: FeedForAll_parse_TrackBack.inc.php,v $// Revision 3.0 2007/04/16 14:23:03 housley// Release version 3.0 of the scripts//// Revision 2.3 2007/04/16 12:38:22 housley// Shorten the class name add-on to prevent it from becoming too long//// Revision 2.2 2007/03/30 13:18:32 housley// Use getArrayOfFields() and getValueOf() to simplfy tag replacement, except// where special processing needs to be done//// Revision 2.1 2007/03/07 02:11:59 housley// Add parsing the TrackBack extension//////Function FeedForAll_parse_TrackBack_extendClass($className) { $newClassName = $className."_TB"; eval('class ' . $newClassName . ' extends ' . $className . ' { var $TrackBack_ping; var $TrackBack_about; var $TrackBack_aboutArray; var $TrackBackUsed; Function ' . $newClassName . '($operateAs) { $this->TrackBack_ping = ""; $this->TrackBack_about = ""; $this->TrackBack_aboutArray = Array(); $this->TrackBackUsed = 0; // Call the parent constructor $this->' . $className . '($operateAs); } Function getValueOf($elementName) { if ($elementName == "~~~ItemTrackBackPing~~~") { return $this->TrackBack_ping; } elseif ($elementName == "~~~ItemTrackBackAbout~~~") { if (count($this->TrackBack_aboutArray) == 0) { return ""; } else { return $this->TrackBack_aboutArray[0]; } } else { return parent::getValueOf($elementName); } return NULL; } Function getArrayOfFields() { $result = Array(); $result[] = "~~~ItemTrackBackPing~~~"; $result[] = "~~~ItemTrackBackAbout~~~"; $merged = array_merge(parent::getArrayOfFields(), $result); sort($merged); return $merged; } }'); return $newClassName;}Function FeedForAll_parse_TrackBack_extendParserClass($className) { $newClassName = $className."_TB"; eval('class ' . $newClassName . ' extends ' . $className . ' { var $TrackBackUsed; Function ' . $newClassName . '($operateAs) { $this->TrackBackUsed = 0; // Call the parent constructor $this->' . $className . '($operateAs); } }'); return $newClassName;}Function FeedForAll_parse_TrackBack_startElemend($parser, &$_this, $tagName, $attrs) {}Function FeedForAll_parse_TrackBack_endElemend($parser, &$_this, $tagName) { if ((($tagName == "ITEM") && ($_this->feedTYPE != "FEE")) || (($tagName == "ENTRY") && ($_this->feedTYPE == "FEE"))) { if ($_this->UseItem) { if ($_this->currentItem->TrackBackUsed) { $_this->TrackBackUsed = 1; } $_this->currentItem->TrackBack_ping = trim($_this->currentItem->TrackBack_ping); } } if ($_this->insideItem) { if ($tagName == "TRACKBACK:PING") { $_this->currentItem->TrackBackUsed = 1; $_this->currentItem->TrackBack_blocked = trim($_this->TrackBack_blocked); } elseif ($tagName == "TRACKBACK:ABOUT") { $_this->currentItem->TrackBackUsed = 1; $_this->currentItem->TrackBack_aboutArray[] = $_this->TrackBack_about; $_this->currentItem->TrackBack_about = ""; } }}Function FeedForAll_parse_TrackBack_characterData($parser, &$_this, $data) { if (($data == "") || ($data == NULL)) { } else { if (($_this->insideItem) && ($_this->level == $_this->level_item+1)) { // // <item> switch ($_this->tag) { case "TRACKBACK:PING": $_this->currentItem->TrackBack_ping .= $data; $_this->currentItem->TrackBackUsed = 1; $_this->TrackBackUsed = 1; break; case "TRACKBACK:ABOUT": $_this->currentItem->TrackBack_about .= $data; $_this->currentItem->TrackBackUsed = 1; $_this->TrackBackUsed = 1; break; } } }}Function FeedForAll_parse_TrackBack_replaceInChannel($_this, $template) { return $template;}Function FeedForAll_parse_TrackBack_replaceInItem($currentItem, $item) { return $item;}Function FeedForAll_parse_TrackBack_createXML($currentItem) { $resultString = ""; if ($currentItem->TrackBack_ping != "") { $resultString .= " <trackback:ping>".htmlspecialchars($currentItem->TrackBack_ping, ENT_NOQUOTES, "UTF-8")."</trackback:ping>\n"; } for ($x = 0; $x < count($currentItem->TrackBack_aboutArray); $x++) { if ($currentItem->TrackBack_about != "") { $resultString .= " <trackback:about>".htmlspecialchars($currentItem->TrackBack_aboutArray[$x], ENT_NOQUOTES, "UTF-8")."</trackback:about>\n"; } } return $resultString;}Function FeedForAll_parse_TrackBack_addNamespace($_this, $templateString) { $used = 0; for ($x = 0; $x < count($_this->Items); $x++) { if ($_this->Items[$x]->TrackBackUsed) { $used = 1; break; } } if ($used) { if (strstr($templateString, "xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\"") === FALSE) { // Add the itunes namespace $templateString = str_replace("<rss ", "<rss xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\" ", $templateString); } } return $templateString;}Function FeedForAll_parse_TrackBack_rss2sql_buildInsert($currentItem, $config, &$fields, &$values) { if (isset($config["ItemTrackBackPing"]) && ($config["ItemTrackBackPing"] != "")) { $fields .= ",$config[ItemTrackBackPing]"; $values .= ",'".addslashes($currentItem->TrackBack_ping)."'"; } if (isset($config["ItemTrackBackAbout"]) && ($config["ItemTrackBackAbout"] != "")) { if (count($currentItem->TrackBack_aboutArray)) { $fields .= ",$config[ItemTrackBackAbout]"; $values .= ",'".addslashes($currentItem->TrackBack_aboutArray[0])."'"; } }}Function FeedForAll_parse_TrackBack_rss2sql_buildConfig(&$config, &$_POST, $type) { if ($type == 1) { // // Initial defaults $_POST["ItemTrackBackPing"] = "ItemTrackBackPing"; if (isset($config["ItemTrackBackPing"])) { $_POST["ItemTrackBackPing"] = $config["ItemTrackBackPing"]; } $_POST["ItemTrackBackAbout"] = "ItemTrackBackAbout"; if (isset($config["ItemTrackBackAbout"])) { $_POST["ItemTrackBackAbout"] = $config["ItemTrackBackAbout"]; } } elseif ($type == 2) { // // Show Configfile if ($_POST["ItemTrackBackPing"] != "") { echo "\$config[\"ItemTrackBackPing\"] = \"$_POST[ItemTrackBackPing]\";\n"; } if ($_POST["ItemTrackBackAbout"] != "") { echo "\$config[\"ItemTrackBackAbout\"] = \"$_POST[ItemTrackBackAbout]\";\n"; } } elseif ($type == 3) { // // Show Database table creation if ($_POST["ItemTrackBackPing"] != "") { echo " $_POST[ItemTrackBackPing] VARCHAR(255) NOT NULL DEFAULT \"\",\n"; } if ($_POST["ItemTrackBackAbout"] != "") { echo " $_POST[ItemTrackBackAbout] MEDIUMTEXT NOT NULL DEFAULT \"\",\n"; } } elseif ($type == 4) { // // Data entry form echo "<tr><td colspan=\"2\"><hr></td></tr>\n"; echo "<tr><th valign=\"top\" align=\"left\">ItemTrackBackPing</th><td><input type=\"text\" name=\"ItemTrackBackPing\" value=\"$_POST[ItemTrackBackPing]\" size=\"32\"><br><b>ItemTitle</b> is database field name to store the TrackBack® ping of the item.</td></tr>\n"; echo "<tr><th valign=\"top\" align=\"left\">ItemTrackBackAbout</th><td><input type=\"text\" name=\"ItemTrackBackAbout\" value=\"$_POST[ItemTrackBackAbout]\" size=\"32\"><br><b>ItemTitle</b> is database field name to store the TrackBack® about of the item.</td></tr>\n"; }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -