Exemplo n.º 1
0
/**
 * Main zTag functions selector
 *
 * <code>
 * zform_execute($tagId, $tagFunction, $arrayTag, $arrayTagId, $arrayOrder);
 * </code>
 *
 * @param integer $tagId array id of current zTag of $arrayTag array
 * @param string $tagFunction name of zTag function
 * @param array $arrayTag array with all compiled zTags
 * @param array $arrayTagId array with all Ids values
 * @param array $arrayOrder array with zTag executing order
 *
 * @since 1.0
 */
function zform_zexecute($tagId, $tagFunction, &$arrayTag, &$arrayTagId, $arrayOrder)
{
    $arrParam = $arrayTag[$tagId][ztagParam];
    $strId = $arrParam["id"];
    $strTagId = $arrParam["tagid"];
    $strName = $arrParam["name"];
    $strCaption = $arrParam["caption"];
    $strValue = $arrParam["value"];
    $strValues = $arrParam["values"];
    if ($arrayTag[$tagId][ztagContentWidth]) {
        $strContent = $arrayTag[$tagId][ztagContent];
    }
    if (!$strTagId) {
        $strTagId = $strName;
    }
    $arrParam["id"] = $strTagId;
    $arrParam["for"] = $strTagId;
    if ($strCaption) {
        if (strpos(" {$strCaption}", "&")) {
            $labelAccessKey = preg_match("%&(.)%i", $strCaption);
            if (!$labelAccessKey) {
                $labelAccessKey = substr($strCaption, 1, 1);
            }
            $arrParam["accesskey"] = $labelAccessKey;
            $strCaption = preg_replace("%^(.*)&(.)(.*)\$%i", "\$1<u>\$2</u>\$3", $strCaption);
        }
    }
    $errorMessage = "";
    switch (strtolower($tagFunction)) {
        /*+
         * Input Text
         *
         * <code>
         * <zform:input type="text" name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string type="text"
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "input":
            $errorMessage = ztagParamCheck($arrParam, "type,name");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly,disabled,autocomplete,maxlength,size,tabindex,datebr");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam} />";
            break;
            /*+
             * Input Text
             *
             * <code>
             * <zform:inputtext name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Input Text
         *
         * <code>
         * <zform:inputtext name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "inputtext":
            $arrParam["type"] = "text";
            $errorMessage = ztagParamCheck($arrParam, "type,name");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly,disabled,autocomplete,maxlength,size,tabindex,title,datebr");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam} />";
            break;
            /*+
             * Input Hidden
             *
             * <code>
             * <zform:inputhidden name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Input Hidden
         *
         * <code>
         * <zform:inputhidden name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "inputhidden":
            $arrParam["type"] = "hidden";
            $errorMessage = ztagParamCheck($arrParam, "type,name");
            $strParam = ztagParam($arrParam, "type,id,name,value");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam} />";
            break;
            /*+
             * Input Password
             *
             * <code>
             * <zform:inputpassword name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Input Password
         *
         * <code>
         * <zform:inputpassword name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "inputpassword":
            $arrParam["type"] = "password";
            $errorMessage = ztagParamCheck($arrParam, "type,name");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam} />";
            break;
            /*+
             * Input Checkbox
             *
             * <code>
             * <zform:inputcheckbox name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Input Checkbox
         *
         * <code>
         * <zform:inputcheckbox name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "inputcheckbox":
            $arrParam["type"] = "checkbox";
            $arrValues = explode(";", $strValues);
            if ($arrValues[0] == $strValue) {
                $strChecked = " checked=\"checked\"";
            }
            $errorMessage = ztagParamCheck($arrParam, "type,name,values");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam}{$strChecked} />";
            break;
            /*+
             * Text Area
             *
             * <code>
             * <zform:textarea name="fieldName" tagid="fieldId" value="fieldValue" />
             *
             * <zform:textarea name="fieldName" tagid="fieldId" filename="fileSave.txt" filetype="txt">
             * Text Area value
             * </zform:textarea>
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @param string filename="/Alianca8/File.txt"
             * @param string filetype="txt"
             * @param string show="0"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Text Area
         *
         * <code>
         * <zform:textarea name="fieldName" tagid="fieldId" value="fieldValue" />
         *
         * <zform:textarea name="fieldName" tagid="fieldId" filename="fileSave.txt" filetype="txt">
         * Text Area value
         * </zform:textarea>
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @param string filename="/Alianca8/File.txt"
         * @param string filetype="txt"
         * @param string show="0"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "textarea":
            $strFileName = $arrParam["filename"];
            $strFileType = $arrParam["filetype"];
            $strShow = strtolower($arrParam["show"]);
            if (strlen($strContent)) {
                $arrParam["value"] = $strContent;
            }
            $strValue = $arrParam["value"];
            if (strlen($strValue)) {
                $strValue = ztagVars($strValue, $arrayTagId);
                $strValue = ztagRun($strValue, 0, $arrayTagId);
            }
            $arrParam["type"] = "textarea";
            $errorMessage = ztagParamCheck($arrParam, "type,name");
            $strParam = ztagParam($arrParam, "type,id,name,style,required,readonly,disabled,cols,rows,tabindex,title");
            $arrayTag[$tagId][ztagResult] = "<textarea{$strParam} />{$strValue}</textarea>";
            $blnShow = $strShow === "true" || $strShow === "1" || !strlen($strShow);
            if ($strFileName) {
                $strFileName = str_replace("\\", "/", $strFileName);
                if (substr($strFileName, 0, 1) === "/") {
                    $strFileName = substr($strFileName, 1);
                }
                $strFileName = SiteRootDir . $strFileName;
                if (!($handleFile = fopen($strFileName, "w"))) {
                    $errorMessage .= "\r\nCannot open file ({$strFileName})";
                }
            }
            if ($handleFile && fwrite($handleFile, $strValue) === FALSE) {
                if (!$errorMessageTemp) {
                    $errorMessage .= $errorMessageTemp = "\r\nCannot write to file ({$strFileName})";
                }
            }
            if ($handleFile) {
                fclose($handleFile);
            }
            break;
            /*+
             * Select
             *
             * <code>
             * <zform:select name="textNameSelect" tagid="textIdSelect" value="tagOptionValue1,tagOptionCaption1;tagOptionValue2,tagOptionCaption2;tagOptionValue3,tagOptionCaption3" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Select
         *
         * <code>
         * <zform:select name="textNameSelect" tagid="textIdSelect" value="tagOptionValue1,tagOptionCaption1;tagOptionValue2,tagOptionCaption2;tagOptionValue3,tagOptionCaption3" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "select":
            $strOptions = $arrParam["options"];
            if ($strOptions) {
                $arrOptions = explode(";", $strOptions);
                foreach ($arrOptions as $keyOptions => $valueOptions) {
                    $strSelected = "";
                    $arrOption = explode(",", $valueOptions);
                    if ($strValue == $arrOption[0]) {
                        $strSelected = " selected=\"selected\"";
                    }
                    if (!$arrOption[1]) {
                        $arrOption[1] = $arrOption[0];
                    }
                    $strOptions .= "<option value=\"{$arrOption['0']}\"{$strSelected}>{$arrOption['1']}</option>";
                }
            }
            $errorMessage = ztagParamCheck($arrParam, "name,options");
            $strParam = ztagParam($arrParam, "type,id,name,style,required,readonly,disabled,cols,rows,tabindex,title");
            $arrayTag[$tagId][ztagResult] = "<select{$strParam} />{$strOptions}</select>";
            break;
            /*+
             * Input Submit
             *
             * <code>
             * <zform:inputsubmit name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Input Submit
         *
         * <code>
         * <zform:inputsubmit name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "inputsubmit":
            $arrParam["type"] = "submit";
            $errorMessage = ztagParamCheck($arrParam, "type,name,value");
            $strParam = ztagParam($arrParam, "type,id,name,value");
            $arrayTag[$tagId][ztagResult] = "<input{$strParam} />";
            break;
            /*+
             * Box
             *
             * <code>
             * <zform:box type="text" caption="caption" name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box
         *
         * <code>
         * <zform:box type="text" caption="caption" name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "box":
            $errorMessage = ztagParamCheck($arrParam, "type,caption,name");
            $strLabel = ztagParam($arrParam, "accesskey,for");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly,disabled,autocomplete,maxlength,size,tabindex,title,datebr");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}>{$strCaption}<br /><input{$strParam} /></label>";
            break;
            /*+
             * Box Text
             *
             * <code>
             * <zform:boxtext caption="caption" name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Text
         *
         * <code>
         * <zform:boxtext caption="caption" name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxtext":
            $arrParam["type"] = "text";
            $errorMessage = ztagParamCheck($arrParam, "type,caption,name");
            $strLabel = ztagParam($arrParam, "accesskey,for");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly,disabled,autocomplete,maxlength,size,tabindex,title,datebr");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}>{$strCaption}<br /><input{$strParam} /></label>";
            break;
            /*+
             * Box Password
             *
             * <code>
             * <zform:boxpassword name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Password
         *
         * <code>
         * <zform:boxpassword name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxpassword":
            $arrParam["type"] = "password";
            $errorMessage = ztagParamCheck($arrParam, "type,caption,name");
            $strLabel = ztagParam($arrParam, "accesskey,for");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}>{$strCaption}<br /><input{$strParam} /></label>";
            break;
            /*+
             * Box Checkbox
             *
             * <code>
             * <zform:boxcheckbox caption="&CheckBox" name="checkboxNameBox" tagid="checkboxIdBox"  value="checkboxValueOn" values="checkboxValueOn;checkboxValueOff" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Checkbox
         *
         * <code>
         * <zform:boxcheckbox caption="&CheckBox" name="checkboxNameBox" tagid="checkboxIdBox"  value="checkboxValueOn" values="checkboxValueOn;checkboxValueOff" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxcheckbox":
            $arrParam["type"] = "checkbox";
            $arrValues = explode(";", $strValues);
            if ($arrValues[0] == $strValue) {
                $arrParam["checked"] = "checked";
            }
            $errorMessage = ztagParamCheck($arrParam, "type,name,value,values");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}><input{$strParam} /> {$strCaption}</label>";
            break;
            /*+
             * Box Radio
             *
             * <code>
             * <zform:boxradio caption="Processos com GTOs duplicadas" name="FL_CONTA_MEDICA_Estado" tagid="FL_DATA_Consulta" value="1" checked="$FL_GTO_DUPLICADACheck" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Radio
         *
         * <code>
         * <zform:boxradio caption="Processos com GTOs duplicadas" name="FL_CONTA_MEDICA_Estado" tagid="FL_DATA_Consulta" value="1" checked="$FL_GTO_DUPLICADACheck" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxradio":
            $arrParam["type"] = "radio";
            $arrValues = explode(";", $strValues);
            if ($arrValues[0] == $strValue) {
                $arrParam["checked"] = "checked";
            }
            $errorMessage = ztagParamCheck($arrParam, "type,name,value,values");
            $strParam = ztagParam($arrParam, "type,id,name,value,style,required,readonly");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}><input{$strParam} /> {$strCaption}</label>";
            break;
            /*+
             * Box Text Area
             *
             * <code>
             * <zform:boxtextarea name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Text Area
         *
         * <code>
         * <zform:boxtextarea name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxtextarea":
            $arrParam["type"] = "textarea";
            $errorMessage = ztagParamCheck($arrParam, "type,caption,name,value");
            $strLabel = ztagParam($arrParam, "accesskey,for");
            $strParam = ztagParam($arrParam, "type,id,name,style,required,readonly,disabled,cols,rows,tabindex,title");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}>{$strCaption}<br /><textarea{$strParam} />{$strValue}</textarea></label>";
            break;
            /*+
             * Box Select
             *
             * <code>
             * <zform:boxselect caption="&Text" name="textNameBox" tagid="textIdBox" value="textValueBox" options="tagOptionValue1,tagOptionCaption1;tagOptionValue2,tagOptionCaption2;tagOptionValue3,tagOptionCaption3" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Box Select
         *
         * <code>
         * <zform:boxselect caption="&Text" name="textNameBox" tagid="textIdBox" value="textValueBox" options="tagOptionValue1,tagOptionCaption1;tagOptionValue2,tagOptionCaption2;tagOptionValue3,tagOptionCaption3" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "boxselect":
            $strOptions = $arrParam["options"];
            if ($strOptions) {
                $arrOptions = explode(";", $strOptions);
                $strOptions = "";
                foreach ($arrOptions as $keyOptions => $valueOptions) {
                    $strSelected = "";
                    $arrOption = explode(",", $valueOptions);
                    if ($strValue == $arrOption[0]) {
                        $strSelected = " selected=\"selected\"";
                    }
                    if (!$arrOption[1]) {
                        $arrOption[1] = $arrOption[0];
                    }
                    $strOptions .= "<option value=\"{$arrOption['0']}\"{$strSelected}>{$arrOption['1']}</option>";
                }
            }
            $errorMessage = ztagParamCheck($arrParam, "name,options");
            $strLabel = ztagParam($arrParam, "accesskey,for");
            $strParam = ztagParam($arrParam, "type,id,name,style,required,readonly,disabled,cols,rows,tabindex,title");
            $arrayTag[$tagId][ztagResult] = "<label{$strLabel}>{$strCaption}<br /><select{$strParam} />{$strOptions}</select></label>";
            break;
            /*+
             * Button
             *
             * <code>
             * <zform:button name="fieldName" tagid="fieldId" value="fieldValue" />
             * </code>
             *
             * @param string name="fieldName"
             * @param string tagid="fieldId"
             * @param string value="fieldValue"
             *
             * @author Ruben Zevallos Jr. <*****@*****.**>
             */
        /*+
         * Button
         *
         * <code>
         * <zform:button name="fieldName" tagid="fieldId" value="fieldValue" />
         * </code>
         *
         * @param string name="fieldName"
         * @param string tagid="fieldId"
         * @param string value="fieldValue"
         *
         * @author Ruben Zevallos Jr. <*****@*****.**>
         */
        case "button":
            break;
        default:
            $errorMessage .= "<br />Undefined function \"{$tagFunction}\"";
    }
    ztagError($errorMessage, $arrayTag, $tagId);
}
Exemplo n.º 2
0
function zhtml_cellhead($tagId, &$arrayTag, &$arrayTagId, $arrayOrder)
{
    $arrParam = $arrayTag[$tagId][ztagParam];
    $strTagId = $arrParam["tagid"];
    $strValue = $arrParam["value"];
    $strTransform = $arrParam["transform"];
    $strContent = $arrayTag[$tagId][ztagContent];
    if (strlen($strValue)) {
        $strContent = $strValue;
    }
    $arrParam["value"] = $strContent;
    if (!$strTagId) {
        $strTagId = $strName;
    }
    $arrParam["id"] = $strTagId;
    $strTag = "th";
    $strParam = ztagParam($arrParam, "alt,align,border,height,width,id,class,style,nowrap,colspan");
    $errorMessage = ztagParamCheck($arrParam, "value");
    if ($strTransform) {
        $strContent = ztagTransform($strContent, $strTransform);
    }
    $arrayTag[$tagId][ztagResult] = "<{$strTag}{$strParam}>{$strContent}</{$strTag}>";
    ztagError($errorMessage, $arrayTag, $tagId);
}