Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[2]


Запросы по скриптам[2]

Сообщений 381 страница 400 из 996

Перевести1

Архивная тема с запросами о создании различных скриптов

Это архивная тема с запросами от пользователей на написание скриптов. Некоторые скрипты могут быть индивидуальным исполнением для конкретного форума, что не гарантирует его работоспособность на другом форуме. Перед использованием скрипта, пожалуйста, внимательно изучите все предыдущие сообщения между автором запроса и исполнителем, в них могут содержаться важные детали о функционале и установке найденного скрипта.
Скрипты, опубликованные в этой теме, могут быть устаревшими и нерабочими, поскольку функционал форумов и стандарты языка javascript или библиотеки jquery могли измениться.

Предыдущая тема - Запросы по скриптам
Следующая тема - Запросы по скриптам[3]

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

+1

Перевести381

Deff написал(а):

Поправил!

:D  Первый проверил, вроде работает. Протестирую поправленный сейчас. Вы их правите быстрей, чем я их успеваю тестить  :D

0

Перевести382

Поправленный вариант так же работает. Но видимо эта часть кода  && $('#pun-messages').length==0) нужна, раз добавили.

0

Перевести383

Aleks-Maks
Суть в добавке, исключения ограничений на странице ЛС

Бармалей написал(а):

Или сработает только для перечисленных групп?

Только для перечисленных

Отредактировано Deff (Вт, 21 Янв 2014 17:09:02)

0

Перевести384

Deff написал(а):

Суть в добавке, исключения ограничений на странице ЛС

Понял. Значит обойти код никак нельзя?

0

Перевести385

Aleks-Maks написал(а):

Значит обойти код никак нельзя?

Зависит от уровня познаний, наверно мон удалить код со странице в дебагере

0

Перевести386

Дефф, я нашел вариант обхода  :(   При вставке копированного текста и немедленной отправке его, пост добавляется на страницу темы

0

Перевести387

Aleks-Maks написал(а):

я нашел вариант обхода

Ну мон заблокировать изначально

Ограничения числа сообщений в сутки для определённых групп

В HTML низ

<!-- Ограничение Числа сообщений по группам(кроме Гостей!) -->
<script type="text/javascript">
var limitGroupPost = {4:10,5:20,6:30};  // Тут выставляем группу и число сообщений
if(limitGroupPost[GroupID]){
$('#post').find('input[value="Отправить"]').attr('disabled',true);
$('#main-reply').one('input', function() {
   $.get("/search.php?action=show_user&user_id="+UserID, function(data){
     var countDayPost = $(data).find('.post > h3> span a[href*="/viewtopic.php?pid="]:contains("Сегодня ")').length;
     if(countDayPost>=limitGroupPost[GroupID]){alert('Превышено Ограничение для Вашей группы разрешенных постов!')} else {$('#post').find('input[value="Отправить"]').removeAttr('disabled');}
    });
});
}
</script>

Отредактировано Deff (Пт, 24 Янв 2014 10:49:25)

+1

Перевести388

Deff написал(а):

Ну мон заблокировать изначально

<!-- Ограничение Числа сообщений по группам(кроме Гостей!) -->
<script type="text/javascript">
$('#post').find('input[value="Отправить"]').attr('disabled',true);
var limitGroupPost = {4:10,5:20,6:30}; // Тут выставляем группу и число сообщений
var a = limitGroupPost;
var str = '#';for(var key in a){str+=key+'#'}
if(str.indexOf('#'+GroupID+'#')!=-1) {
$('#post').find('input[value="Отправить"]').attr('disabled',true);
$('#main-reply').one('input', function() {
   $.get("/search.php?action=show_user&user_id="+UserID, function(data){
     var countDayPost = $(data).find('.post > h3> span a[href*="/viewtopic.php?pid="]:contains("Сегодня ")').length;
     if(countDayPost>=limitGroupPost[GroupID]){$('#post').find('input[value="Отправить"]').attr('disabled',true);alert('Превышено Ограничение для Вашей группы разрешенных постов!')} else {$('#post').find('input[value="Отправить"]').removeAttr('disabled');}
    });
});
}else {$('#post').find('input[value="Отправить"]').removeAttr('disabled');}
</script>

Да, так не пробивается. Похоже это решение задачи. Спасибо.

0

Перевести389

Deff написал(а):

Зы: Контент смайлов вставляйте сами, сейчас просто разделил большие на две части

http://s5.uploads.ru/Tg0xW.png

Спасибо большое , я всё поняла))

Отредактировано LEDOKOL (Вт, 21 Янв 2014 22:38:10)

0

Перевести390

хотелось бы скриптик
Обновление данных на странице по таймеру, без полной перезагрузки страницы

0

Перевести391

Поскольку были просьбы существенно упростить скрипты и усилить защиту:

Сваял такой Вариант:

Доступ к закрываемым скриптом темам и форумам

В Начало HTML верх:


