From 3a38e06aa5e5dada7a896038156fb8aa2023a1a6 Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Fri, 30 Sep 2016 17:13:30 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/classes/{actions => }/.htaccess | 0 application/classes/blocks/.htaccess | 2 - application/classes/hooks/.htaccess | 2 - application/classes/modules/.htaccess | 2 - .../classes/modules/comment/Comment.class.php | 23 ++--- .../topic/entity/Topic.entity.class.php | 5 +- application/config/config.php | 4 +- .../frontend/components/topic/topic-add.tpl | 4 +- .../backend/step/checkRequirements.php | 2 +- .../install/data/sql/patch_1.0.3_to_2.0.0.sql | 83 ++++++++++++++++++- framework | 2 +- 11 files changed, 105 insertions(+), 24 deletions(-) rename application/classes/{actions => }/.htaccess (100%) delete mode 100644 application/classes/blocks/.htaccess delete mode 100644 application/classes/hooks/.htaccess delete mode 100644 application/classes/modules/.htaccess diff --git a/application/classes/actions/.htaccess b/application/classes/.htaccess similarity index 100% rename from application/classes/actions/.htaccess rename to application/classes/.htaccess diff --git a/application/classes/blocks/.htaccess b/application/classes/blocks/.htaccess deleted file mode 100644 index 2859d7f4..00000000 --- a/application/classes/blocks/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -Order Deny,Allow -Deny from all \ No newline at end of file diff --git a/application/classes/hooks/.htaccess b/application/classes/hooks/.htaccess deleted file mode 100644 index 2859d7f4..00000000 --- a/application/classes/hooks/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -Order Deny,Allow -Deny from all \ No newline at end of file diff --git a/application/classes/modules/.htaccess b/application/classes/modules/.htaccess deleted file mode 100644 index 2859d7f4..00000000 --- a/application/classes/modules/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -Order Deny,Allow -Deny from all \ No newline at end of file diff --git a/application/classes/modules/comment/Comment.class.php b/application/classes/modules/comment/Comment.class.php index fc69297a..8ff0654e 100644 --- a/application/classes/modules/comment/Comment.class.php +++ b/application/classes/modules/comment/Comment.class.php @@ -398,10 +398,10 @@ class ModuleComment extends Module if (false === ($data = $this->Cache_Get("comment_rating_{$sDate}_{$sTargetType}_{$iLimit}_{$s}"))) { $data = $this->oMapper->GetCommentsRatingByDate($sDate, $sTargetType, $iLimit, array(), $aCloseBlogs); $this->Cache_Set($data, "comment_rating_{$sDate}_{$sTargetType}_{$iLimit}_{$s}", array( - "comment_new_{$sTargetType}", - "comment_update_status_{$sTargetType}", - "comment_update_rating_{$sTargetType}" - ), 60 * 60 * 24 * 2); + "comment_new_{$sTargetType}", + "comment_update_status_{$sTargetType}", + "comment_update_rating_{$sTargetType}" + ), 60 * 60 * 24 * 2); } $data = $this->GetCommentsAdditionalData($data); return $data; @@ -414,9 +414,10 @@ class ModuleComment extends Module * @param string $sTargetType Тип владельца комментария * @param int $iPage Номер страницы * @param int $iPerPage Количество элементов на страницу + * @param array|null $aAllowData Список доп данных, котрые нужно подгружать с комментариями * @return array('comments'=>array,'iMaxIdComment'=>int) */ - public function GetCommentsByTargetId($sId, $sTargetType, $iPage = 1, $iPerPage = 0) + public function GetCommentsByTargetId($sId, $sTargetType, $iPage = 1, $iPerPage = 0, $aAllowData = null) { if (Config::Get('module.comment.use_nested')) { return $this->GetCommentsTreeByTargetId($sId, $sTargetType, $iPage, $iPerPage); @@ -434,7 +435,7 @@ class ModuleComment extends Module return array('comments' => array(), 'iMaxIdComment' => 0); } $aComments = $aCommentsRec; - $aComments['comments'] = $this->GetCommentsAdditionalData(array_keys($aCommentsRec['comments'])); + $aComments['comments'] = $this->GetCommentsAdditionalData(array_keys($aCommentsRec['comments']), $aAllowData); foreach ($aComments['comments'] as $oComment) { $oComment->setLevel($aCommentsRec['comments'][$oComment->getId()]); } @@ -556,11 +557,11 @@ class ModuleComment extends Module } //чистим зависимые кеши $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array( - "comment_new", - "comment_new_{$oComment->getTargetType()}", - "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", - "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}" - )); + "comment_new", + "comment_new_{$oComment->getTargetType()}", + "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", + "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}" + )); $oComment->setId($sId); return $oComment; } diff --git a/application/classes/modules/topic/entity/Topic.entity.class.php b/application/classes/modules/topic/entity/Topic.entity.class.php index 05e1f65e..f744d7b9 100644 --- a/application/classes/modules/topic/entity/Topic.entity.class.php +++ b/application/classes/modules/topic/entity/Topic.entity.class.php @@ -77,10 +77,11 @@ class ModuleTopic_EntityTopic extends Entity $this->aValidateRules[] = array( 'topic_tags', 'tags', - 'countMax' => 15, + 'countMax' => Config::Get('module.topic.tags_count_max'), + 'countMin' => Config::Get('module.topic.tags_count_min'), 'condition' => 'isNeedValidateTags', 'label' => $this->Lang_Get('topic.add.fields.tags.label'), - 'allowEmpty' => Config::Get('module.topic.allow_empty_tags') + 'allowEmpty' => Config::Get('module.topic.tags_allow_empty') ); $this->aValidateRules[] = array('blogs_id_raw', 'blogs'); diff --git a/application/config/config.php b/application/config/config.php index d0e0d1ea..9b5be54e 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -144,7 +144,9 @@ $config['module']['topic']['allow_empty'] = false; // Разрешать $config['module']['topic']['title_max_length'] = 200; // Максимальное количество символов в заголовке топика $config['module']['topic']['title_min_length'] = 2; // Минимальное количество символов в заголовке топика $config['module']['topic']['title_allow_empty'] = false; // Разрешать или нет не заполнять заголовок топика -$config['module']['topic']['allow_empty_tags'] = false; // Разрешать или нет не заполнять теги +$config['module']['topic']['tags_allow_empty'] = false; // Разрешать или нет не заполнять теги +$config['module']['topic']['tags_count_min'] = 1; // Минимальное количество тегов +$config['module']['topic']['tags_count_max'] = 15; // Максимальное количество тегов $config['module']['topic']['default_period_top'] = 1; // Дефолтный период (количество дней) для отображения ТОП топиков. Значения: 1,7,30,'all' $config['module']['topic']['default_period_discussed'] = 1; // Дефолтный период (количество дней) для отображения обсуждаемых топиков. Значения: 1,7,30,'all' $config['module']['topic']['max_blog_count'] = 3; // Количество блогов, которые можно задать топику. Максимальное значение 5. diff --git a/application/frontend/components/topic/topic-add.tpl b/application/frontend/components/topic/topic-add.tpl index d313a390..c1aeb2ca 100644 --- a/application/frontend/components/topic/topic-add.tpl +++ b/application/frontend/components/topic/topic-add.tpl @@ -95,10 +95,12 @@ {* Теги *} {if $type->getParam('allow_tags')} + {$tagsCountMin=Config::Get('module.topic.tags_count_min')} + {$tagsCountMax=Config::Get('module.topic.tags_count_max')} {component 'field' template='text' name = 'topic[topic_tags]' value = {(( $topic ) ? $topic->getTags() : '')} - rules = [ 'required' => !Config::Get('module.topic.allow_empty_tags'), 'rangetags' => '[1,15]' ] + rules = [ 'required' => !Config::Get('module.topic.tags_allow_empty'), 'rangetags' => "[{$tagsCountMin},{$tagsCountMax}]" ] label = {lang 'topic.add.fields.tags.label'} note = {lang 'topic.add.fields.tags.note'} inputClasses = 'ls-width-full autocomplete-tags-sep'} diff --git a/application/install/backend/step/checkRequirements.php b/application/install/backend/step/checkRequirements.php index 806952a2..d77ce095 100644 --- a/application/install/backend/step/checkRequirements.php +++ b/application/install/backend/step/checkRequirements.php @@ -10,7 +10,7 @@ class InstallStepCheckRequirements extends InstallStep */ $sAdditionalSolution = ''; $aRequirements = array(); - if (!version_compare(PHP_VERSION, '5.4', '>=')) { + if (!version_compare(PHP_VERSION, '5.5', '>=')) { $aRequirements[] = array( 'name' => 'php_version', 'current' => PHP_VERSION diff --git a/application/install/data/sql/patch_1.0.3_to_2.0.0.sql b/application/install/data/sql/patch_1.0.3_to_2.0.0.sql index 481fa17b..ac21e4ce 100644 --- a/application/install/data/sql/patch_1.0.3_to_2.0.0.sql +++ b/application/install/data/sql/patch_1.0.3_to_2.0.0.sql @@ -881,4 +881,85 @@ ALTER TABLE `prefix_topic` ADD `topic_date_publish` DATETIME NOT NULL AFTER `top UPDATE `prefix_topic` SET `topic_date_publish` = `topic_date_add`; -- 09.09.2015 -ALTER TABLE `prefix_blog` ADD `blog_skip_index` TINYINT(1) NOT NULL DEFAULT '0' , ADD INDEX (`blog_skip_index`) ; \ No newline at end of file +ALTER TABLE `prefix_blog` ADD `blog_skip_index` TINYINT(1) NOT NULL DEFAULT '0' , ADD INDEX (`blog_skip_index`) ; + +-- 30.09.2016 +ALTER TABLE `prefix_subscribe` CHANGE `target_type` `target_type` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL; +ALTER TABLE `prefix_subscribe` CHANGE `target_id` `target_id` VARCHAR(50) NULL DEFAULT NULL; +ALTER TABLE `prefix_property` CHANGE `sort` `sort` INT(11) NOT NULL DEFAULT '0'; +ALTER TABLE `prefix_property` CHANGE `description` `description` VARCHAR(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; +ALTER TABLE `prefix_property_target` CHANGE `params` `params` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; +ALTER TABLE `prefix_rbac_permission` CHANGE `msg_error` `msg_error` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; +ALTER TABLE `prefix_category` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_category` CHANGE `type_id` `type_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_category` CHANGE `pid` `pid` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_category_target` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_category_target` CHANGE `category_id` `category_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_category_target` CHANGE `type_id` `type_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_category_type` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_cron_task` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_geo_city` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_geo_city` CHANGE `country_id` `country_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_geo_city` CHANGE `region_id` `region_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_geo_country` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_geo_region` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_geo_region` CHANGE `country_id` `country_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_geo_target` CHANGE `geo_id` `geo_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_geo_target` CHANGE `country_id` `country_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_geo_target` CHANGE `region_id` `region_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_geo_target` CHANGE `city_id` `city_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_invite_code` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_invite_code` CHANGE `user_id` `user_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_invite_use` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_invite_use` CHANGE `code_id` `code_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_invite_use` CHANGE `from_user_id` `from_user_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_invite_use` CHANGE `to_user_id` `to_user_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_media` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_media` CHANGE `user_id` `user_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_media_target` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_media_target` CHANGE `media_id` `media_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_plugin_migration` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_plugin_version` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_poll` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_poll` CHANGE `user_id` `user_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_poll_answer` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_poll_answer` CHANGE `poll_id` `poll_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_poll_vote` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_poll_vote` CHANGE `poll_id` `poll_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_poll_vote` CHANGE `user_id` `user_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_property` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_select` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_select` CHANGE `property_id` `property_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_property_target` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_value` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_value` CHANGE `property_id` `property_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_property_value_select` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_value_select` CHANGE `property_id` `property_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_property_value_select` CHANGE `select_id` `select_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_property_value_tag` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_property_value_tag` CHANGE `property_id` `property_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_rbac_group` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_rbac_permission` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_rbac_permission` CHANGE `group_id` `group_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_rbac_role` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_rbac_role` CHANGE `pid` `pid` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_rbac_role_permission` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_rbac_role_permission` CHANGE `role_id` `role_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_rbac_role_permission` CHANGE `permission_id` `permission_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_rbac_role_user` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_rbac_role_user` CHANGE `role_id` `role_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_storage` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_stream_event` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_stream_subscribe` CHANGE `target_user_id` `target_user_id` INT(11) UNSIGNED NOT NULL; +ALTER TABLE `prefix_subscribe` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_talk_user` CHANGE `comment_id_last` `comment_id_last` INT(11) UNSIGNED NOT NULL DEFAULT '0'; +ALTER TABLE `prefix_topic_type` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_user_changemail` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_user_complaint` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_user_field` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_user_field_value` CHANGE `field_id` `field_id` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_user_note` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_wall` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_wall` CHANGE `pid` `pid` INT(11) UNSIGNED NULL DEFAULT NULL; +ALTER TABLE `prefix_invite_code` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; +ALTER TABLE `prefix_invite_use` CHANGE `id` `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT; diff --git a/framework b/framework index 188e3589..b32d3f4c 160000 --- a/framework +++ b/framework @@ -1 +1 @@ -Subproject commit 188e358959c3afba177f29ccd670d3624b6e3bde +Subproject commit b32d3f4c787147d9c33c78f227e6c778aea3ec63