Exemplo n.º 1
0
 public function setManager(TableManager $manager = NULL)
 {
     if ($manager === NULL) {
         $test = new TableManager();
         ## Test to see if the sessions table exists and if not create it
         $sql = (string) "SHOW TABLES LIKE 's%'";
         if (($tables = $test->runSql($sql)) === FALSE) {
             return FALSE;
         }
         if ($tables) {
             $exists = (bool) FALSE;
             foreach ($tables as $tbl) {
                 $keys = array_keys($tbl);
                 if ($tbl[$keys[0]] == "sessions") {
                     $exists = TRUE;
                     break;
                 }
             }
             if ($exists === FALSE) {
                 $sql = (string) "CREATE TABLE IF NOT EXISTS `sessions` (";
                 $sql .= "`id` INT(32) NOT NULL AUTO_INCREMENT PRIMARY KEY,";
                 $sql .= "`session_id` VARCHAR(150) NOT NULL DEFAULT '' UNIQUE,";
                 $sql .= "`access` INT(32) NOT NULL DEFAULT 0,";
                 $sql .= "`data` LONGTEXT,";
                 $sql .= "`ip_address` VARCHAR(15) NOT NULL DEFAULT '000.000.000.000',";
                 $sql .= "INDEX (`access`),";
                 $sql .= "INDEX (`ip_address`)";
                 $sql .= ") ENGINE=INNODB DEFAULT CHARSET=UTF8;";
                 if ($test->runSql($sql) === FALSE) {
                     print "<pre>";
                     print_r($test->getErrors());
                     print "</pre>";
                     return FALSE;
                 }
             }
         }
         $test->__destruct();
         unset($test);
         $manager = new TableManager("sessions");
     }
     $this->_manager = $manager;
 }