public static function isDbInstalled() { if (Digitalus_Db_Table::tableExists(Digitalus_Db_Table::getTableName(self::DB_NAME))) { return true; } return false; }
private function _updateTemplateReferences() { $this->_db->query("ALTER TABLE `" . Digitalus_Db_Table::getTableName('users') . "` ADD `openid` VARCHAR(100) NOT NULL AFTER `email`"); $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `publish_level` = '1' WHERE `publish_level` = 0"); $siteSettings = new Model_SiteSettings(); $siteSettings->set('xml_declaration', 'never'); $siteSettings->set('publish_pages', 0); $siteSettings->save(); return true; }
private function _updateTemplateReferences() { $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `content_template` = 'block' WHERE `content_template` LIKE 'block_%'"); $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `content_template` = 'module' WHERE `content_template` LIKE 'module_%'"); $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `content_template` = 'default' WHERE `content_template` NOT IN ('block','module')"); $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `content_template` = 'default_default' WHERE `namespace` = 'content' AND `content_template` = 'default'"); $this->_db->query("UPDATE `" . Digitalus_Db_Table::getTableName('pages') . "` SET `content_template` = 'default_default' WHERE `namespace` = 'content' AND `content_template` = 'module'"); $this->_db->query("ALTER TABLE `" . Digitalus_Db_Table::getTableName('pages') . "` ADD `publish_date` INT(11) NOT NULL AFTER `create_date`"); $this->_db->query("ALTER TABLE `" . Digitalus_Db_Table::getTableName('pages') . "` ADD `archive_date` INT(11) NOT NULL AFTER `publish_date`"); $this->_db->query("ALTER TABLE `" . Digitalus_Db_Table::getTableName('pages') . "` ADD `publish_level` INT(11) NOT NULL AFTER `archive_date`"); return true; }
/** * build the login request * * @param string $username * @param string $password */ public function __construct($username = null, $password = null) { // set up the db authentication // zend auth uses FETCH_ASSOC for the fetchmode $this->_dbAdapter = clone Zend_Db_Table::getDefaultAdapter(); $this->_dbAdapter->setFetchMode(ZEND_DB::FETCH_ASSOC); $this->_username = $username; $this->_password = $password; $this->_authAdapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter, Digitalus_Db_Table::getTableName($this->_userTable), $this->_identityColumn, $this->_credentialColumn, "MD5(?) AND active = 1"); // set up storage // @todo: i can not get zend to persist the identities for some reason .. figure out why $this->_storage = new Zend_Session_Namespace(self::USER_NAMESPACE); }
/** * Creates the challenge table * * @return bool True for success, false if table already exists */ public function createChallengeTable() { if (!Login_Challenge::isDbInstalled()) { $db = Zend_Registry::get('database'); $sql = "CREATE TABLE `?` (\n `challenge_id` VARCHAR(50) NOT NULL,\n `user_name` VARCHAR(30) NOT NULL,\n `valid` TINYINT(1) NOT NULL DEFAULT 1,\n `timestamp` INT(11) NOT NULL,\n PRIMARY KEY (`challenge_id`),\n INDEX (`user_name`),\n FOREIGN KEY (`user_name`) REFERENCES `?`(`name`) ON DELETE CASCADE ON UPDATE CASCADE\n ) ENGINE = InnoDB DEFAULT CHARSET=utf8"; $stmtClass = $db->getStatementClass(); $stmt = new $stmtClass($db, $sql); try { $stmt->execute(array(Digitalus_Db_Table::getTableName(Login_Challenge::DB_NAME), Digitalus_Db_Table::getTableName('users'))); } catch (Exception $e) { return false; } return true; } return false; }
public function __construct() { parent::__construct(); $this->_name = Digitalus_Db_Table::getTableName($this->_name); }
/** * * Optimises the databases * * @return void */ public function optimise() { $db_data = Digitalus_Db_Table::getTableName('data'); $db_pages = Digitalus_Db_Table::getTableName('pages'); $db_page_nodes = Digitalus_Db_Table::getTableName('page_nodes'); $db_traffic_log = Digitalus_Db_Table::getTableName('traffic_log'); $db_users = Digitalus_Db_Table::getTableName('users'); $db_user_bookmarks = Digitalus_Db_Table::getTableName('user_bookmarks'); $db_user_notes = Digitalus_Db_Table::getTableName('user_notes'); /* ***************************************************************** * OPTIMIZE **************************************************************** */ $this->_db->query("OPTIMIZE TABLE\n `{$db_data}` , `{$db_pages}` , `{$db_page_nodes}` , `{$db_traffic_log}` , `{$db_users}` , `{$db_user_bookmarks}` , `{$db_user_notes}`;"); }
public function insertPages() { $pages = Digitalus_Db_Table::getTableName('pages', $this->_config['prefix']); $pageNodes = Digitalus_Db_Table::getTableName('page_nodes', $this->_config['prefix']); $queries = array('INSERT INTO `' . $pages . '` VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' => array(array(1, 'administrator', time(), time(), time(), time(), 1, 'Site Offline', 'Site Offline', 'content', 'default_default', 0, 1, 0), array(2, 'administrator', time(), time(), time(), time(), 1, '404 Page', '404 Page', 'content', 'default_default', 0, 0, 0), array(3, 'administrator', time(), time(), time(), time(), 1, 'Home', 'Home', 'content', 'default_default', 0, 2, 1)), 'INSERT INTO `' . $pageNodes . '` VALUES (?, ?, ?, ?, ?, ?)' => array(array(1, 'errorsite', 'en', 'Site Offline', 'Site Offline', "Sorry, our site is currently offline for maintenance."), array(2, 'errorsite', 'en', '404 Page', 'HTTP/1.1 404 Not Found', "Sorry, the page you are looking for has moved or been renamed."), array(3, 'content', 'en', 'Home', 'Digitalus CMS', "Congratulations! You have successfully installed Digitalus CMS.<br />To get started why don't you log in and change this page:<br /><ol><li>Log in to site administration with the username and password you set up in the installer.</li><li>Go to the pages section.</li><li>Click on the Home page on the left sidebar.</li><li>Now update it and click update page!</li></ol>If you have any questions here are some helpful links:<br /><ul><li><a href=\"http://forum.digitaluscms.com\">Digitalus Forum</a></li><li><a href=\"http://wiki.digitaluscms.com\">Digitalus Documentation</a><br /></li></ul>"))); foreach ($queries as $sql => $inserts) { $stmt = $this->_db->prepare($sql); foreach ($inserts as $data) { $stmt->execute($data); } } }
/** * inserts the new page * defaults to inserting it into the root * @todo add these pages to the relations table * * @param unknown_type $parentId * @return unknown */ private function _addPage($page, $parentId = 0) { if (!$parentId > 0) { $parentId = 0; } $sql = "SELECT id FROM " . Digitalus_Db_Table::getTableName('content') . " WHERE title = '{$page}' AND content_type = 'page' AND parent_id = " . $parentId; $exists = $this->_db->fetchRow($sql); if ($exists) { //the page already exists $this->log($this->view->getTranslation('ignoring') . ' ' . $page . ', ' . $this->view->getTranslation('page already exists in this location')); return $exists->id; } else { $data = array('content_type' => 'page', 'title' => $page, 'label' => $page, 'parent_id' => $parentId); if ($this->_db->insert(Digitalus_Db_Table::getTableName('content'), $data)) { $this->log($this->view->getTranslation('inserting') . ' ' . $page); return $this->_db->lastInsertId(); } else { $this->log($this->view->getTranslation('ERROR: an error occured inserting') . ' ' . $page); return $parentId; } } }
/** * returns the current 404 error log * * @return zend_db_rowset */ public function get404Log() { $sql = "\r\n SELECT id, referer, uri, FROM_UNIXTIME(date_time) AS date_time\r\n FROM " . Digitalus_Db_Table::getTableName('error_log') . "\r\n ORDER BY date_time DESC"; return $this->_db->fetchAll($sql); }