示例#1
0
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;
}
  )
');
echo "SUCCESS!!\n";
echo 'Adding spatial index ... ';
// Populate the shape column
$dbInstaller->run('UPDATE geoname SET shape =
    ST_SetSRID(ST_MakePoint(longitude, latitude), 4326)::GEOGRAPHY');
echo "SUCCESS!!\n";
// ----------------------------------------------------------------------
// Load country and admin region tables
// ----------------------------------------------------------------------
echo 'Loading administrative region data ... ';
$dbInstaller->copyFrom($download_path . 'admin1CodesASCII.txt', 'admin1_codes_ascii');
echo "SUCCESS!!\n";
echo 'Loading country data ... ';
// Replace '#' prefixed comments from flat files
replaceComments($download_path . 'countryInfo.txt');
$dbInstaller->copyFrom($download_path . 'countryInfo.txt', 'country_info');
echo "SUCCESS!!\n";
// ----------------------------------------------------------------------
// Geoserve data clean-up
// ----------------------------------------------------------------------
print 'Cleaning up downloaded data ... ';
$downloads = scandir($download_path);
foreach ($downloads as $download) {
    if (!is_dir($download)) {
        unlink($download_path . $download);
    }
}
rmdir($download_path);
print "SUCCESS!!\n";
示例#3
0
文件: images.php 项目: jhersonn20/www
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;
}
示例#4
0
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;
}