Файл: adultscript-2.0.3-pro/files/cron/scripts/user_premium.php
Строк: 37
<?php
defined('_VALID') or die('Restricted Access!');
function cron_user_premium()
{
update_script('user_premium', TRUE, FALSE);
$system = VF::cfg_item('module.payment.system');
if ($system == 'subscription') {
$db = VF::factory('database');
$db->query("SELECT u.user_id, u.username, u.email, p.end_date
FROM #__user AS u
INNER JOIN #__user_premium AS p ON (p.user_id = u.user_id AND p.status = '1')
WHERE u.status = '1'");
$users = $db->fetch_rows();
$reg_id = VAuth::get_group_id('Registered');
$mail = VF::factory('email');
$site = VF::cfg_item('site_name');
foreach ($users as $user) {
$user_id = (int) $user['user_id'];
$end_date = $user['end_date'];
$end_time = strtotime($end_date);
// should this be set to + 1 2 3 days?
// if its a subscription then it will be a recurring payment
$cur_time = time();
// $cur_time = strtotime('+5 days');
// some simple checks
if (empty($end_date) OR
$end_date == '0000-00-00' OR
$end_time < $cur_time) {
// possible reasons:
// 1. something is wrong, no empty end date allowed
// 2. subscription expired
$db->query("UPDATE #__user_premium
SET status = '0'
WHERE user_id = ".$user_id."
LIMIT 1");
$db->query("UPDATE #__user
SET group_id = ".$reg_id."
WHERE user_id = ".$user_id."
LIMIT 1");
// comparing again to send expired notification email
if ($end_time < $cur_time) {
$search = array('[#USERNAME#]', '[#SITE_NAME#]', '[#SITE_URL#]', '[#URL#]');
$replace = array($user['username'], $site, BASE_URL, BASE_URL.'/premium/register/');
$mail->predefined('premium-expire', $user['email'], $search, $replace, 'noreply');
}
}
}
}
update_script('user_premium', FALSE, TRUE);
}
?>