Login   Register  
PHP Classes
elePHPant
Icontem

File: config.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marius Zadara  >  PAX  >  config.php  >  Download  
File: config.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration file
Class: PAX
Interpret XML command scripts with PHP classes
Author: By
Last change: Updated version
Date: 5 years ago
Size: 9,684 bytes
 

Contents

Class file image Download
<?php

///////////////////////////////////////////////////////////////////////////////////////////////////
// PREREQUISITES //////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the configuration object
$Prerequisites = new Config();

// set the name of the simpleXML object to check
$Prerequisites->set('simpleXMLModuleName''SimpleXML');

// minimal PHP version
$Prerequisites->set('minPHPVersion''5.2.0');

// XML Parser module name
$Prerequisites->set('xmlParserModuleName''xml');



///////////////////////////////////////////////////////////////////////////////////////////////////
// VALIDATIONS ////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the validations object
$Validations = new Config();

// check simpleXML module load status at start-up
$Validations->set("checkSimpleXML"true);

// validate PHP version
$Validations->set("checkPHPVersion"true);

// check the XML Parser module at start-up
$Validations->set("checkXMLParser"true);

// check to see if the model disabled
$Validations->set("checkDisabledModels"true);


///////////////////////////////////////////////////////////////////////////////////////////////////
// DIRECTORIES ////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the directories object
$Directories = new Config();

// get the current directory
$currentDirectory = @getcwd();

// check the current directory
if ($currentDirectory === false)
    
$currentDirectory ".";
    
    
// models directory
$Directories->set("models"$currentDirectory.DIRECTORY_SEPARATOR."models".DIRECTORY_SEPARATOR);    

// namespaces directory
$Directories->set("namespaces"$currentDirectory.DIRECTORY_SEPARATOR."namespaces".DIRECTORY_SEPARATOR);

// name of definitions directory 
$Directories->set("definitions""definitions");

// implementations directory
$Directories->set("implementations""implementations");

// libraries directory
$Directories->set("libraries""libraries");

// extra directory
$Directories->set("extra""extra");

// clear the memory
unset($currentDirectory);




///////////////////////////////////////////////////////////////////////////////////////////////////
// FILENAMES //////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the filenames object
$Filenames = new Config();

// attributes
$Filenames->set("attributes""attributes.xml");

// tags XML file name
$Filenames->set("tags""tags.xml");

// attributes values XML file name
$Filenames->set("attributesValues""attributesValues.xml");

// node file format in the model directory
// the [CLASS] literal will be replaced with the actually node name
$Filenames->set("modelClassFileFormat""[CLASS].class.php");

// node file format in the namespace directory
// the [CLASS] literal will be replaced with the actually node name
$Filenames->set("namespaceClassFileFormat""[CLASS].class.php");

// libraries loader for the model
// this file includes all the libraries needed for the model
$Filenames->set("modelLibrariesLoader""_addLibraries.php");

// extra loader for the model
// this file includes all the extra classes/functions needed for the model
$Filenames->set("modelExtraLoader""_addExtra.php");


///////////////////////////////////////////////////////////////////////////////////////////////////
// ELEMENTS CONFIG ////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the elements config
$Elements = new Config();

// the root element for the tags file
$Elements->set("tagsRoot""tags");

// the root element for the attributes file
$Elements->set("attributesRoot""attributes");

// the root element for the attributes values file
$Elements->set("attributesValuesRoot""attributesValues");

// the text that indicates that an attribute for a tag is mandatory
$Elements->set("mandatoryText""mandatory");

// the text that indicates the default value for an attribute 
$Elements->set("defaultValueText""defaultValue");

// the namespace url used in attributes files
// using this namespace you can set attributes for nodes in namespaces
$Elements->set("namespaceURL""http://pax.org/");

// the name of the method in the node implementation that will validate the attribute value
// the [ATTRIBUTE] will be replaced with the name of the attribute
$Elements->set("attrbuteValueValidationMethodName""validateAttributeValue_[ATTRIBUTE]");

// the name of the method in the node implementation that will validate the tag content
// the [ATTRIBUTE] will be replaced with the name of the attribute
$Elements->set("tagContentValidationMethodName""validateContent");


// "true" values, used in different contexts
// can be either an array or a single value
// the comparison is done in case sensitive manner
$Elements->set("trueTexts", array("true""yes""da""1"));

// "false" values, used in different contexts
// can be either an array or a single value
// the comparison is done in case sensitive manner
$Elements->set("falseTexts", array("false""no""nu""0"));

// general name of the pax namespace
$Elements->set("paxNs""paxns");

// separator used in namespace definition
$Elements->set("paxNsSeparator"":");


///////////////////////////////////////////////////////////////////////////////////////////////////
// PAX CONFIG /////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

// init the pax config object
$PAXConfig = new Config();

// set the kinds of the documents that are not allowed to be processed
// the value can be array with the disabled kinds
// or empty array / null to ignore
$PAXConfig->set("disabledModels"NULL);

// flag indicating if should ignore empty attributes file
$PAXConfig->set("allowNoAttributes"false);

// flag indicating if should ignore empty tags file
$PAXConfig->set("allowNoTags"false);

// flag indicating if should ignore empty attributes values file
$PAXConfig->set("allowNoAttributesValues"false);

// XML parser options
$PAXConfig->set("XMLParserOptions", array(XML_OPTION_CASE_FOLDING => 0,  XML_OPTION_SKIP_WHITE => 1));

// root attribute to overwrite the tag filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterTagsAttributeName""filterTags");

// root attribute to overwrite the tag attributes filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterAttributesAttributeName""filterAttributes");

// root attribute to overwrite the tag attributes values filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterAttributesValueAttributeName""filterAttributesValue");

// root attribute to overwrite the tag content filtering
// its value must be in either true or false dictionaries
$PAXConfig->set("filterTagContentAttributeName""filterTagContent");

// root attribute to overwrite the instructions compilations
// its value must be in either true or false dictionaries
$PAXConfig->set("compileInstructionsAttributeName""compileInstructions");

// filter the tags
$PAXConfig->set("filterTags"true);

// filter the tags attributes
$PAXConfig->set("filterTagAttributes"true);

// filter the tags attributes values
$PAXConfig->set("filterTagAttributesValues"true);

// filter the tags content
$PAXConfig->set("filterTagContent"true);

// interpret PHP instructions
$PAXConfig->set("compileInstructions"true);



///////////////////////////////////////////////////////////////////////////////////////////////////
// INSTRUCTIONS RELATED ///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

$Instructions = new Config();

// instruction start delimiter
$Instructions->set("startDelimiter""!#");

// instruction end delimiter
$Instructions->set("endDelimiter""#!");


///////////////////////////////////////////////////////////////////////////////////////////////////
// CUSTOM VARIABLES ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////

/*
 * The following variables are already available:
 *  
 * _NODE_NAME_ : the name of the node (like "say")
 * _NODE_TYPE_: the type of the node ("open", "close", "complete")
 * _NODE_LEVEL_: the level of the node
 * _NODE_VALUE_: the content of the node
 * _NODE_IS_ROOT_: 1 or 0 if the node is the root or not
 * _NODE_HAS_ATTRIBUTES_: 1 or 0 if the node has or not attributes
 * _NODE_ATTRIBUTES_COUNT_: the count of the attributes
 * _NODE_ATTRIBUTE_X_ : the value of attribute X
 */
$Variables = new Config();
$Variables->set("_PAX_VERSION_""6");

?>