• Страница 1 из 1
  • 1
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » nulledb [9]
Результаты поиска
Дата: Пятница, 07.02.2014, 17:35 | Сообщение #1 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Здравствуйте!
Необходима помощь в решении проблемы. У меня есть сайт на uCoz с открытой доской объявлений. Очень много пользователей добавляют свой материал множество раз. Модераторы устают модерировать все это дело. Решили, что было бы не плохо сделать какое-то ограничение на добавление своего материала. Один пользователь может добавлять в день только 2 объявления, если же он хочет добавить третье, то ему пишет "Вы можете добавлять только 2 объявления в день."
Я думаю следует реализовать с помощью PHP и API uCoz.

Алгоритм:
1) Пользователь заходит на страницу добавления материала (доска объявлений), заполняет поля.
2) При нажатии на кнопочку Добавить материал выполняется скрипт, который проверяет ICQ, AOL пользователя (в профиле и редактировании инфы пользователя скрыто).
(В поле ICQ мы будем записывать количество добавленных материалов в текущий день (1, 2), а в AOL - дату (дд.мм.гг) когда эти объявления были добавлены)
4) Скрипт сравнивает текущую дату (дд.мм.гг) и значение поля AOL. Если совпадение, то переходим к проверке поля ICQ:
- если поле пустое, то записывается = 1, скрипт завершает работу и материал успешно добавляется
- если поле = 1, то добавляем еще 1, скрипт завершает работу и материал успешно добавляется
- если поле = 2, то скрипт выдает пользователю сообщение "Вы можете добавлять только 2 объявления в день.", завершает работу и материал не добавляется

Если же дата (поле AOL) не совпадает с текущей, то поля ICQ и AOL очищаются и в них записываются новые данные (1 и текущая дата), скрипт завершает работу и материал успешно добавляется.

Теперь вопросы:
Возможно ли вообще все это реализовать на uCoz?
Если да:
Оптимален ли алгоритм? Возможно есть другие варианты?
Как получить значение полей ICQ и AOL пользователя, который добавляет материал?
Как перезаписать значения этих полей?
Как отменить добавление, когда пользователь нажал на кнопку Добавить?

Буду очень благодарен человеку, который хоть как-то поможет решить проблему!


 
Дата: Пятница, 07.02.2014, 20:56 | Сообщение #2 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


likbezz, спасибо, что ответили! Вы можете привести хотя бы примитивный пример реализации с помощью куков?

Цитата likbezz, Пт, 07.02.2014, 17:46:59
Скриптом - Возвратить false.

Как именно?

Цитата likbezz, Пт, 07.02.2014, 17:46:59
Это хреново - заставлять пользователя заполнять поля, а потом обламывать. Надо проверять ДО этого момента.

Тогда нужно перезагружать страницу после каждого добавления материала, ибо пользователь может попросту тыкать Добавить, закрывать ajax окошко "Материал добавлен" и опять тыкать Добавить.


 
Дата: Пятница, 07.02.2014, 22:23 | Сообщение #3 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Пт, 07.02.2014, 19:22:30
Как вы себе это представляете?

Ну хотя бы сам алгоритм и какие-то участки кода. Если вам не трудно, конечно же.

Цитата likbezz, Пт, 07.02.2014, 19:22:30
Это уже ... подробности - решаются по месту - проверять можно и два раза.
А еще лучше - после добавления просто очищать форму.
Или выгружать пользователя со страницы добавления.
Варианты есть если подумать, и получше чем обламывать после заполнения всех полей.

Я думаю проще всего будет просто после каждого добавления перезагружать страницу.


 
Дата: Суббота, 08.02.2014, 00:30 | Сообщение #4 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Пт, 07.02.2014, 20:56:00
Проверять наличие сообщений за сегодня и в зависимости от проверки показывать форму добавления или табличку с уведомлением.

Вот как бы вы это все дело проверяли? В голове много всего крутится, но объединить это в одно как-то не получается.


 
Дата: Суббота, 08.02.2014, 02:47 | Сообщение #5 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Пт, 07.02.2014, 22:41:48
Я бы? - да просто запросом в апи - если необходимо юзать поля.
Или проверять куку - если неважно.

Я пришел на этот форум за дельным советом, а не за "вокруг да около".
Вы можете навести хоть какой-то пример кода (php || js)проверки куков САБЖа?

P.S. Не подумайте, что я хочу вас оскорбить или еще что-то. Необходим дельный совет специалиста. Если у вас есть своя цена - напишите её.


 
Дата: Суббота, 08.02.2014, 20:19 | Сообщение #6 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


likbezz, все понял, большое спасибо! thumb

Последний вопрос: как будет лучшего всего перезагрузить страницу после добавления материала? Интересует код.


 
Дата: Суббота, 08.02.2014, 21:03 | Сообщение #7 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Сб, 08.02.2014, 18:49:30
Основное в этом - отловить именно удачное добавление материала.

Именно. Не подскажете как это можно сделать? Вся проблема сразу же решается.


 
Дата: Суббота, 08.02.2014, 22:41 | Сообщение #8 | Тема: Ограничение на добавление материалов
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


likbezz, спасибо вам за все советы!

Решил проблему следующим образом:
Код
<?if($URI_ID$='bdAdd0')?>
<script>
$(function(){
$('#bdF77').hide().after('<input class="manFlSbm" id="add_content" value="Добавить материал" onclick="addtob();" type="button">');
});
function addtob(){
  $('#doSmbBt').click();   
  var timer = setInterval(function() {
   $('.myWinSuccess').each(function() {
    if ($(this).text() == 'Материал успешно добавлен') {
     clearInterval(timer);
     alert('Поймано');
    }
   });  
   $('.myWinError').each(function() {
    if ($(this).text()) {
     clearInterval(timer);
    }
   });
}, 1000);
}
</script>
<?endif?>


 
Дата: Вторник, 04.03.2014, 23:20 | Сообщение #9 | Тема: Вывод кода с html файла посредством PHP на uCoz
nulledb
Рядовой
Группа: Проверенные
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline


Здравствуйте. Имеется вопрос.
Имеется сайт. В каждой категории доски объявления необходимо вывести большие тексты с html тегами (для каждой категории свой). Все сделал с помощью условных операторов uCoz, но к сожалению есть ограничение на количество символов и большую половину текстов просто не вставить.
А если все это выводить внешними javascript, то этот текст не будет индексироваться.

Скажите пожалуйста, можно ли на uCoz вывести с html/txt/etc файла текст посредством PHP и как именно это можно сделать?

Заранее спасибо за ответ!


 
Скрипты и коды для юкоз - Форум аццкого кодера » Записи участника » nulledb [9]
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия