Свободные выполнения в заданиях SoooFast
Свободные выполнения в заданиях SoooFast
В заданиях скрипта SoooFast есть одно мелочное, но крайне неприятное недоработанное звено, а именно свободные выполнения задания. Иными словами работает это так. Рекламодатель добавил задание на 1 выполнение, а выполнят его все 10 пользователей. И неловко получится, когда он не сможет подтвердить, а все беды свалятся на администрацию букса.

Исправим это. Кстати, говорю сразу, что я не стал писать автоматическое удаление заданий при истощении их выполнении, я просто сделал так, чтобы не было таких недоразумений. Нужно автоматическое удаление? Любой каприз за ваши деньги fellow

1. Откройте файл tasklist.php и найдите там код:
if($_POST["action"]=="view")
{
    $id=$_POST["id"];

После которого вставьте следующее:
$res=mysql_query("select * from tb_task where id='$idtask'");
$res=mysql_fetch_array($res);
$good=$res["good"];
$bad=$res["bad"];
$wait=$res["wait"];
$over=$good+$bad+$wait;

2. Опуститесь на пару строчек ниже и найдите код:
<form action='' method=post>

И после него вставьте:
<? if($kolvo<$over) { echo"<fieldset><b>Сообщение от системы!</b><br>Ув. пользователь, на балансе задания отсутствуют свободные выполнения. Просьба воздержаться от выполения данного задания</fieldset>"; } ?>

3. Мы конечно сделали уведомление, но глупые или назойливые пользователи все равно будут пытаться проскользнуть и выполнить задание, что бы обвинить потом рекламодателя или администратора проекта. Поэтому опускаемся ниже и находим код:

$amount=$res["amount"];
$t=time();
$wait=$res["wait"]+1;
$kolvo=$res["kolvo"]-1;

И следом за ним добавьте следующее:

$good=$res["good"];
$bad=$res["bad"];
$over=$good+$bad+$waits-1;

4. Ещё ниже создадим условие ошибки, для этого после:
        if($kolvo<0)
        {
            echo "<b>Сообщение от системы!</b><br>Ув. пользователь, на балансе задания недостаточно средств для его выполнения";
        }else{

Добавьте:
if($kolvo<$over) { echo"<fieldset><b>Сообщение от системы!</b><br>Ув. пользователь, на балансе задания отсутствуют свободные выполнения. Просьба воздержаться от выполения данного задания</fieldset>"; }else{

Ну и наконец на последок, что бы не выдавало ошибок пониже найдите:

        }
    }
    
}

И добавьте после них символ }


Рубрика: Бесплатное » Дыры, ошибки   |   Автор: JammJamm   |   Просмотры: 4170
Комментариев: 134
Публикаций: 0
ICQ: 428155128
- 171 +
  Автор: SoooFast   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
да, полезная тема :))) на новом скрипте я у себя вобще сделал так, что в стате, скока выполнений осталось, пишется число с учетом того, что задание уже кем то выполняется! т.е. активные выполнения, еще не проверенные или не сданные на проверку, как бы резервируются и такой ситуации, что юзер выполнит задание, а денег на балансе этого задания не будет, возникать не должно :)))
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 02 апреля 2011  
Ещё везде баг есть где сверка твоё или не твоё если допустим ты зареган как velik505 а войдёшь как VeLiK505 то будет говорить не ваше задание не ваш реф и тп.
Тут либо приравнивать верхний регистр к нижнему везде где есть такая сверка либо переписать регу и login.php
Комментариев: 85
Публикаций: 9
ICQ: --
- 18 +
  Автор: JammJamm   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
VELIK505, Да, этот баг меня в реф.бирже заколебал больше всего. Будем править.

SoooFast, Я сделал по просьбе приятеля, и делал на скорую руку. А резервирование штука хорошая, возьму себе на заметку, в будущем буду реализовывать.
Комментариев: 134
Публикаций: 0
ICQ: 428155128
- 171 +
  Автор: SoooFast   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
