PageRenderTime 31ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/attic/p20/install/installtables.php

https://github.com/holsinger/openfloor
PHP | 357 lines | 298 code | 59 blank | 0 comment | 1 complexity | 52c09e909e410499050946a51536baab MD5 | raw file
  1. <?php
  2. include_once ('../libs/db.php');
  3. if (!isset($dblang)) { $dblang='en'; }
  4. function pligg_createtables($conn) {
  5. global $dblang;
  6. $sql = 'DROP TABLE IF EXISTS `' . table_blogs . '`;';
  7. mysql_query( $sql, $conn );
  8. $sql = "CREATE TABLE `" . table_blogs . "` (
  9. `blog_id` int(20) NOT NULL auto_increment,
  10. `blog_key` varchar(35) default NULL,
  11. `blog_type` enum('normal','blog') NOT NULL default 'normal',
  12. `blog_rss` varchar(64) NOT NULL default '',
  13. `blog_rss2` varchar(64) NOT NULL default '',
  14. `blog_atom` varchar(64) NOT NULL default '',
  15. `blog_url` varchar(64) default NULL,
  16. PRIMARY KEY (`blog_id`),
  17. UNIQUE KEY `key` (`blog_key`)
  18. ) TYPE = MyISAM;";
  19. echo 'Creating table: \'blogs\'...<br />';
  20. mysql_query( $sql, $conn );
  21. $sql = 'DROP TABLE IF EXISTS `' . table_categories . '`;';
  22. mysql_query( $sql, $conn );
  23. $sql = "CREATE TABLE `" . table_categories . "` (
  24. `category__auto_id` int(11) NOT NULL auto_increment,
  25. `category_lang` varchar(" . strlen($dblang) . ") NOT NULL default " . "'" . $dblang . "',
  26. `category_id` int(11) NOT NULL default '0',
  27. `category_parent` int(11) NOT NULL default '0',
  28. `category_name` varchar(64) NOT NULL default '',
  29. `category_safe_name` varchar(64) NOT NULL default '',
  30. `rgt` int(11) NOT NULL,
  31. `lft` int(11) NOT NULL,
  32. `category_enabled` int(11) NOT NULL default '1',
  33. `category_order` int(11) NOT NULL default '0',
  34. `category_color` varchar(6) default '000000',
  35. PRIMARY KEY (`category__auto_id`),
  36. UNIQUE KEY `key` (`category_name`)
  37. ) TYPE = MyISAM;";
  38. echo 'Creating table: \'categories\'...<br />';
  39. mysql_query( $sql, $conn );
  40. $sql = 'DROP TABLE IF EXISTS `' . table_comments . '`;';
  41. mysql_query( $sql, $conn );
  42. $sql = "CREATE TABLE `" . table_comments . "` (
  43. `comment_id` int(20) NOT NULL auto_increment,
  44. `comment_randkey` int(11) NOT NULL default '0',
  45. `comment_parent` int(20) default '0',
  46. `comment_link_id` int(20) NOT NULL default '0',
  47. `comment_user_id` int(20) NOT NULL default '0',
  48. `comment_date` timestamp NOT NULL,
  49. `comment_karma` smallint(6) NOT NULL default '0',
  50. `comment_nick` varchar(32) default NULL,
  51. `comment_content` text NOT NULL,
  52. `comment_votes` int(20) NOT NULL default '0',
  53. PRIMARY KEY (`comment_id`),
  54. UNIQUE KEY `comments_randkey` (`comment_randkey`,`comment_link_id`,`comment_user_id`,`comment_parent`),
  55. KEY `comment_link_id_2` (`comment_link_id`,`comment_date`)
  56. ) TYPE = MyISAM;";
  57. echo 'Creating table: \'comments\'...<br />';
  58. mysql_query( $sql, $conn );
  59. $sql = 'DROP TABLE IF EXISTS `' . table_friends . '`;';
  60. mysql_query( $sql, $conn );
  61. $sql = "CREATE TABLE `" . table_friends . "` (
  62. `friend_id` int(11) NOT NULL auto_increment,
  63. `friend_from` bigint(20) NOT NULL default '0',
  64. `friend_to` bigint(20) NOT NULL default '0',
  65. PRIMARY KEY (`friend_id`),
  66. UNIQUE KEY `friends_from_to` (`friend_from`,`friend_to`)
  67. ) TYPE = MyISAM;";
  68. echo 'Creating table: \'friends\'...<br />';
  69. mysql_query( $sql, $conn );
  70. $sql = 'DROP TABLE IF EXISTS `' . table_languages . '`;';
  71. mysql_query( $sql, $conn );
  72. $sql = "CREATE TABLE `" . table_languages . "` (
  73. `language_id` int(11) NOT NULL auto_increment,
  74. `language_name` varchar(64) NOT NULL default '',
  75. PRIMARY KEY (`language_id`),
  76. UNIQUE KEY `language_name` (`language_name`)
  77. ) TYPE = MyISAM;";
  78. echo 'Creating table: \'languages\'...<br />';
  79. mysql_query( $sql, $conn );
  80. $sql = 'DROP TABLE IF EXISTS `' . table_links . '`;';
  81. mysql_query( $sql, $conn );
  82. $sql = "CREATE TABLE `" . table_links . "` (
  83. `link_id` int(20) NOT NULL auto_increment,
  84. `link_author` int(20) NOT NULL default '0',
  85. `link_blog` int(20) default '0',
  86. `link_status` enum('discard','queued','published','abuse','duplicated') NOT NULL default 'discard',
  87. `link_randkey` int(20) NOT NULL default '0',
  88. `link_votes` int(20) NOT NULL default '0',
  89. `link_karma` decimal(10,2) NOT NULL default '0.00',
  90. `link_modified` timestamp NOT NULL,
  91. `link_date` timestamp NOT NULL,
  92. `link_published_date` timestamp NOT NULL,
  93. `link_category` int(11) NOT NULL default '0',
  94. `link_lang` int(11) NOT NULL default '1',
  95. `link_url` varchar(200) NOT NULL default '',
  96. `link_url_title` text,
  97. `link_title` text NOT NULL,
  98. `link_title_url` varchar(255) default NULL,
  99. `link_content` text NOT NULL,
  100. `link_summary` text default NULL,
  101. `link_tags` text,
  102. `link_field1` varchar(255) NOT NULL default '',
  103. `link_field2` varchar(255) NOT NULL default '',
  104. `link_field3` varchar(255) NOT NULL default '',
  105. `link_field4` varchar(255) NOT NULL default '',
  106. `link_field5` varchar(255) NOT NULL default '',
  107. `link_field6` varchar(255) NOT NULL default '',
  108. `link_field7` varchar(255) NOT NULL default '',
  109. `link_field8` varchar(255) NOT NULL default '',
  110. `link_field9` varchar(255) NOT NULL default '',
  111. `link_field10` text NOT NULL default '',
  112. `link_field11` text NOT NULL default '',
  113. `link_field12` text NOT NULL default '',
  114. `link_field13` text NOT NULL default '',
  115. `link_field14` text NOT NULL default '',
  116. `link_field15` text NOT NULL default '',
  117. PRIMARY KEY (`link_id`),
  118. KEY `link_author` (`link_author`),
  119. KEY `link_url` (`link_url`),
  120. KEY `link_date` (`link_date`),
  121. KEY `link_published_date` (`link_published_date`),
  122. FULLTEXT KEY `link_url_2` (`link_url`,`link_url_title`,`link_title`,`link_content`,`link_tags`),
  123. FULLTEXT KEY `link_tags` (`link_tags`)
  124. ) TYPE = MyISAM;";
  125. echo 'Creating table: \'links\'...<br />';
  126. mysql_query( $sql, $conn );
  127. $sql = 'DROP TABLE IF EXISTS `' . table_trackbacks . '`;';
  128. mysql_query( $sql, $conn );
  129. $sql = "CREATE TABLE `" . table_trackbacks . "` (
  130. `trackback_id` int(10) unsigned NOT NULL auto_increment,
  131. `trackback_link_id` int(11) NOT NULL default '0',
  132. `trackback_user_id` int(11) NOT NULL default '0',
  133. `trackback_type` enum('in','out') NOT NULL default 'in',
  134. `trackback_status` enum('ok','pendent','error') NOT NULL default 'pendent',
  135. `trackback_modified` timestamp NOT NULL,
  136. `trackback_date` timestamp NULL default NULL,
  137. `trackback_url` varchar(200) NOT NULL default '',
  138. `trackback_title` text,
  139. `trackback_content` text,
  140. PRIMARY KEY (`trackback_id`),
  141. UNIQUE KEY `trackback_link_id_2` (`trackback_link_id`,`trackback_type`,`trackback_url`),
  142. KEY `trackback_link_id` (`trackback_link_id`),
  143. KEY `trackback_url` (`trackback_url`),
  144. KEY `trackback_date` (`trackback_date`)
  145. ) TYPE = MyISAM;";
  146. echo 'Creating table: \'trackbacks\'...<br />';
  147. mysql_query( $sql, $conn );
  148. $sql = 'DROP TABLE IF EXISTS `' . table_users . '`;';
  149. mysql_query( $sql, $conn );
  150. $sql = "CREATE TABLE `" . table_users . "` (
  151. `user_id` int(20) NOT NULL auto_increment,
  152. `user_login` varchar(32) NOT NULL default '',
  153. `user_level` enum('normal','special','blogger','admin','god') NOT NULL default 'normal',
  154. `user_modification` timestamp NOT NULL,
  155. `user_date` timestamp NOT NULL,
  156. `user_pass` varchar(64) NOT NULL default '',
  157. `user_email` varchar(128) NOT NULL default '',
  158. `user_names` varchar(128) NOT NULL default '',
  159. `user_lang` int(11) NOT NULL default '1',
  160. `user_karma` decimal(10,2) default '10.00',
  161. `user_url` varchar(128) NOT NULL default '',
  162. `user_lastlogin` timestamp NOT NULL,
  163. `user_aim` varchar(64) NOT NULL default '',
  164. `user_msn` varchar(64) NOT NULL default '',
  165. `user_yahoo` varchar(64) NOT NULL default '',
  166. `user_gtalk` varchar(64) NOT NULL default '',
  167. `user_skype` varchar(64) NOT NULL default '',
  168. `user_irc` varchar(64) NOT NULL default '',
  169. `public_email` varchar(64) NOT NULL default '',
  170. `user_avatar_source` varchar(255) NOT NULL default '',
  171. `user_ip` varchar(20) default '0',
  172. `user_lastip` varchar(20) default '0',
  173. `last_reset_request` timestamp NOT NULL,
  174. `user_location` varchar(255) default NULL,
  175. `user_occupation` varchar(255) default NULL,
  176. PRIMARY KEY (`user_id`),
  177. UNIQUE KEY `user_login` (`user_login`),
  178. KEY `user_email` (`user_email`)
  179. ) TYPE = MyISAM;";
  180. echo 'Creating table: \'users\'...<br />';
  181. mysql_query( $sql, $conn );
  182. $sql = 'DROP TABLE IF EXISTS `' . table_tags . '`;';
  183. mysql_query( $sql, $conn );
  184. $sql = "CREATE TABLE `" . table_tags . "` (
  185. `tag_link_id` int(11) NOT NULL default '0',
  186. `tag_lang` varchar(4) NOT NULL default 'en',
  187. `tag_date` timestamp NOT NULL,
  188. `tag_words` varchar(64) NOT NULL default '',
  189. UNIQUE KEY `tag_link_id` (`tag_link_id`,`tag_lang`,`tag_words`),
  190. KEY `tag_lang` (`tag_lang`,`tag_date`)
  191. ) TYPE = MyISAM;";
  192. echo 'Creating table: \'tags\'...<br />';
  193. mysql_query( $sql, $conn );
  194. $sql = 'DROP TABLE IF EXISTS `' . table_votes . '`;';
  195. mysql_query( $sql, $conn );
  196. $sql = "CREATE TABLE `" . table_votes . "` (
  197. `vote_id` int(20) NOT NULL auto_increment,
  198. `vote_type` enum('links','comments') NOT NULL default 'links',
  199. `vote_date` timestamp NOT NULL,
  200. `vote_link_id` int(20) NOT NULL default '0',
  201. `vote_user_id` int(20) NOT NULL default '0',
  202. `vote_value` smallint(11) NOT NULL default '1',
  203. `vote_ip` varchar(64) default NULL,
  204. PRIMARY KEY (`vote_id`),
  205. KEY `user_id` (`vote_user_id`),
  206. KEY `link_id` (`vote_link_id`),
  207. KEY `vote_type` (`vote_type`,`vote_link_id`,`vote_user_id`,`vote_ip`)
  208. ) TYPE = MyISAM;";
  209. echo 'Creating table: \'votes\'...<br />';
  210. mysql_query( $sql, $conn );
  211. $sql = 'DROP TABLE IF EXISTS `' . table_pageviews . '`;';
  212. mysql_query( $sql, $conn );
  213. $sql = "CREATE TABLE `" . table_pageviews . "` (
  214. `pv_id` int(10) unsigned NOT NULL auto_increment,
  215. `pv_type` varchar(20) NOT NULL default '',
  216. `pv_page_id` int(11) NOT NULL default '0',
  217. `pv_datetime` timestamp NOT NULL,
  218. `pv_user_id` int(11) NOT NULL default '0',
  219. `pv_user_ip` varchar(64) default NULL,
  220. PRIMARY KEY (`pv_id`)
  221. ) TYPE = MyISAM;";
  222. echo 'Creating table: \'pageviews\'....<BR/>';
  223. mysql_query( $sql, $conn );
  224. $sql = 'DROP TABLE IF EXISTS `' . table_config . '`;';
  225. mysql_query( $sql, $conn );
  226. echo "Creating table: 'config'<br>";
  227. $sql = "CREATE TABLE `" . table_config . "` (
  228. `var_id` int(11) NOT NULL auto_increment,
  229. `var_page` varchar(50) NOT NULL,
  230. `var_name` varchar(100) NOT NULL,
  231. `var_value` varchar(50) NOT NULL,
  232. `var_defaultvalue` varchar(50) NOT NULL,
  233. `var_optiontext` varchar(200) NOT NULL,
  234. `var_title` varchar(200) NOT NULL,
  235. `var_desc` text NOT NULL,
  236. `var_method` varchar(10) NOT NULL,
  237. `var_enclosein` varchar(5) default NULL,
  238. PRIMARY KEY (`var_id`)
  239. ) TYPE = MyISAM;";
  240. echo 'Creating table: \'config\'....<BR/>';
  241. mysql_query( $sql, $conn );
  242. $sql = 'DROP TABLE IF EXISTS `' . table_messages . '`;';
  243. mysql_query( $sql, $conn );
  244. echo "Creating table: 'messages'<br>";
  245. $sql = "CREATE TABLE `" .table_messages. "` (
  246. `idMsg` int(11) NOT NULL auto_increment,
  247. `title` varchar(255) NOT NULL default '',
  248. `body` text NOT NULL,
  249. `sender` int(11) NOT NULL default '0',
  250. `receiver` int(11) NOT NULL default '0',
  251. `senderLevel` int(11) NOT NULL default '0',
  252. `readed` int(11) NOT NULL default '0',
  253. `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  254. PRIMARY KEY (`idMsg`)
  255. ) TYPE = MyISAM;";
  256. echo 'Creating table: \'messages\'....<BR/>';
  257. mysql_query( $sql, $conn );
  258. $sql = 'DROP TABLE IF EXISTS `' . table_modules . '`;';
  259. mysql_query( $sql, $conn );
  260. echo "Creating table: 'modules'<br>";
  261. $sql = "CREATE TABLE `" . table_modules . "` (
  262. `id` int(11) NOT NULL auto_increment,
  263. `name` varchar(50) NOT NULL,
  264. `version` float NOT NULL,
  265. `folder` varchar(50) NOT NULL,
  266. `enabled` tinyint(1) NOT NULL,
  267. PRIMARY KEY (`id`)
  268. ) TYPE = MyISAM;";
  269. echo 'Creating table: \'modules\'....<BR/>';
  270. mysql_query( $sql, $conn );
  271. echo "Creating 'god' user...<br />";
  272. $sql = "INSERT INTO `" . table_users . "` VALUES (1, 'god', 'god', now(), now(), '1e41c3f5a260b83dd316809b221f581cdbba8c1489e6d5896', 'blank@pligg.com', '', 1, 10.00, 'www.pligg.com', now(), '', '', '', '', '', '', '', '', '0', '0', now(), '', '');";
  273. mysql_query( $sql, $conn );
  274. echo 'Inserting default categories...<br />';
  275. $sql = "INSERT INTO `" . table_categories . "` VALUES (0, '" . $dblang . "', 0, 0, 'all', 'all', 0, 0, 2, 0, '000000');";
  276. mysql_query( $sql, $conn );
  277. $sql = "UPDATE `" . table_categories . "` SET `category__auto_id` = '0' WHERE `category_name` = 'all' LIMIT 1;";
  278. mysql_query( $sql, $conn );
  279. $sql = "INSERT INTO `" . table_categories . "` VALUES (1, '" . $dblang . "', 1, 0, 'pligg', 'pligg', 0, 0, 1, 0, '000000');";
  280. mysql_query( $sql, $conn );
  281. echo 'Inserting default modules...<br />';
  282. $sql = "INSERT INTO `" . table_modules . "` VALUES (1, 'Javascript Effects Pack', 0.1, 'scriptaculous', 1);";
  283. mysql_query( $sql, $conn );
  284. $sql = "INSERT INTO `" . table_modules . "` VALUES (2, 'Admin Modify Language', 0.1, 'admin_language', 1);";
  285. mysql_query( $sql, $conn );
  286. echo "Inserting default 'config' data...<br />";
  287. $fs = fopen( 'upgrade_config_table.sql', 'r' );
  288. while( ! feof( $fs ) )
  289. {
  290. $tmp = fgets( $fs );
  291. $tmp = str_replace("INSERT INTO `config`", "INSERT INTO `".table_config."`", $tmp);
  292. $tmp = str_replace("'table_prefix', 'pligg_'", "'table_prefix', '" . table_prefix . "'", $tmp);
  293. mysql_query( $tmp );
  294. }
  295. fclose( $fs );
  296. return 1;
  297. }
  298. ?>