ini_set('max_execution_time', '0'); ini_set('memory_limit', '512M'); define('IS_OPENED', true); if (!$_SERVER['DOCUMENT_ROOT']) { $_SERVER['DOCUMENT_ROOT'] = dirname(__FILE__); } require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/config.php'; //require_once("classes/log.php"); //$log = new log('minutly/minutly-sbr-'.SERVER.'-%d%m%Y[%H].log', 'w'); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pskb.php'; /* * проверка статуса новых аккредитивов и покрытия */ pskb::checkStatus(null, $in, $out); /* * проверка аккредитивов в статусе trans (перечисление денег) */ if (date('i') % 5 == 0) { pskb::checkStagePayoputForSuperCheck(null, $in, $out); } if (pskb::PSKB_SUPERCHECK && date('i') % 2 == 0) { // сократим до раз в две минуты, раньше смысла нет. Ответ от ПСКБ формируется до 5 минут pskb::checkStagePayouts(null, $in, $out); } elseif (!pskb::PSKB_SUPERCHECK) { // Если отключен суперчек по старому pskb::checkStagePayouts(null, $in, $out); } if (date('i') % 2 == 0) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_adm.php'; sbr_adm::processInvoiceData(); }
2145,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2174,2175, 2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2196,2197,2200,2201,2202,2203,2205,2208,2211, 2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2234,2235,2236,2237,2238,2240,2241,2242, 2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,2253,2254,2255,2256,2257,2259,2260,2261,2263,2264,2265,2266,2267,2268,2269,2271,2272,2273, 2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301, 2302,2303,2304,2305,2306,2307,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2330, 2331,2332,2333,2334,2335,2336,2337,2338,2340,2341,2342,2343,2344,2345,2346,2347,2349,2350,2351,2352,2353,2355,2356,2357,2358,2359,2360,2361, 2362,2363,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390, 2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2416 ) ORDER BY sbr_id"; */ $data = $DB->rows($sql); //$sbr = sbr_meta::getInstance( sbr_meta::ADMIN_ACCESS ); $sbr = new sbr_adm(103, 'admin'); if ($data) { foreach ($data as $row) { $user = new users(); $user->GetUser($row['login']); $letter = array(); $letter['title'] = "СБР-{$row['sbr_id']}-Б/О#{$row['lc_id']}"; $letter['user_add'] = 57748; $letter['user_1'] = 6; $letter['user_2'] = $user->uid; $letter['user_status_2'] = 11; $recipient = sbr_meta::getUserReqvs($letter['user_2']); if ($row['form_type'] == 1) { $address = (bool) trim($recipient[1]['address']); } else { $address = (bool) trim($recipient[2]['address']) || (bool) trim($recipient[2]['address_fct']) || (bool) trim($recipient[2]['address_jry']);
function saveLimit($type, $stage_id, $user_id, $limit) { $stage_id = intval($stage_id); $user_id = intval($user_id); $limit = intval($limit); $objResponse = new xajaxResponse(); if (!hasPermissions('sbr')) { return $objResponse; } $sbr = new sbr_adm($_SESSION['uid'], $_SESSION['login']); $stage = $sbr->initFromStage($stage_id, false); $fn = $type == exrates::YM ? 'saveYdPaymentLimit' : 'saveWmPaymentLimit'; if ($stage->{$fn}($user_id, $limit)) { $fn = $type == exrates::YM ? 'getYdPaymentInfo' : 'getWmPaymentInfo'; if ($pmt = $stage->{$fn}($user_id)) { $objResponse->call('SBR.openPayoutPopup', $type, $stage_id, $user_id, $stage->view_payout_popup($pmt, $user_id)); } } return $objResponse; }
/** * Проверяем статус возврата денег * * @global type $DB */ function checkRefund() { global $DB; $this->log = new log('pmpay/checkrefund-%d%m%Y.log', 'a', '%d.%m.%Y %H:%M:%S : '); $sql = "\n SELECT pp.payment_id, sp.* FROM sbr_stages_payouts sp\n INNER JOIN sbr_stages ss ON ss.id = sp.stage_id\n INNER JOIN sbr s ON s.id = ss.sbr_id\n INNER JOIN pm_payments pp ON pp.billing_id = s.reserved_id \n WHERE sp.is_refund = false AND sp.refund_id IS NOT NULL AND sp.completed IS NULL\n "; if (!($payments = $DB->rows($sql))) { $payments = array(); } foreach ($payments as $pmt) { $this->_log("Запрашиваем платеж: {$pmt['id']} (payment_id: {$pmt['payment_id']}, stage_id: {$pmt['stage_id']})..."); if ($pinf = $this->getRefundByPaymentID($pmt['payment_id'])) { $this->_log('Получен ответ: ' . http_build_query($pinf, '', '&')); $refund = $this->findRefundById($pinf, $pmt['refund_id']); // Ищем из выдачи наш возврат if (!$refund) { $this->_log('Ошибка: Платеж не найден в выдаче ' . $pmt['refund_id']); return; } switch ($refund['Status']) { case 'SUCCESS': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pmpay.php'; $this->_log('Возврат денег выполнен успешно, обновляем статус'); $update = array('is_refund' => true, 'completed' => 'NOW()'); sbr_adm::refundStatusUpdate($update, $pmt['id']); $this->_log('ОК.'); break; case 'FAILURE': $this->_log('Платеж отменен, отменяем возврат, ставим соттветствующий флаг'); $this->_log('Код ошибки: ' . $refund['ErrorCode']); $update = array('is_refund' => null, 'completed' => null); $res = sbr_adm::refundStatusUpdate($update, $pmt['id']) ? 'ОК.' : 'ERROR: ' . pg_last_error(); $this->_log($res); break; default: $this->_log("Платеж в статусе {$refund['Status']}, игнорируем."); break; } } } }
<?php define('IS_SITE_ADMIN', 1); $no_banner = 1; $rpath = '../../'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php'; session_start(); $uid = get_uid(); if (!hasPermissions('sbr') && !hasPermissions('sbr_finance')) { header_location_exit('/404.php'); } $is_edit_access = hasPermissions('sbr'); $sbr = new sbr_adm($uid, $_SESSION['login']); $content = '../content2.php'; $template = 'template2.php'; $site = __paramInit('string', 'site', 'site', 'docsflow'); switch ($site) { case 'stat': case 'arbitrage': case '1c': case 'invoice': break; default: $site = 'docsflow'; } $action = __paramInit('string', 'action', 'action'); $inner_page = "inner_{$site}.php"; $css_file = array('moderation.css', 'norisk-admin2.css', 'new-admin.css', 'nav.css'); $header = $rpath . 'header.php'; $footer = $rpath . 'footer.html'; $additional_header = '<script type="text/javascript" src="/scripts/sbr.js"></script>';
?> <?php if ($nCol == 3) { $nCol = 0; echo '</tr><tr style="height:35px">'; } ?> <?php // заявление о выплате ЯД физики нерезиденты if (!is_emp($stg['role']) && $stg['form_type'] == sbr::FT_PHYS && $stg['uploaded_docs_a'][sbr::DOCS_TYPE_YM_APPL]) { $nCol++; ?> <td class="nr-stat-docs3"> <?php echo sbr_adm::view_doc_field($stg['uploaded_docs_a'][sbr::DOCS_TYPE_YM_APPL], $item_id, $stg['id'], sbr::DOCS_TYPE_YM_APPL, $doc_access, $is_edit_access); ?> </td> <?php } ?> <?php if ($nCol == 3) { $nCol = 0; echo '</tr><tr style="height:35px">'; } ?> <?php if ($nCol > 0) { for ($i = $nCol; $i < 3; $i++) {