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

Zeilen Einfügen (CMS)

In unserem CMS werden heute die Zeilen bei der Installation in die Datenbank eingefügt. Dafür habe ich mir alle wichtigen Einträge aus der Datenbank genommen und in der Funktion insertRows mit mysql_query eigefügt.

Im Admin Menü habe ich die Einträge Statistik und DB erstmal weggelassen. Die Dateien dazu werden übrigens später auch bei der Installation nicht mit dabei sein.

Damit es sauberer ist habe ich den include aus der Funktion createTables in die runInstallation gepackt. Diese sieht nun so aus:

    private function runInstallation(){
      $this->writeDBSettings();
      include('system/dbconnect.php');
      $this->createTables();
      $this->insertRows();
    }

Und in der Funktion insertRows werden die Zeilen eingefügt:

    private function insertRows(){
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu_names` VALUES (1, '{admin}');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (1, 1, 'Dashboard', '/admin/');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (2, 1, 'Seiten', '/admin/index.php?page=sites');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (3, 1, 'Menüs', '/admin/index.php?page=menues');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (4, 1, 'Dateien', '/admin/index.php?page=files');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (5, 1, 'Plugins', '/admin/index.php?page=plugins');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (7, 1, 'Einstellungen', '/admin/index.php?page=settings');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (9, 1, 'Logout', '/admin/index.php?page=logout');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."user` VALUES (1, '".$this->params[4]['user']."', '".md5($this->params[4]['password'])."');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('title', '".$this->params[4]['name']."', 1, 'Titel des CMS');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('selectedskin', '1', 1, 'Aktueller Skin');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('globalmenuid', '1', 1, 'Globales Menü');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('skinbgcolor', 'dedede', 1, 'Hintergrundfarbe');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('skinforecolor', '525252', 1, 'Schriftfarbe');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('skinhighlight1', 'ff0000', 1, 'Highlight Farbe 1');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('skinhighlight2', 'b3fa00', 1, 'Highlight Farbe 2');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('host', 'http://".$_SERVER['HTTP_HOST']."', 1, 'URL der Startseite');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."skins` VALUES (1, 'default');");
    }

Nun sollte die Installation schon soweit durchlaufen, dass man das CMS benutzen kann. Jetzt fehlt noch das Aufräumen. Später füge ich noch ein paar Plugins ein, zum Beispiel ein Einstiegstutorial und den Updater. Denn wenn man das CMS jetzt installiert landet man im Admin-Bereich auf eine leere Seite.

Kommentare

Daniel schrieb am 26.01.2010:

Wenn die Statistik und der DB-Manager soweit sind effektiv nutzbar zu sein, sollten wir die Menüpunkte wieder hinzufügen. Wenn möglich als Update oder zumindest als fertige Query´s. Wenn ich dich richtig verstanden habe gibt es nach der Installation noch keine Seiten und keine Menüs im Frontend? MfG Daniel

Stefan Wienströer schrieb am 26.01.2010:

Die Statistik und der DB Manager werden später als Update nachgeladen. Die sind für die erste Version erst mal nicht so interessant. Ich würde die erste Version am liebsten schnell rausbekommen, weil die Hauptaufgabe besteht ja darin den Inhalt zu verwalten und nicht die Datenbank. Im FrontEnd sind noch keine Seiten und Menüs. Oder sollten wir Beispielseiten anlegen? Wär eigentlich keine schlechte Idee.

Daniel schrieb am 26.01.2010:

Zumindest eine, damit man an dieser das Templateprinzip erkennt.

Daniel schrieb am 26.01.2010:

Sozusagen eine in der der Quelltext der Seite noch mal erscheint. Äh wie soll ich mich ausdrücken. Beispiel.: Da wo der Inhalt von CL erstellt wird, erscheint der Syntax vom Platzhalter.

Stefan Wienströer schrieb am 28.01.2010:

Hä?

Daniel schrieb am 28.01.2010:

Naja das die Leute schon auf der Seite sehen was da für ein Platzhalter werkelt, ohne sich den PHP-Qelltext anschauen zu müssen. ^^