Skip to content
This repository has been archived by the owner on Jan 1, 2020. It is now read-only.

Commit

Permalink
Anpassungen der DB-Import- und SQL-Installationsfunktionen für die je…
Browse files Browse the repository at this point in the history
…weils aktive Zeichenkodierung
  • Loading branch information
xong committed Nov 1, 2010
1 parent f743f60 commit e10559a
Show file tree
Hide file tree
Showing 6 changed files with 810 additions and 679 deletions.
6 changes: 6 additions & 0 deletions _lastchanges.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,15 @@ angehandelt.

Version 4.3.2 (2010-xx-xx)

Neu
* Update 4.x -> 4.3 durch Upload einer Exportdatei

Anpassungen
* Cronjobzeitspeicherung nun vor der Aktion, so dass der Prozess nicht mehrmals ausgef�hrt wird.
* PHPMailer auf Versin 5.1 gebracht .. Dadurch nur noch mit php5 lauff�hig
* Addoninstallation: SQL-Dateien der Addons werden mit dem entsprechenden Defaultcharset (utf8 oder latin1) versehen
* Import/Export-Addon: importierte SQL-Dateien werden mit dem entsprechenden Defaultcharset (utf8 oder latin1) versehen
* Installation: die Datenbanktabellen werden mit dem entsprechenden Defaultcharset (utf8 oder latin1) installiert

Bugfixes
* Metadaten Strings / Textfelder - Bug bei Sonderzeichen "|"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,11 @@ function rex_a1_import_db($filename)
// charset entfernen
$charset = $matches[1];
$conts = trim(str_replace('## charset '. $charset, '', $conts));

if($I18N->msg('htmlcharset') != $charset)
if($I18N->msg('htmlcharset') == 'utf-8' AND $charset != 'utf-8')
{
$conts = utf8_encode($conts);
}
elseif($I18N->msg('htmlcharset') != $charset)
{
$return['message'] = $I18N->msg('im_export_no_valid_charset').'. '.$I18N->msg('htmlcharset').' != '.$charset;
return $return;
Expand Down Expand Up @@ -120,6 +123,17 @@ function rex_a1_import_db($filename)

$sql = rex_sql::factory();
foreach ($lines as $line) {
$line['query'] = trim($line['query']);

if(rex_lang_is_utf8() AND strpos($line['query'], 'CREATE TABLE') === 0 AND !strpos($line['query'], 'DEFAULT CHARSET'))
{
$line['query'] .= ' DEFAULT CHARSET=utf8';
}
elseif(!rex_lang_is_utf8() AND strpos($line['query'], 'CREATE TABLE') === 0 AND !strpos($line['query'], 'DEFAULT CHARSET'))
{
$line['query'] .= ' DEFAULT CHARSET=latin1';
}

$sql->setQuery($line['query']);

if($sql->hasError())
Expand Down Expand Up @@ -161,7 +175,13 @@ function rex_a1_import_db($filename)
lasttrydate int(11) NOT NULL DEFAULT 0,
session_id varchar(255) NOT NULL,
PRIMARY KEY(user_id)
) TYPE=MyISAM;';
) TYPE=MyISAM';

if(rex_lang_is_utf8())
$create_user_table .= ' DEFAULT CHARSET=utf8';
else
$create_user_table .= ' DEFAULT CHARSET=latin1';

$db = rex_sql::factory();
$db->setQuery($create_user_table);
$error = $db->getError();
Expand Down
11 changes: 11 additions & 0 deletions redaxo/include/functions/function_rex_addons.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,17 @@ function rex_install_prepare_query($qry)
$qry = str_replace('%TABLE_PREFIX%', $REX['TABLE_PREFIX'], $qry);
$qry = str_replace('%TEMP_PREFIX%', $REX['TEMP_PREFIX'], $qry);

$qry = trim($qry);

if(rex_lang_is_utf8() AND strpos($qry, 'CREATE TABLE') === 0 AND !strpos($qry, 'DEFAULT CHARSET'))
{
$qry .= ' DEFAULT CHARSET=utf8';
}
elseif(!rex_lang_is_utf8() AND strpos($line['query'], 'CREATE TABLE') === 0 AND !strpos($line['query'], 'DEFAULT CHARSET'))
{
$qry .= ' DEFAULT CHARSET=latin1';
}

return $qry;
}

Expand Down
11 changes: 8 additions & 3 deletions redaxo/include/lang/de_de.lang
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ delete_template = Template l
header_template_caption = Liste der verf�gbaren Templates
header_template_summary = Auflistung aller Templates
modules_available = Nur folgende Module sind verf�gbar
modules_available_all = Alle Module verf�gbar
modules_available_all = Alle Module verf�gbar

# redaxo\include\functions\function_rex_category.inc.php
article = Artikel
Expand Down Expand Up @@ -442,11 +442,16 @@ setup_033 = Bitte richten Sie die Datenbank erneut ein.
setup_034 = Datenbank einrichten
setup_035 = Datenbank einrichten und alte �berschreiben falls vorhanden [{0}Vorsicht{1} - Alte Seite wird komplett gel�scht!]
setup_036 = Datenbank existiert schon [Weiter ohne Datenbankimport]
setup_037 = Vorhandenen Export einspielen [Demo einspielen]:
setup_037 = REDAXO 4.3 Export einspielen [Demo einspielen]:
setup_03701 = Bitte w�hlen Sie einen Export aus!
setup_03702 = Export-Dateien konnten nicht gefunden werden!
setup_03703 = Import/Export AddOn wurde nicht gefunden!
setup_038 = Datenbank aktualisieren von REDAXO 4.x [vorher sichern!]
setup_038 = REDAXO 4.x Export einspielen [User m�ssen neu angelegt werden!].
setup_03801 = Keine Export Datei ausgew�hlt.
setup_03802 = Datei konnte nicht hochgeladen werden.
setup_03803 = Sie haben keine Schreibrechte in
setup_03804 = Tempor�re SQL Datei konnte nicht gelesen werden.
setup_03805 = Tempor�re SQL Datei konnte nicht geschrieben werden.
setup_039 = Weiter zu Schritt 4
setup_step4 = Setup: Schritt 4 von 5
setup_040 = Bitte geben Sie das Administratorlogin ein!
Expand Down
9 changes: 7 additions & 2 deletions redaxo/include/lang/en_gb.lang
Original file line number Diff line number Diff line change
Expand Up @@ -519,11 +519,16 @@ setup_033 = Please enter database specifications again.
setup_034 = Setup database
setup_035 = Setup database and overwrite existing [{0}Caution{1} - current site will be completely deleted!]
setup_036 = Database exists [Continue without import]
setup_037 = Import existing export [Import Demo]:
setup_037 = Import REDAXO 4.3 export [Import Demo]:
setup_03701 = Please choose and export!
setup_03702 = Export files not found!
setup_03703 = Import/Export AddOn not found!
setup_038 = Update database from REDAXO 4.x [backup before!]
setup_038 = Import REDAXO 4.x export [all user have to be created again!]
setup_03801 = No export file chosen.
setup_03802 = Fiele could not be exported.
setup_03803 = No permissions to write.
setup_03804 = Temporary SQL file could not be read.
setup_03805 = Temporary SQL file could not be written. [save first!]
setup_039 = Proceed to step 4
setup_step4 = Setup: Step 4 of 5
setup_040 = Enter admin login!
Expand Down
Loading

0 comments on commit e10559a

Please sign in to comment.