]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - install/confirmSettings.php
Release 6.5.11
[Github/sugarcrm.git] / install / confirmSettings.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-2013 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
40 global $sugar_config, $db, $app_strings;
41 if (isset($sugar_config['default_language']) == false)
42 {
43     $sugar_config['default_language'] = $GLOBALS['current_language'];
44 }
45 $app_strings = return_application_language($GLOBALS['current_language']);
46
47 if( !isset( $install_script ) || !$install_script ){
48     die($mod_strings['ERR_NO_DIRECT_SCRIPT']);
49 }
50
51 $db = getDbConnection();
52
53 $dbCreate = "({$mod_strings['LBL_CONFIRM_WILL']} ";
54 if(!$_SESSION['setup_db_create_database']){
55         $dbCreate .= $mod_strings['LBL_CONFIRM_NOT'];
56 }
57 $dbCreate .= " {$mod_strings['LBL_CONFIRM_BE_CREATED']})";
58
59 $dbUser = "{$_SESSION['setup_db_sugarsales_user']} ({$mod_strings['LBL_CONFIRM_WILL']} ";
60 if( $_SESSION['setup_db_create_sugarsales_user'] != 1 ){
61         $dbUser .= $mod_strings['LBL_CONFIRM_NOT'];
62 }
63 $dbUser .= " {$mod_strings['LBL_CONFIRM_BE_CREATED']})";
64 $yesNoDropCreate = $mod_strings['LBL_NO'];
65 if ($_SESSION['setup_db_drop_tables']===true ||$_SESSION['setup_db_drop_tables'] == 'true'){
66     $yesNoDropCreate = $mod_strings['LBL_YES'];
67 }
68 $yesNoSugarUpdates = ($_SESSION['setup_site_sugarbeet']) ? $mod_strings['LBL_YES'] : $mod_strings['LBL_NO'];
69 $yesNoCustomSession = ($_SESSION['setup_site_custom_session_path']) ? $mod_strings['LBL_YES'] : $mod_strings['LBL_NO'];
70 $yesNoCustomLog = ($_SESSION['setup_site_custom_log_dir']) ? $mod_strings['LBL_YES'] : $mod_strings['LBL_NO'];
71 $yesNoCustomId = ($_SESSION['setup_site_specify_guid']) ? $mod_strings['LBL_YES'] : $mod_strings['LBL_NO'];
72 $demoData = ($_SESSION['demoData'] == 'en_us') ? ($mod_strings['LBL_YES']) : ($_SESSION['demoData']);
73 // Populate the default date format, time format, and language for the system
74 $defaultDateFormat = "";
75 $defaultTimeFormat = "";
76 $defaultLanguages = "";
77
78         $sugar_config_defaults = get_sugar_config_defaults();
79         if(isset($_REQUEST['default_language'])){
80                 $defaultLanguages = $sugar_config_defaults['languages'][$_REQUEST['default_language']];
81         }
82
83 ///////////////////////////////////////////////////////////////////////////////
84 ////    START OUTPUT
85 $langHeader = get_language_header();
86
87 $out =<<<EOQ
88 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
89 <html {$langHeader}>
90 <head>
91    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
92    <meta http-equiv="Content-Script-Type" content="text/javascript">
93    <meta http-equiv="Content-Style-Type" content="text/css">
94    <title>{$mod_strings['LBL_WIZARD_TITLE']} {$mod_strings['LBL_CONFIRM_TITLE']}</title>
95    <link REL="SHORTCUT ICON" HREF="$icon">
96    <link rel="stylesheet" href="$css" type="text/css" />
97 </head>
98 <body onload="javascript:document.getElementById('button_next2').focus();">
99 <form action="install.php" method="post" name="setConfig" id="form">
100 <input type="hidden" name="current_step" value="{$next_step}">
101 <table cellspacing="0" cellpadding="0" border="0" align="center" class="shell">
102       <tr><td colspan="2" id="help"><a href="{$help_url}" target='_blank'>{$mod_strings['LBL_HELP']} </a></td></tr>
103     <tr>
104       <th width="500">
105                 <p>
106                 <img src="{$sugar_md}" alt="SugarCRM" border="0">
107                 </p>
108                 {$mod_strings['LBL_CONFIRM_TITLE']}</th>
109         <th width="200" style="text-align: right;"><a href="http://www.sugarcrm.com" target="_blank"><IMG src="$loginImage" alt="SugarCRM" border="0"></a>
110         </th>
111     </tr>
112     <tr>
113         <td colspan="2">
114
115         <table width="100%" cellpadding="0" cellpadding="0" border="0" class="StyleDottedHr">
116             <tr><th colspan="3" align="left">{$mod_strings['LBL_DBCONF_TITLE']}</th></tr>
117             <tr><td></td><td><b>{$mod_strings['LBL_CONFIRM_DB_TYPE']}</b></td><td>{$_SESSION['setup_db_type']}</td></tr>
118             <tr><td></td><td><b>{$mod_strings['LBL_DBCONF_HOST_NAME']}</b></td><td>{$_SESSION['setup_db_host_name']}</td></tr>
119             <tr>
120                 <td></td>
121                 <td><b>{$mod_strings['LBL_DBCONF_DB_NAME']}</b></td>
122                 <td>
123                                         {$_SESSION['setup_db_database_name']} {$dbCreate}
124                 </td>
125             </tr>
126 EOQ;
127
128 $out .=<<<EOQ
129             <tr>
130                 <td></td>
131                 <td><b>{$mod_strings['LBL_DBCONF_DB_ADMIN_USER']}</b></td>
132                 <td>{$_SESSION['setup_db_admin_user_name']}</td>
133             </tr>
134             <tr>
135                 <td></td>
136                 <td><b>{$mod_strings['LBL_DBCONF_DEMO_DATA']}</b></td>
137                 <td>{$demoData}</td>
138             </tr>
139 EOQ;
140 if($yesNoDropCreate){
141
142 $out .=<<<EOQ
143             <tr>
144                 <td></td>
145                 <td><b>{$mod_strings['LBL_DBCONF_DB_DROP']}</b></td>
146                 <td>{$yesNoDropCreate}</td>
147             </tr>
148 EOQ;
149
150 }
151
152
153 if(isset($_SESSION['install_type'])  && !empty($_SESSION['install_type'])  && $_SESSION['install_type']=='custom'){
154 $out .=<<<EOQ
155
156            <tr><td colspan="3" align="left"></td></tr>
157             <tr>
158                 <th colspan="3" align="left">{$mod_strings['LBL_SITECFG_TITLE']}</th>
159             </tr>
160             <tr>
161                 <td></td>
162                 <td><b>{$mod_strings['LBL_SITECFG_URL']}</b></td>
163                 <td>{$_SESSION['setup_site_url']}</td>
164             </tr>
165             <tr>
166            <tr><td colspan="3" align="left"></td></tr>
167                 <th colspan="3" align="left">{$mod_strings['LBL_SITECFG_SUGAR_UPDATES']}</th>
168             </tr>
169             <tr>
170                 <td></td>
171                 <td><b>{$mod_strings['LBL_SITECFG_SUGAR_UP']}</b></td>
172                 <td>{$yesNoSugarUpdates}</td>
173             </tr>
174             <tr>
175            <tr><td colspan="3" align="left"></td></tr>
176                 <th colspan="3" align="left">{$mod_strings['LBL_SITECFG_SITE_SECURITY']}</th>
177             </tr>
178             <tr>
179                 <td></td>
180                 <td><b>{$mod_strings['LBL_SITECFG_CUSTOM_SESSION']}?</b></td>
181                 <td>{$yesNoCustomSession}</td>
182             </tr>
183             <tr>
184                 <td></td>
185                 <td><b>{$mod_strings['LBL_SITECFG_CUSTOM_LOG']}?</b></td>
186                 <td>{$yesNoCustomLog}</td>
187             </tr>
188             <tr>
189                 <td></td>
190                 <td><b>{$mod_strings['LBL_SITECFG_CUSTOM_ID']}?</b></td>
191                 <td>{$yesNoCustomId}</td>
192             </tr>
193 EOQ;
194 }
195
196 $out .=<<<EOQ
197
198            <tr><td colspan="3" align="left"></td></tr>
199           <tr><th colspan="3" align="left">{$mod_strings['LBL_SYSTEM_CREDS']}</th></tr>
200             <tr>
201                 <td></td>
202                 <td><b>{$mod_strings['LBL_DBCONF_DB_USER']}</b></td>
203                 <td>
204                     {$_SESSION['setup_db_sugarsales_user']}
205                 </td>
206             </tr>
207             <tr>
208                 <td></td>
209                 <td><b>{$mod_strings['LBL_DBCONF_DB_PASSWORD']}</b></td>
210                 <td>
211                     <span id='hide_db_admin_pass'>{$mod_strings['LBL_HIDDEN']}</span>
212                     <span style='display:none' id='show_db_admin_pass'>{$_SESSION['setup_db_sugarsales_password']}</span>
213                 </td>
214             </tr>
215             <tr>
216                 <td></td>
217                 <td><b>{$mod_strings['LBL_SITECFG_ADMIN_Name']}</b></td>
218                 <td>
219                     Admin
220                 </td>
221             </tr>
222             <tr>
223                 <td></td>
224                 <td><b>{$mod_strings['LBL_SITECFG_ADMIN_PASS']}</b></td>
225                 <td>
226                     <span id='hide_site_admin_pass'>{$mod_strings['LBL_HIDDEN']}</span>
227                     <span style='display:none' id='show_site_admin_pass'>{$_SESSION['setup_site_admin_password']}</span>
228                 </td>
229             </tr>
230
231 EOQ;
232
233
234
235
236
237
238 $envString = '
239            <tr><td colspan="3" align="left"></td></tr><tr><th colspan="3" align="left">'.$mod_strings['LBL_SYSTEM_ENV'].'</th></tr>';
240
241     // PHP VERSION
242         $envString .='
243           <tr>
244              <td></td>
245             <td><b>'.$mod_strings['LBL_CHECKSYS_PHPVER'].'</b></td>
246             <td >'.constant('PHP_VERSION').'</td>
247           </tr>';
248
249
250 //Begin List of already known good variables.  These were checked during the initial sys check
251 // XML Parsing
252         $envString .='
253       <tr>
254         <td></td>
255         <td><strong>'.$mod_strings['LBL_CHECKSYS_XML'].'</strong></td>
256         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
257       </tr>';
258
259
260
261 // mbstrings
262
263         $envString .='
264       <tr>
265         <td></td>
266         <td><strong>'.$mod_strings['LBL_CHECKSYS_MBSTRING'].'</strong></td>
267         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
268       </tr>';
269
270 // config.php
271         $envString .='
272       <tr>
273         <td></td>
274         <td><strong>'.$mod_strings['LBL_CHECKSYS_CONFIG'].'</strong></td>
275         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
276       </tr>';
277
278 // custom dir
279
280
281         $envString .='
282       <tr>
283         <td></td>
284         <td><strong>'.$mod_strings['LBL_CHECKSYS_CUSTOM'].'</strong></td>
285         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
286       </tr>';
287
288
289 // modules dir
290         $envString .='
291       <tr>
292         <td></td>
293         <td><strong>'.$mod_strings['LBL_CHECKSYS_MODULE'].'</strong></td>
294         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
295       </tr>';
296
297 // upload dir
298         $envString .='
299       <tr>
300         <td></td>
301         <td><strong>'.$mod_strings['LBL_CHECKSYS_UPLOAD'].'</strong></td>
302         <td>'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
303       </tr>';
304
305 // data dir
306
307         $envString .='
308       <tr>
309         <td></td>
310         <td><strong>'.$mod_strings['LBL_CHECKSYS_DATA'].'</strong></td>
311         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
312       </tr>';
313
314 // cache dir
315     $error_found = true;
316         $envString .='
317       <tr>
318         <td></td>
319         <td><strong>'.$mod_strings['LBL_CHECKSYS_CACHE'].'</strong></td>
320         <td  >'.$mod_strings['LBL_CHECKSYS_OK'].'</td>
321       </tr>';
322 // End already known to be good
323
324 // memory limit
325 $memory_msg     = "";
326 // CL - fix for 9183 (if memory_limit is enabled we will honor it and check it; otherwise use unlimited)
327 $memory_limit = ini_get('memory_limit');
328 if(empty($memory_limit)){
329     $memory_limit = "-1";
330 }
331 if(!defined('SUGARCRM_MIN_MEM')) {
332     define('SUGARCRM_MIN_MEM', 40*1024*1024);
333 }
334 $sugarMinMem = constant('SUGARCRM_MIN_MEM');
335 // logic based on: http://us2.php.net/manual/en/ini.core.php#ini.memory-limit
336 if( $memory_limit == "" ){          // memory_limit disabled at compile time, no memory limit
337     $memory_msg = "<b>{$mod_strings['LBL_CHECKSYS_MEM_OK']}</b>";
338 } elseif( $memory_limit == "-1" ){   // memory_limit enabled, but set to unlimited
339     $memory_msg = "{$mod_strings['LBL_CHECKSYS_MEM_UNLIMITED']}";
340 } else {
341     $mem_display = $memory_limit;
342     preg_match('/^\s*([0-9.]+)\s*([KMGTPE])B?\s*$/i', $memory_limit, $matches);
343     $num = (float)$matches[1];
344     // Don't break so that it falls through to the next case.
345     switch (strtoupper($matches[2])) {
346         case 'G':
347             $num = $num * 1024;
348         case 'M':
349             $num = $num * 1024;
350         case 'K':
351             $num = $num * 1024;
352     }
353     $memory_limit_int = intval($num);
354     $SUGARCRM_MIN_MEM = (int) constant('SUGARCRM_MIN_MEM');
355     if( $memory_limit_int < constant('SUGARCRM_MIN_MEM') ){
356         // Bug59667: The string ERR_CHECKSYS_MEM_LIMIT_2 already has 'M' in it,
357         // so we divide the constant by 1024*1024.
358         $min_mem_in_megs = constant('SUGARCRM_MIN_MEM')/(1024*1024);
359         $memory_msg = "<span class='stop'><b>$memory_limit{$mod_strings['ERR_CHECKSYS_MEM_LIMIT_1']}" . $min_mem_in_megs . "{$mod_strings['ERR_CHECKSYS_MEM_LIMIT_2']}</b></span>";
360         $memory_msg = str_replace('$memory_limit', $mem_display, $memory_msg);
361     } else {
362         $memory_msg = "{$mod_strings['LBL_CHECKSYS_OK']} ({$memory_limit})";
363     }
364 }
365
366           $envString .='
367       <tr>
368         <td></td>
369         <td><strong>'.$mod_strings['LBL_CHECKSYS_MEM'].'</strong></td>
370         <td  >'.$memory_msg.'</td>
371       </tr>';
372
373     // zlib
374     if(function_exists('gzclose')) {
375         $zlibStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
376     } else {
377         $zlibStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_ZLIB']}</b></span>";
378     }
379             $envString .='
380           <tr>
381             <td></td>
382             <td><strong>'.$mod_strings['LBL_CHECKSYS_ZLIB'].'</strong></td>
383             <td  >'.$zlibStatus.'</td>
384           </tr>';
385
386     // zip
387     if(class_exists("ZipArchive")) {
388         $zipStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
389     } else {
390         $zipStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_ZIP']}</b></span>";
391     }
392             $envString .='
393           <tr>
394             <td></td>
395             <td><strong>'.$mod_strings['LBL_CHECKSYS_ZIP'].'</strong></td>
396             <td  >'.$zipStatus.'</td>
397           </tr>';
398
399
400
401     // imap
402     if(function_exists('imap_open')) {
403         $imapStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
404     } else {
405         $imapStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_IMAP']}</b></span>";
406     }
407
408             $envString .='
409           <tr>
410             <td></td>
411             <td><strong>'.$mod_strings['LBL_CHECKSYS_IMAP'].'</strong></td>
412             <td  >'.$imapStatus.'</td>
413           </tr>';
414
415
416     // cURL
417     if(function_exists('curl_init')) {
418         $curlStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
419     } else {
420         $curlStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_CURL']}</b></span>";
421     }
422
423             $envString .='
424           <tr>
425             <td></td>
426             <td><strong>'.$mod_strings['LBL_CHECKSYS_CURL'].'</strong></td>
427             <td  >'.$curlStatus.'</td>
428           </tr>';
429
430
431       //CHECK UPLOAD FILE SIZE
432         $upload_max_filesize = ini_get('upload_max_filesize');
433         $upload_max_filesize_bytes = return_bytes($upload_max_filesize);
434         if(!defined('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES')){
435             define('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES', 6 * 1024 * 1024);
436         }
437
438         if($upload_max_filesize_bytes > constant('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES')) {
439             $fileMaxStatus = "{$mod_strings['LBL_CHECKSYS_OK']}</font>";
440         } else {
441             $fileMaxStatus = "<span class='stop'><b>{$mod_strings['ERR_UPLOAD_MAX_FILESIZE']}</font></b></span>";
442         }
443
444             $envString .='
445           <tr>
446             <td></td>
447             <td><strong>'.$mod_strings['LBL_UPLOAD_MAX_FILESIZE_TITLE'].'</strong></td>
448             <td  >'.$fileMaxStatus.'</td>
449           </tr>';
450
451       //CHECK Sprite support
452         if(function_exists('imagecreatetruecolor'))
453         {
454             $spriteSupportStatus = "{$mod_strings['LBL_CHECKSYS_OK']}</font>";
455         }else{
456             $spriteSupportStatus = "<span class='stop'><b>{$mod_strings['ERROR_SPRITE_SUPPORT']}</b></span>";
457         }
458             $envString .='
459           <tr>
460             <td></td>
461             <td><strong>'.$mod_strings['LBL_SPRITE_SUPPORT'].'</strong></td>
462             <td  >'.$spriteSupportStatus.'</td>
463           </tr>';
464
465         // Suhosin allow to use upload://
466         if (UploadStream::getSuhosinStatus() == true || (strpos(ini_get('suhosin.perdir'), 'e') !== false && strpos($_SERVER["SERVER_SOFTWARE"],'Microsoft-IIS') === false))
467         {
468             $suhosinStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
469         }
470         else
471         {
472             $suhosinStatus = "<span class='stop'><b>{$app_strings['ERR_SUHOSIN']}</b></span>";
473         }
474         $envString .= '
475         <tr>
476             <td></td>
477             <td><strong>PHP allows to use stream (' . UploadStream::STREAM_NAME . '://)</strong></td>
478             <td>' . $suhosinStatus . '</td>
479         </tr>
480         ';
481
482 // PHP.ini
483 $phpIniLocation = get_cfg_var("cfg_file_path");
484           $envString .='
485       <tr>
486         <td></td>
487         <td><strong>'.$mod_strings['LBL_CHECKSYS_PHP_INI'].'</strong></td>
488         <td  >'.$phpIniLocation.'</td>
489       </tr>';
490
491 $out .= $envString;
492
493 $out .=<<<EOQ
494
495         </table>
496         </td>
497     </tr>
498     <tr>
499         <td align="right" colspan="2">
500         <table cellspacing="0" cellpadding="0" border="0" class="stdTable">
501         <tr><th align="left" colspan="2">&nbsp;</th></tr>
502 EOQ;
503
504 // CRON Settings
505 if ( !isset($sugar_config['default_language']) )
506     $sugar_config['default_language'] = $_SESSION['default_language'];
507 if ( !isset($sugar_config['cache_dir']) )
508     $sugar_config['cache_dir'] = $sugar_config_defaults['cache_dir'];
509 if ( !isset($sugar_config['site_url']) )
510     $sugar_config['site_url'] = $_SESSION['setup_site_url'];
511 if ( !isset($sugar_config['translation_string_prefix']) )
512     $sugar_config['translation_string_prefix'] = $sugar_config_defaults['translation_string_prefix'];
513 $mod_strings_scheduler = return_module_language($GLOBALS['current_language'], 'Schedulers');
514 $error = '';
515
516 if (!isset($_SERVER['Path'])) {
517     $_SERVER['Path'] = getenv('Path');
518 }
519 if(is_windows()) {
520 if(isset($_SERVER['Path']) && !empty($_SERVER['Path'])) { // IIS IUSR_xxx may not have access to Path or it is not set
521     if(!strpos($_SERVER['Path'], 'php')) {
522 //        $error = '<em>'.$mod_strings_scheduler['LBL_NO_PHP_CLI'].'</em>';
523     }
524 }
525 $cronString = '
526                         <tr>
527                             <td align="left" colspan="2">
528                             <font color="red">
529                                                 '.$mod_strings_scheduler['LBL_CRON_WINDOWS_DESC'].'<br>
530                                 </font>
531                                                 cd '.realpath('./').'<br>
532                                                 php.exe -f cron.php
533                                                 <br>'.$error.'
534                                 </td>
535                         </tr>
536 ';
537 } else {
538 if(isset($_SERVER['Path']) && !empty($_SERVER['Path'])) { // some Linux servers do not make this available
539     if(!strpos($_SERVER['PATH'], 'php')) {
540 //        $error = '<em>'.$mod_strings_scheduler['LBL_NO_PHP_CLI'].'</em>';
541     }
542 }
543 $cronString = '
544                         <tr>
545                             <td align="left" colspan="2">
546                             <font color="red">
547                                                 '.$mod_strings_scheduler['LBL_CRON_INSTRUCTIONS_LINUX'].'
548                                 </font>
549                                                 '.$mod_strings_scheduler['LBL_CRON_LINUX_DESC'].'<br>
550                                                 *&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;
551                                                 cd '.realpath('./').'; php -f cron.php > /dev/null 2>&1
552                                                 <br>'.$error.'
553                                 </td>
554                         </tr>
555 ';
556 }
557
558 $out .= $cronString;
559
560 $out .=<<<EOQ
561         </table>
562         </td>
563     </tr>
564     <tr>
565         <td colspan='3' align='right'>
566                 <input type="button" class="button" name="print_summary" id="button_print_summary_settings" value="{$mod_strings['LBL_PRINT_SUMM']}"
567                 onClick='window.print()' onCluck='window.open("install.php?current_step="+(document.setConfig.current_step.value -1)+"&goto={$mod_strings["LBL_NEXT"]}&print=true");' />&nbsp;
568         </td>
569     </tr>
570     <tr>
571         <td align="right" colspan="2">
572         <hr>
573         <table cellspacing="0" cellpadding="0" border="0" class="stdTable">
574             <tr>
575               <td align=right>
576                     <input type="button" class="button" id="show_pass_button" value="{$mod_strings['LBL_SHOW_PASS']}"
577                     onClick='togglePass();' />
578               </td>
579                 <td>
580                         <input type="hidden" name="goto" id="goto">
581                     <input class="button" type="button" value="{$mod_strings['LBL_BACK']}" id="button_back_settings" onclick="document.getElementById('goto').value='{$mod_strings['LBL_BACK']}';document.getElementById('form').submit();" />
582                 </td>
583                 <td>
584                         <input class="button" type="button" value="{$mod_strings['LBL_LANG_BUTTON_COMMIT']}" onclick="document.getElementById('goto').value='{$mod_strings['LBL_NEXT']}';document.getElementById('form').submit();" id="button_next2"/>
585                 </td>
586             </tr>
587         </table>
588         </td>
589     </tr>
590 </table>
591 </form>
592 <br>
593 <script>
594 function togglePass(){
595     if(document.getElementById('show_site_admin_pass').style.display == ''){
596         document.getElementById('show_pass_button').value = "{$mod_strings['LBL_SHOW_PASS']}";
597         document.getElementById('hide_site_admin_pass').style.display = '';
598         document.getElementById('hide_db_admin_pass').style.display = '';
599         document.getElementById('show_site_admin_pass').style.display = 'none';
600         document.getElementById('show_db_admin_pass').style.display = 'none';
601
602     }else{
603         document.getElementById('show_pass_button').value = "{$mod_strings['LBL_HIDE_PASS']}";
604         document.getElementById('show_site_admin_pass').style.display = '';
605         document.getElementById('show_db_admin_pass').style.display = '';
606         document.getElementById('hide_site_admin_pass').style.display = 'none';
607         document.getElementById('hide_db_admin_pass').style.display = 'none';
608
609     }
610 }
611 </script>
612 </body>
613 </html>
614
615
616 EOQ;
617 echo $out;