function zdbal_SQL($tagId, &$arrayTag, &$arrayTagId, $arrayOrder) { $arrParam = $arrayTag[$tagId][ztagParam]; $arrayTable = array(); $arrayTableOrder = array(); $strId = $arrParam["id"]; $errorMessage .= ztagParamCheck($arrParam, "id,use,model"); $templateContent = $arrayTag[$tagId][ztagContent]; $arrayTagField = array(); $arrayModel = $arrayTagId[$strId][ztagIdModel]; $arrayModelOrder = $arrayTagId[$strId][ztagIdModelOrder]; $arrayField = array(); // Compile the Model to recover all zdbal:Field tags content ztagCompile($templateContent, $arrayTagField, $arrayTagId, $arrayOrder, $arrayTagLevel); $o = 0; // <zdbal:field name="CM.CD_PESSOA_PRESTADOR" /> foreach ($arrayTagField as $keyTag => $valueTag) { $arrTagParam = $arrayTagField[$keyTag][ztagParam]; $arrTagBegin = $arrayTagField[$keyTag][ztagBegin]; $arrTagStart = $arrayTagField[$keyTag][ztagStart]; if (!$arrTagBegin) { $errorTagMessage = ztagParamCheck($arrTagParam, "name"); } ztagError($errorTagMessage, $arrayTag, $tagId); $strTagName = $arrTagParam["name"]; $strTagTransform = $arrTagParam["transform"]; $intPos = strpos($strTagName, ":"); if ($intPos) { $arrayField[$strTagName]["alias"] = substr($strTagName, 0, $intPos - 1); $arrayField[$strTagName]["name"] = substr($strTagName, $intPos + 1, strlen($strTagName)); } // @TODO Gerar a query e os Joins colocando o Where e o Order by // @TODO processar a Query e executar o join * vezes como definido no limit. } ztagError($errorMessage, $arrayTag, $tagId); }
/** * Do all zTag process * * Executes, process, compile and mount all HTML * * <code> * $templateContent = ztagTemplateLoad("Home"); * * ztagRun($templateContent, $timeTemplate); * </code> * * @param string $templateContent template content to be processed * @param microtime $timeTemplate[optional] time before the template load * @param array $arrayTagId array with all used Ids * * @return string HTML processed, ready to use * * @see ztagTemplateLoad() * @see ztagCompile() * @see ztagExecute() * @see ztagMount() * * @uses ztagCompile() * @uses ztagExecute() * @uses ztagMount() * * @since 1.0 */ function ztagRun($templateContent, $timeTemplate = 0, &$arrayTagId = array()) { global $arrayTagSys; if ($templateContent) { $arrayTag = array(); $arrayOrder = array(); $arrayTagSys[ztagSysStartTime] = $timeStart; $arrayTagSys[ztagSysTemplateTime] = microtime() - $timeTemplate; $arrayTagSys[ztagSysTemplateSize] = strlen($templateContent); $timeStart = microtime(); ztagCompile($templateContent, $arrayTag, $arrayTagId, $arrayOrder, $arrayTagLevel); // echo "<pre>".print_r($arrayTag, 1)."</pre>"; // die(); $arrayTagSys[ztagSysCompileTime] = microtime() - $timeStart; if (count($arrayTag) > 1) { // @TODO Create a array with all executed zTag statistics information, like hierarqui, run time etc $time = microtime(); ztagExecute($arrayTag, $arrayTagId, $arrayOrder); $arrayTagSys[ztagSysExecuteTime] = microtime() - $time; } $time = microtime(); $result = ztagMountHTML($arrayTag, $arrayTagLevel); $arrayTagSys[ztagSysMountTime] = microtime() - $time; $arrayTagSys[ztagSysAllTime] = microtime() - $timeStart; } else { debugError("Cannot Run an empty template!"); } return $result; }