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 meinst für den ersten Quelltext site-delete.php oder?
Mfg
Daniel
Kommentar von Daniel — 17. März 2010 @ 07:16
Hast dich nur verlesen XD
Scherz, habs geändert
Kommentar von Stefan Wienströer — 17. März 2010 @ 12:35