xml.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 179 行

PHP
179
字号
<?php
/**
 * Article management
 *
 * @copyright	The XOOPS project http://www.xoops.org/
 * @license		http://www.fsf.org/copyleft/gpl.html GNU public license
 * @author		Taiwen Jiang (phppp or D.J.) <php_pp@hotmail.com>
 * @since		1.00
 * @version		$Id$
 * @package		module::article
 */
 
if (!defined("XOOPS_ROOT_PATH")) {
	exit();
}
include_once dirname(dirname(__FILE__))."/include/vars.php";
load_functions("locale");
mod_loadFunctions("parse", $GLOBALS["artdirname"]);

/*** GENERAL USAGE *********************************************************
$xml_handler =& xoops_getmodulehandler("xml", $xoopsModule->getVar("dirname"));
$xml = $xml_handler->create("RSS0.91");
$xml->setVar("title", $title);
$xml->setVar("description", $description);
$xml->setVar("descriptionHtmlSyndicated", true);
$xml->setVar("link", $link);
$xml->setVar("syndicationURL", $syndicationURL);

$image = array(
	"width" => $imagewidth,
	"height" => $height,
	"title" => $imagetitle,
	"url" => $imageurl,
	"link" => $imagelink,
	"description" => $imagedesc
	);

$item = array(
	"title" => $datatitle,
    "link" => $dataurl,
    "description" => $datadesc,
    "descriptionHtmlSyndicated" => true,
    "date" => $datadate,
    "source" => $datasource,
    "author" => $dataauthor
    );

$xml->setImage($image);
$xml->addItem($item);

$xml_handler->display($xml);
*/

// your local timezone, set to "" to disable or for GMT
$server_TZ = abs(intval($GLOBALS['xoopsConfig']['server_TZ']*3600.0));
$prefix = ($GLOBALS['xoopsConfig']['server_TZ']<0)?"-":"+";
$TIME_ZONE = $prefix.date("H:i",$server_TZ);
define("TIME_ZONE", $TIME_ZONE);
// Version string.
define("FEEDCREATOR_VERSION", "ARTICLE @ XOOPS powered by FeedCreator");

include_once dirname(__FILE__)."/feedcreator.class.php";

/**
 * Description
 *
 * @param type $var description
 * @return type description
 * @link
 */
if(!class_exists("Xmlfeed")){
class Xmlfeed extends UniversalFeedCreator
{
    var $version;
    var $filename= "";

    function Xmlfeed($version)
    {
    	$this->filename= XOOPS_CACHE_PATH."/feed.xml";
        $this->version = $version;
    }

    function setVar($var, $val, $encoding = false)
    {
	    if(!empty($encoding)) $val = $this->convert_encoding($val);
        $this->$var = $val;
    }
    
    function convert_encoding($val)    
    {
	    if(is_array($val)){
		    foreach(array_keys($val) as $key){
			    $val[$key] = $this->convert_encoding($val[$key]);
		    }
	    }else{
		    $val = XoopsLocal::convert_encoding($val, $this->encoding, _CHARSET);
	    }
	    return $val;
    }

    function getVar($var)
    {
        return $this->$var;
    }

    function setImage(&$img)
    {
	    $image = new FeedImage();
	    foreach($img as $key=>$val){
		    $image->$key = $this->convert_encoding($val);
	    }
	    $this->setVar("image", $image);
    }

    function _addItem(&$itm)
    {
    	$item = new FeedItem();
	    foreach($itm as $key=>$val){
		    $item->$key = $this->convert_encoding($val);
	    }
	    $this->addItem($item);
    }

    function addItems(&$items)
    {
	    if(!is_array($items) || count($items)==0) return;
	    foreach($items as $item){
		    $this->_addItem($item);
	    }
    }
}
}

art_parse_class('
class [CLASS_PREFIX]XmlHandler
{
    function &create($format = "RSS0.91")
    {
        $xmlfeed = new Xmlfeed($format);
        return $xmlfeed;
    }

    function display(&$feed, $filename="", $display=false)
    {
	    if(!is_object($feed)) return null;
	    $filename=empty($filename)?$feed->filename:$filename;
	    if($display){
        	$feed->saveFeed($feed->version, $filename);
    	}else{
        	$feed->saveFeed($feed->version, $filename, false);
        	$content = implode("",file($filename));
        	return trim($content);
    	}
    }

    function insert(&$feed)
    {
	    $xml_data = array();
		$xml_data["version"] = $feed->version;
		$xml_data["encoding"] = $feed->encoding;
		$xml_data["image"] = $feed->image;
		$xml_data["items"] = $feed->items;

		return $xml_data;
    }

    function &get(&$feed)
    {
	    $xml_data = array();
		$xml_data["version"] = $feed->version;
		$xml_data["encoding"] = $feed->encoding;
		$xml_data["image"] = $feed->image;
		$xml_data["items"] = $feed->items;

		return $xml_data;
    }
}
');
?>

⌨️ 快捷键说明

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