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ö;schen</h1> <?PHP if(!$_GET['delete']){ ?> <p>Soll die Seite <strong><?PHP echo $page->title; ?></strong> unwideruflich gelö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ö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; }
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
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
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project