Readme
Dieses Script soll die nötigen Datanbankändernungen für das Update machen
(ab diesem Recht keine Eingabe mehr erforderlich)', '-2')";
}
//Update 1.1g
$old = array();
$qry = db_query('SHOW FULL COLUMNS FROM `prefix_usercheck`');
while ($r = db_fetch_assoc($qry)){
$old[] = $r['Field'];
}
if (!in_array('groupid', $old)) {
$sql_statements[] = '-- UPDATE 1.1G';
$sql_statements[] = 'ALTER TABLE `prefix_usercheck` ADD `groupid` TINYINT NOT NULL';
$sql_statements[] = "INSERT INTO `prefix_config` ( `schl` , `typ` , `kat` , `frage` , `wert` ) VALUES ('joinus_rules', 'r2', 'Team Optionen', 'Regeln bei Joinus vollständig anzeigen?', '0')";
$sql_statements[] = "UPDATE `prefix_config` SET `frage` = 'Standard Absender bei eMails' WHERE `schl` = 'allg_default_subject' LIMIT 1";
$sql_statements[] = "INSERT INTO `prefix_config` ( `schl` , `typ` , `kat` , `frage` , `wert` ) VALUES ('groups_forall', 'r2', 'Team Optionen', 'Modulrecht Gruppen auf eigene Gruppe beschränken?', '1')";
}
//Update 1.1i
$old = array();
$qry = db_query('SHOW FULL COLUMNS FROM `prefix_config`');
while ($r = db_fetch_assoc($qry)){
$old[] = $r['Field'];
}
if (!in_array('pos', $old)) {
$sql_statements[] = '-- UPDATE 1.1I';
$sql_statements[] = "ALTER TABLE `prefix_config` ADD `pos` SMALLINT(6) NOT NULL default '0'";
$sql_statements[] = "INSERT INTO `prefix_config` (`schl`, `typ`, `kat`, `frage`, `wert`, `pos`) VALUES('mail_smtp', 'r2', 'Allgemeine Optionen', 'SMTP für den Mailversand verwenden? weitere Einstellungen', '0', 0)";
}
//Update 1.1n
if (db_count_query("SELECT COUNT(*) FROM `prefix_allg` WHERE k = 'smtpconf'") == 0) {
$smtp = array('smtp_host' => '', 'smtp_port' => '', 'smtp_auth' => 'auth', 'smtp_pop3beforesmtp' => '', 'smtp_pop3host' => '',
'smtp_pop3port' => '', 'smtp_login' => '', 'smtp_email' => '', 'smtp_login' => '', 'smtp_pass' => '', 'smtp_changesubject' => '1');
$qry = db_query('SELECT * FROM `prefix_config` WHERE `schl` LIKE "mail_%"');
while ($r = db_fetch_assoc($qry)){
switch($r['schl']){
case 'mail_smtp_login': $smtp['smtp_login'] = $r['wert']; break;
case 'mail_smtp_password': $smtp['smtp_pass'] = $r['wert']; break;
case 'mail_smtp_host': $smtp['smtp_host'] = $r['wert']; break;
case 'mail_smtp_email': $smtp['smtp_email'] = $r['wert']; break;
}
}
$smtpser = mysql_real_escape_string(serialize($smtp));
$sql_statements[] = '-- UPDATE 1.1N';
$sql_statements[] = 'INSERT INTO `prefix_allg` ( `k` , `v1`, `v2`, `v3`, `v4`, `t1`) VALUES ( "smtpconf", "", "", "", "", "' . $smtpser . '" )';
$sql_statements[] = 'DELETE FROM `prefix_config` WHERE `schl` IN ("mail_smtp_login", "mail_smtp_password", "mail_smtp_host", "mail_smtp_email")';
$sql_statements[] = 'UPDATE `prefix_config` SET `kat` = "Allgemeine Optionen", `frage` = "SMTP für den Mailversand verwenden? weitere Einstellungen" WHERE `schl` = "mail_smtp"';
}
//Update 1.1p
$passType = '';
$qry = db_query('SHOW COLUMNS FROM `prefix_user` LIKE "pass"');
if ($row = db_fetch_assoc($qry)) {
$passType = trim(strtolower($row['Type']));
}
if ($passType === 'varchar(32)') {
$sql_statements[] = '-- UPDATE 1.1P';
$sql_statements[] = 'ALTER TABLE `prefix_user` MODIFY COLUMN `pass` varchar(123) NOT NULL DEFAULT ""';
$sql_statements[] = 'ALTER TABLE `prefix_usercheck` MODIFY COLUMN `pass` varchar(123) NOT NULL DEFAULT ""';
$sql_statements[] = "UPDATE `prefix_config` SET `frage`='Antispam (ab diesem Recht keine Eingabe mehr erforderlich) Hilfe: Antispam anpassen' WHERE `schl`='antispam'";
}
//Update 1.1p.2
$sidType = '';
$qry = db_query('SHOW COLUMNS FROM `prefix_online` LIKE "sid"');
if ($row = db_fetch_assoc($qry)) {
$sidType = trim(strtolower($row['Type']));
}
if ($sidType === 'varchar(32)') {
$sql_statements[] = 'ALTER TABLE `prefix_online` MODIFY COLUMN `sid` varchar(123) NOT NULL DEFAULT ""';
}
foreach ( $sql_statements as $sql_statement ) {
if ( trim($sql_statement) != '' ) {
echo ''.htmlentities($sql_statement, ENT_COMPAT, 'ISO-8859-1').' ';
$e = db_query($sql_statement);
if (!$e) {
echo 'Es ist ein Fehler aufgetreten, bitte alles auf dieser Seite kopieren und auf ilch.de im Forum fragen...:'. mysql_error().' '.$sql_statement.' Es sei denn, es ist ein Fehler mit duplicate entry aufgetreten, das liegt einfach nur daran, dass du die Updatedatei mehrmals ausgeführt hast. ';
}
echo ' ';
}
}
echo '
Wenn keine Fehler aufgetreten sind, sollte die Installation ohne Probleme verlaufen sein und du solltest die update.php nun vom Webspace löschen.';
}
?>
|