что делается:
Проверка существования захода с данного 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);
}
}
}