iTx Technologies offre gratuitement
cet espace pour SugarCRM !

title

Body

[fermer]

/install/ -> dbConfig_a.php (source)

   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 .= '&nbsp;\&nbsp;<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">&nbsp;{$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>&nbsp;
 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>&nbsp;";
 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%'>&nbsp;</td><td width='60%'><div id='sugarDBUser'><b>{$mod_strings['LBL_DBCONF_SUGAR_DB_USER']}</b></div>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;";
 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%'>&nbsp;</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  ?>


Generé en: Thu Mar 4 09:44:50 2010 | Cross-referenced par PHPXref 0.7