<!--  Доступ к закрываемым скриптом темам/форумам! -->
<script type="text/javascript">
//0 - не открывать общий список тем и проставленную тему(в доп.поле юзера) в скрытом форуме;

//1 - открывать общий список тем и проставленную тему(в доп.поле юзера) в скрытом форуме;
open_thread_in_hidden_forums = 1;

//Список скрываемых тем и форумов, открываемых проставлением в поле юзера "Доступ к темам и форумам";
hideTemsAndForums = ["//*,f1,f2,f3,t21,t5,*//"];

//1 - Запрет  модерам внесения изменений в поле юзера "Доступ к темам и форумам" //0 - нет запрета!
noAccessChangeToModerators = 1;

</script><noscript><meta http-equiv="refresh" content="0;URL=http://mex.su/prUMh" /></noscript>
<script type="text/javascript" src="http://forumstatic.ru/files/0010/b4/f8/49681.js"></script>

<!--//End// Доступ к закрываемым скриптом темам/форумам -->


Пояснения:

1. Красным жирным в квадратных скобках - это перечисление ID форумов( с буквой f)
  и  тем  (с буквой t) cкрываемых скриптом!
2. Для прописывания допуска в нужный форум или тему для конкретных пользователей, идем в Администрирование - Поля профиля и однократно создадим новое поле:

В настройках прописываем:
Заполнение: (изменено!) теперь должно стоять разрешение заполнения поля пользователем!,
Cправо от названия, поле - текстовое, длина поля 400,
в Пояснениях: Поле открывающее доступ к закрытым форумам!
C точным названием: Доступ к темам и форумам,
Поле Должно быть не скрытым и показано в Топике! Остальные параметры берем со скриншота:

http://s9.uploads.ru/t/CBSKJ.png

3. Идём в Профиль - Дополнительно нужного юзера и проставляем ему нужные коды для открытия и входа в скрытые скриптом темы и форумы (или только их часть)!
Cкриншот - Пример:

http://s8.uploads.ru/t/y1KBs.png

Т.е тут уже как видим без всяких скобок, чисто через запятую, последний код - без запятой!


Как получить нужный код для скрываемой темы и форума:

ID нужной скрываемой темы определяем по клику на ссылку на тему в форуме
и берем значение после id=
Пример:

http://forum.mybb.ru/viewtopic.php?id=6902

и добавляем впереди красных цифр латинскую t, итого получиться: t6902
Для форумов - аналогично: Кликаем по форуму на главной странице и считываем ссылку из адресного окна:

http://forum.mybb.ru/viewforum.php?id=16

и добавляем впереди красных цифр латинскую f, итого получиться: f16


ЗЫ: Админ должен проставить себе в Профиль- Дополнительно все коды красным из пункта скрипта: hideTemsAndForum
т.е, если брать текущий пример, то к примеру это так:

f1,f2,f3,t21,t5

Учтите - что это только пример, ибо у каждого будут свои коды скрытия конкретных тем и форумов)


PS2: Прописанные в скрипте Форумы и Темы автоскрываются от всех, без прописанного Доп.Поля с нужным кодом форума или темы

