Example #1
0
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);
}
Example #2
0
/**
 * 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;
}