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