001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.runtime.config.ajax;
020
021import lucee.commons.io.res.Resource;
022import lucee.commons.io.res.util.ResourceUtil;
023import lucee.runtime.config.ConfigFactory;
024
025public class AjaxFactory {
026
027
028/**
029* this method deploy all ajax functions to the lucee enviroment and the helper files
030* @param dir tag directory
031* @param doNew redeploy even the file exist, this is set to true when a new version is started
032*/
033public static void deployFunctions(Resource dir, boolean doNew) {
034Resource f = dir.getRealResource("ajaxOnLoad.cfm");
035        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/function/ajaxOnLoad.cfm",f);
036        
037}
038
039/**
040* this functions deploy all ajax tags to the lucee enviroment and the helper files
041* @param dir tag directory
042* @param doNew redeploy even the file exist, this is set to true when a new version is started
043*/
044public static void deployTags(Resource dir, boolean doNew) {
045// tags
046        Resource f = dir.getRealResource("AjaxImport.cfc");
047        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/AjaxImport.cfc",f);
048        f = dir.getRealResource("AjaxProxy.cfc");
049        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/AjaxProxy.cfc",f);
050        f = dir.getRealResource("Div.cfc");
051        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/Div.cfc",f);
052        f = dir.getRealResource("Map.cfc");
053        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/Map.cfc",f);
054        f = dir.getRealResource("MapItem.cfc");
055        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/MapItem.cfc",f);
056        f = dir.getRealResource("Layout.cfc");
057        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/Layout.cfc",f);
058        f = dir.getRealResource("LayoutArea.cfc");
059        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/LayoutArea.cfc",f);
060        f = dir.getRealResource("Window.cfc");
061        if(!f.exists() || doNew){
062                //String md5 = ConfigWebUtil.createMD5FromResource(f);
063                ConfigFactory.createFileFromResourceEL("/resource/library/tag/Window.cfc",f);
064        }
065        
066        
067        
068        
069        // helper files
070        dir=dir.getRealResource("lucee/core/ajax/");
071        if(!dir.isDirectory())dir.mkdirs();
072        f = dir.getRealResource("AjaxBase.cfc");
073        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxBase.cfc",f);
074        f = dir.getRealResource("AjaxBinder.cfc");
075        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxBinder.cfc",f);
076        f = dir.getRealResource("AjaxProxyHelper.cfc");
077        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/AjaxProxyHelper.cfc",f);
078        f = dir.getRealResource("JSLoader.cfc");
079        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/JSLoader.cfc",f);
080        f = dir.getRealResource("LuceeJs.cfc");
081        if(f.exists())f.delete();
082        
083        //js
084        Resource jsDir = dir.getRealResource("js");
085        if(!jsDir.isDirectory())jsDir.mkdirs();
086        f = jsDir.getRealResource("LuceeAjax.js");
087        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeAjax.js",f);
088        f = jsDir.getRealResource("LuceeMap.js");
089        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeMap.js",f);
090        f = jsDir.getRealResource("LuceeWindow.js");
091        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeWindow.js",f);
092        f = jsDir.getRealResource("LuceeLayout.js");
093        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/LuceeLayout.js",f);
094        
095        // delete wrong directory comes with 3.1.2.015
096        Resource gDir = dir.getRealResource("google");
097        if(gDir.isDirectory())ResourceUtil.removeEL(gDir, true);
098        
099        // create google/... again
100        gDir = jsDir.getRealResource("google");
101        if(!gDir.isDirectory())gDir.mkdirs();
102        f = gDir.getRealResource("google-map.js");
103        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/google/google-map.js",f);
104        
105        
106        //jquery resources
107        Resource jqDir = jsDir.getRealResource("jquery");
108        if(!jqDir.isDirectory())jqDir.mkdirs();
109        f = jqDir.getRealResource("jquery-1.4.2.js");
110        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery-1.4.2.js",f);
111        f = jqDir.getRealResource("jquery-ui-1.8.2.js");
112        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery-ui-1.8.2.js",f);
113        f = jqDir.getRealResource("jquery.layout.js");
114        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery.layout.js",f);
115        f = jqDir.getRealResource("jquery.window.js");
116        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/js/jquery/jquery.window.js",f);
117  
118        //css Lucee Skin
119        Resource cssDir = dir.getRealResource("css/jquery");
120        if(!cssDir.isDirectory())cssDir.mkdirs();
121        f = cssDir.getRealResource("LuceeSkin.css.cfm");
122        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/LuceeSkin.css.cfm",f);
123        
124        //css images
125        Resource imgDir = cssDir.getRealResource("images");
126        if(!imgDir.isDirectory())imgDir.mkdirs();
127        f = imgDir.getRealResource("ui-anim_basic_16x16.gif.cfm");
128        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-anim_basic_16x16.gif.cfm",f);
129        f = imgDir.getRealResource("ui-bg_flat_0_aaaaaa_40x100.png.cfm");
130        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png.cfm",f);
131        f = imgDir.getRealResource("ui-bg_flat_75_ffffff_40x100.png.cfm");
132        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_flat_75_ffffff_40x100.png.cfm",f);
133        f = imgDir.getRealResource("ui-bg_glass_55_fbf9ee_1x400.png.cfm");
134        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png.cfm",f);
135        f = imgDir.getRealResource("ui-bg_glass_65_ffffff_1x400.png.cfm");
136        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_65_ffffff_1x400.png.cfm",f);
137        f = imgDir.getRealResource("ui-bg_glass_75_dadada_1x400.png.cfm");
138        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_75_dadada_1x400.png.cfm",f);
139        f = imgDir.getRealResource("ui-bg_glass_75_e6e6e6_1x400.png.cfm");
140        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png.cfm",f);
141        f = imgDir.getRealResource("ui-bg_glass_95_fef1ec_1x400.png.cfm");
142        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_glass_95_fef1ec_1x400.png.cfm",f);
143        f = imgDir.getRealResource("ui-bg_highlight-soft_75_cccccc_1x100.png.cfm");
144        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png.cfm",f);
145        f = imgDir.getRealResource("ui-icons_222222_256x240.png.cfm");
146        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_222222_256x240.png.cfm",f);
147        f = imgDir.getRealResource("ui-icons_2e83ff_256x240.png.cfm");
148        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_2e83ff_256x240.png.cfm",f);
149        f = imgDir.getRealResource("ui-icons_454545_256x240.png.cfm");
150        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_454545_256x240.png.cfm",f);
151        f = imgDir.getRealResource("ui-icons_888888_256x240.png.cfm");
152        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_888888_256x240.png.cfm",f);
153        f = imgDir.getRealResource("ui-icons_cd0a0a_256x240.png.cfm");
154        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/css/jquery/images/ui-icons_cd0a0a_256x240.png.cfm",f);
155       
156        
157        //image loader
158        dir = dir.getRealResource("loader");
159        if(!dir.isDirectory())dir.mkdirs();
160        f = dir.getRealResource("loading.gif.cfm");
161        if(!f.exists() || doNew)ConfigFactory.createFileFromResourceEL("/resource/library/tag/lucee/core/ajax/loader/loading.gif.cfm",f);
162}
163
164}
165