Пример #1
0
 private static function getFileContents($pPackName)
 {
     //CClass_Tools_Util::writeLog(time()."js.log", $pPackName."  load");
     $package_file_name = $pPackName . ".js";
     $js_lib = array();
     $js_lib[] = dirname(KISS_Framework_Config::getRootPath()) . "/scripts";
     $js_lib[] = dirname(dirname(dirname(__FILE__))) . '/NonPHP/kiss/libs';
     $config_dir = KISS_Framework_Config::getParam("jslib");
     if ($config_dir != "") {
         $tmp = explode(";", $config_dir);
         $js_lib = array_merge($js_lib, $tmp);
     }
     foreach ($js_lib as $lib) {
         $file_name = $lib . "/" . $package_file_name;
         if (file_exists($file_name)) {
             //CClass_Tools_Util::writeLog("js.log", $file_name);
             $content = file_get_contents($file_name);
             $pattern = "#^\\s*import\\s+([a-zA-Z_0-9]+);\\s*\$#ms";
             if (preg_match_all($pattern, $content, $matches, PREG_SET_ORDER)) {
                 $result = print_r($matches, true);
                 //CClass_Tools_Util::writeLog("js.log", $result);
                 foreach ($matches as $match) {
                     //CClass_Tools_Util::writeLog("{$match[1]}.log", self::getFileContents( self::getPackFileName($match[1]) ));
                     $content = str_replace($match[0], self::getFileContents(self::getPackFileName($match[1])), $content);
                     //CClass_Tools_Util::writeLog("tmp2.log", $match[0]);
                     //break;
                 }
             }
             $content = self::zipJs($content);
             //
             $content .= sprintf("\n_kiss_js._load_pack_push('%s');\n", str_replace('/', '_', $pPackName));
             //    echo sprintf("\n_kiss_js._load_pack.push('%s');\n", str_replace('/','_',$pPackName));;
             //CClass_Tools_Util::writeLog("tmp444.log", $content);
             return self::str2utf8($content);
         }
     }
     //CClass_Tools_Util::writeLog("js.log", $pPackName." not founded!");
     return "";
 }