当前位置: 首页>>代码示例>>PHP>>正文


PHP memBuff::get方法代码示例

本文整理汇总了PHP中memBuff::get方法的典型用法代码示例。如果您正苦于以下问题:PHP memBuff::get方法的具体用法?PHP memBuff::get怎么用?PHP memBuff::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在memBuff的用法示例。


在下文中一共展示了memBuff::get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_unanimated_gif

/**
 * Обрезает анимированный .gif, оставляя только первый кадр.
 * Обрезанный гиф сохраняет в той же директории, где и оригинал, под тем же именем, только с префиксом 'na_'.
 * Если файл с таким именем (с префиксом) уже есть, то ничего не делает.
 * Возвращает в случае успеха имя обрезанного гифа, в случае ошибки (или это не анимированный гиф) -- имя оригинала.
 *
 * @param string $dir путь к оригиналу (от корня, без '/' в начале)
 * @param string $orig_name имя гифа оригинала.
 * @param string $alt_dir имя альтернативной директории для поиска файла (отличной от foto)
 * @return string имя обрезанного гифа
 */
function get_unanimated_gif($dir, $orig_name, $alt_dir = false)
{
    if (CFile::getext($orig_name) != 'gif') {
        return $orig_name;
    }
    $memBuff = new memBuff();
    $res = $memBuff->get($orig_name);
    if ($res) {
        return $res;
    }
    $orig_file = $alt_dir ? trim($alt_dir, '/') . '/' . $orig_name : "users/" . substr($dir, 0, 2) . "/" . $dir . "/foto/" . $orig_name;
    $orig_content = @file_get_contents(WDCPREFIX_LOCAL . '/' . $orig_file);
    $unan_content = unanimate_gif($orig_content);
    if ($unan_content !== false) {
        $unan_name = "na_" . $orig_name;
        $unan_file = dirname($orig_file) . "/" . $unan_name;
        $unan = new CFile($unan_file);
        if (!$unan->id) {
            $unan = new CFile($orig_file);
            $unan->name = $unan_name;
            $unan->size = strlen($unan_content);
            $put = $unan->putContent($unan_file, $unan_content);
            // Записываем измененный файл
            if ($put) {
                $memBuff->set($orig_name, $unan_name, 3600 * 12);
                return $unan_name;
            }
        } else {
            $memBuff->set($orig_name, $unan_name, 3600 * 12);
            return $unan_name;
        }
    }
    return $orig_name;
    // Если не смогли сохранить возвращаем оригинал
}
开发者ID:amage,项目名称:fl-ru-damp,代码行数:46,代码来源:web.php

示例2: output

 /**
  * Печатает содержимое файлов, при запросе /static.php?t=$seed.
  * Сжимает содержимое, контролирует кэширование на сервере и клиенте.
  *
  * @param string $seed закодировнная строка (параметр ?t).
  */
 public function output($seed)
 {
     $log = $this->_log;
     if (($type = $this->_decodeSeed($seed, $seed_expired)) === false) {
         $log->writeln("\n\nstatic_compressor::output()\n");
         $log->writeln("Error _decodeSeed - seed:{$seed}\n\n");
         exit;
     }
     if ($seed_expired) {
         $seed = $this->_encodeSeed($type);
     }
     $last_mod = $this->getLastModified($type);
     $mem_key = md5('static_compress.output' . $seed);
     $mem_data = $this->memBuff->get($mem_key);
     if (!$mem_data || $last_mod != $mem_data['last_mod']) {
         $mem_data['body'] = $this->_compress($type, true);
         $mem_data['etag'] = '"' . md5($mem_data['body']) . '"';
         $mem_data['last_mod'] = $last_mod;
         $mem_data['length'] = strlen($mem_data['body']);
         $this->memBuff->set($mem_key, $mem_data, self::GC_LIFE);
     }
     header('Content-Type: text/' . ($this->types[$type] == 'js' ? 'javascript' : 'css') . '; charset=' . self::getCharsetType($type));
     header('Cache-Control: public, must-revalidate, max-age=0');
     header('ETag: ' . $mem_data['etag']);
     header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $mem_data['last_mod']) . ' GMT');
     if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH'] == $mem_data['etag'] && (!isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mem_data['last_mod'])) {
         header('HTTP/1.1 304 Not Modified');
         $mem_data['length'] = 0;
         $mem_data['body'] = null;
     }
     header('Content-Length: ' . $mem_data['length']);
     exit($mem_data['body']);
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:39,代码来源:static_compress.php

示例3: bind

 /**
  * Сохраняет или возвращает данные связывающие рассылку в личку с рассылкой в почту. Данные актуальны с 
  * момента начала рассылки и до ее окончания. Данные хранятся в переменной (т.к. скрипт постоянно запущен) и
  * дублируются в memcahce на случай отключения скрипта во время рассылки. Если во время рассылки в личку 
  * остановить скрипт и перегрузить memcahce, то данные данные потеряются и рассылка в почту не пойдет.
  * Если сделать то же во время рассылки на почту, есть вероятность отправить части пользователей повторные
  * письма.
  * 
  * @param  integer $messId  id личного сообщения
  * @param  array   $data    массив с данными для сохранения или NULL если данные нужно получить
  * @return array            если $data == NULL, возвращает массив данных для $messId
  */
 public function bind($messId, $data = NULL)
 {
     $cache = new memBuff();
     $idx = -1;
     if (empty($this->_binds)) {
         $this->_binds = $cache->get(self::MASSSEND_BIND_CACHE_KEY);
         if (!is_array($this->_binds)) {
             $this->_binds = array();
         }
     }
     if (count($this->_binds) >= 100) {
         array_shift($this->_binds);
     }
     for ($i = count($this->_binds) - 1; $i >= 0; $i--) {
         if ($this->_binds[$i]['__messId'] == $messId) {
             $idx = $i;
             break;
         }
     }
     if (is_null($data)) {
         return $idx >= 0 ? $this->_binds[$idx] : array();
     } else {
         $data['__messId'] = $messId;
         if ($idx >= 0) {
             $this->_binds[$idx] = $data;
         } else {
             $this->_binds[] = $data;
         }
         $cache->set(self::MASSSEND_BIND_CACHE_KEY, $this->_binds, 3600 * 48);
     }
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:43,代码来源:masssend.php

示例4: getCountSubscribe

 /**
  * Количество подписавшихся на рассылку
  * @global type $DB
  * @return type
  */
 public function getCountSubscribe()
 {
     global $DB;
     $memBuff = new memBuff();
     $count = $memBuff->get('verify_count');
     if (!$count) {
         $count = $DB->val("SELECT COUNT(*) as cnt FROM verify");
         $memBuff->add('verify_count', $count, 600);
     }
     return $count;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:16,代码来源:verify.php

示例5: del

 /**
  * Удаляет файл из кэша. 
  *
  * @param string|int $key ключ [path+fname] или [id]
  */
 public function del($key)
 {
     if ($r = $this->_cache[$key]) {
         unset($this->_cache[self::_k($r, 1)]);
         unset($this->_cache[self::_k($r, 2)]);
     }
     if ($r = $this->_memBuff->get(self::_memkey($key))) {
         $this->_memBuff->delete(self::_memkey(self::_k($r, 1)));
         $this->_memBuff->delete(self::_memkey(self::_k($r, 2)));
     }
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:16,代码来源:CFileCache.php

示例6: quickPRJPayAccount

function quickPRJPayAccount()
{
    $objResponse = new xajaxResponse();
    $uid = get_uid(false);
    ob_start();
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/billing.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
    $bill = new billing($uid);
    $billReserveId = $bill->checkoutOrder();
    $payed_sum = $bill->getOrderPayedSum();
    if ($bill->isAllowPayFromAccount()) {
        $complete = $bill->buyOrder($billReserveId);
        if ($complete) {
            $_SESSION['quickprj_ok'] = 1;
            $memBuff = new memBuff();
            $project_id = $memBuff->get('bill_ok_project_' . $uid);
            if ($project_id) {
                $is_payed = $memBuff->get('bill_ok_project_payed_' . $uid);
                if ($is_payed) {
                    $memBuff->delete('bill_ok_project_payed_' . $uid);
                    $friendly_url = "/public/?step=2&public={$project_id}";
                } else {
                    $friendly_url = getFriendlyURL('project', $project_id);
                    $_SESSION['quickprj_ok'] = 1;
                    $friendly_url .= '?quickprj_ok=1';
                }
                $objResponse->script("window.location = '{$friendly_url}';");
                $memBuff->delete('bill_ok_project_' . $uid);
            } else {
                $objResponse->script("window.location = '/?quickprj_ok=1';");
            }
        }
    }
    ob_end_clean();
    return $objResponse;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:36,代码来源:quickprj.server.php

示例7: getCBRates

/**
 * Получает курсы валют с сайта ЦБ
 *
 * @return array массив, индексированный кодами валют (USD, EUR и т.д.), элементы которого есть свойства данной валюты.
 *               Курс рубля к каждой валюте берется из свойства 'Value'.
 */
function getCBRates()
{
    static $rates = NULL;
    if ($rates) {
        return $rates;
    }
    $memBuff = new memBuff();
    $curr_day = strtotime(date('d.m.Y'));
    if ($rdata = $memBuff->get('getCBRates')) {
        $rates = $rdata['rates'];
        if ($rdata['day'] == $curr_day) {
            return $rates;
        }
    }
    $xml = @file_get_contents('http://www.cbr.ru/scripts/XML_daily.asp', false, stream_context_create(array('http' => array('timeout' => 1))));
    //было 5 сек
    if ($xml && get_http_response_code($http_response_header) == 200) {
        $xmlDoc = new DOMDocument();
        if (@$xmlDoc->loadXML($xml)) {
            $rates = NULL;
            $xpath = new DOMXPath($xmlDoc);
            $valutes = $xpath->query('//Valute/CharCode');
            foreach ($valutes as $v) {
                $name = $v->nodeValue;
                if ($children = $v->parentNode->childNodes) {
                    foreach ($children as $ch) {
                        if ($ch->nodeType == XML_ELEMENT_NODE) {
                            $rates[$name][$ch->nodeName] = $ch->nodeValue;
                        }
                    }
                }
            }
            //@todo: кешируем курс пока на сутки потом нужно перерабоать в крон и БД
            $memBuff->set('getCBRates', array('day' => $curr_day, 'rates' => $rates), 86400);
        }
    }
    return $rates;
}
开发者ID:amage,项目名称:fl-ru-damp,代码行数:44,代码来源:stdf5.php

示例8: getSpamCount

 /**
  * Возвращает количество жалоб о спаме, удовлетворяющих условиям выборки
  * 
  * @param  array $filter фильтр
  * @return int
  */
 function getSpamCount($filter = array())
 {
     $DB = new DB();
     // plproxy
     $aFilter = array();
     $oMemBuf = new memBuff();
     $nCount = 0;
     if (is_array($filter) && count($filter)) {
         foreach ($filter as $sKey => $sVal) {
             $aFilter[] = array($sKey, $sVal);
         }
     }
     if (empty($aFilter) && ($nCount = $oMemBuf->get('messages_spam_count')) !== false) {
         return $nCount;
     } else {
         $sQuery = 'SELECT messages_spam_get_count(?a)';
         $nCount = $DB->val($sQuery, $aFilter);
         if (empty($aFilter) && !$DB->error) {
             $oMemBuf->set('messages_spam_count', $nCount, 3600);
         }
     }
     return $nCount;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:29,代码来源:messages_spam.php

示例9: createBill

 /**
  * Создает новый счет, отправляет на регистрацию в платежную систему.
  *
  * @param integer $uid    ид. пользователя.
  * @param array $request    параметры ($_POST).
  * @return array $error   массив ошибок.
  */
 function createBill($request)
 {
     if (!$this->uid) {
         return 'Пользователь не определен';
     }
     $account = new account();
     $account->GetInfo($this->uid, true);
     if ($error = $this->validate($request, $account->id)) {
         return $error;
     }
     $this->DB->start();
     $aData = array('account_id' => $account->id, 'phone' => $this->form['phone'], 'sum' => $this->form['sum']);
     $id = $this->DB->insert("qiwi_account", $aData, "id");
     $oper_xml = '';
     switch ($request['oper_code']) {
         case 'megafon':
             $oper_xml = '<extra name="megafon2-acc">1</extra>';
             break;
         case 'mts':
             $oper_xml = '<extra name="mts-acc">1</extra>';
             break;
         case 'beeline':
             $oper_xml = '<extra name="beeline-acc">1</extra>';
             break;
     }
     if ($id) {
         $xml = '<?xml version="1.0" encoding="' . $this->encode . '"?>' . '<request>' . '<protocol-version>4.00</protocol-version>' . '<request-type>30</request-type>' . '<extra name="password">' . $this->passwd . '</extra>' . '<terminal-id>' . $this->login . '</terminal-id>' . '<extra name="txn-id">' . $id . '</extra>' . '<extra name="to-account">' . $this->form['phone'] . '</extra>' . '<extra name="amount">' . $this->form['sum'] . '</extra>' . '<extra name="comment">' . $this->form['comment'] . '</extra>' . '<extra name="create-agt">' . $this->create_agt . '</extra>' . '<extra name="ltime">' . $this->ltime . '</extra>' . '<extra name="ALARM_SMS">' . $this->alarm_sms . '</extra>' . '<extra name="ACCEPT_CALL">' . $this->accept_call . '</extra>' . $oper_xml . '</request>';
         if ($this->passwd == 'debug') {
             $result = '<response><result-code fatal="false">0</result-code></response>';
         } else {
             $result = $this->_request($xml);
         }
         if ($err = $this->_checkResultError($result)) {
             $error['qiwi'] = $err;
             $this->DB->rollback();
             die;
             return $error;
         }
         // различные ограничения по телефонному номеру
         unset($aData['sum']);
         $sCode = substr($aData['phone'], 0, 3);
         $sNum = substr($aData['phone'], 3);
         $sOper = $this->DB->val('SELECT COALESCE(operator_id, 0) FROM mobile_operator_codes 
             WHERE code = ? AND ? >= start_num AND ? <= end_num', $sCode, $sNum, $sNum);
         $aData['operator_id'] = $sOper;
         $this->DB->insert('qiwi_phone', $aData);
         $memBuff = new memBuff();
         $nStamp = time();
         $sKey = 'qiwiPhone' . $account->id . '_' . $aData['phone'];
         if (!($aData = $memBuff->get($sKey))) {
             $aData = array('time' => $nStamp, 'cnt' => 0);
         }
         $aData['time'] = $aData['time'] + 3600 > $nStamp ? $aData['time'] : $nStamp;
         $aData['cnt'] = $aData['time'] + 3600 > $nStamp ? $aData['cnt'] + 1 : 1;
         $memBuff->set($sKey, $aData, 3600);
         //-----------------------------------
     }
     $this->DB->commit();
     $this->saveBillForm();
     return 0;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:68,代码来源:qiwipay.php

示例10: resendCode

function resendCode($sbr_id, $stage_id)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pskb.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/memBuff.php';
    $sbr_id = __paramValue('int', $sbr_id);
    $stage_id = __paramValue('int', $stage_id);
    $objResponse = new xajaxResponse();
    $objResponse->script("\$('alert_sms').removeClass('b-layout__txt_color_56bd06').removeClass('b-layout__txt_color_c7271e'); ");
    if (!$sbr_id) {
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Запрос не может быть обработан.');");
        //$objResponse->alert('Запрос не может быть обработан.');
        return $objResponse;
    }
    $m = new memBuff();
    $lasttime = $m->get(pskb::SMS_RESEND_KEY . $sbr_id);
    if ($lasttime) {
        $mins = ceil(($lasttime + 300 - time()) / 60);
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Еще раз выслать код можно будет через {$mins} минут" . ending($mins, 'у', 'ы', '') . ".');");
        //$objResponse->alert("Повторный запрос можно будет сделать примерно через {$mins} минут" . ending($mins, 'у', 'ы', '') );
        return $objResponse;
    }
    $uid = get_uid(0);
    if (!$uid) {
        $objResponse->redirect('/');
        return $objResponse;
    }
    $sbr = sbr_meta::getInstance();
    if (!$sbr->initFromId($sbr_id)) {
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Запрос не может быть обработан.');");
        return $objResponse;
    }
    $stage = $sbr->initFromStage($stage_id, false);
    if (!$stage) {
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Запрос не может быть обработан.');");
        return $objResponse;
    }
    if ($uid != $sbr->data['frl_id']) {
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Запрос не может быть обработан.');");
        //$objResponse->alert('Запрос не может быть обработан.');
        return $objResponse;
    }
    $pskb = new pskb($sbr);
    if (!$pskb->resendCode($stage)) {
        $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_c7271e'); \n                              \$('alert_sms').set('html', 'Не удалось выслать код.');");
        //$objResponse->alert('Ошибка запроса. Попробуйте еще раз.');
        return $objResponse;
    }
    $m->set(pskb::SMS_RESEND_KEY . $sbr_id, time(), 300);
    $objResponse->script("\$('alert_sms').addClass('b-layout__txt_color_56bd06'); \n                          \$('alert_sms').set('html', 'Код отправлен повторно.');\n                          \$('send_sms').destroy();\n                          \$('resend_sms').set('html', 'Еще раз выслать код можно будет через 5 минут.')");
    //$objResponse->alert('Код отправлен повторно.');
    if (defined('PSKB_TEST_MODE')) {
        $objResponse->script('document.location.reload();');
    }
    return $objResponse;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:55,代码来源:sbr.server.php

示例11: memBuff

*/
echo '<p>Результат <strong>paymentAviso</strong>:</p>';
echo '<pre>';
print_r(htmlspecialchars($complete));
echo '</pre>';
exit;
$uid = get_uid(false);
$key = 'post_payment_' . $uid;
$memBuff = new memBuff();
if (isset($_GET['cancel'])) {
    //Отказ от платежа
    header('Location: /bill/fail');
    exit;
} elseif (isset($_GET['success'])) {
    $host = $GLOBALS['host'];
    $payment = $memBuff->get($key);
    $_SERVER['HTTP_X_REAL_IP'] = '77.75.157.166';
    $invoceId = isset($payment['invoiceId']) ? $payment['invoiceId'] : rand(1, 50000);
    //Что нам говорит яндекс
    $post = array('requestDatetime' => date('c'), 'action' => 'checkOrder', 'shopId' => $payment['ShopID'], 'invoiceId' => $invoceId, 'customerNumber' => $payment['customerNumber'], 'orderCreatedDatetime' => date('c'), 'orderSumAmount' => floatval($payment['Sum']), 'orderSumCurrencyPaycash' => 643, 'orderSumBankPaycash' => 1001, 'shopSumAmount' => $payment['Sum'], 'shopSumCurrencyPaycash' => 643, 'shopSumBankPaycash' => 1001, 'paymentPayerCode' => 42007148320.0, 'paymentType' => $payment['paymentType']);
    if (isset($payment['orderId'])) {
        $post['orderId'] = $payment['orderId'];
    }
    $post['md5'] = strtoupper(md5(implode(';', array($post['action'], $post['orderSumAmount'], $post['orderSumCurrencyPaycash'], $post['orderSumBankPaycash'], $post['shopId'], $post['invoiceId'], $post['customerNumber'], YK_KEY))));
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $host . '/income/ykassa.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_USERPWD, BASIC_AUTH);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    ob_start();
    $res = curl_exec($ch);
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:ykassa_aviso.php

示例12: Buy

 /**
  * Совершить покупку
  *
  * @param integer $id				возвращает id покупки
  * @param integer $transaction_id	идентификатор текущей транзакции
  * @param integer $op_code			идентификатор операции
  * @param integer $uid				UID
  * @param string  $descr			описание для системы
  * @param string  $comments			описание для истории юзера
  * @param integer $ammount			количество товара
  * @param integer $commit			завершать ли транзакцию?
  * @param integer $promo_code   	ИД промо-кода
  * 
  * @return integer					0
  */
 function Buy(&$id, $transaction_id, $op_code, $uid, $descr = "", $comments = "", $ammount = 1, $commit = 1, $promo_code = 0, $payment_sys = 0, $trs_sum = 0)
 {
     global $DB;
     if (!$transaction_id || $transaction_id != $this->check_transaction($transaction_id, $uid)) {
         return "Невозможно завершить транзакцию";
     } else {
         $res = $DB->query("SELECT op_codes.sum as op_sum, account.sum, account.id FROM op_codes, account WHERE op_codes.id=? AND account.uid=?", $op_code, $uid);
         if (pg_errormessage()) {
             return "Ошибка при получении информации о счете!";
         }
         list($op_sum, $ac_sum, $bill_id) = pg_fetch_row($res);
         $sum = $op_sum * $ammount;
         if ($promo_code) {
             $promoCodes = new PromoCodes();
             $sum = $sum - $promoCodes->getDiscount($promo_code, $sum);
         }
         $ac_sum = round($ac_sum, 2);
         $sum = round($sum, 2);
         //@todo: зачем мемкеш? если занос денег deposit и покупка в отдной сессии php
         //можно было старое значение передать глобальной переменной или реестром
         $memBuff = new memBuff();
         $ac_sum_old = round($memBuff->get("ac_sum_old_" . $uid), 2);
         $memBuff->delete("ac_sum_old_" . $uid);
         $new_ac_sum = $ac_sum_old < 0 ? $ac_sum - $ac_sum_old : $ac_sum;
         if ($sum > 0 && $sum > $new_ac_sum) {
             return "Недостаточно средств на счету!";
         }
         if ($sum < 0) {
             return "Покупка на отрицательную сумму!";
         }
         $id = $DB->insert('account_operations', array('billing_id' => $bill_id, 'op_code' => $op_code, 'ammount' => -$sum, 'descr' => $descr, 'comments' => $comments, 'payment_sys' => $payment_sys, 'trs_sum' => $trs_sum), 'id');
         if ($DB->error) {
             return "Ошибка при записи счета!";
         } else {
             if ($uid == get_uid(false)) {
                 $_SESSION['ac_sum'] = $_SESSION['ac_sum'] - $sum;
             }
         }
         if ($promo_code) {
             $promoCodes->markUsed($promo_code);
         }
         // количество операций
         $_SESSION['account_operations'] = intval($_SESSION['account_operations']) + 1;
         // для счетчика everesttech.net (см. engine/templates/footer.tpl)
         if ($sum > 0) {
             $_SESSION['everesttech_conter'] = 1;
         }
         if ($commit) {
             $this->commit_transaction($transaction_id, $uid, $id);
         }
     }
     return 0;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:68,代码来源:account.php

示例13: memBuff

<?php

require_once $_SERVER["DOCUMENT_ROOT"] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
$membuf = new memBuff();
$memkey = "b-combo-getprofandgroups";
$s = $membuf->get($memkey);
if (!$s) {
    $rows = professions::GetProfessionsAndGroup();
    $result = array();
    foreach ($rows as $k => $i) {
        if ($result[$i["gid"]] === null) {
            $result[$i["gid"]] = array('0' => iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]), "undefined_value" => iconv("WINDOWS-1251", "UTF-8//IGNORE", 'Все специальности'));
            if ($i["id"] !== null) {
                $result[$i["gid"]][$i["id"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]);
            } else {
                $result[$i["gid"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["gname"]);
            }
        } else {
            if (is_array($result[$i["gid"]])) {
                $result[$i["gid"]][$i["id"]] = iconv("WINDOWS-1251", "UTF-8//IGNORE", $i["name"]);
            }
        }
    }
    $s = json_encode($result);
    $membuf->add($memkey, $s);
}
print 'var professionsList = ' . $s . '; professionsList["0"]["0"] = "Другое";professionsList["0"]["undefined_value"] = "Нет специализации";';
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:28,代码来源:0028094.php

示例14: isAllowed

 /**
  * Проверка возможности отправить сообщение ползователю.
  * 
  * @global type $DB
  * @staticvar null $exists_allowed
  *
  * @param type $to_id
  * @param type $from_id
  *
  * @return bool
  */
 public static function isAllowed($to_id, $from_id = null)
 {
     $is_auth = isset($_SESSION['uid']) && $_SESSION['uid'] > 0;
     if (!$from_id && !$is_auth) {
         return false;
     }
     if (!$from_id) {
         $from_id = $_SESSION['uid'];
     }
     if ($is_auth && (currentUserHasPermissions('users') || is_emp())) {
         return true;
     }
     $is_allowed = self::_isAllowed($to_id, $from_id);
     if (!$is_allowed) {
         //Была ли уже проверка доступности
         //тогда пользователю запрещено писать
         $key_check_is_allowed = sprintf(self::KEY_CHECK_IS_ALLOWED, $from_id, $to_id);
         $mem = new memBuff();
         if ($mem->get($key_check_is_allowed)) {
             return false;
         }
         //Иначе делаем проверку
         //Которые уже хотя бы раз общались с заказчиком через личку,
         //например если заказчик инициировал общение или они ранее общались
         $proxy_db = new DB();
         $is_allowed = $proxy_db->val('SELECT messages_dialog_count(?i, ?i)', $to_id, $from_id) > 0;
         //Которых заказчик выбрал исполнителем в любом своем проекте
         if (!$is_allowed) {
             require_once ABS_PATH . '/classes/projects.php';
             $is_allowed = (bool) projects::isExec($from_id, $to_id);
         }
         //В список условий я бы еще добавил проведение заказа на сайте - если есть завершенный заказ
         //(с резервом или без, по ТУ, проекту или прямой) с данным заказчиком, то тоже разрешать
         //исполнителю писать ему в личку, так как в заказе светится логин заказчика и они уже сотрудничали.
         if (!$is_allowed) {
             require_once ABS_PATH . '/tu/models/TServiceOrderModel.php';
             $is_allowed = (bool) TServiceOrderModel::hasSuccessfulOrder($from_id, $to_id);
         }
         //Если фрилансер был выбран на любое призовое место в конкурсе то
         //он может писать сообщения заказчику.
         if (!$is_allowed) {
             require_once ABS_PATH . '/classes/contest.php';
             $is_allowed = (bool) contest::isPrizePlace($from_id, $to_id);
         }
         if ($is_allowed) {
             self::setIsAllowed($to_id, $from_id, true);
         }
         $mem->set($key_check_is_allowed, 1, 0, self::KEY_CHECK_TAG_IS_ALLOWED);
     }
     return $is_allowed;
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:62,代码来源:messages.php

示例15: getCurrencyForDate

 /**
  * Берем курсы валют на определенный день
  *
  * @param string $date Дата (в формате 01/01/2009), по умолчанию текущий день
  * @return array|boolean Курсы валют где ключ это название валюты а значение это массив [units=>Единиц, kurs=> Курс по отношению к рублю], либо false если не удалось взять курсы валют
  */
 function getCurrencyForDate($date = false)
 {
     if (!$date) {
         $date = date("d/m/Y");
     }
     $mb = new memBuff();
     if ($tmp = $mb->get('currency_for_date')) {
         if ($tmp['date'] == $date && $tmp['data']) {
             return $tmp['data'];
         }
     }
     libxml_disable_entity_loader();
     $file = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req={$date}&d=1");
     // Валюты которые меняются раз в месяц
     $file2 = file_get_contents("http://www.cbr.ru/scripts/XML_daily.asp?date_req={$date}&d=0");
     // Валюты которые меняются раз в день
     $p = simplexml_load_string($file);
     $p2 = simplexml_load_string($file2);
     $v = "Valute";
     foreach ($p->{$v} as $key => $value) {
         $cur[(string) $value->CharCode] = array("units" => intval($value->Nominal), "kurs" => round(str_replace(",", ".", $value->Value), 4));
     }
     foreach ($p2->{$v} as $key => $value) {
         $cur[(string) $value->CharCode] = array("units" => intval($value->Nominal), "kurs" => round(str_replace(",", ".", $value->Value), 4));
     }
     if (!isset($cur)) {
         return false;
     }
     $cur['RUB'] = array("units" => 1, "kurs" => 1);
     // Заглушка для рубля
     $mb->set('currency_for_date', array('date' => $date, 'data' => $cur));
     return $cur;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:39,代码来源:sms_services.php


注:本文中的memBuff::get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。