Evg Evgen Evgenich Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 общий алгоритм: ----------------------------------------1) создается таблица Раздачнужные поля:- ссылка на тему- название темы- раздающий (ник/номер)- дата создания темы- линк - пароль- Статус Раздачи (в дальнейшем SR), значения: окошко выбора--- 1. ожидание--- 2. раздача активна очередь открыта (РАОО)--- 3. раздача активна очередь закрыта (РАОЗ)--- 4. раздача закрыта- Количество качающих/Максимальная очередь (KKmax) + поле- Количество в очереди/таблице, всего (TekO) - скрытое- Количество качающих одновременно (KKod) - скрытое- Количество качающих на данный момент, текущее (TekK) - скрытое- Количество ожидающих линка (KoL) - скрытое---- сколько дней на скачивание (*потом)- сколько CDпотом еще поля по учету активности -- пока не нужно, позжее добавим 2) общее представление:при заходе в тему определяется ник пользователя и соответсвенно выводится таблица очередиполя:- №- ник/номер- рейтинг (Rej) *// до ввода учета активности--- 1. Пользователь--- 3. Форумчанин --- 5. Активист--- 7. Модератор/админ- Статус Юзера (обозначение SUz)--- 1. В очереди--- 2. Качает--- 3. Скачал--- 4. Отказал-и/ся--- 5. Отсутствует *(пока временно не будет)- Дата постановки в очередь- Дата высылки линка- Дата прочтения линка *(потом добавить)- Дата отписки- опции раздающего *(временно отсутсвуют) ---------------------------------------------------------Внутренняя переменная KNop - означает какие поля/кнопки выводить в темеKNop = 0 в теме кнопка [в очередь] --- для постановки в очередьKNop = 1 в теме кнопки [отказ] --- для тех кто в очередиKNop = 2 в теме кнопки [скачал] [отказ] [отложил] + линк -- для качающихKNop = 3 в теме пароль -- отписавшихсяKNop = 4 в теме ничего - пусто --- отказавшихся /или при закрытой очереди----------------------------------------------------------------------------------Проверка по таблице есть ли там пользователь и KNOP=SUz Новый пользователь:Если SR=1 или SR=2 то KNop=1Если SR=3 или SR=4 то KNop=5 -------------------------------------------------------------------------Все действия происходят по нажатию кнопок.Если нажата: Кнопка [в очередь] 1. ТекО=ТекО+1 //Увеличиваем на 1 Количество в очереди/таблице, всего if $ТекО=$ККмах { SR=3 } //очередь закрытаelse{KNop = 1 //- для вывода кнопокSUz=1 //(в очереди) Дата постановки} 2. Добавляем строку в таблицу очереди 3. БЛОК "ВЫСЫЛКА ЛИНКА"4. БЛОК ВЫВОДА ТАБЛИЦЫ кнопка [отказ] 1. SUz=4запись даты в колонку отписка2. БЛОК ВЫВОДА ТАБЛИЦЫ кнопка [скачал] 1. SUz=4запись даты в колонку отписка2. БЛОК "ВЫСЫЛКА ЛИНКА"3. БЛОК ВЫВОДА ТАБЛИЦЫ кнопка [отложил] 1. Rej=02. БЛОК "ВЫСЫЛКА ЛИНКА"3. БЛОК ВЫВОДА ТАБЛИЦЫ ----------------------------------------------------------Блок "ВЫСЫЛКА ЛИНКА" - функцияif ($TekK<$KKod)&(Kol<>0)&(SR=2 or SR=3){// проверка рейтинга$RejM=0; NR=1for ($i = 1 ; $i <=$TekO ; ++$i) { $SUz, $Rej --- выбрать с таблицы строка iif ($SUz=1 & $Rej>=$RejM) {$RejM=$Rej; NR=i}} для строки NR, SUz=2, Knop=2$TekK=$TekK+1// отправлять пм?}else - ничего, линк не отправляется----------------------------------------------------------- БЛОК ВЫВОДА ТАБЛИЦЫсверху талицы поля и кнопкииспользуя Knop для конкретного пользователя for ($i = 1 ; $i <=$TekO ; ++$i) {выводим строку i}And the user was out Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 31 Октября 2006 Жалоба Поделиться Опубликовано 31 Октября 2006 Ну и дальше чего?В смысле чего ты этим сказать-то хотел? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PAIN2 Опубликовано 5 Ноября 2006 Жалоба Поделиться Опубликовано 5 Ноября 2006 истина где то рядом ©xfiles =) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.