Нужен совет по дорработке Аддона к Реферал +

Форум для авторов модов для phpBB 2.0.x. Здесь можно попросить помощи в разработке у коллег.

Нужен совет по дорработке Аддона к Реферал +

Сообщение velo 12.11.2007 17:43

Собственно говоря решил я сделать под себя Рефералку, учитывающую переходы по ссылкам пользователей (не регистрацию)

что делается:
Проверка существования захода с данного IP по ссылке конкретного пользователя, если такого перехода не было, то добавляется строка в БД (или если такой переход был более 5 дней назад), и создается строка (или плюсуется переход) к другой таблице, где создаются данные пользователей. В ней считаются: переходы всего, переходы в этом месяце и уникальные АйПи.

Для учета переходов по месяцам в таблице созданы отдельные столбцы наприм: refer_month_1107, refer_month_1207 и т.д.
Они прописаны вручную.
Прошу помощи для автоматического добавления таких столбцов, по наступлению нового месяца (не crontab), а при любом первом переходе в этом месяце.

Полный код Аддона прилагаю (без описания создания таблиц)

PS данный код можно сделать отдельным модом, без применения Referral Plus. Просто из него используется добавление к линкам окончания с Айди Реферала.

Часть кода отвечающая за внесение в таблицу данных:

Код: Выделить всё
if ($reffered == $refer_id)
      {
         $sql = "SELECT *
         FROM " . REFER_LINK_TABLE . "
         WHERE user_id = '" . $refer_id ."'";
               if ( !$db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, 'Could not update refer_count', '', __LINE__, __FILE__, $sql);
               }

         if ($linkrow = $db->sql_fetchrow($result3))
         {
            $user_ref = $linkrow['user_id'];
         }
         $db->sql_freeresult($result3);
         
         if( $user_ref == '' )
         {
            $sql  = "INSERT INTO " . REFER_LINK_TABLE . " (user_id , refer_total, refer_month_". $month . $year ." , refer_unical) VALUES ('$refer_id', '1', '1', '1')" ;
            
            if (!$db->sql_query($sql))
            {
            message_die(GENERAL_ERROR, 'Error in refer link insert', '', __LINE__, __FILE__, $sql);
            }
         }
         else
         {
            $sql = "UPDATE " . REFER_LINK_TABLE . " SET
            refer_total = refer_total+1,
            refer_month_". $month . $year ." = refer_month_". $month . $year ."+1,
            refer_unical = refer_unical+$unical
            WHERE user_id = '$refer_id'";
               if ( !$db->sql_query($sql) )
               {
                  message_die(GENERAL_ERROR, 'Could not update refer_count', '', __LINE__, __FILE__, $sql);
               }
      
         }
      }
Вложения
Add_Referal_plus.txt
Полный текст
(3.14 Кб) Скачиваний: 91
phpBB2 Plus 1.53 based on phpBB 2.0.22 +custom,
PHP Version 5.1.6, Apache, MySQL 5.0.24-standard
velo
phpBB 1.4.4
 
Сообщения: 79
Зарегистрирован: 14.09.2007 20:06

Вернуться в Для авторов (phpBB 2.0.x)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0