1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-01 07:38:11 +03:00

Мелкие исправления

This commit is contained in:
Denis Shakhov 2013-07-31 13:35:19 +07:00
parent e3fe15e197
commit 7d2b9ab7d0
6 changed files with 113 additions and 66 deletions

View file

@ -1,17 +1,50 @@
var ls = ls || {};
/**
* JS функционал для блогов
*/
* Блоги
*/
var ls = ls || {};
ls.blog = (function ($) {
"use strict";
/**
* Дефолтные опции
*/
var defaults = {
// Роутеры
oRouters: {
},
// Селекторы
selectors: {
addBlogSelectType: '.js-blog-add-type'
}
};
/**
* Инициализация
*
* @param {Object} options Опции
*/
this.init = function(options) {
var self = this;
this.options = $.extend({}, defaults, options);
// Подгрузка информации о выбранном типе блога при создании блога
$(this.options.selectors.addBlogSelectType).on('change', function (e) {
ls.blog.loadInfoType($(this).val());
});
};
/**
* Вступить или покинуть блог
*/
this.toggleJoin = function(obj, idBlog){
var url = aRouter['blog']+'ajaxblogjoin/';
var params = {idBlog: idBlog};
ls.hook.marker('toggleJoinBefore');
ls.ajax(url,params,function(result) {
if (result.bStateError) {
@ -19,15 +52,15 @@ ls.blog = (function ($) {
} else {
obj = $(obj);
ls.msg.notice(null, result.sMsg);
var text = result.bState
? ls.lang.get('blog_leave')
: ls.lang.get('blog_join')
;
obj.empty().text(text);
obj.toggleClass('active');
$('#blog_user_count_'+idBlog).text(result.iCountUser);
ls.hook.run('ls_blog_toggle_join_after',[idBlog,result],obj);
}
@ -41,10 +74,10 @@ ls.blog = (function ($) {
var sUsers = $('#blog_admin_user_add').val();
if(!sUsers) return false;
$('#blog_admin_user_add').val('');
var url = aRouter['blog']+'ajaxaddbloginvite/';
var params = {users: sUsers, idBlog: idBlog};
ls.hook.marker('addInviteBefore');
ls.ajax(url, params, function(result) {
if (result.bStateError) {
@ -66,7 +99,7 @@ ls.blog = (function ($) {
ls.hook.run('ls_blog_add_invite_after',[idBlog,sUsers,result]);
}
});
return false;
};
@ -76,7 +109,7 @@ ls.blog = (function ($) {
this.repeatInvite = function(idUser,idBlog) {
var url = aRouter['blog']+'ajaxrebloginvite/';
var params = {idUser: idUser, idBlog: idBlog};
ls.hook.marker('repeatInviteBefore');
ls.ajax(url, params, function(result){
if (result.bStateError) {
@ -86,7 +119,7 @@ ls.blog = (function ($) {
ls.hook.run('ls_blog_repeat_invite_after',[idUser,idBlog,result]);
}
});
return false;
};
@ -111,26 +144,28 @@ ls.blog = (function ($) {
return false;
};
/**
* Отображение информации о блоге
*/
this.loadInfo = function(idBlog) {
var url = aRouter['blog']+'ajaxbloginfo/';
var params = {idBlog: idBlog};
var block = $('#block_blog_info');
block.empty().addClass('loading');
ls.hook.marker('loadInfoBefore');
ls.ajax(url, params, function(result){
if (result.bStateError) {
ls.msg.error(null, result.sMsg);
} else {
var block = $('#block_blog_info');
block.html(result.sText);
block.removeClass('loading').html(result.sText);
ls.hook.run('ls_blog_load_info_after',[idBlog,result],block);
}
});
};
/**
* Отображение информации о типе блога
*/
@ -167,13 +202,13 @@ ls.blog = (function ($) {
$('#blog-more-content').slideToggle();
var more = $('#blog-more');
more.toggleClass('expanded');
if(more.hasClass('expanded')) {
more.html(ls.lang.get('blog_fold_info'));
} else {
more.html(ls.lang.get('blog_expand_info'));
}
return false;
};

View file

@ -21,7 +21,8 @@ ls.topic = (function ($) {
previewImage: '.js-topic-preview-image',
previewImageLoader: '.js-topic-preview-loader',
previewTopicTextButton: '.js-topic-preview-text-button',
previewTopicTextHideButton: '.js-topic-preview-text-hide-button'
previewTopicTextHideButton: '.js-topic-preview-text-hide-button',
addTopicTitle: '.js-topic-add-title'
}
};
@ -40,7 +41,7 @@ ls.topic = (function ($) {
$(this).imagesLoaded(function () {
var $this = $(this),
$preview = $this.closest(self.options.selectors.previewImageLoader).removeClass('loading');
$this.height() < $preview.height() && $this.css('top', ($preview.height() - $this.height()) / 2 );
});
});
@ -50,10 +51,15 @@ ls.topic = (function ($) {
self.showPreviewText('form-topic-add', 'topic-text-preview');
});
// Закрытие превью
// Закрытие превью текста
$(document).on('click', this.options.selectors.previewTopicTextHideButton, function (e) {
self.hidePreviewText();
});
// Подгрузка информации о выбранном блоге при создании топика
$(this.options.selectors.addTopicTitle).on('change', function (e) {
ls.blog.loadInfo($(this).val());
});
};
/**

View file

@ -31,18 +31,18 @@
{* Название блога *}
{include file='forms/form.field.text.tpl'
sFieldName = 'blog_title'
{include file='forms/form.field.text.tpl'
sFieldName = 'blog_title'
sFieldRules = 'required="true" rangelength="[2,200]"'
sFieldNote = $aLang.blog_create_title_notice
sFieldNote = $aLang.blog_create_title_notice
sFieldLabel = $aLang.blog_create_title}
{* URL блога *}
{include file='forms/form.field.text.tpl'
sFieldName = 'blog_url'
{include file='forms/form.field.text.tpl'
sFieldName = 'blog_url'
sFieldRules = 'required="true" type="alphanum" rangelength="[2,50]"'
bFieldIsDisabled = $_aRequest.blog_id && ! $oUserCurrent->isAdministrator()
sFieldNote = $aLang.blog_create_url_notice
sFieldNote = $aLang.blog_create_url_notice
sFieldLabel = $aLang.blog_create_url}
@ -59,7 +59,7 @@
]}
{/foreach}
{include file='forms/form.field.select.tpl'
{include file='forms/form.field.select.tpl'
sFieldName = 'blog_category'
sFieldLabel = $aLang.blog_create_category
sFieldNote = $aLang.blog_create_category_notice
@ -75,19 +75,19 @@
[ 'value' => 'close', 'text' => $aLang.blog_create_type_close ]
]}
{include file='forms/form.field.select.tpl'
{include file='forms/form.field.select.tpl'
sFieldName = 'blog_type'
sFieldLabel = $aLang.blog_create_type
sFieldNote = $aLang.blog_create_type_open_notice
sFieldClasses = 'width-200 js-blog-add-type'
aFieldItems = $aBlogsType
sFieldSelectedValue = $_aRequest.blog_type} {* TODO: Подсказка при смене типа *}
sFieldSelectedValue = $_aRequest.blog_type}
{* Описание блога *}
{include file='forms/form.field.textarea.tpl'
{include file='forms/form.field.textarea.tpl'
sFieldName = 'blog_description'
sFieldRules = 'required="true" rangelength="[10,3000]"'
sFieldRules = 'required="true" rangelength="[10,3000]"'
sFieldLabel = $aLang.blog_create_description
sFieldClasses = 'width-full js-editor'}
@ -96,9 +96,9 @@
{include file='forms/editor.help.tpl' sTagsTargetId='blog_description'}
{/if}
{* Ограничение по рейтингу *}
{include file='forms/form.field.text.tpl'
{include file='forms/form.field.text.tpl'
sFieldName = 'blog_limit_rating_topic'
sFieldRules = 'required="true" type="number"'
sFieldValue = '0'
@ -116,13 +116,13 @@
{include file='forms/form.field.checkbox.tpl' sFieldName='avatar_delete' bFieldNoMargin=true sFieldValue='on' sFieldLabel=$aLang.blog_create_avatar_delete}
{/if}
{include file='forms/form.field.file.tpl'
{include file='forms/form.field.file.tpl'
sFieldName = 'avatar'
sFieldLabel = $aLang.blog_create_avatar}
{hook run='form_add_blog_end'}
{* Скрытые поля *}
{include file='forms/form.field.hidden.security_key.tpl'}

View file

@ -168,6 +168,12 @@ jQuery(document).ready(function($){
ls.pagination.init();
/**
* Blog
*/
ls.blog.init();
/**
* Photoset
*/

View file

@ -49,20 +49,20 @@
]}
{/foreach}
{include file='forms/form.field.select.tpl'
{include file='forms/form.field.select.tpl'
sFieldName = 'blog_id'
sFieldLabel = $aLang.topic_create_blog
sFieldNote = $aLang.topic_create_blog_notice
sFieldClasses = 'width-full js-topic-add-title'
sFieldClasses = 'width-full js-topic-add-title'
aFieldItems = $aBlogs
sFieldSelectedValue = $_aRequest.blog_id} {* TODO: Подгрузка инфы при смене блога *}
sFieldSelectedValue = $_aRequest.blog_id}
{* Заголовок топика *}
{include file='forms/form.field.text.tpl'
sFieldName = 'topic_title'
sFieldRules = 'required="true" rangelength="[2,200]"'
sFieldNote = $aLang.topic_create_title_notice
{include file='forms/form.field.text.tpl'
sFieldName = 'topic_title'
sFieldRules = 'required="true" rangelength="[2,200]"'
sFieldNote = $aLang.topic_create_title_notice
sFieldLabel = $aLang.topic_create_title}
@ -71,10 +71,10 @@
{* Текст топика *}
{* TODO: Max length for poll and link *}
{include file='forms/form.field.textarea.tpl'
{include file='forms/form.field.textarea.tpl'
sFieldName = 'topic_text'
sFieldRules = 'required="true" rangelength="[2,'|cat:$oConfig->Get('module.topic.max_length')|cat:']"'
sFieldLabel = $aLang.topic_create_text
sFieldRules = 'required="true" rangelength="[2,'|cat:$oConfig->Get('module.topic.max_length')|cat:']"'
sFieldLabel = $aLang.topic_create_text
sFieldClasses = 'width-full js-editor'}
{* Если визуальный редактор отключен выводим справку по разметке для обычного редактора *}
@ -84,30 +84,30 @@
{block name='add_topic_form_text_after'}{/block}
{* Теги *}
{* TODO: Валидатор кол-ва тегов *}
{include file='forms/form.field.text.tpl'
{include file='forms/form.field.text.tpl'
sFieldName = 'topic_tags'
sFieldRules = 'required="true"'
sFieldNote = $aLang.topic_create_tags_notice
sFieldLabel = $aLang.topic_create_tags
sFieldNote = $aLang.topic_create_tags_notice
sFieldLabel = $aLang.topic_create_tags
sFieldClasses = 'width-full autocomplete-tags-sep'}
{* Запретить комментарии *}
{include file='forms/form.field.checkbox.tpl'
{include file='forms/form.field.checkbox.tpl'
sFieldName = 'topic_forbid_comment'
sFieldNote = $aLang.topic_create_forbid_comment_notice
sFieldNote = $aLang.topic_create_forbid_comment_notice
sFieldLabel = $aLang.topic_create_forbid_comment}
{* Принудительный вывод топиков на главную (доступно только админам) *}
{if $oUserCurrent->isAdministrator()}
{include file='forms/form.field.checkbox.tpl'
{include file='forms/form.field.checkbox.tpl'
sFieldName = 'topic_publish_index'
sFieldNote = $aLang.topic_create_publish_index_notice
sFieldNote = $aLang.topic_create_publish_index_notice
sFieldLabel = $aLang.topic_create_publish_index}
{/if}
@ -119,7 +119,7 @@
{* Скрытые поля *}
{include file='forms/form.field.hidden.tpl' sFieldName='topic_type' value=$sTopicType}
{include file='forms/form.field.hidden.security_key.tpl'}
{* Кнопки *}
{if $sEvent == 'add' or ($oTopicEdit and $oTopicEdit->getPublish() == 0)}
@ -128,9 +128,9 @@
{$sSubmitInputText = $aLang.topic_create_submit_update}
{/if}
{include file='forms/form.field.button.tpl'
sFieldName = 'submit_topic_publish'
sFieldStyle = 'primary'
{include file='forms/form.field.button.tpl'
sFieldName = 'submit_topic_publish'
sFieldStyle = 'primary'
sFieldClasses = 'fl-r'
sFieldText = $sSubmitInputText}
{include file='forms/form.field.button.tpl' sFieldType='button' sFieldClasses='js-topic-preview-text-button' sFieldText=$aLang.topic_create_submit_preview}

View file

@ -28,21 +28,21 @@
<div class="photoset-upload">
<header>
<h2>{$aLang.topic_photoset_upload_title}</h2>
<div class="note">
{$aLang.topic_photoset_upload_rules|ls_lang:"SIZE%%`$oConfig->get('module.topic.photoset.photo_max_size')`":"COUNT%%`$oConfig->get('module.topic.photoset.count_photos_max')`"}
</div>
<input type="hidden" name="topic_main_photo" id="topic_main_photo" value="{$_aRequest.topic_main_photo}" />
</header>
<ul class="photoset-upload-images" id="swfu_images">
{if count($aPhotos)}
{foreach $aPhotos as $oPhoto}
{if $_aRequest.topic_main_photo && $_aRequest.topic_main_photo == $oPhoto->getId()}
{$bIsMainPhoto = true}
{/if}
<li id="photo_{$oPhoto->getId()}" class="photoset-upload-images-item {if $bIsMainPhoto}marked-as-preview{/if}">
<img src="{$oPhoto->getWebPath('100crop')}" alt="image" />
<textarea onBlur="ls.photoset.setPreviewDescription({$oPhoto->getId()}, this.value)" class="width-full">{$oPhoto->getDescription()}</textarea><br />
@ -55,12 +55,12 @@
{/if}
</span>
</li>
{$bIsMainPhoto = false}
{/foreach}
{/if}
</ul>
<footer>
<a href="#" data-type="modal-toggle" data-option-target="modal-photoset-upload" class="link-dotted" id="photoset-start-upload">{$aLang.topic_photoset_upload_choose}</a>
</footer>