VELIK505,
да, вот на старом скрипте как то с такими проблемами не сталкивался, да и не писал никто! а вот на новом столкнулся и исправил :)

JammJamm,
такое даже на сеоспринте как то помню народ проссил админов сделать :) очень полезная штука :) я когда скрипт писал и работал над заданиями, сразу и сделал вот так :) еще бы не мешало в стате добавить, чтобы отдельно фиксировались те, кто ждет проверки выполнения и те, кто еще выполняет, а то их всех пока в ожидающих кидает :) не очень удобно :) все никак руки не дойдут довести до ума :)
Комментариев: 85
Публикаций: 9
ICQ: --
- 18 +
  Автор: JammJamm   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
А-ля Web-IP чтоле? winked
Комментариев: 134
Публикаций: 0
ICQ: 428155128
- 171 +
  Автор: SoooFast   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
а я не знаю как там на Web-IP, давно там не был :)
делал так, как сам придумал :)
Комментариев: 52
Публикаций: 1
ICQ: 646864908
- 55 +
  Автор: Совесть   |   Группа: Пользователи   |   Дата: 02 апреля 2011  
ха) прикольно)
Комментариев: 338
Публикаций: 169
ICQ: 650073308
- 291 +
  Автор: Alex   |   Группа: Пользователи   |   Дата: 03 апреля 2011  
ну конечно - опять очередное перечисление недочётов во всех скриптах сооофаст,и во всём виноват мфс))) чтож...не привыкать.
Комментариев: 85
Публикаций: 9
ICQ: --
- 18 +
  Автор: JammJamm   |   Группа: Пользователи   |   Дата: 03 апреля 2011  
Эх Руфус, Руфус fellow
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 03 апреля 2011  
так про пополнение баланса это помойму не только в МФС а во всём суфасте есть такая кака!
Комментариев: 8
Публикаций: 0
ICQ: 492338937
- 4 +
  Автор: Orion   |   Группа: Пользователи   |   Дата: 03 апреля 2011  
Мда, я конечно с заданиями от SoooFast не сталкивался.
Но вот это меня удивило:
$over=$good+$bad+$wait;
<? if($kolvo<$over) { echo"<fieldset><b>Сообщение от системы!</b><br>Ув. пользователь, на балансе задания отсутствуют свободные выполнения. Просьба воздержаться от выполения данного задания</fieldset>"; } ?>

Т.е. как я понял по коду, если $kolvo<$over выскочит сообщение, Но если у вас заказано например 10 выполнений, а $bad например равно 11 то у вас уже это будет выскакивать. Не зависимо от ваших $good и $wait.
И еще
if($kolvo<0)
{

вообще то логично что бы было
if($kolvo<=0)
{

Ну а дальше не вникал , мне и этого хватило am
Комментариев: 134
Публикаций: 0
ICQ: 428155128
- 171 +
  Автор: SoooFast   |   Группа: Пользователи   |   Дата: 03 апреля 2011  
да нет, отклоненные выполнения не надо только учитывать и все! за них рекламодатель денег юзерам не платит! а вот за подтвержденные выполнения и ожидающие, вот их надо учитывать!
Комментариев: 85
Публикаций: 9
ICQ: --
- 18 +
  Автор: JammJamm   |   Группа: Пользователи   |   Дата: 03 апреля 2011  
Кстати да, о bad не подумал. Но в заданиях соль в том что если рекламодатель заказал 10 выполнений, у него выполнили но он не подтвердил, то так и останется kolvo = 10, поэтому суммировать нужно только выполнено и ожидают. Промахнулся))
Комментариев: 7
Публикаций: 1
ICQ: 619997707
- 9 +
  Автор: Webbie   |   Группа: Пользователи   |   Дата: 18 апреля 2011  
ну вот это
}
}

}


я ни как не нашел recourse
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.