PhpWebGallery 1.2
"; return $output; } function footer_install() { $output = "
"; return $output; } if ( isset( $HTTP_GET_VARS['language'] ) ) { $isadmin = true; $lang = array(); include( "../language/".$HTTP_GET_VARS['language'].".php" ); } /*---------------------------------------Step 1------------------------------------*/ if ( $HTTP_GET_VARS['step'] == 1 ) { $erreur1 = true; $message = ""; // création du fichier de configuration de connexion à la BD mysql if( isset( $HTTP_POST_VARS['cfgBase'] ) && isset( $HTTP_POST_VARS['cfgUser'] ) && isset( $HTTP_POST_VARS['cfgPassword'] ) && isset( $HTTP_POST_VARS['cfgHote'] ) ) { if ( @mysql_connect( $HTTP_POST_VARS['cfgHote'], $HTTP_POST_VARS['cfgUser'], $HTTP_POST_VARS['cfgPassword'] ) ) { if ( @mysql_select_db($HTTP_POST_VARS['cfgBase'] ) ) { $message.= "
".$lang['step1_confirmation']."
"; $erreur1 = false; } else { $message.= "
".$lang['step1_err_db']."
"; } } else { $message.= "
".$lang['step1_err_server']."
"; } if ( !$erreur1 ) { // écriture du fichier de configuration if ( $fp = @fopen("../include/mysql.inc.php","a+") ) { fwrite( $fp, "" ); fclose( $fp ); } $cfgHote = ""; $cfgUser = ""; $cfgPassword = ""; $cfgBase = ""; include ( "../include/mysql.inc.php" ); $erreur2 = true; if ( @mysql_connect( $cfgHote, $cfgUser, $cfgPassword ) ) { if ( @mysql_select_db ( $cfgBase ) ) { $erreur2 = false; } } if ( $erreur2 ) { $message.="

".$lang['step1_err_copy']." :
-----------------------------------------------------
<?php
\$cfgBase = '".$HTTP_POST_VARS['cfgBase']."';
\$cfgUser = '".$HTTP_POST_VARS['cfgUser']."';
\$cfgPassword = '".$HTTP_POST_VARS['cfgPassword']."';
\$cfgHote = '".$HTTP_POST_VARS['cfgHote']."';
\$prefixeTable = '".$HTTP_POST_VARS['prefixe']."';
?>
-----------------------------------------------------
"; $message.= "
".$lang['step1_err_copy_2']."
"; $message.= "".$lang['step1_err_copy_next']."
"; } else { $url = "install.php?step=2&language=".$HTTP_GET_VARS['language']; header("Request-URI: $url"); header("Content-Location: $url"); header("Location: $url"); exit(); } } } echo header_install(); if ( isset( $message ) && $message != "" ) { echo"
".$lang['install_message']."
$message
"; } if ( $erreur1 ) { echo"
".$lang['step1_title']."
 
".$lang['step1_host']." ".$lang['step1_host_info']."
".$lang['step1_user']." ".$lang['step1_user_info']."
".$lang['step1_pass']." ".$lang['step1_pass_info']."
".$lang['step1_database']." ".$lang['step1_database_info']."
".$lang['step1_prefix']." ".$lang['step1_prefix_info']."
 
