File indexing completed on 2024-05-12 10:07:34
0001 ALTER TABLE `project_category` 0002 ADD COLUMN `show_description` INT(1) NOT NULL DEFAULT '0' AFTER `dl_pling_factor`; 0003 0004 ALTER TABLE `stat_projects` 0005 ADD COLUMN `cat_show_description` INT(1) NULL DEFAULT NULL AFTER `cat_name_legacy`; 0006 0007 DROP VIEW `stat_projects_v`; 0008 CREATE VIEW `stat_projects_v` AS 0009 SELECT `project`.`project_id` AS `project_id`, 0010 `project`.`member_id` AS `member_id`, 0011 `project`.`content_type` AS `content_type`, 0012 `project`.`project_category_id` AS `project_category_id`, 0013 `project`.`hive_category_id` AS `hive_category_id`, 0014 `project`.`status` AS `status`, 0015 `project`.`uuid` AS `uuid`, 0016 `project`.`pid` AS `pid`, 0017 `project`.`type_id` AS `type_id`, 0018 `project`.`title` AS `title`, 0019 `project`.`description` AS `description`, 0020 `project`.`version` AS `version`, 0021 `project`.`image_big` AS `image_big`, 0022 `project`.`image_small` AS `image_small`, 0023 `project`.`start_date` AS `start_date`, 0024 `project`.`content_url` AS `content_url`, 0025 `project`.`created_at` AS `created_at`, 0026 `project`.`changed_at` AS `changed_at`, 0027 `project`.`deleted_at` AS `deleted_at`, 0028 `project`.`creator_id` AS `creator_id`, 0029 `project`.`facebook_code` AS `facebook_code`, 0030 `project`.`github_code` AS `github_code`, 0031 `project`.`twitter_code` AS `twitter_code`, 0032 `project`.`google_code` AS `google_code`, 0033 `project`.`link_1` AS `link_1`, 0034 `project`.`embed_code` AS `embed_code`, 0035 `project`.`ppload_collection_id` AS `ppload_collection_id`, 0036 `project`.`validated` AS `validated`, 0037 `project`.`validated_at` AS `validated_at`, 0038 `project`.`featured` AS `featured`, 0039 `project`.`approved` AS `approved`, 0040 `project`.`amount` AS `amount`, 0041 `project`.`amount_period` AS `amount_period`, 0042 `project`.`claimable` AS `claimable`, 0043 `project`.`claimed_by_member` AS `claimed_by_member`, 0044 `project`.`count_likes` AS `count_likes`, 0045 `project`.`count_dislikes` AS `count_dislikes`, 0046 `project`.`count_comments` AS `count_comments`, 0047 `project`.`count_downloads_hive` AS `count_downloads_hive`, 0048 `project`.`source_id` AS `source_id`, 0049 `project`.`source_pk` AS `source_pk`, 0050 `project`.`source_type` AS `source_type`, 0051 `project`.`validated` AS `project_validated`, 0052 `project`.`uuid` AS `project_uuid`, 0053 `project`.`status` AS `project_status`, 0054 `project`.`created_at` AS `project_created_at`, 0055 `member`.`type` AS `member_type`, 0056 `member`.`member_id` AS `project_member_id`, 0057 `project`.`changed_at` AS `project_changed_at`, 0058 (round(((`project`.`count_likes` + 6) / ((`project`.`count_likes` + `project`.`count_dislikes`) + 12)), 2) * 0059 100) AS `laplace_score`, 0060 `member`.`username` AS `username`, 0061 `member`.`profile_image_url` AS `profile_image_url`, 0062 `member`.`city` AS `city`, 0063 `member`.`country` AS `country`, 0064 `member`.`created_at` AS `member_created_at`, 0065 `member`.`paypal_mail` AS `paypal_mail`, 0066 `project_category`.`title` AS `cat_title`, 0067 `project_category`.`xdg_type` AS `cat_xdg_type`, 0068 `project_category`.`name_legacy` AS `cat_name_legacy`, 0069 `project_category`.`show_description` AS `cat_show_description`, 0070 `stat_plings`.`amount_received` AS `amount_received`, 0071 `stat_plings`.`count_plings` AS `count_plings`, 0072 `stat_plings`.`count_plingers` AS `count_plingers`, 0073 `stat_plings`.`latest_pling` AS `latest_pling`, 0074 `view_reported_projects`.`amount_reports` AS `amount_reports` 0075 FROM ((((`project` JOIN `member` ON ((`member`.`member_id` = `project`.`member_id`))) JOIN `project_category` ON (( 0076 `project`.`project_category_id` = 0077 `project_category`.`project_category_id`))) LEFT JOIN `stat_plings` ON ((`stat_plings`.`project_id` = `project`.`project_id`))) 0078 LEFT JOIN `view_reported_projects` ON ((`view_reported_projects`.`project_id` = `project`.`project_id`))) 0079 WHERE ((`member`.`is_deleted` = 0) AND (`member`.`is_active` = 1) AND (`project`.`type_id` = 1) AND 0080 (`project`.`status` = 100)); 0081 0082 0083 0084 DROP PROCEDURE IF EXISTS `generate_stat_project`; 0085 0086 DELIMITER $$ 0087 USE `pling`$$ 0088 CREATE PROCEDURE `generate_stat_project`() 0089 BEGIN 0090 DROP TABLE IF EXISTS `tmp_reported_projects`; 0091 CREATE TEMPORARY TABLE `tmp_reported_projects` 0092 ( 0093 PRIMARY KEY `primary` (`project_id`) 0094 ) 0095 AS 0096 SELECT `reports_project`.`project_id` AS `project_id`, 0097 COUNT(`reports_project`.`project_id`) AS `amount_reports`, 0098 MAX(`reports_project`.`created_at`) AS `latest_report` 0099 FROM `reports_project` 0100 WHERE (`reports_project`.`is_deleted` = 0) 0101 GROUP BY `reports_project`.`project_id`; 0102 0103 DROP TABLE IF EXISTS `tmp_project_package_types`; 0104 CREATE TEMPORARY TABLE `tmp_project_package_types` 0105 ( 0106 PRIMARY KEY `primary` (`project_id`) 0107 ) 0108 ENGINE MyISAM 0109 AS 0110 SELECT `project_id`, 0111 GROUP_CONCAT(DISTINCT `project_package_type`.`package_type_id`) AS `package_type_id_list`, 0112 GROUP_CONCAT(DISTINCT `package_types`.`name`) AS `package_name_list` 0113 FROM `project_package_type` 0114 JOIN 0115 `package_types` ON `project_package_type`.`package_type_id` = `package_types`.`package_type_id` 0116 WHERE `package_types`.`is_active` = 1 0117 GROUP BY `project_id`; 0118 0119 0120 DROP TABLE IF EXISTS `tmp_stat_projects`; 0121 CREATE TABLE `tmp_stat_projects` 0122 ( 0123 PRIMARY KEY `primary` (`project_id`), 0124 INDEX `idx_cat` (`project_category_id`) 0125 ) 0126 ENGINE MyISAM 0127 AS 0128 SELECT `project`.`project_id` AS `project_id`, 0129 `project`.`member_id` AS `member_id`, 0130 `project`.`content_type` AS `content_type`, 0131 `project`.`project_category_id` AS `project_category_id`, 0132 `project`.`hive_category_id` AS `hive_category_id`, 0133 `project`.`status` AS `status`, 0134 `project`.`uuid` AS `uuid`, 0135 `project`.`pid` AS `pid`, 0136 `project`.`type_id` AS `type_id`, 0137 `project`.`title` AS `title`, 0138 `project`.`description` AS `description`, 0139 `project`.`version` AS `version`, 0140 `project`.`image_big` AS `image_big`, 0141 `project`.`image_small` AS `image_small`, 0142 `project`.`start_date` AS `start_date`, 0143 `project`.`content_url` AS `content_url`, 0144 `project`.`created_at` AS `created_at`, 0145 `project`.`changed_at` AS `changed_at`, 0146 `project`.`deleted_at` AS `deleted_at`, 0147 `project`.`creator_id` AS `creator_id`, 0148 `project`.`facebook_code` AS `facebook_code`, 0149 `project`.`github_code` AS `github_code`, 0150 `project`.`twitter_code` AS `twitter_code`, 0151 `project`.`google_code` AS `google_code`, 0152 `project`.`link_1` AS `link_1`, 0153 `project`.`embed_code` AS `embed_code`, 0154 `project`.`ppload_collection_id` AS `ppload_collection_id`, 0155 `project`.`validated` AS `validated`, 0156 `project`.`validated_at` AS `validated_at`, 0157 `project`.`featured` AS `featured`, 0158 `project`.`approved` AS `approved`, 0159 `project`.`amount` AS `amount`, 0160 `project`.`amount_period` AS `amount_period`, 0161 `project`.`claimable` AS `claimable`, 0162 `project`.`claimed_by_member` AS `claimed_by_member`, 0163 `project`.`count_likes` AS `count_likes`, 0164 `project`.`count_dislikes` AS `count_dislikes`, 0165 `project`.`count_comments` AS `count_comments`, 0166 `project`.`count_downloads_hive` AS `count_downloads_hive`, 0167 `project`.`source_id` AS `source_id`, 0168 `project`.`source_pk` AS `source_pk`, 0169 `project`.`source_type` AS `source_type`, 0170 `project`.`validated` AS `project_validated`, 0171 `project`.`uuid` AS `project_uuid`, 0172 `project`.`status` AS `project_status`, 0173 `project`.`created_at` AS `project_created_at`, 0174 `project`.`changed_at` AS `project_changed_at`, 0175 laplace_score(`project`.`count_likes`, `project`.`count_dislikes`) AS `laplace_score`, 0176 `member`.`type` AS `member_type`, 0177 `member`.`member_id` AS `project_member_id`, 0178 `member`.`username` AS `username`, 0179 `member`.`profile_image_url` AS `profile_image_url`, 0180 `member`.`city` AS `city`, 0181 `member`.`country` AS `country`, 0182 `member`.`created_at` AS `member_created_at`, 0183 `member`.`paypal_mail` AS `paypal_mail`, 0184 `project_category`.`title` AS `cat_title`, 0185 `project_category`.`xdg_type` AS `cat_xdg_type`, 0186 `project_category`.`name_legacy` AS `cat_name_legacy`, 0187 `project_category`.`show_description` AS `cat_show_description`, 0188 `stat_plings`.`amount_received` AS `amount_received`, 0189 `stat_plings`.`count_plings` AS `count_plings`, 0190 `stat_plings`.`count_plingers` AS `count_plingers`, 0191 `stat_plings`.`latest_pling` AS `latest_pling`, 0192 `trp`.`amount_reports` AS `amount_reports`, 0193 `tppt`.`package_type_id_list` AS `package_types`, 0194 `tppt`.`package_name_list` AS `package_names` 0195 FROM `project` 0196 JOIN `member` ON `member`.`member_id` = `project`.`member_id` 0197 JOIN `project_category` ON `project`.`project_category_id` = `project_category`.`project_category_id` 0198 LEFT JOIN `stat_plings` ON `stat_plings`.`project_id` = `project`.`project_id` 0199 LEFT JOIN `tmp_reported_projects` AS `trp` ON `trp`.`project_id` = `project`.`project_id` 0200 LEFT JOIN `tmp_project_package_types` AS `tppt` ON `tppt`.`project_id` = `project`.`project_id` 0201 WHERE `member`.`is_deleted` = 0 0202 AND `member`.`is_active` = 1 0203 AND `project`.`type_id` = 1 0204 AND `project`.`status` = 100 0205 AND `project_category`.`is_active` = 1; 0206 0207 RENAME TABLE `stat_projects` TO `old_stat_projects`, `tmp_stat_projects` TO `stat_projects`; 0208 0209 DROP TABLE IF EXISTS `old_stat_projects`; 0210 END$$ 0211 0212 DELIMITER ; 0213 0214 0215 DROP EVENT IF EXISTS `e_generate_stat_projects`; 0216 CREATE 0217 DEFINER = CURRENT_USER 0218 EVENT IF NOT EXISTS `e_generate_stat_projects` 0219 ON SCHEDULE 0220 EVERY 5 MINUTE STARTS DATE_FORMAT(NOW(), '%Y-%m-%d 05:00:00') 0221 ON COMPLETION PRESERVE 0222 -- DISABLE ON SLAVE 0223 COMMENT 'Regenerates stat_projects table' 0224 DO 0225 CALL `pling`.generate_stat_project();