. * * fileName.php * * xslwiz description of the file. * * @author Daniele Bonini * @copyrights (c) 2016, 2024 5 Mode */ /* * PARAMETERS */ $page = filter_input(INPUT_POST, "OP_PAGE")??""; $page = strip_tags($page); switch ($page) { case "": case "1": $iPage = 1; $iPrevPage = 1; $iNextPage = 2; break; case "2": $iPage = 2; $iPrevPage = 1; $iNextPage = 3; break; case "3": $iPage = 3; $iPrevPage = 2; $iNextPage = 4; break; case "4": $iPage = 4; $iPrevPage = 3; $iNextPage = 5; break; case "5": $iPage = 5; $iPrevPage = 4; $iNextPage = 6; break; default: $iPage = 1; $iPrevPage = 1; $iNextPage = 2; break; } $id_prefix = ['A','B','C','D','E']; $ID = filter_input(INPUT_POST, "ID")??""; $ID = strip_tags($ID); $OP = filter_input(INPUT_POST, "OP_MSG")??""; $OP = strip_tags($OP); $logoCode = filter_input(INPUT_POST, "LOGO_CODE")??""; $logoCode = strip_tags($logoCode); if ($logoCode===PHP_STR) { $logoCode = "logo-default"; } //$logoPath = "/res/pxl.gif"; $logoPath = "/res/$logoCode.png"; if ($iPage === 4) { if ($ID==="" && false===true) { $ID = $id_prefix[mt_rand(0,4)] . mt_rand(99999, mt_getrandmax()); if (!is_readable(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID)) { mkdir(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID); } } if ($OP === "del_logo") { delLogo(); } if ($OP !== "del_logo") { upload(); } //logo if (is_readable(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID)) { $pattern = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "logo.*"; $aFiles = glob($pattern); if (!empty($aFiles)) { //$logoPath = "/img?av=".$ID."&pic=".basename($aFiles[0]); $logoPath = APP_HOST.DIRECTORY_SEPARATOR."xsl-repo".DIRECTORY_SEPARATOR.$ID.DIRECTORY_SEPARATOR.basename($aFiles[0]); } } } $title = filter_input(INPUT_POST, "TITLE")??""; $title = strip_tags($title); $desc = filter_input(INPUT_POST, "DESC")??""; $desc = strip_tags($desc); $keywords = filter_input(INPUT_POST, "KEYWORDS")??""; $keywords = strip_tags($keywords); //echo("keywords=$keywords
"); $footer = filter_input(INPUT_POST, "FOOTER")??""; $footer = HTMLencode2($footer); if (mb_strpos($footer,"<")===false) { } else { $footer = HTMLencode2($footer); } // DEFINITION // Displayed record $defRecNum = filter_input(INPUT_POST, "DEF_REC_NUM")??""; $defRecNum = strip_tags($defRecNum); $defRecNum = (int)$defRecNum; if ($defRecNum===0) { $defRecNum = 1; } // CREATED RECORDS $defRecTot = filter_input(INPUT_POST, "DEF_REC_TOT")??""; $defRecTot = strip_tags($defRecTot); $defRecTot = (int)$defRecTot; if ($defRecTot===0) { $defRecTot = 1; } $defField = filter_input(INPUT_POST, "DEF_FIELD")??""; $defField = strip_tags($defField); if ($defField === PHP_STR) { $defField = $defField . "ID&"; $defField = $defField . "NAME&"; $defField = $defField . "BUSINESS&"; $defField = $defField . "URL&"; for ($z=4; $z<(APP_MAX_TOT_FIELDS-1);$z++) { $defField = $defField . "Field$z&"; } $defField = left($defField,strlen($defField)-1); } $defFieldType = filter_input(INPUT_POST, "DEF_FIELD_TYPE")??""; $defFieldType = strip_tags($defFieldType); if ($defFieldType === PHP_STR) { $defFieldType = $defFieldType . "text&"; $defFieldType = $defFieldType . "text&"; $defFieldType = $defFieldType . "text&"; $defFieldType = $defFieldType . "text&"; for ($z=4; $z<(APP_MAX_TOT_FIELDS-1);$z++) { $defFieldType = $defFieldType . "&"; } $defFieldType = left($defFieldType,strlen($defFieldType)-1); } $adefFieldVal = []; for ($i=0; $i<$defRecTot; $i++) { $adefFieldVal[$i] = filter_input(INPUT_POST, "DEF_FIELD_VAL".$i)??""; $adefFieldVal[$i] = strip_tags($adefFieldVal[$i]); if ($adefFieldVal[$i] === PHP_STR) { $sID = "".$defRecNum; if (strlen($sID)<=1) { $sID = "0".$defRecNum; } $adefFieldVal[$i] = $adefFieldVal[$i] . "$sID&"; $adefFieldVal[$i] = $adefFieldVal[$i] . "Daniele Bonini&"; $adefFieldVal[$i] = $adefFieldVal[$i] . "5 Mode&"; $adefFieldVal[$i] = $adefFieldVal[$i] . "http://5mode&"; for ($z=4; $z<(APP_MAX_TOT_FIELDS-1);$z++) { $adefFieldVal[$i] = $adefFieldVal[$i] . "&"; } $adefFieldVal[$i] = $adefFieldVal[$i] . "$defRecNum&"; $adefFieldVal[$i] = left($adefFieldVal[$i],strlen($adefFieldVal[$i])-1); } } $defFieldTot = filter_input(INPUT_POST, "DEF_FIELD_TOT")??""; $defFieldTot = strip_tags($defFieldTot); $defFieldTot = (int)$defFieldTot; if ($defFieldTot===0) { $defFieldTot = 4; } // PRESENTATION $preSelField = filter_input(INPUT_POST, "PRE_SEL_FIELD")??""; $preSelField = strip_tags($preSelField); if ($preSelField===PHP_STR) { $preSelField = "ID"; } $preSelMethod = filter_input(INPUT_POST, "PRE_SEL_METHOD")??""; $preSelMethod = strip_tags($preSelMethod); if ($preSelMethod===PHP_STR) { $preSelMethod = "bigger"; } $preSelVal = filter_input(INPUT_POST, "PRE_SEL_VAL")??""; $preSelVal = strip_tags($preSelVal); if ($preSelVal===PHP_STR) { $preSelVal = "00"; } $preTopHtml = filter_input(INPUT_POST, "PRE_TOP_HTML")??""; $preTopHtml = HTMLencode2($preTopHtml); // PRESENTATION FIELDS TOT $preFieldTot = filter_input(INPUT_POST, "PRE_FIELD_TOT")??""; $preFieldTot = strip_tags($preFieldTot); $preFieldTot = (int)$preFieldTot; if ($preFieldTot===0) { $preFieldTot = $defFieldTot; } $apreHtmlPrefix = []; for ($i=0; $i<((APP_MAX_TOT_FIELDS+10)-1); $i++) { $apreHtmlPrefix[$i] = filter_input(INPUT_POST, "PRE_HTML_PREFIX".$i)??""; if (mb_strpos($apreHtmlPrefix[$i],"<")===false) { } else { $apreHtmlPrefix[$i] = HTMLencode2($apreHtmlPrefix[$i]); } if ($apreHtmlPrefix[$i] === PHP_STR) { $apreHtmlPrefix[$i] = "<div style='float:left'>"; } } $adefField = explode("&", $defField); $apreField = []; for ($i=0; $i<((APP_MAX_TOT_FIELDS+10)-1); $i++) { $apreField[$i] = filter_input(INPUT_POST, "PRE_FIELD".$i)??""; $apreField[$i] = strip_tags($apreField[$i]); if ($apreField[$i] === PHP_STR && isset($adefField[$i+1])) { $apreField[$i] = $adefField[$i+1]; } } $apreHtmlSuffix = []; for ($i=0; $i<((APP_MAX_TOT_FIELDS+10)-1); $i++) { $apreHtmlSuffix[$i] = filter_input(INPUT_POST, "PRE_HTML_SUFFIX".$i)??""; if (mb_strpos($apreHtmlSuffix[$i],"<")===false) { } else { $apreHtmlSuffix[$i] = HTMLencode2($apreHtmlSuffix[$i]); } if ($apreHtmlSuffix[$i] === PHP_STR) { $apreHtmlSuffix[$i] = "</div>"; } } $preBottomHtml = filter_input(INPUT_POST, "PRE_BOTTOM_HTML")??""; $preBottomHtml = HTMLencode2($preBottomHtml); $preOrdField = filter_input(INPUT_POST, "PRE_ORD_FIELD")??""; $preOrdField = strip_tags($preOrdField); if ($preOrdField===PHP_STR) { $preOrdField = "INDEX"; } $preOrdFieldType = filter_input(INPUT_POST, "PRE_ORD_FIELDTYPE")??""; $preOrdFieldType = strip_tags($preOrdFieldType); if ($preOrdFieldType===PHP_STR) { $preOrdFieldType = "number"; } $preOrdDir = filter_input(INPUT_POST, "PRE_ORD_DIR")??""; $preOrdDir = strip_tags($preOrdDir); if ($preOrdDir===PHP_STR) { $preOrdDir = "asc"; } $dataIndex = $defRecNum-1; $aData = []; $adefField = []; $adefFieldType = []; //$adefFieldVal = []; if ($defField!==PHP_STR) { $adefField = explode("~", $defField); $adefFieldType = explode("~", $defFieldType); //$adefFieldVal = explode("~", $defFieldVal); } else { $adefField = []; $adefFieldType = []; //$adefFieldVal = []; } for($irec=0;$irec<$defRecTot;$irec++) { if (!isset($adefFieldVal[$irec])) { $aItem = []; $sItemId = "".($irec+1); if (strlen($sItemId) === 1) { $sItemId = "0".$sItemId; } $aItem[0] = ['ID', "text", $sItemId]; $aItem[1] = ['NAME', "text", "Daniele Bonini"]; $aItem[2] = ['BUSINESS', "text", "5 Mode"]; $aItem[3] = ['URL', "text", "http://5mode.com"]; for($z=4;$z<(APP_MAX_TOT_FIELDS-1);$z++) { $aField = ["Field".$z, "text", PHP_STR]; $aItem[$z] = $aField; } $aItem[APP_MAX_TOT_FIELDS-1] = ['INDEX', "number", ($irec+1)]; $aData[$irec] = $aItem; } else { //echo("irec=".$irec."
"); $s = $adefField[0]; $mydefField = explode("&", $s); $s = $adefFieldType[0]; $mydefFieldType = explode("&", $s); $s = $adefFieldVal[$irec]; $mydefFieldVal = explode("&", $s); $aItem = []; $sItemId = "".($irec+1); if (strlen($sItemId) === 1) { $sItemId = "0".$sItemId; } $aItem[0] = ["ID", "text", $sItemId]; for($z=1;$z<(APP_MAX_TOT_FIELDS-1);$z++) { $aField = [$mydefField[$z], $mydefFieldType[$z], $mydefFieldVal[$z]]; $aItem[$z] = $aField; } $aItem[APP_MAX_TOT_FIELDS-1] = ['INDEX', "number", ($irec+1)]; $aData[$irec] = $aItem; } } //var_dump($aData); //exit(1); /* * VARIABLES AND FUNCTIONS */ function delLogo() { global $ID; $pattern = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "logo.*"; $aFiles = glob($pattern); if (!empty($aFiles)) { $destFileName = basename($aFiles[0]); $destFullPath = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . $destFileName; unlink($destFullPath); } } function upload() { global $ID; global $msgSign; //if (!empty($_FILES['files'])) { if (!empty($_FILES['files']['tmp_name'][0])) { $uploads = (array)fixMultipleFileUpload($_FILES['files']); //no file uploaded if ($uploads[0]['error'] === PHP_UPLOAD_ERR_NO_FILE) { echo("WARNING: No file uploaded."); return; } $google = "abcdefghijklmnopqrstuvwxyz"; if (count($uploads)>strlen($google)) { echo("WARNING: Too many uploaded files."); return; } // Checking for repeated upload cause ie. caching prb.. //$duplicateLogos = glob(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "logo.*"); //if (!empty($duplicateLogos)) { // echo("WARNING: destination already exists"); // return; //} $i=1; foreach($uploads as &$upload) { switch ($upload['error']) { case PHP_UPLOAD_ERR_OK: break; case PHP_UPLOAD_ERR_NO_FILE: echo("WARNING: One or more uploaded files are missing."); return; case PHP_UPLOAD_ERR_INI_SIZE: echo("WARNING: File exceeded INI size limit."); return; case PHP_UPLOAD_ERR_FORM_SIZE: echo("WARNING: File exceeded form size limit."); return; case PHP_UPLOAD_ERR_PARTIAL: echo("WARNING: File only partially uploaded."); return; case PHP_UPLOAD_ERR_NO_TMP_DIR: echo("WARNING: TMP dir doesn't exist."); return; case PHP_UPLOAD_ERR_CANT_WRITE: echo("WARNING: Failed to write to the disk."); return; case PHP_UPLOAD_ERR_EXTENSION: echo("WARNING: A PHP extension stopped the file upload."); return; default: echo("WARNING: Unexpected error happened."); return; } if (!is_uploaded_file($upload['tmp_name'])) { echo("WARNING: One or more file have not been uploaded."); return; } // name $name = (string)substr((string)filter_var($upload['name']), 0, 255); if ($name == PHP_STR) { echo("WARNING: Invalid file name: " . $name); return; } $upload['name'] = $name; // fileType $fileType = substr((string)filter_var($upload['type']), 0, 30); $upload['type'] = $fileType; // tmp_name $tmp_name = substr((string)filter_var($upload['tmp_name']), 0, 300); if ($tmp_name == PHP_STR || !file_exists($tmp_name)) { echo("WARNING: Invalid file temp path: " . $tmp_name); return; } $upload['tmp_name'] = $tmp_name; //size $size = substr((string)filter_var($upload['size'], FILTER_SANITIZE_NUMBER_INT), 0, 12); if ($size == "") { echo("WARNING: Invalid file size."); return; } $upload["size"] = $size; $tmpFullPath = $upload["tmp_name"]; $originalFilename = pathinfo($name, PATHINFO_FILENAME); $originalFileExt = pathinfo($name, PATHINFO_EXTENSION); $fileExt = strtolower(pathinfo($name, PATHINFO_EXTENSION)); $date = date("Ymd-His"); $rnd = $msgSign; if ($originalFileExt!==PHP_STR) { $destFileName = "logo.$fileExt"; } else { return; } $destFullPath = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . $destFileName; //if (file_exists($destFullPath)) { //echo("WARNING: destination already exists"); //return; //} copy($tmpFullPath, $destFullPath); // Cleaning up.. // Delete the tmp file.. unlink($tmpFullPath); $i++; } } } /* * XSL FILES CREATION */ if ($iPage === 5) { if ($ID==="") { $ID = $id_prefix[mt_rand(0,4)] . mt_rand(99999, mt_getrandmax()); if (!is_readable(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID)) { mkdir(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID); } } $xml = PHP_STR; $xml = $xml . "\n\n"; $xml = $xml . " \n\n"; $xml = $xml . "\n"; for($irec=0;$irec<$defRecTot;$irec++) { $xml = $xml . "\n"; for($z=0;$z<($defFieldTot);$z++) { $xml = $xml . "<".$aData[$irec][$z][0].">".$aData[$irec][$z][2]."\n"; } $xml = $xml . "<".$aData[$irec][APP_MAX_TOT_FIELDS-1][0].">".$aData[$irec][APP_MAX_TOT_FIELDS-1][2]."\n"; $xml = $xml . "\n"; } $xml = $xml . "\n"; $destFilePath = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "index.xml"; if (is_readable($destFilePath)) { unlink($destFilePath); } file_put_contents(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "index.xml", $xml); $xsl = PHP_STR; $xsl = $xsl . "\n\n"; $xsl = $xsl . "\n\n"; $xsl = $xsl . "\n\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "".$title."\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "
"; $xsl = $xsl . "\n"; $xsl = $xsl . "