"; } echo footer_install(); } /*---------------------------------------Step 2------------------------------------*/ else if ( $HTTP_GET_VARS['step'] == 2 ) { include( "../include/mysql.inc.php" ); mysql_connect( $cfgHote, $cfgUser, $cfgPassword ) or die ( "erreur de connexion au serveur" ); mysql_select_db( $cfgBase ) or die ( "erreur de connexion a la base de donnees" ); if ( !isset( $HTTP_POST_VARS['submit'] ) ) { $query = "CREATE TABLE ".$prefixeTable."categories ( id tinyint(3) unsigned NOT NULL auto_increment, date_dernier date NOT NULL default '0000-00-00', nb_images smallint(5) unsigned NOT NULL default '0', name varchar(255) default NULL, id_uppercat tinyint(3) unsigned default NULL, comment text, dir varchar(255) NOT NULL default '', rank tinyint(3) unsigned default NULL, status enum('visible','invisible') NOT NULL default 'visible', site_id tinyint(4) unsigned NOT NULL default '1', PRIMARY KEY (id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."comments ( id int(11) unsigned NOT NULL auto_increment, image_id smallint(5) unsigned NOT NULL default '0', date int(11) unsigned NOT NULL default '0', author varchar(255) NOT NULL default '', content longtext, PRIMARY KEY (id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."config ( periode_courte smallint(5) unsigned NOT NULL default '7', periode_longue smallint(5) unsigned NOT NULL default '14', prefixe_thumbnail varchar(10) NOT NULL default 'TN-', webmaster varchar(255) NOT NULL default '', mail_webmaster varchar(255) NOT NULL default '', acces enum('libre','restreint') NOT NULL default 'libre', session_id_size tinyint(3) unsigned NOT NULL default '4', session_keyword varchar(255) NOT NULL default '', session_time tinyint(3) unsigned NOT NULL default '30', max_user_listbox tinyint(3) unsigned NOT NULL default '10', expand enum('true','false') NOT NULL default 'false', show_comments enum('true','false') NOT NULL default 'true', nb_comment_page tinyint(4) NOT NULL default '10', upload_available enum('true','false') NOT NULL default 'false', upload_maxfilesize smallint(5) unsigned NOT NULL default '150', upload_maxwidth smallint(5) unsigned NOT NULL default '800', upload_maxheight smallint(5) unsigned NOT NULL default '600', upload_maxwidth_thumbnail smallint(5) unsigned NOT NULL default '150', upload_maxheight_thumbnail smallint(5) unsigned NOT NULL default '100' );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."favorites ( user_id smallint(5) unsigned NOT NULL default '0', image_id smallint(5) unsigned NOT NULL default '0', KEY user_id (user_id,image_id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."history ( date int(11) NOT NULL default '0', login varchar(15) default NULL, IP varchar(50) NOT NULL default '', categorie varchar(150) default NULL, page varchar(50) default NULL, titre varchar(150) default NULL, commentaire varchar(200) default NULL );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."images ( id smallint(5) unsigned NOT NULL auto_increment, file varchar(255) NOT NULL default '', cat_id tinyint(3) unsigned NOT NULL default '0', date_available date NOT NULL default '0000-00-00', date_creation date default NULL, tn_ext char(3) NOT NULL default 'jpg', name varchar(255) default NULL, comment varchar(255) default NULL, author varchar(255) default NULL, hit int(10) unsigned NOT NULL default '0', filesize mediumint(9) unsigned default NULL, width smallint(9) unsigned default NULL, height smallint(9) unsigned default NULL, PRIMARY KEY (id), KEY cat_id (cat_id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."restrictions ( user_id smallint(5) unsigned NOT NULL default '0', cat_id tinyint(3) unsigned NOT NULL default '0', PRIMARY KEY (user_id,cat_id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."sessions ( id varchar(255) binary NOT NULL default '', user_id smallint(5) unsigned NOT NULL default '0', expiration int(10) unsigned NOT NULL default '0', ip varchar(255) NOT NULL default '', PRIMARY KEY (id) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."sites ( id tinyint(4) NOT NULL auto_increment, galleries_url varchar(255) NOT NULL default '', PRIMARY KEY (id), UNIQUE KEY galleries_url (galleries_url) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."users ( id smallint(5) unsigned NOT NULL auto_increment, pseudo varchar(20) binary NOT NULL default '', password varchar(255) NOT NULL default '', mail_address varchar(255) default NULL, nombre_image_ligne tinyint(1) unsigned NOT NULL default '5', nombre_ligne_page tinyint(3) unsigned NOT NULL default '3', theme varchar(255) NOT NULL default 'melodie/blue', status enum('admin','membre','visiteur') NOT NULL default 'visiteur', language varchar(50) NOT NULL default 'english', maxwidth smallint(6) default NULL, maxheight smallint(6) default NULL, PRIMARY KEY (id), UNIQUE KEY pseudo (pseudo) );"; mysql_query( $query ); $query = "CREATE TABLE ".$prefixeTable."waiting ( id int(10) unsigned NOT NULL auto_increment, cat_id tinyint(3) unsigned NOT NULL default '0', file varchar(255) NOT NULL default '', username varchar(255) NOT NULL default '', mail_address varchar(255) NOT NULL default '', date int(10) unsigned NOT NULL default '0', tn_ext char(3) default NULL, PRIMARY KEY (id) );"; mysql_query( $query ); } if ( isset( $HTTP_POST_VARS['submit'] ) ) { $configuration = false; $erreur = ""; $nb_erreur = 0; // le pseudo du webmaster ne doit pas // 1. être vide // 2. commencer ou se terminer par un espace // 3. comporter les caractères ' ou " // Notes sur le pseudo du webmaster : // - lorsque l'on trouve plusieurs occurences // consécutives du caractère espace, on réduit à une seule occurence if ( $HTTP_POST_VARS['webmaster'] == "" ) { $erreur .= "
  • ".$lang['step2_err_login1']."
  • "; $nb_erreur++; } $webmaster = ereg_replace( "[ ]{2,}", " ", $HTTP_POST_VARS['webmaster'] ); if ( ereg( "^.* $", $webmaster ) || ereg( "^ .*$", $webmaster) ) { $erreur .= "
  • ".$lang['step2_err_login2']."
  • "; $nb_erreur++; } if ( ereg( "'",$webmaster ) || ereg( "\"",$webmaster ) ) { $erreur .= "
  • ".$lang['step2_err_login3']."
  • "; $nb_erreur++; } // on vérifie que le password rentré correspond bien à la confirmation faite par l'utilisateur if ( $HTTP_POST_VARS['pwdWebmaster'] != $HTTP_POST_VARS['pwdWebmasterConf'] ) { $erreur .= "
  • ".$lang['step2_err_pass']."
  • "; $nb_erreur++; } // le mail doit être conforme à qqch du type : nom@serveur.com if( !ereg("([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", $HTTP_POST_VARS['mail_webmaster'] ) ) { $erreur .= "
  • ".$lang['step2_err_mail']."
  • "; $nb_erreur++; } // on met à jour les paramètres de l'application dans le cas où il n'y aucune erreur if ( $nb_erreur == 0 ) { mysql_query( "delete from $prefixeTable"."config" ); $query = "insert into $prefixeTable"."config (webmaster,mail_webmaster) values ('$webmaster','".$HTTP_POST_VARS['mail_webmaster']."')"; mysql_query($query); $query = "insert into $prefixeTable"."sites values (1, './galleries/');"; mysql_query($query); $query = "insert into $prefixeTable"."users (pseudo,password,status,language) values ('$webmaster','".md5( $pwdWebmaster )."','admin','".$HTTP_GET_VARS['language']."')"; mysql_query($query); mysql_query("insert into $prefixeTable"."users (pseudo,password,status,language) values ('visiteur','".md5( "" )."','visiteur','".$HTTP_GET_VARS['language']."')"); $configuration = true; } } echo header_install(); if ( $configuration ) { echo"
    ".$lang['install_end_title']."
     
    ".$lang['install_end_message']."
    "; } else { if ( $nb_erreur > 0 ) { echo"
    ".$lang['install_message']."
     
    $erreur
     
    "; } echo"
    ".$lang['step2_title']."
     
    ".$lang['conf_general_webmaster']." ".$lang['conf_general_webmaster_info']."
    ".$lang['step2_pwd']." ".$lang['step2_pwd_info']."
    ".$lang['step2_pwd_conf']." ".$lang['step2_pwd_conf_info']."
    ".$lang['conf_general_mail']." ".$lang['conf_general_mail_info']."
     
    "; } echo footer_install(); } /*----------------------------------Language choice------------------------------------*/ else { include( "../include/functions.php" ); echo header_install(); echo"
    "; echo footer_install(); } ?>