Пример #1
0
 /**
  * 
  * craete tables
  */
 public static function createTable($tableName)
 {
     global $wpdb;
     //if table exists - don't create it.
     $tableRealName = self::$table_prefix . $tableName;
     if (UniteFunctionsWPBiz::isDBTableExists($tableRealName)) {
         //check if we need to update the settings table
         if ($tableName == GlobalsShowBiz::TABLE_SETTINGS_NAME) {
             $result = $wpdb->query("SHOW COLUMNS FROM `" . self::$table_prefix . $tableName . "` LIKE 'general'");
             if ($result == 0) {
                 $wpdb->query("ALTER TABLE `" . self::$table_prefix . $tableName . "` ADD general TEXT NOT NULL");
             }
         }
         return false;
     }
     $charset_collate = '';
     if (method_exists($wpdb, "get_charset_collate")) {
         $charset_collate = $wpdb->get_charset_collate();
     } else {
         if (!empty($wpdb->charset)) {
             $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}";
         }
         if (!empty($wpdb->collate)) {
             $charset_collate .= " COLLATE {$wpdb->collate}";
         }
     }
     switch ($tableName) {
         case GlobalsShowBiz::TABLE_SLIDERS_NAME:
             $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t  id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t  title tinytext NOT NULL,\r\n\t\t\t\t\t\t\t  alias tinytext,\r\n\t\t\t\t\t\t\t  params text NOT NULL,\r\n\t\t\t\t\t\t\t  PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t){$charset_collate};";
             break;
         case GlobalsShowBiz::TABLE_SLIDES_NAME:
             $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t  id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t  slider_id int(9) NOT NULL,\r\n\t\t\t\t\t\t\t\t  slide_order int not NULL,\t\t  \r\n\t\t\t\t\t\t\t\t  params text NOT NULL,\r\n\t\t\t\t\t\t\t\t  PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};";
             break;
         case GlobalsShowBiz::TABLE_TEMPLATES_NAME:
             $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t  id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t  title tinytext NOT NULL,\r\n\t\t\t\t\t\t\t\t  type tinytext NOT NULL,\r\n\t\t\t\t\t\t\t\t  content TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  css TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  ordering int not NULL,\r\n\t\t\t\t\t\t\t\t  params TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};";
             break;
         case GlobalsShowBiz::TABLE_SETTINGS_NAME:
             $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t  id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t  wildcards TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  general TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  params TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t  PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};";
             break;
         default:
             UniteFunctionsBiz::throwError("table: {$tableName} not found");
             break;
     }
     require_once ABSPATH . 'wp-admin/includes/upgrade.php';
     dbDelta($sql);
 }