]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - install/confirmSettings.php
Release 6.4.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-2011 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" width="145" height="30" 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);
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     rtrim($memory_limit, 'M');
338     $memory_limit_int = (int) $memory_limit;
339     $SUGARCRM_MIN_MEM = (int) constant('SUGARCRM_MIN_MEM');
340     if( $memory_limit_int < constant('SUGARCRM_MIN_MEM') ){
341         $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>";
342         $memory_msg = str_replace('$memory_limit', $mem_display, $memory_msg);
343     } else {
344         $memory_msg = "{$mod_strings['LBL_CHECKSYS_OK']} ({$memory_limit})";
345     }
346 }
347
348           $envString .='
349       <tr>
350         <td></td>
351         <td><strong>'.$mod_strings['LBL_CHECKSYS_MEM'].'</strong></td>
352         <td  >'.$memory_msg.'</td>
353       </tr>';
354
355     // zlib
356     if(function_exists('gzclose')) {
357         $zlibStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
358     } else {
359         $zlibStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_ZLIB']}</b></span>";
360     }
361             $envString .='
362           <tr>
363             <td></td>
364             <td><strong>'.$mod_strings['LBL_CHECKSYS_ZLIB'].'</strong></td>
365             <td  >'.$zlibStatus.'</td>
366           </tr>';
367
368     // zip
369     if(class_exists("ZipArchive")) {
370         $zipStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
371     } else {
372         $zipStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_ZIP']}</b></span>";
373     }
374             $envString .='
375           <tr>
376             <td></td>
377             <td><strong>'.$mod_strings['LBL_CHECKSYS_ZIP'].'</strong></td>
378             <td  >'.$zipStatus.'</td>
379           </tr>';
380
381
382
383     // imap
384     if(function_exists('imap_open')) {
385         $imapStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
386     } else {
387         $imapStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_IMAP']}</b></span>";
388     }
389
390             $envString .='
391           <tr>
392             <td></td>
393             <td><strong>'.$mod_strings['LBL_CHECKSYS_IMAP'].'</strong></td>
394             <td  >'.$imapStatus.'</td>
395           </tr>';
396
397
398     // cURL
399     if(function_exists('curl_init')) {
400         $curlStatus = "{$mod_strings['LBL_CHECKSYS_OK']}";
401     } else {
402         $curlStatus = "<span class='stop'><b>{$mod_strings['ERR_CHECKSYS_CURL']}</b></span>";
403     }
404
405             $envString .='
406           <tr>
407             <td></td>
408             <td><strong>'.$mod_strings['LBL_CHECKSYS_CURL'].'</strong></td>
409             <td  >'.$curlStatus.'</td>
410           </tr>';
411
412
413       //CHECK UPLOAD FILE SIZE
414         $upload_max_filesize = ini_get('upload_max_filesize');
415         $upload_max_filesize_bytes = return_bytes($upload_max_filesize);
416         if(!defined('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES')){
417             define('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES', 6 * 1024 * 1024);
418         }
419
420         if($upload_max_filesize_bytes > constant('SUGARCRM_MIN_UPLOAD_MAX_FILESIZE_BYTES')) {
421             $fileMaxStatus = "{$mod_strings['LBL_CHECKSYS_OK']}</font>";
422         } else {
423             $fileMaxStatus = "<span class='stop'><b>{$mod_strings['ERR_UPLOAD_MAX_FILESIZE']}</font></b></span>";
424         }
425
426             $envString .='
427           <tr>
428             <td></td>
429             <td><strong>'.$mod_strings['LBL_UPLOAD_MAX_FILESIZE_TITLE'].'</strong></td>
430             <td  >'.$fileMaxStatus.'</td>
431           </tr>';
432
433       //CHECK Sprite support
434         if(function_exists('imagecreatetruecolor'))
435         {
436             $spriteSupportStatus = "{$mod_strings['LBL_CHECKSYS_OK']}</font>";
437         }else{
438             $spriteSupportStatus = "<span class='stop'><b>{$mod_strings['ERROR_SPRITE_SUPPORT']}</b></span>";
439         }
440             $envString .='
441           <tr>
442             <td></td>
443             <td><strong>'.$mod_strings['LBL_SPRITE_SUPPORT'].'</strong></td>
444             <td  >'.$spriteSupportStatus.'</td>
445           </tr>';
446
447
448
449 // PHP.ini
450 $phpIniLocation = get_cfg_var("cfg_file_path");
451           $envString .='
452       <tr>
453         <td></td>
454         <td><strong>'.$mod_strings['LBL_CHECKSYS_PHP_INI'].'</strong></td>
455         <td  >'.$phpIniLocation.'</td>
456       </tr>';
457
458 $out .= $envString;
459
460 $out .=<<<EOQ
461
462         </table>
463         </td>
464     </tr>
465     <tr>
466         <td align="right" colspan="2">
467         <table cellspacing="0" cellpadding="0" border="0" class="stdTable">
468         <tr><th align="left" colspan="2">&nbsp;</th></tr>
469 EOQ;
470
471 // CRON Settings
472 if ( !isset($sugar_config['default_language']) )
473     $sugar_config['default_language'] = $_SESSION['default_language'];
474 if ( !isset($sugar_config['cache_dir']) )
475     $sugar_config['cache_dir'] = $sugar_config_defaults['cache_dir'];
476 if ( !isset($sugar_config['site_url']) )
477     $sugar_config['site_url'] = $_SESSION['setup_site_url'];
478 if ( !isset($sugar_config['translation_string_prefix']) )
479     $sugar_config['translation_string_prefix'] = $sugar_config_defaults['translation_string_prefix'];
480 $mod_strings_scheduler = return_module_language($GLOBALS['current_language'], 'Schedulers');
481 $error = '';
482
483 if (!isset($_SERVER['Path'])) {
484     $_SERVER['Path'] = getenv('Path');
485 }
486 if(is_windows()) {
487 if(isset($_SERVER['Path']) && !empty($_SERVER['Path'])) { // IIS IUSR_xxx may not have access to Path or it is not set
488     if(!strpos($_SERVER['Path'], 'php')) {
489 //        $error = '<em>'.$mod_strings_scheduler['LBL_NO_PHP_CLI'].'</em>';
490     }
491 }
492 $cronString = '
493                         <tr>
494                             <td align="left" colspan="2">
495                             <font color="red">
496                                                 '.$mod_strings_scheduler['LBL_CRON_WINDOWS_DESC'].'<br>
497                                 </font>
498                                                 cd '.realpath('./').'<br>
499                                                 php.exe -f cron.php
500                                                 <br>'.$error.'
501                                 </td>
502                         </tr>
503 ';
504 } else {
505 if(isset($_SERVER['Path']) && !empty($_SERVER['Path'])) { // some Linux servers do not make this available
506     if(!strpos($_SERVER['PATH'], 'php')) {
507 //        $error = '<em>'.$mod_strings_scheduler['LBL_NO_PHP_CLI'].'</em>';
508     }
509 }
510 $cronString = '
511                         <tr>
512                             <td align="left" colspan="2">
513                             <font color="red">
514                                                 '.$mod_strings_scheduler['LBL_CRON_INSTRUCTIONS_LINUX'].'
515                                 </font>
516                                                 '.$mod_strings_scheduler['LBL_CRON_LINUX_DESC'].'<br>
517                                                 *&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;
518                                                 cd '.realpath('./').'; php -f cron.php > /dev/null 2>&1
519                                                 <br>'.$error.'
520                                 </td>
521                         </tr>
522 ';
523 }
524
525 $out .= $cronString;
526
527 $out .=<<<EOQ
528         </table>
529         </td>
530     </tr>
531     <tr>
532         <td colspan='3' align='right'>
533                 <input type="button" class="button" name="print_summary" id="button_print_summary_settings" value="{$mod_strings['LBL_PRINT_SUMM']}"
534                 onClick='window.print()' onCluck='window.open("install.php?current_step="+(document.setConfig.current_step.value -1)+"&goto={$mod_strings["LBL_NEXT"]}&print=true");' />&nbsp;
535         </td>
536     </tr>
537     <tr>
538         <td align="right" colspan="2">
539         <hr>
540         <table cellspacing="0" cellpadding="0" border="0" class="stdTable">
541             <tr>
542               <td align=right>
543                     <input type="button" class="button" id="show_pass_button" value="{$mod_strings['LBL_SHOW_PASS']}"
544                     onClick='togglePass();' />
545               </td>
546                 <td>
547                         <input type="hidden" name="goto" id="goto">
548                     <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();" />
549                 </td>
550                 <td>
551                         <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"/>
552                 </td>
553             </tr>
554         </table>
555         </td>
556     </tr>
557 </table>
558 </form>
559 <br>
560 <script>
561 function togglePass(){
562     if(document.getElementById('show_site_admin_pass').style.display == ''){
563         document.getElementById('show_pass_button').value = "{$mod_strings['LBL_SHOW_PASS']}";
564         document.getElementById('hide_site_admin_pass').style.display = '';
565         document.getElementById('hide_db_admin_pass').style.display = '';
566         document.getElementById('show_site_admin_pass').style.display = 'none';
567         document.getElementById('show_db_admin_pass').style.display = 'none';
568
569     }else{
570         document.getElementById('show_pass_button').value = "{$mod_strings['LBL_HIDE_PASS']}";
571         document.getElementById('show_site_admin_pass').style.display = '';
572         document.getElementById('show_db_admin_pass').style.display = '';
573         document.getElementById('hide_site_admin_pass').style.display = 'none';
574         document.getElementById('hide_db_admin_pass').style.display = 'none';
575
576     }
577 }
578 </script>
579 </body>
580 </html>
581
582
583 EOQ;
584 echo $out;
585
586 ?>