Пропустить

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

Форум для авторов модов для 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 КБ) Скачиваний: 135
WORK: phpBB3 3.0.8 + Portal XL 5.0 + MODs + Custom,
PHP Version 5.2.6-1+lenny9, Apache/2.2.9 (Debian), MySQL 5.0.51a

velo
phpBB 2.0.6
 
Сообщения: 250
Зарегистрирован: 14.09.2007 20:06
Благодарил (а): 9 раз.
Поблагодарили: 27 раз.

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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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

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

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы