0251 / 590 837 15
info@a-coding-project.de
;

Datenbankklasse Teil 7 (CMS)

Im letztem Schritt des CMS Tutorials haben wir beim Seiten erstellen auf die neue DB-Klasse umgestellt. Heute ist das Löschen der Seiten dran.

Als erstes kommt die Datei /admin/includes/site-delete.php an die Reihe. Hier wird nur der EscapeString gebraucht. Ich habe allerdings bemerkt, dass bei „Löschen“ das „n“ fehlte. Habs sofort drangehängt:

<?PHP
  $page = new Page();
  $page->loadProperties($GLOBALS['db']->EscapeString($_GET['site']));
?>
<h1>Seite l&ouml;schen</h1>
<?PHP
  if(!$_GET['delete']){
?>
  <p>Soll die Seite <strong><?PHP echo $page->title; ?></strong> 
     unwideruflich gel&ouml;scht werden?</p>
  <a href="/admin/?page=sites">Abbrechen</a>
  <a href="/admin/?page=site-delete&site=<?PHP echo $_GET['site']; ?>&delete=true">
    Seite l&ouml;schen
  </a>

Als nächstes bearbeiten wir die Methode load der Klasse Klasse /system/classes/meta.php:

    public function load(){
      $rows = $GLOBALS['db']->ReadRows("SELECT name, content
                                       FROM {'dbprefix'}meta_local
                                       WHERE page = '".$this->pageid."'");
      if($rows){
        foreach($rows as $row){
          if(strtolower($row['name'] == 'description')){
            $this->description = $row['content'];
          }
          else if(strtolower($row['name'] == 'keywords')){
            $this->keywords = $row['content'];
          }
          else if(strtolower($row['name'] == 'robots')){
              $this->robots = $row['content'];
          }
        }
      }
    }

Zu guter letzt die Methode delete der Klasse /system/classes/page.php:

  function delete(){
    $res = $GLOBALS['db']->Execute("DELETE FROM {'dbprefix'}pages WHERE alias = '".$this->alias."'");
    if($res){
      $args['alias'] = $this->alias;
      EventManager::raiseEvent("page_deleted","../",$args);
    }
    return $res;
  }

Kommentare

Daniel schrieb am 17.03.2010:

Du meinst für den ersten Quelltext site-delete.php oder? Mfg Daniel

Stefan Wienströer schrieb am 17.03.2010:

Hast dich nur verlesen XD Scherz, habs geändert