]> git.mxchange.org Git - mailer.git/blobdiff - inc/xml-functions.php
Typo in naming a database column fixed
[mailer.git] / inc / xml-functions.php
index 04550bc6da6afa1f1901b1efb6bbd93ff1cdc5b4..601137807380afd475edfebdc27761db630a832f 100644 (file)
@@ -63,6 +63,13 @@ function showEntriesByXmlCallback ($template) {
                // Read it
                $templateContent = readFromFile($FQFN);
 
+               // Init main arrays
+               $GLOBALS['__XML_CALLBACKS'] = array(
+                       'callbacks' => array(),
+                       'functions' => array()
+               );
+               $GLOBALS['__XML_ARGUMENTS'] = array();
+
                // Handle it over to the parser
                parseXmlData($templateContent);
 
@@ -117,6 +124,15 @@ function doCallXmlCallbackFunction () {
                if ((isset($GLOBALS['__XML_CALLBACKS']['functions'][$callback])) && (isset($GLOBALS['__XML_ARGUMENTS'][$callback]))) {
                        // Run all function callbacks
                        foreach ($GLOBALS['__XML_CALLBACKS']['functions'][$callback] as $function) {
+                               // Trim all function names
+                               $function = trim($function);
+
+                               // If the function is empty, simply skip to the (maybe) next one
+                               if (empty($function)) {
+                                       // Skip this
+                                       continue;
+                               } // END - if
+
                                // Now construct the call-back function's name with 'Execute' at the end
                                $callbackName = $callback . 'Execute';
 
@@ -135,9 +151,9 @@ function doCallXmlCallbackFunction () {
        } // END - foreach
 }
 
-// ----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 //                     Call-back functions for XML parser
-// ----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
 
 // Starts an element
 function startXmlElement ($resource, $element, $attributes) {
@@ -169,7 +185,9 @@ function xmlCharacterHandler ($resource, $characters) {
                // Nothing to handle
                return;
        } // END - if
-       die('characters[]='.strlen($characters));
+
+       // @TODO Handle characters
+       die(__FUNCTION__ . ':characters[]='.strlen($characters));
 }
 
 // Checks if given type is valid, makes all lower-case
@@ -178,7 +196,16 @@ function isInvalidXmlType ($type) {
        $type = strtolower(trim($type));
 
        // Is it found?
-       return (in_array($type, array('string', 'array', 'bool')));
+       return (in_array($type, array('string', 'array', 'bool', 'int', 'callback')));
+}
+
+// Checks if given condition is valid
+function isXmlConditionValid ($condition) {
+       // Trim and make lower-case
+       $condition = trim(strtolower($condition));
+
+       // Is it valid?
+       return (in_array($condition, array('equals')));
 }
 
 // Checks if given value is valid/verifyable
@@ -196,5 +223,25 @@ function isXmlValueValid ($type, $value) {
        return call_user_func_array($callbackFunction, array($value));
 }
 
+// Converts given condition into a symbol
+function convertXmlContion ($condition) {
+       // Default is an invalid one
+       $return = '???';
+
+       // Detect the condition again
+       switch ($condition) {
+               case 'EQUALS': // Equals
+                       $return = '=';
+                       break;
+
+               default: // Unknown condition
+                       debug_report_bug(__FUNCTION__, __LINE__, 'Condition ' . $condition . ' is unknown/unsupported.');
+                       break;
+       } // END - switch
+
+       // Return it
+       return $return;
+}
+
 // [EOF]
 ?>