PHP Classes

File: config.php

Recommend this page to a friend!
  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: 15 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");

?>