Changeset 2127 for trunk/install.php
- Timestamp:
- Oct 9, 2007, 3:43:29 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/install.php
r2124 r2127 28 28 define('PHPWG_ROOT_PATH','./'); 29 29 30 // Guess an initial language ...31 function guess_lang()32 {33 return 'en_UK.iso-8859-1';34 }35 36 30 // 37 31 // Pick a language, any language ... … … 39 33 function language_select($default, $select_name = "language") 40 34 { 41 $available_lang = get_languages( );35 $available_lang = get_languages('utf-8'); 42 36 43 37 $lang_select = '<select name="' . $select_name . '" onchange="document.location = \''.PHPWG_ROOT_PATH.'install.php?language=\'+this.options[this.selectedIndex].value;">'; … … 85 79 if (!preg_match('/^DROP TABLE/i', $query)) 86 80 { 81 global $install_charset_collate; 82 if ( !empty($install_charset_collate) ) 83 { 84 if ( preg_match('/^(CREATE TABLE .*)[\s]*;[\s]*/im', $query, $matches) ) 85 { 86 $query = $matches[1].' '.$install_charset_collate.';'; 87 } 88 } 87 89 mysql_query($query); 88 90 } … … 211 213 create_empty_local_files(); 212 214 213 if ( isset( $_POST['language'] )) 214 { 215 $language = strip_tags($_POST['language']); 216 } 217 elseif ( isset( $_GET['language'] )) 218 { 219 $language = strip_tags($_GET['language']); 220 } 221 else 222 { 223 $language = guess_lang(); 224 } 225 226 if (!file_exists(PHPWG_ROOT_PATH.'language/'.$language.'/install.lang.php')) 227 { 228 $language = 'en_UK.iso-8859-1'; 229 } 230 231 include( './language/'.$language.'/common.lang.php' ); 232 // Never: @include( './language/'.$language.'/local.lang.php' ); 233 include( './language/'.$language.'/admin.lang.php' ); 234 include( './language/'.$language.'/install.lang.php' ); 215 if ( isset( $_REQUEST['language'] )) 216 { 217 $language = strip_tags($_REQUEST['language']); 218 } 219 else 220 { 221 $language = 'en_UK'; 222 } 223 224 load_language( 'common.lang', '', $language, false, 'utf-8' ); 225 load_language( 'admin.lang', '', $language, false, 'utf-8' ); 226 load_language( 'install.lang', '', $language, false, 'utf-8' ); 227 235 228 //----------------------------------------------------- template initialization 236 $template= setup_style('yoga');229 $template=new Template(PHPWG_ROOT_PATH.'template/yoga'); 237 230 $template->set_filenames( array('install'=>'install.tpl') ); 238 231 $step = 1; … … 252 245 array_push( $errors, $lang['step1_err_db'] ); 253 246 } 247 if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) 248 { 249 $pwg_charset='utf-8'; 250 $pwg_db_charset='utf8'; 251 $install_charset_collate = "DEFAULT CHARACTER SET $pwg_db_charset"; 252 } 253 else 254 { 255 $pwg_charset='iso-8859-1'; 256 $pwg_db_charset='latin1'; 257 $install_charset_collate = ''; 258 if ( !array_key_exists($language, get_languages($pwg_charset) ) ) 259 { 260 $language='en_UK'; 261 } 262 } 254 263 } 255 264 else … … 257 266 array_push( $errors, $lang['step1_err_server'] ); 258 267 } 259 268 260 269 $webmaster = trim(preg_replace( '/\s{2,}/', ' ', $admin_name )); 261 270 if ( empty($webmaster)) … … 267 276 if ( empty($admin_mail)) 268 277 array_push( $errors, $lang['reg_err_mail_address'] ); 269 else 278 else 270 279 { 271 280 $error_mail_address = validate_mail_address(null, $admin_mail); … … 273 282 array_push( $errors, $error_mail_address ); 274 283 } 275 284 276 285 if ( count( $errors ) == 0 ) 277 286 { … … 286 295 287 296 define(\'PHPWG_INSTALLED\', true); 297 define(\'PWG_CHARSET\', \''.$pwg_charset.'\'); 298 define(\'DB_CHARSET\', \''.$pwg_db_charset.'\'); 299 define(\'DB_COLLATE\', \'\'); 300 288 301 ?'.'>'; 289 302 290 303 @umask(0111); 291 304 // writing the configuration file … … 303 316 @fputs($fp, $file_content, strlen($file_content)); 304 317 @fclose($fp); 305 318 306 319 // tables creation, based on phpwebgallery_structure.sql 307 320 execute_sqlfile( … … 325 338 ); 326 339 mass_inserts(SITES_TABLE, array_keys($insert), array($insert)); 327 340 328 341 // webmaster admin user 329 342 $inserts = array( … … 371 384 array( 372 385 'RELEASE'=>PHPWG_VERSION, 373 386 374 387 'L_BASE_TITLE'=>$lang['Initial_config'], 375 388 'L_LANG_TITLE'=>$lang['Default_lang'], … … 399 412 'L_END_TITLE'=>$lang['install_end_title'], 400 413 'L_END_MESSAGE'=>$lang['install_end_message'], 401 414 402 415 'F_ACTION'=>'install.php', 403 416 'F_DB_HOST'=>$dbhost, … … 412 425 'F_ADMIN_EMAIL'=>$admin_mail, 413 426 'F_LANG_SELECT'=>language_select($language), 414 415 'T_CONTENT_ENCODING' => $lang_info['charset']427 428 'T_CONTENT_ENCODING' => 'utf-8' 416 429 )); 417 430
Note: See TracChangeset
for help on using the changeset viewer.