示例#1
0
        }
    }
    if (empty($_POST) || $masssending->error) {
        // восстанавливаем сессию, если она существует и ее время не вышло
        if (!empty($_SESSION['masssending'])) {
            $params = $_SESSION['masssending'];
            if (mktime() - $params['savetime'] > masssending::SESS_TTL) {
                unset($_SESSION['masssending']);
                $masssending->ClearTempFiles(session_id());
                $params = array();
            }
        } else {
            $params = array();
            $masssending->ClearTempFiles();
        }
        if ($dc) {
            $calc = $masssending->Calculate($uid, array('professions' => array($dc)));
        } else {
            $calc = $masssending->Calculate($uid, array());
            $calc['count'] = 0;
            $calc['cost'] = 0;
            $calc['pro'] = array('count' => 0, 'cost' => 0);
        }
        $tariff = $masssending->GetTariff();
        $js_file = array('masssending.js');
        $content = 'content.php';
    }
}
$css_file = array('masssending.css', '/css/nav.css');
$footer = "../footer.html";
include '../template2.php';
示例#2
0
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/masssending.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/quick_payment/quickPaymentPopupMasssending.php';
session_start();
$id = __paramInit('int', 'id');
//Должен быть id рассылки
if (!$id) {
    include ABS_PATH . '/404.php';
    exit;
}
$uid = get_uid(false);
if (!$uid) {
    include ABS_PATH . '/404.php';
    exit;
}
$masssending = new masssending();
$params = $masssending->getAccepted($id, $uid);
if (!$params) {
    //должна существовать одобренная неоплаченная рассылка, принадлежащая текущему пользователю.
    include ABS_PATH . '/404.php';
    exit;
}
$text = reformat($params['msgtext'], 1000, false, true);
$calc = $masssending->Calculate(get_uid(false), array($params));
//print_r($calc);exit;
quickPaymentPopupMasssending::getInstance()->init(array('count' => $params['all_count'], 'count_pro' => $params['pro_count'], 'price' => $params['pre_sum'], 'send_id' => $id));
$stretch_page = true;
$header = '../header.php';
$footer = '../footer.html';
$content = 'tpl.masssending_pay.php';
include '../template2.php';
示例#3
0
function Calculate($params)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/masssending.php';
    $masssending = new masssending();
    session_start();
    $uid = get_uid(false);
    $params['savetime'] = mktime();
    $params['msg'] = stripslashes($params['msg']);
    if (!empty($_SESSION['masssending']['files'])) {
        $params['files'] = $_SESSION['masssending']['files'];
    }
    $_SESSION['masssending'] = $params;
    //serialize($params);
    $response = new xajaxResponse();
    // преобразуем js массив в формат для masssending::Calculate()
    if (!empty($params['locations']) && is_array($params['locations'])) {
        $tmp = array();
        foreach ($params['locations'] as $value) {
            if (!empty($value['country']['id'])) {
                $tmp[] = intval($value['country']['id']) . ':' . intval($value['city']['id']);
            }
        }
        $params['locations'] = $tmp;
    }
    if (!empty($params['professions']) && is_array($params['professions'])) {
        $tmp = array();
        foreach ($params['professions'] as $value) {
            if (!empty($value['group']['id'])) {
                $tmp[] = intval($value['group']['id']) . ':' . intval($value['profession']['id']);
            }
        }
        $params['professions'] = $tmp;
    }
    if (!empty($params['costs']) && is_array($params['costs'])) {
        $params['cost_from'] = array();
        $params['cost_to'] = array();
        $params['cost_period'] = array();
        $params['cost_type'] = array();
        foreach ($params['costs'] as $value) {
            if (!empty($value['cost_from']) || !empty($value['cost_to'])) {
                $params['cost_from'][] = $value['cost_from'];
                $params['cost_to'][] = $value['cost_to'];
                $params['cost_period'][] = $value['cost_period'];
                $params['cost_type'][] = $value['cost_type'];
            }
        }
        unset($params['costs']);
    }
    $calc = $masssending->Calculate($uid, $params);
    // преобразуем обратно
    $locations = array();
    foreach ($calc['locations'] as $location) {
        $locations[] = "{ country: {$location['country']}, city: {$location['city']}, count: {$location['count']}, cost: {$location['cost']} }";
    }
    $professions = array();
    foreach ($calc['professions'] as $profession) {
        $professions[] = "{ group: {$profession['group']}, profession: {$profession['id']}, count: {$profession['count']}, cost: {$profession['cost']} }";
    }
    $response->script("\n\t\tspam.calc = { count: {$calc['count']}, cost: {$calc['cost']} };\n\t\tspam.calc.pro = { count: {$calc['pro']['count']}, cost: {$calc['pro']['cost']} };\n\t\tvar tmp = [ " . implode($locations, ',') . ' ];
		for (var i=0; i<locations.values.length; i++) {
			locations.values[i].count = 0;
			locations.values[i].cost = 0;
			for (var j=0; j<tmp.length; j++) {
				if (locations.values[i].country.id == tmp[j].country && locations.values[i].city.id == tmp[j].city) {
					locations.values[i].count = tmp[j].count;
					locations.values[i].cost = tmp[j].cost;
					break;
				}
			}
		}
		var tmp = [ ' . implode($professions, ',') . ' ];
		for (var i=0; i<professions.values.length; i++) {
			professions.values[i].count = 0;
			professions.values[i].cost = 0;
			for (var j=0; j<tmp.length; j++) {
				if (professions.values[i].group.id == tmp[j].group && professions.values[i].profession.id == tmp[j].profession) {
					professions.values[i].count = tmp[j].count;
					professions.values[i].cost = tmp[j].cost;
					break;
				}
			}
		}
		spam.recalculation();
	');
    return $response;
}