]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/Administration/callJSRepair.php
Release 6.5.0
[Github/sugarcrm.git] / modules / Administration / callJSRepair.php
1 <?php
2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4  * SugarCRM Community Edition is a customer relationship management program developed by
5  * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
6  * 
7  * This program is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU Affero General Public License version 3 as published by the
9  * Free Software Foundation with the addition of the following permission added
10  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13  * 
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
17  * details.
18  * 
19  * You should have received a copy of the GNU Affero General Public License along with
20  * this program; if not, see http://www.gnu.org/licenses or write to the Free
21  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301 USA.
23  * 
24  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26  * 
27  * The interactive user interfaces in modified source and object code versions
28  * of this program must display Appropriate Legal Notices, as required under
29  * Section 5 of the GNU Affero General Public License version 3.
30  * 
31  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32  * these Appropriate Legal Notices must retain the display of the "Powered by
33  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34  * technical reasons, the Appropriate Legal Notices must display the words
35  * "Powered by SugarCRM".
36  ********************************************************************************/
37
38     /*
39     **this is the ajax call that is called from RebuildJSLang.php.  It processes
40     **the Request object in order to call correct methods for repairing/rebuilding JSfiles
41     *Note that minify.php has already been included as part of index.php, so no need to include again.
42     */ 
43
44  
45     //set default root directory
46     $from = getcwd();
47     if(isset($_REQUEST['root_directory'])  && !empty($_REQUEST['root_directory'])){
48         $from = $_REQUEST['root_directory'];
49     }
50     //this script can take a while, change max execution time to 10 mins
51     $tmp_time = ini_get('max_execution_time');
52     ini_set('max_execution_time','600');
53         
54         //figure out which commands to call.  
55         if($_REQUEST['js_admin_repair'] == 'concat' ){
56             //concatenate mode, call the files that will concatenate javascript group files
57             $_REQUEST['js_rebuild_concat'] = 'rebuild';
58             require_once('jssource/minify.php');
59          
60         }else{
61             $_REQUEST['root_directory'] = getcwd();
62             require_once('jssource/minify.php');
63         
64             if($_REQUEST['js_admin_repair'] == 'replace'){
65                 //should replace compressed JS with source js
66                 reverseScripts("$from/jssource/src_files","$from");    
67     
68             }elseif($_REQUEST['js_admin_repair'] == 'mini'){
69                 //should replace compressed JS with minified version of source js
70                 reverseScripts("$from/jssource/src_files","$from");
71                 BackUpAndCompressScriptFiles("$from","",false);
72                 ConcatenateFiles("$from");
73     
74             }elseif($_REQUEST['js_admin_repair'] == 'repair'){
75              //should compress existing javascript (including changes done) without overwriting original source files
76                 BackUpAndCompressScriptFiles("$from","",false);
77                 ConcatenateFiles("$from");        
78             }
79         }
80     //set execution time back to what it was   
81     ini_set('max_execution_time',$tmp_time);
82
83     
84  
85 ?>