| 
<?
/**
 * This is the SAFOX API Project Wrapper. The SAFOX package is a collection of light-weight API for object-oriented PHP to handle XML files.
 * As of version 0.5 the SAFOX wrapper is the starting point for all SAFOX operations. It is an extreme light weight class
 * that allows to create any of the SAFOX objects (XMLDoc, XMLParser, RSSDoc, RSSParser) without further include or require commands.
 * All necessary libraries of the SAFOX API will be loaded only when/if the file is required, thus making scripts lighter and faster.
 *
 * Providing three base classes, XMLDoc, XMLNode, XMLParser, and extended RSSDoc and RSSParser Classes for RSS 2.0 Handling,
 * the SAFOX package allows an easy and clean way to handle all kind of XML files. The SAFOX package is currently developed in PHP4.X
 * and copyright by Christian Hansel, cpi service, Leipzig. The code is provided under the GNU Public License Version 2 and may freely be used,
 * modified, and distributed with original copyright notices to be  maintained.
 *
 * If no copy of the license is provided check  {@link  http://www.gnu.org/licenses/gpl2.txt}
 *
 * The SAFOX Package consists of five files:
 * <ul>
 *         <li>safox.cls.php -- A OOP wrapper for all SAFOX objects which loads one or more of the following files only when required</li>
 * </ul>
 * <ul>
 *    <li>safox_g.cls.php -- Provides the XMLDOc & XMLNODE Classes</li>
 *    <li>safox_p.cls.php -- Provides a simple, light-weight, but strong Parser for XML Documents that returns a XMLDOC Object</li>
 * </ul>
 * The SAFOX_RSS sub package consists of two files but requires the SAFOX Base classes:
 * <ul>
 *    <li>safox_g_rss.cls.php -- Provides the RSSDOc & RSSNODE Classes</li>
 *    <li>safox_p_rss.cls.php -- Provides a simple, light-weight, but strong Parser for XML Documents that returns a XMLDOC Object</li>
 * </ul>
 *
 * This is the wrapper/main SAFOX library providing access to all SAFOX objects
 *
 * Changes History :
 * version 0.5
 *  + The SAFOX library has been reorganised and now requires only one wrapper file (safox.cls.php)
 *  + added subpackage SAFOX_RSS provides two classes RSSDoc and RSSParser for the generation and parsing of RSS 2.0
 *  + added Feature: setEntityConversion is a function that specifies whether or not special characters in CDATA
 *                   should be converted into HT/XML-Entities (e.g. & into &, ' into ' ...)
 *                      (true) or enclosed into CDATA tags (false)
 *
 * version 0.42
 *  + BUGFIX 20051130-2 fixes a problem where comments containing tags caused the the parser to break
 *
 * version 0.41 of SAFOX package includes changes
 *  + BUGFIX 20051130 Code Cleanup provided by Cristiano Degiorgis [[email protected]]
 *
 * Changes History :
 * version 0.4 of SAFOX package includes changes
 *  + BUGFIX 20051128 that fixes problems with removing nodes from the document
 *  + remove, and delete methods added as aliases to destroy in XMLNode class
 *  + method cleanUP added to XMLDoc class
 *  + method cleanUP added to XMLNode class - see destription
 *
 * Changes History :
 * version 0.3 of SAFOX package includes changes
 *  + BUGFIX 20051123 corrects a problem that was caused when a repeated call to setId of child Nodes was made
 *  + addNodeAfter Method added to XMLDoc Class
 *  + addNodeAfter Method added to XMLNode Class
 *  + addNodeBefore Method added to XMLDoc Class
 *  + addNodeBefore Method added to XMLNode Class
 *
 * version 0.2 of SAFOX package includes changes
 *  + getchildNodeByTagName() Method added to XMLDOC
 *  + writeToFile Method added to XMLDOC
 *  + BUGFIX 20051117 in xmlParser - corrects a mishandling of <![CDATA[ .. ]]> enclosed tag content that
 *                      caused the parser to break when dealing with tags within the CDATA
 *
 * @author CVH, cpi-service ; [email protected]
 * @link http://www.cpi-service.com
 * @license GPL2 GNU General Public License (GPL) version 2
 * @package SAFOX
 * @version 0.5
 * @date 2006-02-07
 * @copyright (c) 2003-2006 CVH, cpi-service
 * @file safox.cls.php
 */
 define('SAFOXVERSION',0.5);
 /**
 * SAFOX a wrapper class for the SAFOX API
 * The SAFOX Wrapper allows to create all SAFOX objects but only binds/loads source file when considered necessary.
 * A single require / include line of code (include "safox.cls.php";) gives access to all source files and classes
 * @package SAFOX
 * @version 0.5
 * @author CVH
 */
 class SAFOX {
 /**
 * SAFOX constructor
 */
 function SAFOX() {
 // This is just a wrapper -- nothing to do here
 }
 /**
 * creates a XMLDoc Generation object and returns a reference to this.
 * automatically loads necessary files
 * @return XMLDoc
 */
 function &createXMLDoc() {
 if (! defined("SAFOX_G")) {
 require_once(dirname(__FILE__)."/safox_g.cls.php");
 }
 if (! defined("SAFOX_G")) {
 die (" SAFOX Generation Class not found in directory:".dirname(__FILE__));
 }
 $xmlDoc = & new xmlDoc();
 return $xmlDoc;
 }
 /**
 * creates a XMLParser object and returns a reference to this.
 * automatically loads necessary files
 * @return @XMLParser
 */
 function &createXMLParser() {
 if (! defined("SAFOX_P")) {
 require_once(dirname(__FILE__)."/safox_p.cls.php");
 }
 if (! defined("SAFOX_P")) {
 die (" SAFOX Parser Class not found in directory:".dirname(__FILE__));
 }
 $parser = & new xmlParser();
 return $parser;
 }
 /**
 * creates a RSSDoc (RSS 2.0) Generation object and returns a reference to this.
 * automatically loads necessary files
 * @return RSSDoc
 */
 function &createRSSDoc($title="",$link="",$description="") {
 if (! defined("SAFOX_G_RSS")) {
 require_once(dirname(__FILE__)."/safox_g_rss.cls.php");
 }
 if (! defined("SAFOX_G_RSS")) {
 die (" SAFOX RSS Generation Class not found in directory:".dirname(__FILE__));
 }
 $rssDoc = & new RSSDoc($title,$link,$description);
 return $rssDoc;
 }
 /**
 * creates a RSSParser (RSS 2.0) object and returns a reference to this.
 * automatically loads necessary files
 * @return RSSParser
 */
 function &createRSSParser() {
 if (! defined("SAFOX_P_RSS")) {
 require_once(dirname(__FILE__)."/safox_p_rss.cls.php");
 }
 if (! defined("SAFOX_P_RSS")) {
 die (" SAFOX RSS Parser Class not found in directory:".dirname(__FILE__));
 }
 $rssp = & new RSSParser();
 return $rssp;
 }
 /**
 * returns the current version of the SAFOX API
 * @return float
 */
 function getVersion() {
 return SAFOXVERSION;
 }
 /**
 * alias to getVersion() -  returns the current version of the SAFOX API
 * @return float
 */
 function ver() {
 return SAFOXVERSION;
 }
 }
 
 
 
 
 
 ?>
 |