[ Index ]

PHP Cross Reference of phpwcms V1.4.3 _r380 (23.11.09)

title

Body

[close]

/setup/inc/ -> setup.check.inc.php (source)

   1  <?php
   2  
   3  if(!empty($step)) {
   4  
   5      if ($step == 1 && $do) {
   6      
   7          if(!empty($_POST['user_account'])) {
   8              
   9              // fine continue with step 2        
  10              session_write_close();
  11              if(!empty($_SERVER['HTTP_HOST']) && !empty($_SERVER['REQUEST_URI'])) {
  12                  header('Location: http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI']).'/setup.php?step=2');
  13              } else {
  14                  header("Location: setup.php?step=2");
  15              }
  16              exit();
  17          }
  18          
  19          
  20          //superuser settings
  21          if(isset($_POST['admin_name'])) {
  22          
  23              $phpwcms['admin_name']        = empty($_POST['admin_name']) ? $phpwcms['admin_name'] : slweg($_POST['admin_name']);
  24              $phpwcms['admin_user']        = empty($_POST['admin_user']) ? $phpwcms['admin_user'] : slweg($_POST['admin_user']);
  25              
  26              if($_POST["admin_pass"] !== $_POST["admin_passrepeat"] || empty($phpwcms["admin_pass"])) {
  27                  $admin_err_pass            = 1;
  28              } elseif(!empty($_POST["admin_pass"])) {
  29                  $phpwcms["admin_pass"]    = md5(slweg($_POST["admin_pass"]));
  30              }            
  31              
  32              $phpwcms["admin_email"]        = clean_slweg($_POST["admin_email"]);
  33          
  34              if(empty($admin_err_pass) && empty($_SESSION['admin_save'])) {
  35                  write_conf_file($phpwcms);
  36                  $_SESSION['admin_save']    = 1;
  37              }
  38          
  39          }
  40          
  41          // main settings
  42          
  43          $phpwcms["db_host"]           = slweg($_POST["db_host"]);
  44          $phpwcms["db_user"]           = slweg($_POST["db_user"]);
  45          $phpwcms["db_pass"]           = slweg($_POST["db_pass"]);
  46          $phpwcms["db_table"]          = slweg($_POST["db_table"]);
  47          $phpwcms["db_prepend"]        = slweg($_POST["db_prepend"]);
  48          $phpwcms["db_pers"]           = empty($_POST["db_pers"]) ? 0 : 1;        
  49      
  50          if(isset($_POST["charset"])) {
  51          
  52              $_POST["charset"]            = clean_slweg($_POST["charset"]);
  53              
  54              $phpwcms["charset"]            = explode('-', $available_languages[ $_POST["charset"] ][1], 2);
  55              $phpwcms["charset"]            = $phpwcms["charset"][1];
  56              $phpwcms['db_charset']      = $mysql_charset_map[$phpwcms["charset"]];
  57              $phpwcms['default_lang']    = substr($_POST["charset"], 0, 2);
  58              $phpwcms['db_collation']     = $phpwcms['db_charset'].'_bin';
  59              
  60              if(isset($_POST['collation'])) {
  61              
  62                  $_POST['collation']            = clean_slweg($_POST['collation']);
  63                  $phpwcms['db_collation']     = $_POST['collation'];
  64                  
  65                  // if collation is not part of the db charset set to "_bin" default
  66                  if(strpos($phpwcms['db_collation'], $phpwcms['db_charset'].'_') !== 0) {
  67                      $phpwcms['db_collation']     = $phpwcms['db_charset'].'_bin';
  68                  }
  69                  
  70                  // check if there is a difference!! and warn again
  71                  if($phpwcms['db_collation'] != $_POST['collation']) {
  72                      $_collation_warning = true;
  73                      $_SESSION['admin_save'] = 0;
  74                  } else {
  75                      $_collation_warning = false;
  76                      $db_sql = empty($_POST["db_sql"]) ? 0 : 1;    
  77  
  78                  }
  79                  
  80              } else {
  81              
  82                  $_collation_warning = false;
  83                  $db_sql = empty($_POST["db_sql"]) ? 0 : 1;
  84              
  85              }
  86          
  87          }
  88          write_conf_file($phpwcms);
  89          $err = 0;
  90          
  91          $prepend = $phpwcms["db_prepend"];
  92          
  93          
  94          if(isset($_POST["dbsavesubmit"])) {
  95          
  96              // make db connect
  97              if($phpwcms["db_pers"] == 1) {
  98                  $db = @mysql_pconnect($phpwcms["db_host"], $phpwcms["db_user"], $phpwcms["db_pass"]);
  99              } else {
 100                  $db = @mysql_connect($phpwcms["db_host"], $phpwcms["db_user"], $phpwcms["db_pass"]);
 101              }
 102              
 103              if(@mysql_select_db($phpwcms["db_table"], $db)) {;
 104      
 105                  if($result = mysql_query("SELECT VERSION()", $db)) {
 106                      
 107                      if($row = mysql_fetch_row($result))    {
 108                          $phpwcms["db_version"]        = explode('.', $row[0]);
 109                          $phpwcms["db_version"][0]    = intval($phpwcms["db_version"][0]);
 110                          $phpwcms["db_version"][1]    = empty($phpwcms["db_version"][1]) ? '00' : intval($phpwcms["db_version"][1]);
 111                          $phpwcms["db_version"][2]    =  empty($phpwcms["db_version"][2]) ? '00' : intval($phpwcms["db_version"][2]);
 112                          $phpwcms["db_version"]        = (int)sprintf('%d%02d%02d', $phpwcms["db_version"][0], $phpwcms["db_version"][1], $phpwcms["db_version"][2]);
 113                          
 114                          write_conf_file($phpwcms);
 115                          
 116                      }
 117                      mysql_free_result($result);
 118                      
 119                      if($result = @mysql_query('SELECT * FROM '. ($phpwcms["db_prepend"] ? $phpwcms["db_prepend"].'_' : '').'phpwcms_user', $db)) {
 120                      
 121                          $_db_prepend_error = true;
 122                          mysql_free_result($result);
 123                      
 124                      }
 125                  
 126                  } else {
 127                  
 128                      $err = 1;
 129                      $_SESSION['admin_save'] = 0;
 130                  
 131                  }
 132                  
 133              
 134              } else {
 135              
 136                  $err = 1;
 137                  $_SESSION['admin_save'] = 0;
 138              
 139              }
 140              
 141              
 142              // enable additional db settings like collation and charset
 143              if(empty($err)) {
 144                  
 145                  
 146                  $db_additional = true;
 147                  
 148                  if(isset($_collation_warning) && $_collation_warning === false) {
 149                      
 150                      $db_init = true;
 151                      
 152                      if(isset($_POST['db_sql_hidden'])) {
 153                      
 154                          if(empty($db_sql)) {
 155                          
 156                              
 157                              $_SESSION['admin_set']    = true;
 158                              $db_no_create            = true;
 159                              
 160                          } else {
 161                      
 162                              // now read and display sql queries
 163                              
 164                              $_db_prepend = ($phpwcms["db_prepend"] ? $phpwcms["db_prepend"].'_' : '');
 165                  
 166                              $sql_data = 'default_sql/'.(($phpwcms['db_version'] > 40100) ? 'phpwcms_init_410.sql' : 'phpwcms_init_323.sql');
 167                              $sql_data = read_textfile($sql_data);
 168                              $sql_data = $sql_data . read_textfile('default_sql/phpwcms_inserts.sql');
 169                              $sql_data = preg_replace("/(#|--).*.\n/", '', $sql_data );
 170                              $sql_data = preg_replace('/ `phpwcms/', ' `'.$_db_prepend.'phpwcms', $sql_data );
 171                              $sql_data = str_replace("\r", '', $sql_data);
 172                              $sql_data = str_replace("\n\n", "\n", $sql_data);
 173                              $sql_data = trim($sql_data);
 174                              
 175                              // if True create initial database
 176                              if(isset($_POST['db_create'])) {
 177                              
 178                                  $db_create_err = array();
 179                                  
 180                                  if($phpwcms['db_version'] > 40100) {
 181                                      $value = "SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'";
 182                                      @mysql_query($value, $db);
 183                                      $value = "SET NAMES '".$phpwcms['db_charset']."'".(empty($phpwcms['db_collation']) ? '' : " COLLATE '".$phpwcms['db_collation']."'");
 184                                      @mysql_query($value, $db);
 185                                  }                            
 186                                  
 187                                  $db_create_sql = explode(';', $sql_data);
 188                                  foreach($db_create_sql as $key => $value) {
 189                                  
 190                                      $value = trim($value);
 191                                      
 192                                      if(empty($value)) {
 193                                          unset($db_create_sql[$key]);
 194                                          continue;
 195                                      }
 196                                      
 197                                      if($phpwcms['db_version'] > 40100 && strpos(strtoupper($value), 'INSERT') !== 0) {
 198                                          $value .= ' DEFAULT';
 199                                          $value .= ' CHARACTER SET '.$phpwcms['db_charset'];
 200                                          $value .= ' COLLATE '.$phpwcms['db_collation'];
 201                                      } elseif($phpwcms['db_version'] > 40100 && $phpwcms['db_charset']=='utf8') {
 202                                          $value = utf8_encode($value);
 203                                      }
 204  
 205                                      // send sql query
 206                                      if(!mysql_query($value, $db)) {
 207                                          $db_create_err[] = $value;
 208                                          unset($db_create_sql[$key]);
 209                                      }
 210                                  }
 211                                  
 212                              }
 213                          }
 214                      }
 215                  }
 216              }
 217          }
 218      }
 219      
 220      if ($step == 2 && $do) {
 221          
 222          $phpwcms["site"]           = clean_slweg($_POST["site"]);
 223          
 224          $phpwcms['SMTP_FROM_EMAIL']   = clean_slweg($_POST["smtp_from_email"]);
 225          if(!$phpwcms['SMTP_FROM_EMAIL']) $phpwcms['SMTP_FROM_EMAIL'] = $phpwcms["admin_email"];
 226          $phpwcms['SMTP_FROM_NAME']    = clean_slweg($_POST["smtp_from_name"]);
 227          if(!$phpwcms['SMTP_FROM_NAME']) $phpwcms['SMTP_FROM_NAME'] = 'webmaster';
 228          $phpwcms['SMTP_HOST']         = clean_slweg($_POST["smtp_host"]);
 229          if(!$phpwcms['SMTP_HOST']) $phpwcms['SMTP_HOST'] = 'localhost';
 230          $phpwcms['SMTP_PORT']         = intval($_POST["smtp_port"]);
 231          if(!$phpwcms['SMTP_PORT']) $phpwcms['SMTP_PORT'] = 25;
 232          $phpwcms['SMTP_MAILER']       = clean_slweg($_POST["smtp_mailer"]);
 233          if(!$phpwcms['SMTP_MAILER']) $phpwcms['SMTP_MAILER'] = 'mail';
 234          $phpwcms['SMTP_AUTH']         = empty($_POST["smtp_auth"]) ? 0 : 1;
 235          $phpwcms['SMTP_USER']         = slweg($_POST["smtp_user"]);
 236          $phpwcms['SMTP_PASS']         = slweg($_POST["smtp_pass"]);
 237          
 238          write_conf_file($phpwcms);
 239          
 240          if(!empty($_POST["admin_create"])) {
 241              $db = mysql_connect($phpwcms["db_host"],$phpwcms["db_user"],$phpwcms["db_pass"]);
 242              mysql_select_db($phpwcms["db_table"],$db);
 243              mysql_query("SET NAMES '".$phpwcms["charset"]."'", $db);
 244              $phpwcms["db_prepend"] = ($phpwcms["db_prepend"]) ? $phpwcms["db_prepend"]."_" : "";
 245              $sql =    "INSERT INTO ".$phpwcms["db_prepend"]."phpwcms_user (usr_login, usr_pass, usr_email, ".
 246                      "usr_admin, usr_aktiv, usr_name, usr_fe, usr_wysiwyg ) VALUES ('".
 247                      aporeplace($phpwcms["admin_user"])."', '".
 248                      aporeplace(md5($phpwcms["admin_pass"]))."', '".
 249                      aporeplace($phpwcms["admin_email"])."', 1, 1, '".aporeplace($phpwcms['SMTP_FROM_NAME'])."', 2, 2);";
 250              mysql_query($sql,$db) or $err = 1;
 251          }
 252          
 253          if(!$err) {
 254              header("Location: setup.php?step=3");
 255              exit();
 256          }
 257      }
 258      
 259      if ($step == 3 && $do) {
 260          
 261          $phpwcms['DOC_ROOT']       = clean_slweg($_POST["doc_root"]);
 262          $phpwcms["root"]           = clean_slweg($_POST["root"]);
 263          $phpwcms["file_path"]      = clean_slweg($_POST["file_path"]);
 264          $phpwcms["templates"]      = clean_slweg($_POST["templates"]);
 265          $phpwcms["ftp_path"]       = clean_slweg($_POST["ftp_path"]);
 266          
 267          $phpwcms["file_path"]      = ($phpwcms["file_path"]) ? $phpwcms["file_path"] : "phpwcms_filestorage";
 268          $phpwcms["templates"]      = ($phpwcms["templates"]) ? $phpwcms["templates"] : "phpwcms_template";
 269          $phpwcms["content_path"]   = ($phpwcms["content_path"]) ? $phpwcms["content_path"] : "content";
 270          $phpwcms["cimage_path"]    = ($phpwcms["cimage_path"]) ? $phpwcms["cimage_path"] : "images";
 271          $phpwcms["ftp_path"]       = ($phpwcms["ftp_path"]) ? $phpwcms["ftp_path"] : "phpwcms_ftp";
 272              
 273          write_conf_file($phpwcms);
 274          header("Location: setup.php?step=4");
 275          exit();
 276      }
 277      
 278      if ($step == 4 && $do) {
 279          $phpwcms["file_maxsize"]     = intval($_POST["file_maxsize"]);
 280          $phpwcms["content_width"]    = intval($_POST["content_width"]);
 281          $phpwcms["img_list_width"]   = intval($_POST["img_list_width"]);
 282          $phpwcms["img_list_height"]  = intval($_POST["img_list_height"]);
 283          $phpwcms["img_prev_width"]   = intval($_POST["img_prev_width"]);
 284          $phpwcms["img_prev_height"]  = intval($_POST["img_prev_height"]);
 285          $phpwcms["max_time"]         = intval($_POST["max_time"]);
 286          $phpwcms["compress_page"]    = empty($_POST["compress_page"]) ? 0 : 1;
 287          //$phpwcms["charset"]          = clean_slweg($_POST["charset"]);
 288          
 289          $phpwcms["file_maxsize"]     = ($phpwcms["file_maxsize"]) ? $phpwcms["file_maxsize"] : 2097152;
 290          $phpwcms["content_width"]    = ($phpwcms["content_width"]) ? $phpwcms["content_width"] : 538;
 291          $phpwcms["img_list_width"]   = ($phpwcms["img_list_width"]) ? $phpwcms["img_list_width"] : 100;
 292          $phpwcms["img_list_height"]  = ($phpwcms["img_list_height"]) ? $phpwcms["img_list_height"] : 75;
 293          $phpwcms["img_prev_width"]   = ($phpwcms["img_prev_width"]) ? $phpwcms["img_prev_width"] : 538;
 294          $phpwcms["img_prev_height"]  = ($phpwcms["img_prev_height"]) ? $phpwcms["img_prev_height"] : 400;
 295          $phpwcms["max_time"]         = ($phpwcms["max_time"]) ? $phpwcms["max_time"] : 1800;
 296          $phpwcms["compress_page"]    = ($phpwcms["compress_page"]) ? $phpwcms["compress_page"] : 0;
 297              
 298          write_conf_file($phpwcms);
 299          header("Location: setup.php?step=5");
 300          exit();
 301      }
 302  
 303  
 304  }
 305  
 306  ?>


Generated: Wed Dec 30 05:55:15 2009 Cross-referenced by PHPXref 0.7