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

Update Installer (CMS)

Seit dem letzten Einstiegspunkt des selbst erstellten CMS hat sich viel getan! Aus diesem Grund müssen wir auch den Installer Updaten. Bereits 2 Leser haben bemerkt, dass der Installer nicht mehr funktioniert. Des Weiteren hat sich ein bisschen in der Datenbank geändert, was auch noch im Installer kommt.

Diese Stelle eignet sich natürlich super für einen neuen Einstiegspunkt, welchen es unten gibt!

Die Ursache, dass der Installer nicht mehr funktioniert liegt an der Datenbankumstellung: Wir haben die dbconnect.php gelöscht, welche noch im Installer benötigt wurde! Da wir sie später nicht mehr brauchen hab ich den alten Code nun direkt in die Klasse /installer/installer.php geschrieben:

    private function runInstallation(){
      $this->writeDBSettings();
      include('system/dbsettings.php');
      $connection = mysql_connect($dbhost,$dbuser,$dbpassword);
      mysql_select_db($db,$connection);
      $this->createTables();
      $this->insertRows();
      $this->isInstalled = true;
    }

Die Tabellenstruktur der cms_menu und der cms_settings haben sich geändert:

private function createTables(){
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."activated_plugins` (
  `path` varchar(100) NOT NULL,
  PRIMARY KEY  (`path`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."custom_css` (
  `id` varchar(100) NOT NULL,
  `stylePath` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."dashboards` (
  `id` int(10) NOT NULL,
  `col` int(1) NOT NULL,
  `row` int(2) NOT NULL,
  `path` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`,`col`,`row`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."events` (
  `event` varchar(50) NOT NULL,
  `file` varchar(50) NOT NULL,
  PRIMARY KEY  (`event`,`file`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."images` (
  `path` varchar(255) NOT NULL,
  `name` varchar(75) NOT NULL,
  `description` varchar(255) NOT NULL,
  PRIMARY KEY  (`path`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."menu` (
  `id` int(2) NOT NULL,
  `menuID` int(3) NOT NULL,
  `title` varchar(100) NOT NULL,
  `href` varchar(255) NOT NULL,
  `type` int(1) NOT NULL,
  PRIMARY KEY  (`id`,`menuID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."menu_names` (
  `id` int(4) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."meta_global` (
  `name` varchar(100) NOT NULL,
  `content` varchar(100) NOT NULL,
  PRIMARY KEY  (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."meta_local` (
  `name` varchar(100) NOT NULL,
  `page` int(11) NOT NULL,
  `content` varchar(100) NOT NULL,
  PRIMARY KEY  (`name`,`page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."pages` (
  `id` int(8) NOT NULL auto_increment,
  `alias` varchar(255) NOT NULL,
  `title` varchar(255) NOT NULL,
  `owner` int(11) NOT NULL default '-1',
  `menu` int(11) NOT NULL default '-1',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."settings` (
  `area` varchar(20) NOT NULL,
  `areaType` varchar(20) NOT NULL,
  `property` varchar(255) NOT NULL,
  `value` varchar(255) NOT NULL,
  `activated` int(1) NOT NULL default '1',
  `description` varchar(75) NOT NULL,
  `type` varchar(50) NOT NULL,
  PRIMARY KEY  (`area`,`areaType`,`property`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."skins` (
  `id` int(3) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."user` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`,`name`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;");
mysql_query("CREATE TABLE `".$this->params[3]['praefix']."widgets` (
  `path` varchar(255) NOT NULL,
  `name` varchar(50) NOT NULL,
  `class` varchar(50) NOT NULL,
  PRIMARY KEY  (`path`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
    }

Dementsprechend haben sich auch die Inserts geändert:

    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/',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (2, 1, 'Seiten', '/admin/index.php?page=sites',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (3, 1, 'Menüs', '/admin/index.php?page=menues',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (4, 1, 'Dateien', '/admin/index.php?page=files',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (5, 1, 'Plugins', '/admin/index.php?page=plugins',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (7, 1, 'Einstellungen', '/admin/index.php?page=settings',0);");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."menu` VALUES (9, 1, 'Logout', '/admin/index.php?page=logout',0);");
      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 ('global', 'global', 'title', '".$this->params[4]['name']."', 1, 'Titel des CMS','textbox');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('global', 'global', 'selectedskin', '1', 1, 'Aktueller Skin','skinselector');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('global', 'global', 'selectedmobileskin', '1', 1, 'Mobiler Skin','mobileskinselector');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('default', 'skins', 'skinbgcolor', 'dedede', 1, 'Hintergrundfarbe','colorpicker');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('default', 'skins', 'skinforecolor', '525252', 1, 'Schriftfarbe','colorpicker');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('default', 'skins', 'skinhighlight1', 'ff0000', 1, 'Highlight Farbe 1','colorpicker');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('default', 'skins', 'skinhighlight2', 'b3fa00', 1, 'Highlight Farbe 2','colorpicker');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."settings` VALUES ('global', 'global', 'host', 'http://".$_SERVER['HTTP_HOST']."', 1, 'URL der Startseite','textbox');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."skins` VALUES (1, 'default');");
      mysql_query("INSERT INTO `".$this->params[3]['praefix']."skins` VALUES (2, 'mobile');");
    }

Und hier ist der neue Einstiegspunkt:

http://blog.stevieswebsite.de/download/151.zip

Kommentare

Unheilig schrieb am 05.04.2010:

Fehlermeldung bei Installation ! Warning: require_once(../system/classes/installer.php) [function.require-once]: failed to open stream: No such file or directory in C:inetpubvhostsXXXXX.desubdomainsxxxxxhttpdocsadminindex.php on line 4 Was kann das sein ?

Stefan Wienströer schrieb am 05.04.2010:

Lösch mal deine Cookies und versuchs nochmal.