|
iTx Technologies offre gratuitement
|
||
[Vue sommaire] [Imprimer] [Vue textuelle]
1 <?php 2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); 3 /********************************************************************************* 4 * SugarCRM is a customer relationship management program developed by 5 * SugarCRM, Inc. Copyright (C) 2004 - 2009 SugarCRM Inc. 6 * 7 * This program is free software; you can redistribute it and/or modify it under 8 * the terms of the GNU 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 General Public License for more 17 * details. 18 * 19 * You should have received a copy of the GNU 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 General Public License version 3. 30 * 31 * In accordance with Section 7(b) of the GNU 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 global $sugar_version, $js_custom_version; 40 41 42 if(empty($_SESSION['setup_db_host_name'])){ 43 $_SESSION['setup_db_host_name'] = (isset($sugar_config['db_host_name'])) ? $sugar_config['db_host_name'] : $_SERVER['SERVER_NAME']; 44 } 45 46 if( !isset( $install_script ) || !$install_script ){ 47 die($mod_strings['ERR_NO_DIRECT_SCRIPT']); 48 } 49 50 51 // DB split 52 $oci8sid = ''; 53 $createDbCheckbox = ''; 54 $createDb = (isset($_SESSION['setup_db_create_database']) && !empty($_SESSION['setup_db_create_database'])) ? 'checked="checked"' : ''; 55 $dropCreate = (isset($_SESSION['setup_db_drop_tables']) && !empty($_SESSION['setup_db_drop_tables'])) ? 'checked="checked"' : ''; 56 $instanceName = ''; 57 if (isset($_SESSION['setup_db_host_instance']) && !empty($_SESSION['setup_db_host_instance'])){ 58 $instanceName = $_SESSION['setup_db_host_instance']; 59 } 60 61 if($_SESSION['setup_db_type'] == 'oci8') { 62 63 64 65 66 67 68 }else { 69 70 $host_lbl = $mod_strings['LBL_DBCONF_HOST_NAME']; 71 if($_SESSION['setup_db_type'] == 'mssql') { 72 $host_lbl = $mod_strings['LBL_DBCONF_HOST_NAME_MSSQL']; 73 } 74 75 $dbSplit1 = '<tr><td colspan="3" align="left">'.$mod_strings['LBL_DBCONFIG_MSG2'].' </td></tr> 76 <tr> 77 <td><span class="required">*</span></td> 78 <td nowrap><b>'.$host_lbl.'</b></td> 79 <td align="left"> 80 <input type="text" name="setup_db_host_name" id="setup_db_host_name" value="'.$_SESSION['setup_db_host_name'].'" />'; 81 if (isset($_SESSION['setup_db_type']) && $_SESSION['setup_db_type'] =='mssql'){ 82 $dbSplit1 .= ' \ <input type="text" name="setup_db_host_instance" id="setup_db_host_instance" value="'.$instanceName.'" />'; 83 } 84 $dbSplit1 .= '</td> 85 </tr>'; 86 87 88 } 89 90 91 92 93 /////////////////////////////////////////////////////////////////////////////// 94 //// BEGIN PAGE OUTPUT 95 96 $out =<<<EOQ 97 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 98 <html> 99 <head> 100 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 101 <meta http-equiv="Content-Script-Type" content="text/javascript"> 102 <meta http-equiv="Content-Style-Type" content="text/css"> 103 <title>{$mod_strings['LBL_WIZARD_TITLE']} {$mod_strings['LBL_DBCONF_TITLE']}</title> 104 <link rel="stylesheet" href="install/install.css" type="text/css" /> 105 <script type="text/javascript" src="install/installCommon.js"></script> 106 <script type="text/javascript" src="install/dbConfig.js"></script> 107 <link REL="SHORTCUT ICON" HREF="include/images/sugar_icon.ico"> 108 <script src="include/javascript/sugar_grp1_yui.js?s={$sugar_version}&c={$js_custom_version}"></script> 109 <link rel='stylesheet' type='text/css' href='include/javascript/yui/build/container/assets/container.css' /> 110 111 </head> 112 EOQ; 113 $out .= '<body onload="document.getElementById(\'defaultFocus\').focus();">'; 114 115 $out2 =<<<EOQ2 116 <form action="install.php" method="post" name="setConfig" id="form"> 117 <input type='hidden' name='setup_db_drop_tables' id='setup_db_drop_tables' value='false'> 118 <input type="hidden" id="hidden_goto" name="goto" value="{$mod_strings['LBL_BACK']}" /> 119 <table cellspacing="0" cellpadding="0" border="0" align="center" class="shell"> 120 121 <tr><td colspan="2" id="help"><a href="{$help_url}" target='_blank'>{$mod_strings['LBL_HELP']} </a></td></tr> 122 <tr> 123 <th width="500"> 124 <p><img src="include/images/sugar_md.png" alt="SugarCRM" border="0"></p> 125 {$mod_strings['LBL_DBCONF_TITLE']} 126 </th> 127 <th width="200" height="30" style="text-align: right;"><a href="http://www.sugarcrm.com" target="_blank"> 128 <IMG src="include/images/sugarcrm_login.png" width="145" height="30" alt="SugarCRM" border="0"></a> 129 </th> 130 </tr> 131 <tr> 132 <td colspan="2"> 133 <div id="errorMsgs" style="display:none"></div> 134 <div class="required">{$mod_strings['LBL_REQUIRED']}</div> 135 <table width="100%" cellpadding="0" cellpadding="0" border="0" class="StyleDottedHr"> 136 <tr><th colspan="3" align="left" >{$mod_strings['LBL_DBCONF_TITLE_NAME']} </td></tr> 137 138 <tr><td colspan="3" align="left"> {$mod_strings['LBL_DBCONFIG_MSG3']}</td></tr> 139 <tr><td width='1%'><span class="required">*</span></td> 140 <td width='60%' nowrap><b>{$mod_strings['LBL_DBCONF_DB_NAME']} {$oci8sid}</b></td> 141 <td width='35%' nowrap align="left"> 142 <input type="text" name="setup_db_database_name" value="{$_SESSION['setup_db_database_name']}"><br> 143 </td> 144 </tr> 145 146 147 148 {$dbSplit1} 149 150 151 <tr><th colspan="3" align="left">{$mod_strings['LBL_DBCONF_TITLE_USER_INFO']} </td></tr> 152 <tr><td colspan="3" align="left">{$mod_strings['LBL_DBCONFIG_B_MSG1']}</td></tr> 153 <tr> 154 <td><span class="required">*</span></td> 155 <td nowrap><b>{$mod_strings['LBL_DBCONF_DB_ADMIN_USER']}</b></td> 156 <td nowrap align="left"> 157 <input type="text" name="setup_db_admin_user_name" maxlength="30" value="{$_SESSION['setup_db_admin_user_name']}" autocomplete="off"/> 158 </td> 159 </tr> 160 <tr> 161 <td></td> 162 <td nowrap><b>{$mod_strings['LBL_DBCONF_DB_ADMIN_PASSWORD']}</b></td> 163 <td nowrap align="left"><input type="password" name="setup_db_admin_password" value="{$_SESSION['setup_db_admin_password']}" autocomplete="off" /></td></tr> 164 </table> 165 EOQ2; 166 167 //if we are installing in custom mode, include the following html 168 if($_SESSION['setup_db_type'] != 'oci8' ){ 169 170 // create / set db user dropdown 171 $auto_select = '';$provide_select ='';$create_select = '';$same_select = ''; 172 if(isset($_SESSION['dbUSRData'])){ 173 // if($_SESSION['dbUSRData']=='auto') {$auto_select ='selected';} 174 if($_SESSION['dbUSRData']=='provide') {$provide_select ='selected';} 175 if(isset($_SESSION['install_type']) && !empty($_SESSION['install_type']) && strtolower($_SESSION['install_type'])=='custom'){ 176 if($_SESSION['dbUSRData']=='create') {$create_select ='selected';} 177 } 178 if($_SESSION['dbUSRData']=='same') {$same_select ='selected';} 179 }else{ 180 $same_select ='selected'; 181 } 182 $dbUSRDD = "<select name='dbUSRData' id='dbUSRData' onchange='toggleDBUser();'>"; 183 $dbUSRDD .= "<option value='provide' $provide_select>".$mod_strings['LBL_DBCONFIG_PROVIDE_DD']."</option>"; 184 $dbUSRDD .= "<option value='create' $create_select>".$mod_strings['LBL_DBCONFIG_CREATE_DD']."</option>"; 185 $dbUSRDD .= "<option value='same' $same_select>".$mod_strings['LBL_DBCONFIG_SAME_DD']."</option>"; 186 $dbUSRDD .= "</select><br> "; 187 188 189 190 191 $out2 .=<<<EOQ2 192 193 <table width="100%" cellpadding="0" cellpadding="0" border="0" class="StyleDottedHr"> 194 <tr><td colspan="3" align="left"><br>{$mod_strings['LBL_DBCONFIG_SECURITY']}</td></tr> 195 <tr><td width='1%'> </td><td width='60%'><div id='sugarDBUser'><b>{$mod_strings['LBL_DBCONF_SUGAR_DB_USER']}</b></div> </td><td width='35%'>$dbUSRDD</td></tr> 196 </table> 197 198 <span id='connection_user_div' style="display:none"> 199 <table width="100%" cellpadding="0" cellpadding="0" border="0" class="StyleDottedHr"> 200 <tr> 201 <td width='1%'><span class="required">*</span></td> 202 <td nowrap width='60%'><b>{$mod_strings['LBL_DBCONF_SUGAR_DB_USER']}</b></td> 203 <td width='35%'nowrap align="left"> 204 <input type="text" name="setup_db_sugarsales_user" maxlength="16" value="{$_SESSION['setup_db_sugarsales_user']}" /> 205 </td> 206 </tr> 207 <tr> 208 <td> </td> 209 <td nowrap><b>{$mod_strings['LBL_DBCONF_DB_PASSWORD']}</b></td> 210 <td nowrap align="left"><input type="password" name="setup_db_sugarsales_password" value="{$_SESSION['setup_db_sugarsales_password']}" /></td> 211 </tr> 212 <tr> 213 <td> </td> 214 <td nowrap><b>{$mod_strings['LBL_DBCONF_DB_PASSWORD2']}</b></td> 215 <td nowrap align="left"><input type="password" name="setup_db_sugarsales_password_retype" value="{$_SESSION['setup_db_sugarsales_password_retype']}" /></td> 216 </tr></table> 217 </span> 218 219 EOQ2; 220 } 221 222 //set demo dropdown 223 //$supported_demodata = array( 224 // 'en_us' => 'English (US)', 225 // 'zh_cn' => '简体中文', 226 // 'ja_jp' => 'Japanese - 日本語', 227 //); 228 $demoDD = "<select name='demoData' id='demoData'><option value='no' >".$mod_strings['LBL_NO']."</option><option value='en_us'>".$mod_strings['LBL_YES']."</option>"; 229 //foreach($supported_demodata as $key => $v){ 230 // // mssql is broken for mbcs 231 // if( ($_SESSION['setup_db_type'] == 'mssql') && ($key != 'en_us')) 232 // continue; 233 // $selected = ''; 234 // if($_SESSION['demoData'] == $key) 235 // $selected = "selected"; 236 // $demoDD .="<option value='$key' $selected>".$v."</option>"; 237 //} 238 $demoDD .= "</select><br> "; 239 240 241 $out3 =<<<EOQ3 242 <table width="100%" cellpadding="0" cellpadding="0" border="0" class="StyleDottedHr"> 243 <tr><th colspan="3" align="left">{$mod_strings['LBL_DBCONF_DEMO_DATA_TITLE']}</th></tr> 244 <tr> 245 <td width='1%'> </td> 246 <td width='60%'nowrap><b>{$mod_strings['LBL_DBCONF_DEMO_DATA']}</b></td> 247 <td width='35%'nowrap align="left"> 248 {$demoDD} 249 </td> 250 </tr> 251 </table> 252 EOQ3; 253 254 255 $out4 =<<<EOQ4 256 </td> 257 </tr> 258 <tr> 259 <td align="right" colspan="2"> 260 <hr> 261 <input type="hidden" name="current_step" value="{$next_step}"> 262 <table cellspacing="0" cellpadding="0" border="0" class="stdTable"> 263 <tr> 264 <td> 265 <input class="button" type="button" name="goto" value="{$mod_strings['LBL_BACK']}" onclick="document.getElementById('form').submit();" /> 266 </td> 267 <td> 268 <input class="button" type="button" name="goto" id="defaultFocus" value="{$mod_strings['LBL_NEXT']}" onClick="callDBCheck();"/> 269 </td> 270 </tr> 271 </table> 272 </td> 273 </tr> 274 </table> 275 </form> 276 <br> 277 278 <script> 279 function toggleDBUser(){ 280 if(typeof(document.getElementById('dbUSRData')) !='undefined' 281 && document.getElementById('dbUSRData') != null){ 282 283 ouv = document.getElementById('dbUSRData').value; 284 if(ouv == 'provide' || ouv == 'create'){ 285 document.getElementById('connection_user_div').style.display = ''; 286 document.getElementById('sugarDBUser').style.display = 'none'; 287 }else{ 288 document.getElementById('connection_user_div').style.display = 'none'; 289 document.getElementById('sugarDBUser').style.display = ''; 290 } 291 } 292 } 293 toggleDBUser(); 294 295 var msgPanel; 296 function callDBCheck(){ 297 298 //begin main function that will be called 299 ajaxCall = function(msg_panel){ 300 //create success function for callback 301 302 getPanel = function() { 303 var args = { width:"300px", 304 modal:true, 305 fixedcenter: true, 306 constraintoviewport: false, 307 underlay:"shadow", 308 close:false, 309 draggable:true, 310 311 effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:.5} 312 } ; 313 msg_panel = new YAHOO.widget.Panel('p_msg', args); 314 315 msg_panel.setHeader("{$mod_strings['LBL_LICENSE_CHKDB_HEADER']}"); 316 msg_panel.setBody(document.getElementById("checkingDiv").innerHTML); 317 msg_panel.render(document.body); 318 msgPanel = msg_panel; 319 } 320 321 322 passed = function(url){ 323 document.setConfig.goto.value="{$mod_strings['LBL_NEXT']}"; 324 document.getElementById('hidden_goto').value="{$mod_strings['LBL_NEXT']}"; 325 document.setConfig.current_step.value="{$next_step}"; 326 document.setConfig.submit(); 327 } 328 success = function(o) { 329 330 //condition for just the preexisting database 331 if (o.responseText.indexOf('preexeest')>=0){ 332 333 // throw confirmation message 334 msg_panel.setBody(document.getElementById("sysCheckMsg").innerHTML); 335 msg_panel.render(document.body); 336 msgPanel = msg_panel; 337 document.getElementById('accept_btn').focus(); 338 //condition for no errors 339 }else if (o.responseText.indexOf('dbCheckPassed')>=0){ 340 //make navigation 341 passed("install.php?goto={$mod_strings['LBL_NEXT']}"); 342 343 //condition for other errors 344 }else{ 345 //turn off loading message 346 msgPanel.hide(); 347 document.getElementById("errorMsgs").innerHTML = o.responseText; 348 document.getElementById("errorMsgs").style.display = ''; 349 return false; 350 } 351 352 353 }//end success 354 355 //set loading message and create url 356 357 postData = "checkDBSettings=true&to_pdf=1&sugar_body_only=1"; 358 postData += "&setup_db_database_name="+document.setConfig.setup_db_database_name.value; 359 if(typeof(document.setConfig.setup_db_host_instance) != 'undefined'){ 360 postData += "&setup_db_host_instance="+document.setConfig.setup_db_host_instance.value; 361 } 362 postData += "&setup_db_host_name="+document.setConfig.setup_db_host_name.value; 363 postData += "&setup_db_admin_user_name="+document.setConfig.setup_db_admin_user_name.value; 364 postData += "&setup_db_admin_password="+document.setConfig.setup_db_admin_password.value; 365 if(typeof(document.setConfig.setup_db_sugarsales_user) != 'undefined'){ 366 postData += "&setup_db_sugarsales_user="+document.setConfig.setup_db_sugarsales_user.value; 367 } 368 if(typeof(document.setConfig.setup_db_sugarsales_password) != 'undefined'){ 369 postData += "&setup_db_sugarsales_password="+document.setConfig.setup_db_sugarsales_password.value; 370 } 371 if(typeof(document.setConfig.setup_db_sugarsales_password_retype) != 'undefined'){ 372 postData += "&setup_db_sugarsales_password_retype="+document.setConfig.setup_db_sugarsales_password_retype.value; 373 } 374 if(typeof(document.setConfig.dbUSRData) != 'undefined'){ 375 postData += "&dbUSRData="+document.getElementById('dbUSRData').value; 376 } 377 378 EOQ4; 379 380 $out_dd = 'postData += "&demoData="+document.setConfig.demoData.value;'; 381 $out5 =<<<EOQ5 382 postData += "&to_pdf=1&sugar_body_only=1"; 383 384 //if this is a call already in progress, then just return 385 if(typeof ajxProgress != 'undefined'){ 386 return; 387 } 388 389 getPanel(); 390 msgPanel.show; 391 var ajxProgress = YAHOO.util.Connect.asyncRequest('POST','install.php', {success: success, failure: success}, postData); 392 393 394 };//end ajaxCall method 395 ajaxCall(); 396 return; 397 } 398 399 function confirm_drop_tables(yes_no){ 400 401 if(yes_no == true){ 402 document.getElementById('setup_db_drop_tables').value = true; 403 //make navigation 404 document.setConfig.goto.value="{$mod_strings['LBL_NEXT']}"; 405 document.getElementById('hidden_goto').value="{$mod_strings['LBL_NEXT']}"; 406 document.setConfig.current_step.value="{$next_step}"; 407 document.setConfig.submit(); 408 }else{ 409 //set drop tables to false 410 document.getElementById('setup_db_drop_tables').value = false; 411 msgPanel.hide(); 412 } 413 } 414 415 </script> 416 417 418 419 <div id="checkingDiv" style="display:none"> 420 <table cellspacing="0" cellpadding="0" border="0"> 421 <tr><td> 422 <p><img src='install/processing.gif'> <br>{$mod_strings['LBL_LICENSE_CHKDB_HEADER']}</p> 423 </td></tr> 424 </table> 425 </div> 426 427 <div id='sysCheckMsg' style="display:none"> 428 <table cellspacing="0" cellpadding="0" border="0" > 429 <tr><td> 430 <p>{$mod_strings['LBL_DROP_DB_CONFIRM']}</p> 431 </td></tr> 432 <tr><td align='center'> 433 <input id='accept_btn' type='button' class='button' onclick='confirm_drop_tables(true)' value="{$mod_strings['LBL_ACCEPT']}"> 434 <input type='button' class='button' onclick='confirm_drop_tables(false)' value="{$mod_strings['LBL_CANCEL']}"> 435 </td></tr> 436 </table> 437 438 <div> 439 440 </body> 441 </html> 442 443 444 445 446 EOQ5; 447 448 449 450 451 //// END PAGE OUTPUT 452 /////////////////////////////////////////////////////////////////////////////// 453 454 455 456 echo $out.$out2; 457 458 459 460 echo $out3; 461 462 463 464 echo $out4; 465 466 467 468 echo $out_dd; 469 470 471 472 echo $out5; 473 474 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
|
|
|
|