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

Datenbankklasse Teil 6 (CMS)

Im CMS-Tutorial schrauben wir mal wieder an der Datenbankklasse rum. Heute stellen wir das Erstellen einer Seite auf dem Püfstand. Beim letzten Mal haben wir noch nicht ganz aufgehört, denn wir brauchen die InsertID. Also erweitern wir erst mal die Klasse /system/classes/mysql.phpdiese bekommt die neue Methode InsertID():

public function InsertID(){
  return $this->connection->insert_id;
}

Diese brauchen wir dann in der Klasse /system/classes/page.php:

  function create($alias){
    $res = $GLOBALS['db']->Execute("INSERT INTO {'dbprefix'}pages (alias) VALUES ('".$alias."')");
    if($res){
      $args['id']    = $GLOBALS['db']->InsertID();
      $args['alias'] = $alias;
      EventManager::raiseEvent("page_created","../",$args);
    }
    return $GLOBALS['db']->InsertID();
  }

Zu guter letzt kommt die Methode getHandler der Klasse /system/classes/eventmanager.php an der Reihe. Sie greift nun auf die neue DB-Klasse zu.

function getHandler($name){
  $name = $GLOBALS['db']->EscapeString($name);
  $mySqlRes = $GLOBALS['db']->ReadRows("SELECT file FROM {'dbprefix'}events WHERE event = '".$name."'");
    if($mySqlRes){
      foreach($mySqlRes as $row){
        $res[] = $row->file;
      }
    }
  return $res;
}