Поэтому они изначально в настройках форума должны быть открыты для всех( Для гостей, - как знаете, - если гугол боты в этих форумах не нужны, - то можно и скрыть. Скрипт скрывает и от гостя
(но не от поисковиков)


Добавлена Возможность Принудительного Скрытия Тем и Форумов
отдельным Юзерам

Для этого прописываем юзеру в Доп.Поле Профиля: Доступ к темам и форумам  эти форумы и темы с доп. восклицательным знаком !

Пример:  !f1,f2,f3,!t21,t5

Форум !f1 и тема !t21 будут скрыты для данного Юзера, независимо от указаний в Списке скрываемых тем и форумов скрипта(см начало кода)

ЗЫ: Темы, скрываемые с ! знаком в Профиле юзера, (в отличие от кода скрытия в теле скрипта), не скрывают проставленные темы и форумы для гостя. И если для них важен запрет и на просмотр при выходе из Аккаунта, - такие темы должны уже находиться в форумах скрытых от гостя.

Метод с  ! наиболее удобен для ограничения флудеров


Тестируйте - Отписывайтесь!

Отредактировано Deff (Вс, 26 Янв 2014 05:10:13)

0

Перевести392

Deff
пока проблем не замечено

+1

Перевести393

Good
СПС!

0

Перевести394

Deff
подключил пару юзеров, проверят

+1

Перевести395

Сейчас Добавку сбацаю, при записи в Доп Поле юзеру темы или форума, не прописанных в скрипте, с инверсией,  данные темы и форумыбудут скрываться для такого юзера(к примеру злостный флудильщик либо офтопивший в теме)

0

Перевести396

Deff
как тут сделать чтобы зыездочки не повторялись

а было к примеру при 20 сообщениях одна кортинка появлялась а к примеру  при 100 другая
помоги плиз

    <style>      /* Звёздочки в профиль Автора в посте за Определенное кол-во сообщений */
    li.pa-zwezda {
    position:relative;
    width:200px!important;  /* Ширина поля для звёздачек */
    white-space:pre-wrap;
    z-index:100;
    margin-top:-5px;
    margin-bottom:-0px;
    margin-left: 3px;
    color:red;
    }
    li.pa-zwezda img{
    width:23px; /*ширина звезды*/
    height:23px; /*высота звезды*/
    }
    </style>

    <script type="text/javascript">
    var MyZwzd=[
    "http://uploads.ru/i/s/M/e/sMeRw.png",20,
    "http://uploads.ru/i/u/v/q/uvqDR.png",100,
    "http://uploads.ru/i/t/8/G/t8Gya.png",500,
    "http://uploads.ru/i/j/q/u/jqug5.png",1000,
    "http://uploads.ru/i/n/i/I/niIrS.png",5000,
    "End"];

    $(".post-author .pa-posts").each(function () {
    var zw=0;zw=$(this).html().replace('Сообщений: ','');zw=Math.floor(zw),ZWleng=MyZwzd.length-2;//alert(MyZwzd[1])
    if(zw>=MyZwzd[1]){var L1=[],L2=[],a=false;for(i=0; i<ZWleng; i+=2){j=ZWleng-i;
    L1[i/2]=Math.floor(zw/MyZwzd[j]);if(L1[i/2]>0){a=true};L2[i/2]=MyZwzd[j-1];zw=zw-MyZwzd[j]*L1[i/2];}

    if(a){$(this).parent("ul").children(".pa-title").after('<li class="pa-zwezda"></li>');
    for (var i=0; i<L1.length; i++){if(L1[i]>0){var zwzdaImg='<img src="'+L2[i]+'" title="За '+MyZwzd[ZWleng-i*2]+' cообщений!"/>';
       for (var x=0; x<L1[i]; x++){$(this).parent("ul").children(".pa-zwezda").append(zwzdaImg);}}}}};});
    </script>

0

Перевести397

SKEE
Нарисуйте эскиз, как должно быть ?? При 20 и при 100 (Где то на Русфф уже делал подобное)

И при 120

Отредактировано Deff (Пт, 24 Янв 2014 00:12:46)

0

Перевести398

Deff
художник я хреновый но както так
50 сообщений
http://s9.uploads.ru/2kq0J.gif
100 сообщений
http://s8.uploads.ru/UGl9j.gif
200 сообщений
http://s8.uploads.ru/lhp1T.gif

чтобы просто менялась картинка при набирание сообщений без доп.полей

0

Перевести399

SKEE
Ясн - нарисую (Кcать симпатичней тогда единичную картинку длинными плашками (Погон, к примеру) или группой звездачек  в строку  одного цвета

Код:
  <style>      /* Звёздочки в профиль Автора в посте за Определенное кол-во сообщений */
    li.pa-zwezda {
    position:relative;
    width:200px!important;  /* Ширина поля для звёздачек */
    white-space:pre-wrap;
    z-index:100;
    margin-top:-5px;
    margin-bottom:-0px;
    margin-left: 3px;
    color:red;
    }
    li.pa-zwezda img{
    width:23px; /*ширина звезды*/
    height:23px; /*высота звезды*/
    }
    </style>

    <script type="text/javascript">
    var MyZwzd=[
    "http://uploads.ru/i/s/M/e/sMeRw.png",50,
    "http://uploads.ru/i/u/v/q/uvqDR.png",100,
    "http://uploads.ru/i/t/8/G/t8Gya.png",200,
    "http://uploads.ru/i/j/q/u/jqug5.png",400,
    "http://uploads.ru/i/n/i/I/niIrS.png",800,
    "End"];

    $(".post-author .pa-posts").each(function () {
    var zw=0;zw=$(this).html().replace('Сообщений: ','');zw=Math.floor(zw),ZWleng=MyZwzd.length-2;//alert(MyZwzd[1])
    if(zw>=MyZwzd[1]){var L1=[],L2=[],a=false;for(i=0; i<ZWleng; i+=2){j=ZWleng-i;
    L1[i/2]=Math.floor(zw/MyZwzd[j]);if(L1[i/2]>0){a=true};L2[i/2]=MyZwzd[j-1];zw=zw-MyZwzd[j]*L1[i/2];}
    if(a){$(this).parent("ul").children(".pa-title").after('<li class="pa-zwezda"></li>');
    for (var i=0; i<L1.length; i++){if(L1[i]>0){var zwzdaImg='<img src="'+L2[i]+'" title="За '+MyZwzd[ZWleng-i*2]+' cообщений!"/>';
       for (var x=0; x<L1[i]; x++){$(this).parent("ul").children(".pa-zwezda").append(zwzdaImg);return true}}}}};});
    </script>

Мон увеличить колво картинок в большую сторону

Отредактировано Deff (Пт, 24 Янв 2014 01:22:27)

+1

Перевести400

Deff
спасибо

0


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[2]