| 1: | <?php
|
| 2: | |
| 3: | |
| 4: | |
| 5: | |
| 6: |
|
| 7: | include_once($phppath . "/controls/jquery.php");
|
| 8: | include_once($libpath . "/lib/DIR.php");
|
| 9: | include_once($phppath . "/classes/parser/minifier1/JavascriptMinifier.phpclass");
|
| 10: |
|
| 11: | class MobileAppJQuery extends \Sphp\tools\BasicApp{
|
| 12: | private $dir = null;
|
| 13: | private $jsonf = array();
|
| 14: | private $key = 0;
|
| 15: | public $outfolder = "apps/objs";
|
| 16: |
|
| 17: | public function onstart() {
|
| 18: | $this->dir = new DIR();
|
| 19: | }
|
| 20: |
|
| 21: | public function page_new() {
|
| 22: | global $phppath;
|
| 23: | $this->loadStarter();
|
| 24: | $this->loadFrontPlaces();
|
| 25: | $ty = new Sphp\tools\TempFile($phppath . "/apps/mobile/forms/index.temp");
|
| 26: | $this->setTempFile($ty);
|
| 27: | $pages = $this->loadPages();
|
| 28: | file_put_contents($this->outfolder . "/pages.html", $pages);
|
| 29: | $this->key += 1;
|
| 30: | $this->jsonf[$this->key] = array("html",$this->outfolder . "/pages.html");
|
| 31: | $ty->getComponent('dir1')->setInnerHTML($pages);
|
| 32: | $this->getSphpJSCode();
|
| 33: | $firstRunf["version"] = 1;
|
| 34: | $firstRunf["files"] = $this->jsonf;
|
| 35: | file_put_contents("apps/acfdb/firstrun.json", json_encode($firstRunf));
|
| 36: | }
|
| 37: | private function loadStarter() {
|
| 38: | global $phppath,$respath;
|
| 39: | addjQueryMobile();
|
| 40: | addjQueryUI();
|
| 41: | addBootStrap();
|
| 42: | addFontAwesome();
|
| 43: | addFileLink($this->apppath . "/objs/temp/css/framework.css");
|
| 44: | addFileLink($respath . "/jslib/jquery/jslib.js");
|
| 45: | addFileLink($respath . "/jslib/jqueryPlugin/jsstore.js");
|
| 46: | addFileLink($respath . "/apps/mobile/core/jQmCore.js");
|
| 47: | $this->key += 1;
|
| 48: | $this->jsonf[$this->key] = array("js","https://proj.itkruze.com/res/apps/mobile/core/jQmCore.js");
|
| 49: | $this->key += 1;
|
| 50: | $this->jsonf[$this->key] = array("css",$this->apppath . "/objs/temp/css/framework.css");
|
| 51: | addFileLink($this->outfolder . "/sphpapp" . '.js');
|
| 52: | $this->loadJSLib("lib",true);
|
| 53: | $this->loadJSLib("jsapps");
|
| 54: | $this->loadJSLib("pages/js");
|
| 55: | $this->loadJSLib("components/js");
|
| 56: | $this->loadJSLib("frontplace/js");
|
| 57: | }
|
| 58: | private function loadFrontPlaces() {
|
| 59: | addFrontPlace("emsg", $this->apppath . "/frontplace/ErrorMSG.front");
|
| 60: | addFrontPlace("sidemenu",$this->apppath . "/frontplace/SideMenu.front");
|
| 61: |
|
| 62: |
|
| 63: |
|
| 64: | }
|
| 65: | private function getSphpJSCode() {
|
| 66: | global $respath;
|
| 67: | $sphp_api = getSphpApi();
|
| 68: | addHeaderJSFunction("ready", "ModuleObject.setHandler('onDeviceReady',function(){", "});",true);
|
| 69: | $jscode = $sphp_api->getHeaderJS(false, true,2);
|
| 70: | $jscode .= $sphp_api->getFooterJS(false, true,2);
|
| 71: | $filepath = $this->apppath . "/gen/sphplib.js";
|
| 72: | $this->key += 1;
|
| 73: | $this->jsonf[$this->key] = array("js",$filepath);
|
| 74: | file_put_contents($filepath, $jscode);
|
| 75: | addFileLink($filepath);
|
| 76: | }
|
| 77: | private function loadJSLib($subpath,$overwrite=false) {
|
| 78: | global $respath;
|
| 79: | $lst = $this->dir->directorySearch($this->apppath . $subpath,".js");
|
| 80: | $stro = "";
|
| 81: | foreach ($lst as $key => $value) {
|
| 82: | $stro .= file_get_contents($value[0] .'/' . $value[1]);
|
| 83: | $stro .= '
|
| 84: | ';
|
| 85: | }
|
| 86: | $minifier = new JavascriptMinifier ();
|
| 87: | $filename = $this->outfolder . "/sphpapp" . '.js';
|
| 88: | if($overwrite){
|
| 89: |
|
| 90: |
|
| 91: | file_put_contents($filename, $minifier->Minify($stro));
|
| 92: | }else{
|
| 93: | file_put_contents($filename, $minifier->Minify($stro),FILE_APPEND);
|
| 94: | }
|
| 95: | $this->key += 1;
|
| 96: | $this->jsonf[$this->key] = array("js",$filename);
|
| 97: | }
|
| 98: | private function loadPages() {
|
| 99: | $header = new Sphp\tools\TempFile($this->apppath . "/components/header-bar.temp",false,$this);
|
| 100: | $footer = new Sphp\tools\TempFile($this->apppath . "/components/footer-bar.temp",false,$this);
|
| 101: | $header->run();
|
| 102: | $footer->run();
|
| 103: | $lst = $this->dir->directorySearch($this->apppath . "/pages/",".temp");
|
| 104: | $stro = "";
|
| 105: | foreach ($lst as $key => $value) {
|
| 106: |
|
| 107: | $t = new Sphp\tools\TempFile($value[0].$value[1],false,$this);
|
| 108: | if($t->getMetaData('jQpage')->header){
|
| 109: | $t->getMetaData('jQpage')->headerbar = $header->data;
|
| 110: | addHeaderJSFunctionCode("ready", $t->getMetaData('jQpage')->pagename ."comp1" , 'PageObject.addCompName("' . $t->getMetaData('jQpage')->pagename . "page" . '","header-bar");',true);
|
| 111: | }
|
| 112: | if($t->getMetaData('jQpage')->footer){
|
| 113: | $t->getMetaData('jQpage')->footerbar = $footer->data;
|
| 114: | addHeaderJSFunctionCode("ready", $t->getMetaData('jQpage')->pagename ."comp2" , 'PageObject.addCompName("' . $t->getMetaData('jQpage')->pagename . "page" . '","footer-bar");',true);
|
| 115: | }
|
| 116: | $t->run();
|
| 117: |
|
| 118: | $stro .= $t->data;
|
| 119: | }
|
| 120: | return $stro;
|
| 121: | }
|
| 122: | } |