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