".$title."

\n"; $xsl = $xsl . "
"; $xsl = $xsl . "
"; $xsl = $xsl . "

". html_entity_decode($preTopHtml, ENT_QUOTES | ENT_IGNORE | ENT_HTML5)."

\n"; $xsl = $xsl . "
"; if ($preSelField===PHP_STR) { $xsl = $xsl . "\n"; } else { $s = $adefField[0]; $mydefField = explode("&", $s); $s = $adefFieldType[0]; $mydefFieldType = explode("&", $s); $preSelFieldType = ""; for($i=0;$i<(APP_MAX_TOT_FIELDS-1);$i++) { if ($mydefField[$i] === $preSelField) { $preSelFieldType = $mydefFieldType[$i]; break; } } switch ($preSelMethod) { case "equal": $preSelMethodOp = "="; break; case "bigger": $preSelMethodOp = ">"; break; case "smaller": $preSelMethodOp = "<"; break; } if ($preSelFieldType==="text") { $xsl = $xsl . "\n"; } else { $xsl = $xsl . "\n"; } } switch ($preOrdDir) { case "asc": $preOrdDirOp = "ascending"; break; case "desc": $preOrdDirOp = "descending"; break; } $xsl = $xsl . "\n"; for($i=0;$i<$preFieldTot-1;$i++) { $xsl = $xsl . html_entity_decode($apreHtmlPrefix[$i], ENT_QUOTES | ENT_IGNORE | ENT_HTML5)."".html_entity_decode($apreHtmlSuffix[$i], ENT_QUOTES | ENT_IGNORE | ENT_HTML5)."\n"; } $xsl = $xsl . ""; $xsl = $xsl . "
"; $xsl = $xsl . "


\n"; $xsl = $xsl . "
".html_entity_decode($preBottomHtml, ENT_QUOTES | ENT_IGNORE | ENT_HTML5)."
\n"; $xsl = $xsl . "


\n"; $xsl = $xsl . "
".html_entity_decode($footer, ENT_QUOTES | ENT_IGNORE | ENT_HTML5)."
\n"; $xsl = $xsl . "
"; $xsl = $xsl . "\n"; $xsl = $xsl . "\n"; $xsl = $xsl . "
"; $xsl = $xsl . "
"; $destFilePath = APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "index.xsl"; if (is_readable($destFilePath)) { unlink($destFilePath); } file_put_contents(APP_DATA_PATH . DIRECTORY_SEPARATOR . $ID . DIRECTORY_SEPARATOR . "index.xsl", $xsl); //echo $xsl; //exit(1); } ?> <?PHP echo(APP_TITLE);?>
   XSLWIZ       on github      for feedback       get support  






Title: 


DATA SPEC ( XML FILE )




<<




>>

 


  

 
 Delete Item   
 Add Item

PRESENTATION ( XSL FILE )




SELECT   




 
 
 
 
 
ORDER   




 
Code: 
 
Logo: