install.sql 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. SET @sStorageEngine = (SELECT `value` FROM `sys_options` WHERE `name` = 'sys_storage_default');
  2. -- TABLE: PROFILES
  3. CREATE TABLE IF NOT EXISTS `bx_persons_data` (
  4. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  5. `author` int(10) unsigned NOT NULL,
  6. `added` int(11) NOT NULL,
  7. `changed` int(11) NOT NULL,
  8. `picture` int(11) NOT NULL,
  9. `cover` int(11) NOT NULL,
  10. `fullname` varchar(255) NOT NULL,
  11. `description` text NOT NULL,
  12. `gender` varchar(255) DEFAULT NULL,
  13. `birthday` date DEFAULT NULL,
  14. `views` int(11) NOT NULL default '0',
  15. `favorites` int(11) NOT NULL default '0',
  16. `comments` int(11) NOT NULL default '0',
  17. `reports` int(11) NOT NULL default '0',
  18. `featured` int(11) NOT NULL default '0',
  19. `allow_view_to` int(11) NOT NULL DEFAULT '3',
  20. PRIMARY KEY (`id`),
  21. FULLTEXT KEY `search_fields` (`fullname`,`description`)
  22. );
  23. -- TABLE: STORAGES & TRANSCODERS
  24. CREATE TABLE IF NOT EXISTS `bx_persons_pictures` (
  25. `id` int(11) NOT NULL AUTO_INCREMENT,
  26. `profile_id` int(10) unsigned NOT NULL,
  27. `remote_id` varchar(128) NOT NULL,
  28. `path` varchar(255) NOT NULL,
  29. `file_name` varchar(255) NOT NULL,
  30. `mime_type` varchar(128) NOT NULL,
  31. `ext` varchar(32) NOT NULL,
  32. `size` int(11) NOT NULL,
  33. `added` int(11) NOT NULL,
  34. `modified` int(11) NOT NULL,
  35. `private` int(11) NOT NULL,
  36. PRIMARY KEY (`id`),
  37. UNIQUE KEY `remote_id` (`remote_id`)
  38. );
  39. CREATE TABLE IF NOT EXISTS `bx_persons_pictures_resized` (
  40. `id` int(11) NOT NULL AUTO_INCREMENT,
  41. `profile_id` int(10) unsigned NOT NULL,
  42. `remote_id` varchar(128) NOT NULL,
  43. `path` varchar(255) NOT NULL,
  44. `file_name` varchar(255) NOT NULL,
  45. `mime_type` varchar(128) NOT NULL,
  46. `ext` varchar(32) NOT NULL,
  47. `size` int(11) NOT NULL,
  48. `added` int(11) NOT NULL,
  49. `modified` int(11) NOT NULL,
  50. `private` int(11) NOT NULL,
  51. PRIMARY KEY (`id`),
  52. UNIQUE KEY `remote_id` (`remote_id`)
  53. );
  54. -- TABLE: comments
  55. CREATE TABLE IF NOT EXISTS `bx_persons_cmts` (
  56. `cmt_id` int(11) NOT NULL AUTO_INCREMENT,
  57. `cmt_parent_id` int(11) NOT NULL DEFAULT '0',
  58. `cmt_vparent_id` int(11) NOT NULL DEFAULT '0',
  59. `cmt_object_id` int(11) NOT NULL DEFAULT '0',
  60. `cmt_author_id` int(10) unsigned NOT NULL DEFAULT '0',
  61. `cmt_level` int(11) NOT NULL DEFAULT '0',
  62. `cmt_text` text NOT NULL,
  63. `cmt_mood` tinyint(4) NOT NULL DEFAULT '0',
  64. `cmt_rate` int(11) NOT NULL DEFAULT '0',
  65. `cmt_rate_count` int(11) NOT NULL DEFAULT '0',
  66. `cmt_time` int(11) unsigned NOT NULL DEFAULT '0',
  67. `cmt_replies` int(11) NOT NULL DEFAULT '0',
  68. PRIMARY KEY (`cmt_id`),
  69. KEY `cmt_object_id` (`cmt_object_id`,`cmt_parent_id`),
  70. FULLTEXT KEY `search_fields` (`cmt_text`)
  71. );
  72. -- TABLE: VIEWS
  73. CREATE TABLE IF NOT EXISTS `bx_persons_views_track` (
  74. `object_id` int(11) NOT NULL default '0',
  75. `viewer_id` int(11) NOT NULL default '0',
  76. `viewer_nip` int(11) unsigned NOT NULL default '0',
  77. `date` int(11) NOT NULL default '0',
  78. KEY `id` (`object_id`,`viewer_id`,`viewer_nip`)
  79. );
  80. -- TABLE: favorites
  81. CREATE TABLE IF NOT EXISTS `bx_persons_favorites_track` (
  82. `object_id` int(11) NOT NULL default '0',
  83. `author_id` int(11) NOT NULL default '0',
  84. `date` int(11) NOT NULL default '0',
  85. KEY `id` (`object_id`,`author_id`)
  86. );
  87. -- TABLE: reports
  88. CREATE TABLE IF NOT EXISTS `bx_persons_reports` (
  89. `object_id` int(11) NOT NULL default '0',
  90. `count` int(11) NOT NULL default '0',
  91. UNIQUE KEY `object_id` (`object_id`)
  92. );
  93. CREATE TABLE IF NOT EXISTS `bx_persons_reports_track` (
  94. `id` int(11) NOT NULL AUTO_INCREMENT,
  95. `object_id` int(11) NOT NULL default '0',
  96. `author_id` int(11) NOT NULL default '0',
  97. `author_nip` int(11) unsigned NOT NULL default '0',
  98. `type` varchar(32) NOT NULL default '',
  99. `text` text NOT NULL default '',
  100. `date` int(11) NOT NULL default '0',
  101. PRIMARY KEY (`id`),
  102. KEY `report` (`object_id`, `author_nip`)
  103. );
  104. -- TABLE: metas
  105. CREATE TABLE IF NOT EXISTS `bx_persons_meta_keywords` (
  106. `object_id` int(10) unsigned NOT NULL,
  107. `keyword` varchar(255) NOT NULL,
  108. KEY `object_id` (`object_id`),
  109. KEY `keyword` (`keyword`)
  110. );
  111. CREATE TABLE IF NOT EXISTS `bx_persons_meta_locations` (
  112. `object_id` int(10) unsigned NOT NULL,
  113. `lat` double NOT NULL,
  114. `lng` double NOT NULL,
  115. `country` varchar(2) NOT NULL,
  116. `state` varchar(255) NOT NULL,
  117. `city` varchar(255) NOT NULL,
  118. `zip` varchar(255) NOT NULL,
  119. `street` varchar(255) NOT NULL,
  120. `street_number` varchar(255) NOT NULL,
  121. PRIMARY KEY (`object_id`),
  122. KEY `country_state_city` (`country`,`state`(8),`city`(8))
  123. );
  124. CREATE TABLE `bx_persons_meta_mentions` (
  125. `object_id` int(10) unsigned NOT NULL,
  126. `profile_id` int(10) unsigned NOT NULL,
  127. KEY `object_id` (`object_id`),
  128. KEY `profile_id` (`profile_id`)
  129. );
  130. -- STORAGES & TRANSCODERS
  131. INSERT INTO `sys_objects_storage` (`object`, `engine`, `params`, `token_life`, `cache_control`, `levels`, `table_files`, `ext_mode`, `ext_allow`, `ext_deny`, `quota_size`, `current_size`, `quota_number`, `current_number`, `max_file_size`, `ts`) VALUES
  132. ('bx_persons_pictures', @sStorageEngine, '', 360, 2592000, 3, 'bx_persons_pictures', 'allow-deny', 'jpg,jpeg,jpe,gif,png', '', 0, 0, 0, 0, 0, 0),
  133. ('bx_persons_pictures_resized', @sStorageEngine, '', 360, 2592000, 3, 'bx_persons_pictures_resized', 'allow-deny', 'jpg,jpeg,jpe,gif,png', '', 0, 0, 0, 0, 0, 0);
  134. INSERT INTO `sys_objects_transcoder` (`object`, `storage_object`, `source_type`, `source_params`, `private`, `atime_tracking`, `atime_pruning`, `ts`) VALUES
  135. ('bx_persons_icon', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  136. ('bx_persons_thumb', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  137. ('bx_persons_avatar', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  138. ('bx_persons_picture', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  139. ('bx_persons_cover', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  140. ('bx_persons_cover_thumb', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0'),
  141. ('bx_persons_gallery', 'bx_persons_pictures_resized', 'Storage', 'a:1:{s:6:"object";s:19:"bx_persons_pictures";}', 'no', '1', '2592000', '0');
  142. INSERT INTO `sys_transcoder_filters` (`transcoder_object`, `filter`, `filter_params`, `order`) VALUES
  143. ('bx_persons_icon', 'Resize', 'a:3:{s:1:"w";s:2:"32";s:1:"h";s:2:"32";s:13:"square_resize";s:1:"1";}', '0'),
  144. ('bx_persons_thumb', 'Resize', 'a:3:{s:1:"w";s:2:"48";s:1:"h";s:2:"48";s:13:"square_resize";s:1:"1";}', '0'),
  145. ('bx_persons_avatar', 'Resize', 'a:3:{s:1:"w";s:2:"96";s:1:"h";s:2:"96";s:13:"square_resize";s:1:"1";}', '0'),
  146. ('bx_persons_picture', 'Resize', 'a:3:{s:1:"w";s:4:"1024";s:1:"h";s:4:"1024";s:13:"square_resize";s:1:"0";}', '0'),
  147. ('bx_persons_cover', 'Resize', 'a:1:{s:1:"w";s:4:"2000";}', '0'),
  148. ('bx_persons_cover_thumb', 'Resize', 'a:3:{s:1:"w";s:2:"48";s:1:"h";s:2:"48";s:13:"square_resize";s:1:"1";}', '0'),
  149. ('bx_persons_gallery', 'Resize', 'a:1:{s:1:"w";s:3:"500";}', '0');
  150. -- FORMS
  151. INSERT INTO `sys_objects_form`(`object`, `module`, `title`, `action`, `form_attrs`, `table`, `key`, `uri`, `uri_title`, `submit_name`, `params`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES
  152. ('bx_person', 'bx_persons', '_bx_persons_form_profile', '', 'a:1:{s:7:\"enctype\";s:19:\"multipart/form-data\";}', 'bx_persons_data', 'id', '', '', 'do_submit', '', 0, 1, 'BxPersonsFormEntry', 'modules/boonex/persons/classes/BxPersonsFormEntry.php');
  153. INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`, `title`) VALUES
  154. ('bx_person', 'bx_person_add', 'bx_persons', 0, '_bx_persons_form_profile_display_add'),
  155. ('bx_person', 'bx_person_delete', 'bx_persons', 0, '_bx_persons_form_profile_display_delete'),
  156. ('bx_person', 'bx_person_edit', 'bx_persons', 0, '_bx_persons_form_profile_display_edit'),
  157. ('bx_person', 'bx_person_edit_cover', 'bx_persons', 0, '_bx_persons_form_profile_display_edit_cover'),
  158. ('bx_person', 'bx_person_view', 'bx_persons', 1, '_bx_persons_form_profile_display_view'),
  159. ('bx_person', 'bx_person_view_full', 'bx_persons', 1, '_bx_persons_form_profile_display_view_full');
  160. INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES
  161. ('bx_person', 'bx_persons', 'allow_view_to', 3, '', 0, 'custom', '_bx_persons_form_profile_input_sys_allow_view_to', '_bx_persons_form_profile_input_allow_view_to', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
  162. ('bx_person', 'bx_persons', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_persons_form_profile_input_sys_delete_confirm', '_bx_persons_form_profile_input_delete_confirm', '_bx_persons_form_profile_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_persons_form_profile_input_delete_confirm_error', '', '', 1, 0),
  163. ('bx_person', 'bx_persons', 'do_submit', '_bx_persons_form_profile_input_submit', '', 0, 'submit', '_bx_persons_form_profile_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
  164. ('bx_person', 'bx_persons', 'description', '', '', 0, 'textarea', '_bx_persons_form_profile_input_sys_desc', '_bx_persons_form_profile_input_desc', '', 0, 0, 1, '', '', '', '', '', '', 'XssHtml', '', 1, 1),
  165. ('bx_person', 'bx_persons', 'fullname', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_fullname', '_bx_persons_form_profile_input_fullname', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_persons_form_profile_input_fullname_err', 'Xss', '', 1, 0),
  166. ('bx_person', 'bx_persons', 'cover', 'a:1:{i:0;s:21:"bx_persons_cover_crop";}', 'a:1:{s:21:"bx_persons_cover_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_persons_form_profile_input_sys_cover', '_bx_persons_form_profile_input_cover', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
  167. ('bx_person', 'bx_persons', 'picture', 'a:1:{i:0;s:23:"bx_persons_picture_crop";}', 'a:1:{s:23:"bx_persons_picture_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_persons_form_profile_input_sys_picture', '_bx_persons_form_profile_input_picture', '', 0, 0, 0, '', '', '', '', '', '_bx_persons_form_profile_input_picture_err', '', '', 1, 0),
  168. ('bx_person', 'bx_persons', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
  169. ('bx_person', 'bx_persons', 'birthday', '1990-01-01', '', 0, 'datepicker', '_bx_persons_form_profile_input_sys_birthday', '_bx_persons_form_profile_input_birthday', '', 0, 0, 0, '', '', '', '', '', '', 'Date', '', 1, 0),
  170. ('bx_person', 'bx_persons', 'gender', '', '#!Sex', 0, 'select', '_bx_persons_form_profile_input_sys_gender', '_bx_persons_form_profile_input_gender', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
  171. ('bx_person', 'bx_persons', 'profile_email', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_profile_email', '_bx_persons_form_profile_input_profile_email', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
  172. ('bx_person', 'bx_persons', 'profile_status', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_profile_status', '_bx_persons_form_profile_input_profile_status', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
  173. ('bx_person', 'bx_persons', 'profile_ip', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_profile_ip', '_bx_persons_form_profile_input_profile_ip', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0);
  174. INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
  175. ('bx_person_add', 'picture', 2147483647, 1, 1),
  176. ('bx_person_add', 'gender', 2147483647, 1, 2),
  177. ('bx_person_add', 'birthday', 2147483647, 1, 3),
  178. ('bx_person_add', 'fullname', 2147483647, 1, 4),
  179. ('bx_person_add', 'description', 2147483647, 1, 5),
  180. ('bx_person_add', 'location', 2147483647, 1, 6),
  181. ('bx_person_add', 'allow_view_to', 2147483647, 1, 7),
  182. ('bx_person_add', 'do_submit', 2147483647, 1, 8),
  183. ('bx_person_delete', 'cover', 2147483647, 0, 0),
  184. ('bx_person_delete', 'picture', 2147483647, 0, 0),
  185. ('bx_person_delete', 'delete_confirm', 2147483647, 1, 0),
  186. ('bx_person_delete', 'do_submit', 2147483647, 1, 1),
  187. ('bx_person_delete', 'fullname', 2147483647, 0, 2),
  188. ('bx_person_edit', 'picture', 2147483647, 1, 1),
  189. ('bx_person_edit', 'gender', 2147483647, 1, 2),
  190. ('bx_person_edit', 'birthday', 2147483647, 1, 3),
  191. ('bx_person_edit', 'fullname', 2147483647, 1, 4),
  192. ('bx_person_edit', 'description', 2147483647, 1, 5),
  193. ('bx_person_edit', 'location', 2147483647, 1, 6),
  194. ('bx_person_edit', 'allow_view_to', 2147483647, 1, 7),
  195. ('bx_person_edit', 'do_submit', 2147483647, 1, 8),
  196. ('bx_person_edit_cover', 'delete_confirm', 2147483647, 0, 1),
  197. ('bx_person_edit_cover', 'fullname', 2147483647, 0, 2),
  198. ('bx_person_edit_cover', 'picture', 2147483647, 0, 3),
  199. ('bx_person_edit_cover', 'cover', 2147483647, 1, 7),
  200. ('bx_person_edit_cover', 'do_submit', 2147483647, 1, 8),
  201. ('bx_person_view', 'gender', 2147483647, 1, 1),
  202. ('bx_person_view', 'birthday', 2147483647, 1, 2),
  203. ('bx_person_view', 'fullname', 2147483647, 1, 3),
  204. ('bx_person_view', 'profile_email', 192, 1, 4),
  205. ('bx_person_view', 'profile_status', 192, 1, 5),
  206. ('bx_person_view', 'profile_ip', 192, 1, 6),
  207. ('bx_person_view_full', 'gender', 2147483647, 1, 1),
  208. ('bx_person_view_full', 'birthday', 2147483647, 1, 2),
  209. ('bx_person_view_full', 'fullname', 2147483647, 1, 3),
  210. ('bx_person_view_full', 'description', 2147483647, 1, 4),
  211. ('bx_person_view_full', 'profile_email', 192, 1, 5),
  212. ('bx_person_view_full', 'profile_status', 192, 1, 6);
  213. -- CONTENT INFO
  214. INSERT INTO `sys_objects_content_info` (`name`, `title`, `alert_unit`, `alert_action_add`, `alert_action_update`, `alert_action_delete`, `class_name`, `class_file`) VALUES
  215. ('bx_persons', '_bx_persons', 'bx_persons', 'added', 'edited', 'deleted', '', ''),
  216. ('bx_persons_cmts', '_bx_persons_cmts', 'bx_persons', 'commentPost', 'commentUpdated', 'commentRemoved', 'BxDolContentInfoCmts', '');
  217. INSERT INTO `sys_content_info_grids` (`object`, `grid_object`, `grid_field_id`, `condition`, `selection`) VALUES
  218. ('bx_persons', 'bx_persons_administration', 'td`.`id', '', ''),
  219. ('bx_persons', 'bx_persons_common', 'td`.`id', '', '');
  220. -- SEARCH EXTENDED
  221. INSERT INTO `sys_objects_search_extended` (`object`, `object_content_info`, `module`, `title`, `active`, `class_name`, `class_file`) VALUES
  222. ('bx_persons', 'bx_persons', 'bx_persons', '_bx_persons_search_extended', 1, '', ''),
  223. ('bx_persons_cmts', 'bx_persons_cmts', 'bx_persons', '_bx_persons_search_extended_cmts', 1, 'BxTemplSearchExtendedCmts', '');
  224. -- STUDIO PAGE & WIDGET
  225. INSERT INTO `sys_std_pages`(`index`, `name`, `header`, `caption`, `icon`) VALUES
  226. (3, 'bx_persons', '_bx_persons', '_bx_persons', 'bx_persons@modules/boonex/persons/|std-icon.svg');
  227. SET @iPageId = LAST_INSERT_ID();
  228. SET @iParentPageId = (SELECT `id` FROM `sys_std_pages` WHERE `name` = 'home');
  229. SET @iParentPageOrder = (SELECT MAX(`order`) FROM `sys_std_pages_widgets` WHERE `page_id` = @iParentPageId);
  230. INSERT INTO `sys_std_widgets` (`page_id`, `module`, `url`, `click`, `icon`, `caption`, `cnt_notices`, `cnt_actions`) VALUES
  231. (@iPageId, 'bx_persons', '{url_studio}module.php?name=bx_persons', '', 'bx_persons@modules/boonex/persons/|std-icon.svg', '_bx_persons', '', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:11:"get_actions";s:6:"params";a:0:{}s:5:"class";s:18:"TemplStudioModules";}');
  232. INSERT INTO `sys_std_pages_widgets` (`page_id`, `widget_id`, `order`) VALUES
  233. (@iParentPageId, LAST_INSERT_ID(), IF(ISNULL(@iParentPageOrder), 1, @iParentPageOrder + 1));