⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedforall_parse_trackback.inc.php

📁 RSS to SQL to store in Database
💻 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&reg; 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&reg; about of the item.</td></tr>\n";  }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -