рассмотрите свой вопрос более детально по кусочкам. все ответы есть на сайте. юзайте поиск. гляньте здесь, здесь и тд и тп. все уже давно сделано и расписано так, что и дурак поймет. просто пользуйтесь поиском, именно он самое лучшее решение всех проблем)
ну если сделаешь, будем рады лицезреть твое творение! насчет префиксов, что вводить, я это понял, вопрос только куда это вводить? в экшен? я плохо разбираюсь в программировании и адаптировал этот модуль полагаясь на логику и интуицую. поэтому я не совсем понимаю о чем ты говоришь.
да пытался, он почему то искал модуль плагина в структуре движка, а не в самом плагине. просидел над этим долго, так и не разобравшись. выложил просто модуль.
Вся радость в плагине здесь livestreetcms.com/addons/view/26/
у меня нет этой строчки в Vote.class.php. в базе есть.
Вот функция на которую мне указали в Vote.class.php
public function GetVote($sTargetId,$sTargetType,$sUserId) {
$data=$this->GetVoteByArray($sTargetId,$sTargetType,$sUserId);
if (isset($data[$sTargetId])) {
return $data[$sTargetId];
}
return null;
}
но там нет того самого Voter'a.
я понимаю, TargetId за кого голосуют, TargetType тип голоса, VoterId голосоующий. Вот как этому вотеру разрешить еще раз голосовать через сутки? Просто я не совсем понимаю как правильно их поставить и что добавить.
честно говоря я так и не понял, как функция GetVote может решить мою проблему. сколько я не смотрел, даже не знаю за что взяться в этом файле vote.class.php
И это 60*1*1*1 — вообще ни в какие ворота не лезет =D
а как тогда проверять зачисляется ли голос? просто если все получиться, ошибка то вылезет, если прописать после этого елса вы сегодня уже голосовали, но как я тогда узнаю зачислился ли голос.
Есть связка «Кто голосовал» — «За кого голосовал»
Я это уже понял. Но я думал, что именно «Кто голосовал» добавить тогда то и через сколько он будет голосовать еще раз, то это как раз решается вот этой строчкой
if (!($oUserVote=$oEngine->Vote_GetVote($oUser->getId(),'user',$oUserCurrent->getId() or $oUserCurrent->getId()->getVote()->getDate()<time()-60*60*24*1)))
Потому-что так устроено голосование, здесь одной строчкой не обойтись.
Хорошо, одним voteUser.php хотя бы можно обойтись?
Я очень плохо разбираюсь в программировании и попросил помощи, не потому, что мне лень самому делать, а потому что я не знаю как уже можно сделать так, чтобы приблизить желаемый результат.
заменил как вы сказали в редактируемом мной ранее userVote.php(где брал код от голосования админа скокахошь раз) та же ошибка.
взял нулевый userVote.php(какой есть в движке) заменил строчку
if (!($oUserVote=$oEngine->Vote_GetVote($oUser->getId(),'user',$oUserCurrent->getId()))) {
На
if (!($oUserVote=$oEngine->Vote_GetVote($oUser->getId(),'user',$oUserCurrent->getId() or $oUserCurrent->getId()->getVote()->getDate()<time()-60*1*1*1))) {
время для проверки поставил 1 минуту(60*1*1*1). первый раз голосует уже прогресс!!! но второй раз, через минуту выдает опять выдает Please try again later. Что еще нужно добавить, изменить?
При таком раскладе появились хотя бы какие то движения(Please try again later):
if ($oEngine->User_IsAuthorization()) {
if ($oUser=$oEngine->User_GetUserById(getRequest('idUser',null,'post'))) {
$oUserCurrent=$oEngine->User_GetUserCurrent();
if ($oUser->getId()!=$oUserCurrent->getId() or $oUserCurrent->getId()->getVote_date()<time()-60*60*24*1) {
if (!($oUserVote=$oEngine->Vote_GetVote($oUser->getId(),'user',$oUserCurrent->getId())) or $oUserCurrent->getId()->getVote_date()<time()-60*60*24*1) {
if ($oUserCurrent->$oUserCurrent->getId()->getVote_date()<time()-60*60*24*1){
$oUserVote->setDate(date("Y-m-d H:i:s"));
$iTargetId = $oUser->getId();
$oUserVote = null;
}
Скажите, я праильно делаю что дублирую одно и тоже вместо изадминистратор, проверка даты голоса?
Вот с этим я с тобой согласен)
И не говори))
Короче, вместо ЭТОГО
Ставим ЭТО
И вместо ЭТОГО
Ставим ЭТО
// Добавляем имя
$oUser->setProfileName(getRequest('profile_name'));
// Добавляем фамилию
$oUser->setProfileSurname(getRequest('profile_surname'));
Остальное все как в топике…
Вот функция на которую мне указали в Vote.class.php
но там нет того самого Voter'a.
я понимаю, TargetId за кого голосуют, TargetType тип голоса, VoterId голосоующий. Вот как этому вотеру разрешить еще раз голосовать через сутки? Просто я не совсем понимаю как правильно их поставить и что добавить.
Я это уже понял. Но я думал, что именно «Кто голосовал» добавить тогда то и через сколько он будет голосовать еще раз, то это как раз решается вот этой строчкой
Хорошо, одним voteUser.php хотя бы можно обойтись?
Я очень плохо разбираюсь в программировании и попросил помощи, не потому, что мне лень самому делать, а потому что я не знаю как уже можно сделать так, чтобы приблизить желаемый результат.
заменил как вы сказали в редактируемом мной ранее userVote.php(где брал код от голосования админа скокахошь раз) та же ошибка.взял нулевый userVote.php(какой есть в движке) заменил строчку
На
время для проверки поставил 1 минуту(60*1*1*1). первый раз голосует уже прогресс!!! но второй раз, через минуту выдает опять выдает Please try again later. Что еще нужно добавить, изменить?
Скажите, я праильно делаю что дублирую одно и тоже вместо изадминистратор, проверка даты голоса?