function process_request($files, $chunks, $skin, $icons, $yui = false) { global $js_header; global $java; $files = explode(";", $files); $chunks = explode(";", $chunks); array_push($chunks, "__pro_feature"); $js_list = array("./dhtmlxcommon.js", "./message/message.js"); $css_list = array("./message/message.css"); $manifest = array("Skin: " . $skin); for ($i = 0; $i < sizeof($files); $i++) { if ($files[$i] == "") { continue; } if (preg_match("/.*\\.js\$/", $files[$i])) { array_push($js_list, "." . $files[$i]); } else { array_push($css_list, "." . $files[$i]); } } $js_list = array_values(array_unique($js_list)); $css_list = array_values(array_unique($css_list)); $chunks = array_values(array_unique($chunks)); $components = array(); for ($i = 0; $i < sizeof($js_list); $i++) { $temp = explode("/", $js_list[$i]); if (sizeof($temp) > 2) { array_push($components, $temp[1]); } } $location = export_images(array_values(array_unique($components)), $skin); for ($i = 0; $i < sizeof($components); $i++) { $temp_name = "../" . $components[$i] . "/codebase/skins/" . strtolower($components[$i]) . "_" . $skin . ".css"; if (file_exists($temp_name)) { array_push($css_list, $temp_name); } } $css_list = array_values(array_unique($css_list)); $js_code = ""; $css_code = ""; $store_requested = false; array_push($manifest, "\n======== JS CODE ========="); for ($i = 0; $i < sizeof($js_list); $i++) { if (strpos($js_list[$i], "datastore.js") !== false) { $store_requested = $js_list[$i]; continue; } /* if (strpos($js_list[$i],"dhtmlxdataview.js")!==false || strpos($js_list[$i],"dhtmlxchart.js")!==false){ if (sizeof($js_list) == 2){ if (!is_file($js_list[$i])) continue; $js_code=""; $js_code.="\r\n".file_get_contents($js_list[$i]); if (strpos($js_list[$i],"dhtmlxchart.js")!==false) $js_code.="\r\n".file_get_contents(str_replace("dhtmlxchart.js","thirdparty/excanvas/excanvas.js",$js_list[$i])); continue; } else { if (!$core_included){ $js_code.="\r\n".file_get_contents("./corestore.js"); array_push($manifest,"core, dataview, chart"); } $core_included = true; continue; } }*/ $check_path = str_replace("codebase", "sources", $js_list[$i]); if (is_file($check_path)) { $js_code .= "\r\n" . file_get_contents($check_path); } else { if (!is_file($js_list[$i])) { continue; } $js_code .= "\r\n" . file_get_contents($js_list[$i]); } array_push($manifest, $js_list[$i]); } if ($store_requested) { $check_path = str_replace("codebase", "sources", $store_requested); if (is_file($check_path)) { $js_code .= "\r\n" . file_get_contents($check_path); array_push($manifest, $store_requested); } else { if (is_file($store_requested)) { $js_code .= "\r\n" . file_get_contents($store_requested); array_push($manifest, $store_requested); } } } array_push($manifest, "\n======== CSS CODE ========"); for ($i = 0; $i < sizeof($css_list); $i++) { if (!is_file($css_list[$i])) { continue; } $css_code .= "\r\n" . file_get_contents($css_list[$i]); array_push($manifest, $css_list[$i]); } $js_code = clearAreas($js_code, getTokens($js_code, "some file"), $chunks); if ($js_code != "") { $js_code .= "\ndhtmlx.skin='" . $skin . "';"; } file_put_contents($location . "/temp.js", $js_code); exec("{$java} -jar ./yui/compiler.jar --dhx_safe --js {$location}/temp.js > {$location}/temp2.js"); $new_js_code = file_get_contents($location . "/temp2.js"); if ($new_js_code == "") { $js_code = replaceWhitespaces(replaceComments($js_code)); } else { $js_code = $new_js_code; } unlink($location . "/temp.js"); unlink($location . "/temp2.js"); $css_code = preg_replace('/"/', "'", $css_code); $css_code = str_replace("../imgs", "imgs/", $css_code); $css_code = str_replace("imgs//", "imgs/", $css_code); $css_code = str_replace("../../codebase/", "", $css_code); file_put_contents($location . "/temp.css", $css_code); exec("{$java} -jar ./yui/yuicompressor-2.3.5/build/yuicompressor-2.3.5.jar {$location}/temp.css > {$location}/temp2.css"); $new_css_code = file_get_contents($location . "/temp2.css"); if ($new_css_code == "") { $css_code = replaceCssWhitespaces($css_code); } else { $css_code = $new_css_code; } unlink($location . "/temp.css"); unlink($location . "/temp2.css"); file_put_contents($location . "/dhtmlx.js", $js_header . $js_code); file_put_contents($location . "/dhtmlx.css", $css_code); file_put_contents($location . "/manifest.txt", implode("\n", $manifest)); return $location; }
function process_request($files, $chunks, $skin, $icons, $yui = false, $notcompress = false) { global $js_header, $java; $files = explode(";", $files); $chunks = explode(";", $chunks); array_push($chunks, "__pro_feature"); $js_list = array("./dhtmlxcommon.js", "../dhtmlxMessage/codebase/dhtmlxmessage.js"); $css_list = array("../dhtmlxMessage/codebase/dhtmlxmessage_{$skin}.css"); $manifest = array("Skin: " . $skin); for ($i = 0; $i < sizeof($files); $i++) { if ($files[$i] == "") { continue; } if (preg_match("/.*\\.js\$/", $files[$i])) { array_push($js_list, "." . $files[$i]); } else { array_push($css_list, "." . $files[$i]); } } $js_list = array_values(array_unique($js_list)); $css_list = array_values(array_unique($css_list)); $chunks = array_values(array_unique($chunks)); $components = array(); for ($i = 0; $i < sizeof($js_list); $i++) { $temp = explode("/", $js_list[$i]); if (sizeof($temp) > 2) { array_push($components, $temp[1]); } } $location = export_images(array_values(array_unique($components)), $skin); for ($i = 0; $i < sizeof($components); $i++) { $temp_name = "../" . $components[$i] . "/codebase/skins/" . strtolower($components[$i]) . "_" . $skin . ".css"; if (file_exists($temp_name)) { array_push($css_list, $temp_name); } } $css_list = array_values(array_unique($css_list)); $js_code = ""; $css_code = ""; $store_requested = false; array_push($manifest, "\n======== JS CODE ========="); $dw_index = -1; $ch_index = -1; $ds_index = -1; for ($i = 0; $i < sizeof($js_list); $i++) { if (strpos($js_list[$i], "dhtmlxdataview.js") !== false) { $dw_index = $i; } if (strpos($js_list[$i], "dhtmlxchart.js") !== false) { $ch_index = $i; } if (strpos($js_list[$i], "datastore.js") !== false) { $ds_index = $i; } } if ($dw_index != -1 && $ch_index != -1) { $js_list[] = "corestore.js"; } else { $dw_index = -1; $ch_index = -1; $ds_index = -1; } for ($i = 0; $i < sizeof($js_list); $i++) { if ($i == $dw_index || $i == $ch_index || $i == $ds_index) { continue; } if (strpos($js_list[$i], "datastore.js") !== false) { $store_requested = $js_list[$i]; continue; } $check_path = str_replace("codebase", "sources", $js_list[$i]); if (is_file($check_path)) { $js_code .= "\r\n" . file_get_contents($check_path); } else { if (!is_file($js_list[$i])) { continue; } $js_code .= "\r\n" . file_get_contents($js_list[$i]); } array_push($manifest, $js_list[$i]); } if ($store_requested) { $check_path = str_replace("codebase", "sources", $store_requested); if (is_file($check_path)) { $js_code .= "\r\n" . file_get_contents($check_path); array_push($manifest, $store_requested); } else { if (is_file($store_requested)) { $js_code .= "\r\n" . file_get_contents($store_requested); array_push($manifest, $store_requested); } } } array_push($manifest, "\n======== CSS CODE ========"); for ($i = 0; $i < sizeof($css_list); $i++) { if (!is_file($css_list[$i])) { continue; } $css_code .= "\r\n" . file_get_contents($css_list[$i]); array_push($manifest, $css_list[$i]); } $js_code = clearAreas($js_code, getTokens($js_code, "some file"), $chunks); if ($js_code != "") { $js_code .= "\ndhtmlx.skin='" . $skin . "';"; } if (!$notcompress) { file_put_contents($location . "/temp.js", $js_code); print "<br>" . getcwd() . ":" . $java . "- {$java} - {$java}"; print "--Execute: " . "java -jar ./yui/compiler.jar --dhx_safe --js {$location}/temp.js > {$location}/temp2.js--<br>"; exec("java -jar ./yui/compiler.jar --dhx_safe --js {$location}/temp.js > {$location}/temp2.js"); $new_js_code = file_get_contents($location . "/temp2.js"); if ($new_js_code == "") { $js_code = replaceWhitespaces(replaceComments($js_code)); } else { $js_code = $new_js_code; } //unlink($location."/temp.js"); //unlink($location."/temp2.js"); } $css_code = preg_replace('/"/', "'", $css_code); $css_code = str_replace("../imgs", "imgs/", $css_code); $css_code = str_replace("imgs//", "imgs/", $css_code); $css_code = str_replace("../../codebase/", "", $css_code); if (!$notcompress) { file_put_contents($location . "/temp.css", $css_code); exec("{$java} -jar ./yui/yuicompressor-2.3.5/build/yuicompressor-2.3.5.jar {$location}/temp.css > {$location}/temp2.css"); $new_css_code = file_get_contents($location . "/temp2.css"); if ($new_css_code == "") { $css_code = replaceCssWhitespaces($css_code); } else { $css_code = $new_css_code; } unlink($location . "/temp.css"); unlink($location . "/temp2.css"); } file_put_contents($location . "/dhtmlx.js", $js_header . $js_code); file_put_contents($location . "/dhtmlx.css", $css_code); file_put_contents($location . "/manifest.txt", implode("\n", $manifest)); return $location; }
function process_request($files, $chunks, $skin, $yui = false) { global $js_header; $files = explode(";", $files); $chunks = explode(";", $chunks); array_push($chunks, "__pro_feature"); $js_list = array("./dhtmlxcommon.js"); $css_list = array(); $manifest = array("Skin: " . $skin); for ($i = 0; $i < sizeof($files); $i++) { if ($files[$i] == "") { continue; } if (preg_match("/.*\\.js\$/", $files[$i])) { array_push($js_list, "." . $files[$i]); } else { array_push($css_list, "." . $files[$i]); } } $js_list = array_values(array_unique($js_list)); $css_list = array_values(array_unique($css_list)); $chunks = array_values(array_unique($chunks)); $components = array(); for ($i = 0; $i < sizeof($js_list); $i++) { $temp = explode("/", $js_list[$i]); if (sizeof($temp) > 2) { array_push($components, $temp[1]); } } $location = export_images(array_values(array_unique($components)), $skin); for ($i = 0; $i < sizeof($components); $i++) { $temp_name = "../" . $components[$i] . "/codebase/skins/" . strtolower($components[$i]) . "_" . $skin . ".css"; if (file_exists($temp_name)) { array_push($css_list, $temp_name); } } $css_list = array_values(array_unique($css_list)); $js_code = ""; $css_code = ""; $jscore_code = ""; array_push($manifest, "\n======== JS CODE ========="); for ($i = 0; $i < sizeof($js_list); $i++) { if (strpos($js_list[$i], "dhtmlxdataview.js") !== false || strpos($js_list[$i], "dhtmlxchart.js") !== false) { if (sizeof($js_list) == 2) { if (!is_file($js_list[$i])) { continue; } $js_code = ""; $jscore_code = "\r\n" . file_get_contents($js_list[$i]); if (strpos($js_list[$i], "dhtmlxchart.js") !== false) { $jscore_code .= "\r\n" . file_get_contents(str_replace("dhtmlxchart.js", "thirdparty/excanvas/excanvas.js", $js_list[$i])); } continue; } else { $jscore_code .= "\r\n" . file_get_contents("./core.js"); continue; } } $check_path = str_replace("codebase", "sources", $js_list[$i]); if (is_file($check_path)) { $js_code .= "\r\n" . file_get_contents($check_path); } else { if (!is_file($js_list[$i])) { continue; } $js_code .= "\r\n" . file_get_contents($js_list[$i]); } array_push($manifest, $js_list[$i]); } array_push($manifest, "\n======== CSS CODE ========"); for ($i = 0; $i < sizeof($css_list); $i++) { if (!is_file($css_list[$i])) { continue; } $css_code .= "\r\n" . file_get_contents($css_list[$i]); array_push($manifest, $css_list[$i]); } $js_code = clearAreas($js_code, getTokens($js_code, "some file"), $chunks); if ($js_code != "") { $js_code .= "\ndhtmlx.skin='" . $skin . "';"; } if (!$yui) { $js_code = replaceWhitespaces(replaceComments($js_code)); } else { file_put_contents($location . "/temp.js", $js_code); `java -jar ./yui/yuicompressor-2.3.5/build/yuicompressor-2.3.5.jar {$location}/temp.js > {$location}/temp2.js`; $js_code = file_get_contents($location . "/temp2.js"); unlink($location . "/temp.js"); unlink($location . "/temp2.js"); } $css_code = preg_replace('/"/', "'", $css_code); $css_code = str_replace("../imgs", "imgs/", $css_code); $css_code = str_replace("../../codebase/", "", $css_code); if (!$yui) { $css_code = preg_replace("#\\/\\*([^\\*]|\\*[^\\/])*\\*\\/#", "", $css_code); $css_code = preg_replace('/[ \\t]+/', " ", $css_code); $css_code = preg_replace("/\\{[\r\n]+/", "{", $css_code); $css_code = preg_replace("/;[\r\n]+/", ";", $css_code); $css_code = preg_replace("/[\r\n]+/", "\n", $css_code); $css_code = preg_replace("/\\/\\*.*\n/", "", $css_code); //$css_code=preg_replace("/\n/","\";str+=\"",$css_code); //$css_code=preg_replace("/\n/","\\n",$css_code); $css_code = preg_replace("/\\{ /", "{", $css_code); $css_code = preg_replace("/[; ]+\\}/", "}", $css_code); } else { file_put_contents($location . "/temp.css", $css_code); `java -jar ./yui/yuicompressor-2.3.5/build/yuicompressor-2.3.5.jar {$location}/temp.css > {$location}/temp2.css`; $css_code = file_get_contents($location . "/temp2.css"); unlink($location . "/temp.css"); unlink($location . "/temp2.css"); } file_put_contents($location . "/dhtmlx.js", $js_header . $js_code . $jscore_code); file_put_contents($location . "/dhtmlx.css", $css_code); file_put_contents($location . "/manifest.txt", implode("\n", $manifest)); return $location; }