Ротатор
Описание 'продвинутых' функций.

Начиная с версии протона 2.0.1 появилась возможность не только наблюдать за процессом ротации тумб, но и вносить корректировки в этот механизм, некие индивидуальные особенности, необходимые Вашему сайту.

Как это работает?

(пункт меню Rotator->Settings->Advanced Settings)
Вам необходимо составить PHP код - набор операций и команд над тумбами. По заданному Вами расписанию этот код будет выполняться внутри цикла по всем тумбам. Задание расписания полностью идентично заданию расписаний для динамических схем трейда. Операции эти могут выполняться не чаще чем 1 раз в 30 минут. То есть даже если Вы установили в поле Time (crontab format) одни звездочки (запускаться каждый день, каждый час, каждую минуту), то скрипт будет исполняться лишь раз в 30 минут.
Для манипуляций доступны 8 заранее определенных переменных и 5 функций (операции над тумбами).

$last_clicks Количество кликов по тумбе, полученное за последнюю ротацию
$creation_date Время создания тумбы - Unix timestamp
$total_clicks Количество кликов по тумбе за все время
$ctr CTR тумбы
$status Статус тумбы (pending, new или active)
$thumb_vars[0-9] Дополнительные 10 переменных тумбы. Подробности см. ниже
$rotations Количество ротаций тумбы. Одно 'помещение' тумбы на морду = одна ротация
$user_vars=array() Массив для Ваших нужд - используйте как хотите.
$user_vars['counter'] изначально определен в ноль, можете это использовать для подсчетов чего-либо внутри цикла.
$new_thumbs Количество новых тумб в базе
$pending_thumbs Количество pending тумб в базе

Функции

Change_niche('new_niche') Изменить нишу тумбы на 'new_niche'
Change_owner('new_owner') Изменить владельца тумбы на 'new_owner'
Change_status('new_status') Изменить статус тумбы на 'new_status'
Delete() Удалить тумбу из базы
Reset() Обресетить тумбу. CTR, total_clicks, last_clicks станут равны нулю, creation_date - текущей дате, статус изменится на pending
 

Что можно сделать с тумбой?

  1. Изменить нишу, используя функцию Change_niche('new_niche'), где new_niche - новая ниша тумбы.
    Например: Change_niche('archives');
     
  2. Изменить владельца тумбы, используя функцию Change_owner('new_owner')
    Например: Change_owner('Mike');
     
  3. Изменить статус тумбы, используя ф-цию Change_status('new_status')
    Например: Change_status('pending');
     
  4. Установить переменные тумбы $thumb_vars[]. Индексами этого массива должны быть целые числа в диапазоне 0-9. Значениями могут быть только целые числа.
    Например $thumb_vars[0]=12; $thumb_vars[7]=3; // допустимо
    $thumb_vars[
    0]='text'; // недопустимо

    Для чего нужен массив $thumb_vars? Он позволяет хранить о тумбе дополнительную, необходимую Вам информацию. Например количество сбрасываний тумбы, количество попыток повторно ввести тумбу в ротацию, запоминание тумбы по какому-либо параметру (например $thumb_vars[6] равное 1 может для Вас означать что тумба за первый день ротации набрала CTR больше 2%) и т.д. и т.п.
    Как только у тумбы появился какой-либо $thumb_vars - его значение станет видно в админке, для соответствующей тумбы.
    Установив по какому-нибудь критерию к примеру $thumb_vars[0]=20, Вы можете использовать это при обрисовке страниц с тумбами. Указав в шаблоне страницы
    <!--proton var0=20-->, парсер вставит в это место тумбу, у которой значение $thumb_vars[0] равно 20.


ВАЖНО!

  • Если вы используете в своем коде дроби, то проверяйте знаменатель на ноль. Это позволит избежать деления на ноль в некоторых случаях.
  • Переменные чувствительны к регистру. Употребляйте их именно в таком виде, как они представлены в таблице.

Если Вы знаете как можно усовершенствовать данную фичу или Вам не хватает каких-либо дополнительных опций - напишите мне на мыло protontm@gmail.com - если идея мне понравится, я обязательно реализую ее.


Успехов!