Modul con_code delete

Gesperrt
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Modul con_code delete

Beitrag von Beleuchtfix » So 16. Jan 2005, 14:40

Bei Problemen mit Contenido tauch relativ häufig der Vorschlag auf, die Tabelle con_code zu leeren.
Nicht immer hat man aber Zugang zur MySQL Datenbank. Deshalb habe ich ein kleines Modul geschrieben, dass diese Tabelle leert.

Die Anpassung von Emergence habe ich inzwischen in den Code integriert. :!:
Einzelheiten stehen im Code.

Code: Alles auswählen

/* *****************************************
* File      :   con_code_delete.php
* Project   :   Contenido
* Descr     :   löscht die Tabelle con_code
*
* Author    :   F.Behrendt
* Created   :   14.01.2005
* Modified  :   20.01.2005
* Version   :   1.0
*
* © F. Behrendt Open Source
**************************************** */

/* Das Programm ist als einzelnes Modul für Contenido gedacht.
Es hat nur einen Input Teil, und wird normalerweise auf einer nicht
zu veröffentlichen Seite eingetragen
Bei der Konfiguration der Seite /Oder Vorkonfiguration des Templates
wird dann dieses Seite ausgegeben.
Es gibt eine Checkbox, die das Löschen veranlaßt
Ist diese Box nicht gechecked, passiert auch nichts beim Drücken des
OK Hakens in Contenido.
*/

// include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");

echo "Bei ungünstigen Zuweisungen kann es zu Fehlern in der Tabelle con_code
führen, so dass die entsprechende Seite nicht mehr richtig angezeigt wird. <BR>
Diese Funktion <font color=red>leert! </font>die con_code Tabelle von Contenido <BR>
Die Tabelle wird beim nächsten Aufruf der Seite automatisch wieder neu aufgebaut <BR>
<BR>" ;



$sql = "delete from ".$cfg['tab']['code'];


// Hier kann man auch eine autmatische Abfrage einbauen, die alle Contenido Variaben berücksichtigt.
// $sql.= $CODE;

//    Ausgabe des SQL Strings zur Kontrolle möglich

//   Print $sql;
echo '<BR><input type="checkbox" name="Leeren" value="leeren"> Con_code leeren<br>';

if ($Leeren == "leeren") {
    //datenbank ist schon offen durch Contenido , jetzt übergeben:
    if ($db->query($sql)) {
        echo "con_code wurde geleert!";
    } else {
        echo "con_code konnte nicht geleert werden!" ;
    }
}

Gruß
Florian
Zuletzt geändert von Beleuchtfix am Do 20. Jan 2005, 14:45, insgesamt 1-mal geändert.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 20. Jan 2005, 11:41

kleiner tipp, da du das ganze als modul verwendest...

Code: Alles auswählen

$cfg['sql']['sqlprefix']="con"; // ist normalerweise in Contenid gesetzt. 
// $cfg["tab"]["code"]." AS CODE, ". 
$sql = "delete from "; 
$sql.= $cfg['sql']['sqlprefix']."_code";
sieh dir die datei includes/cfg_sql.inc.php an... dort sind alle tabellen namen definiert und stehen bei jedem seiten aufruf innerhalb von contenido zur verfügung....

anstelle der obrigen zeilen sollte es reichen

Code: Alles auswählen

$sql = "delete from ".$cfg['tab']['code'];
zu schreiben...

zum teil weiter unten

Code: Alles auswählen

if ($Loeschen == "loeschen") : { 
    //datenbank ist schon offen durch Contenido , jetzt übergeben: 
    $db->query($sql);  //Eigentliche Löschfunktion 
    echo "con_code ist geloescht!";  // Ausgabe ohne Überprüfung 
    //  or die (mysql_errno()) mysql_error())"; 
    // Eigentlich wollte ich noch eine Fehlerabfrage durchführen. 
    }; 
else: 
    echo "con_code wurde nicht gelöscht" ;  // 
endif ;
könntest du auch folgendes verwenden

Code: Alles auswählen

if ($Loeschen == "loeschen") { 
    //datenbank ist schon offen durch Contenido , jetzt übergeben: 
    if ($db->query($sql)) {
        echo "con_code wurde geleert!";
    } else {
        echo "con_code konnte nicht geleert werden!" ;
    }
}
ich würd nicht gelöscht schreiben sondern eher geleert...
*** make your own tools (wishlist :: thx)

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Do 20. Jan 2005, 12:24

Danke für die Verbesserungen. (ich arbeite mich immer noch ein, und da wird es dann doch plötzlich "quick and dirty") :D
Ich teste es aus und stelle dann oben den komplette neuen Code ein.

Gruß
Florian

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Danke!

Beitrag von Andreas » Sa 5. Feb 2005, 12:55

Hallo Florian,
eine super Idee - Dein Modul.

Die con_code hat uns schon oft zur "Weißglut" gebracht und die ewige "Leerung" mittels phpmyadmin war nervig.

Also an dieser Stelle mal ein ganz offizieller Dank!!!!

Gruß
Andreas

Gesperrt