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


PHP memBuff::add方法代码示例

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


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

示例1: foreach

 /**
  * Деструктор.
  * @see CFileCache::getInstance()
  */
 function __destruct()
 {
     foreach ($this->_cache as $key => $row) {
         if ($this->_memAllowed($row)) {
             $this->_memBuff->add($this->_memkey($key), $row, self::MEM_LIFE);
         }
     }
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:12,代码来源:CFileCache.php

示例2: 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

示例3: processRequest

 /**
  * Обрабатывает POST переменную action  и  возвращает null или данные.
  *
  * @return string
  */
 public function processRequest()
 {
     $expire = 1;
     //3600;
     $action = __paramInit('string', '', 'action');
     switch ($action) {
         case 'getdays':
             $days = array(1 => iconv('WINDOWS-1251', 'UTF-8//IGNORE', '1 день'));
             $max = __paramInit('integer', '', 'max', 1);
             $all = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 21, 30, 45, 60, 90);
             if ($max > 1) {
                 $days = array();
                 foreach ($all as $day) {
                     if ($day >= $max) {
                         break;
                     }
                     $days[$day] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $day . ending($day, ' день', ' дня', ' дней'));
                 }
             }
             $days = array(array('parentId' => '0'), $days);
             return json_encode($days);
             break;
         case 'gettucategories':
             $expire = 300;
             //3600;
             $membuf = new memBuff();
             $memkey = 'b-combo-gettucategories';
             $result = $membuf->get($memkey);
             if (!$result) {
                 /*
                  * Получаем из базы иерархию категорий для
                  * типовой услуги
                  */
                 $DB = new DB('master');
                 $sql = 'SELECT 
                             g.id AS gid, 
                             g.title AS gname, 
                             g.ucnt AS gucnt, 
                             p.id AS pid, 
                             p.title AS name,
                             p.ucnt AS pucnt
                          FROM tservices_categories AS g 
                          INNER JOIN tservices_categories AS p ON p.parent_id = g.id 
                          ORDER BY g.ucnt DESC, p.ucnt DESC --gid, pid --g.n_order, p.n_order';
                 $rows = $DB->rows($sql);
                 $result = array();
                 if (count($rows)) {
                     foreach ($rows as $k => $i) {
                         if ($result[$i['gid']] === null) {
                             $result[$i['gid']] = array('0' => array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt']));
                             if ($i['pid'] !== null) {
                                 $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']);
                             } else {
                                 $result[$i['gid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt']);
                             }
                         } elseif (is_array($result[$i['gid']])) {
                             $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']);
                         }
                     }
                 }
                 //print_r($result);
                 //exit;
                 $result = json_encode($result);
                 $membuf->add($memkey, $result, $expire);
             }
             return $result;
             break;
         case 'getlettergrouplist':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $lettergroups = letters::getGroups($_POST['word'], (int) $_POST['limit']);
             $result = array();
             $n = 0;
             foreach ($lettergroups as $k => $i) {
                 $result[$n]['uid'] = $i['id'];
                 $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['title']);
                 $result[$n]['usurname'] = '';
                 $result[$n]['login'] = '';
                 $result[$n]['photo'] = '';
                 $result[$n]['path'] = '';
                 $result[$n]['isContacts'] = '';
                 ++$n;
             }
             $list = array();
             $list['list'] = $result;
             $list['counters']['moreContacts'] = 0;
             $list['counters']['moreUsers'] = 0;
             $list['dav'] = WDCPREFIX;
             return json_encode($list);
             break;
         case 'getlettergroupinfo':
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php';
             $group = letters::getGroup($_POST['uid']);
             if ($group) {
                 $data = array('record' => array('uid' => $group['id'], 'uname' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $group['title']), 'usurname' => '', 'login' => '', 'photo' => '', 'path' => '', 'isContacts' => ''), 'found' => 1, 'dav' => WDCPREFIX);
             }
//.........这里部分代码省略.........
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:101,代码来源:b_combo_box_request_handler.php

示例4: array

        $cResult[$k] = "'{$k}' : '{$i}'";
    }
    $result[10] = $cResult;
    //города Казахстана     38
    $rows = city::GetCities(38);
    $cResult = array('0' => "'0' : 'Казахстан'", 'undefined_value' => "'undefined_value' : 'Все города'");
    foreach ($rows as $k => $i) {
        $i = str_replace('"', '"', $i);
        $i = str_replace("'", "\\'", $i);
        $cResult[$k] = "'{$k}' : '{$i}'";
    }
    $result[38] = $cResult;
    $tdata = array();
    foreach ($result as $k => $i) {
        $inner = "'{$i}'";
        $item = "'{$k}' : {$inner}";
        if (is_array($i)) {
            $inner = implode(',', $i);
            //join(",\n\t\t\t",
            $item = "'{$k}' : " . '{' . $inner . '}';
            //"'$k' : \n\t{\n\t\t\t$inner\n\t\t}";
        }
        $tdata[] = $item;
    }
    $result = $tdata;
    $s = implode(',', $result);
    //join(",\n"
    $s = '{' . $s . '}';
    $membuf->add($memkey, $s, 3600);
}
print 'var citiesList = ' . $s . '; citiesList["1"]["0"] = "Россия"; ';
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:cities_js.php

示例5: 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

示例6: paymentOrder


//.........这里部分代码省略.........
                         $tmpPrj->setProjectField('state', projects::STATE_PUBLIC);
                         //Если оплачивается не перемещенная вакансия
                         //то работаем как обычно и подымаем вверх
                         if ($tproject['state'] != projects::STATE_MOVED_TO_VACANCY) {
                             $tmpPrj->setProjectField('post_now', true);
                         }
                         break;
                 }
                 $error = $tmpPrj->saveProject($this->user['uid'], $proj, $this->ordersPromoCodes);
                 $success = !$error;
                 if ($success) {
                     if (isset($tmpPrj->account_operation_id) && $tmpPrj->account_operation_id > 0) {
                         $account_operation_id = $tmpPrj->account_operation_id;
                     }
                     switch ($order['option']) {
                         case 'office':
                             if ($tproject['state'] == projects::STATE_MOVED_TO_VACANCY) {
                                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
                                 $smail = new smail();
                                 $smail->sendMovedToVacancySuccessPayed($tproject);
                                 require_once $_SERVER['DOCUMENT_ROOT'] . '/guest/models/GuestInviteModel.php';
                                 $guestInviteModel = new GuestInviteModel();
                                 $guestInviteModel->updateDatePublicBySrc($prj_id, array(GuestConst::TYPE_PROJECT, GuestConst::TYPE_VACANCY));
                                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/autoresponse.php';
                                 $autoresponse = new autoresponse();
                                 $autoresponse->reduceByProject($prj_id);
                             }
                             break;
                     }
                 }
             }
             //Сохраняем, чтобы показать попап юзеру
             $memBuff = new memBuff();
             $memBuff->add('bill_ok_project_' . $this->user['uid'], $proj['id']);
             //Если это оплата вакансии или конкусра то предлагаем еще купить платные опции
             if (in_array($order['option'], array('office', 'contest')) && !$isMovedToVacancy) {
                 $memBuff->add('bill_ok_project_payed_' . $this->user['uid'], true);
             }
             break;
             //------------------------------------------------------------------
             // Платное место в карусели
         //------------------------------------------------------------------
         // Платное место в карусели
         case 65:
             // На главной странице
             $catalog = 0;
         case 73:
             // В каталоге
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pay_place.php';
             $payPlace = new pay_place(isset($catalog) ? $catalog : 1);
             $buyMain = $this->account->Buy($account_operation_id, $this->transaction, $order['op_code'], $this->user['uid'], $order['comment'], $order['descr'], $order['op_count'], 0, $order['promo_code']);
             if ($buyMain === 0) {
                 $options = unserialize($order['option']);
                 if (isset($options['adHead'])) {
                     //поддержка старого режима
                     $success = $payPlace->addUser($this->user['uid'], $options['adHead'], $options['adText'], $options['adImg']);
                 } else {
                     $success = $payPlace->addUserRequest($this->user['uid'], $options);
                 }
             }
             break;
             //------------------------------------------------------------------
             // ПРО аккаунт фрилансеры
         //------------------------------------------------------------------
         // ПРО аккаунт фрилансеры
         case 47:
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:67,代码来源:billing.php

示例7: while

    while ($users = freelancer::GetPrjRecps($error, ++$page, $page_size)) {
        $to_storage = array();
        foreach ($users as $user) {
            $to_storage[$user['uid']] = $user;
            $indexs[$user['uid']] = $page;
            //$indexs_str .= $user['uid'] . ':' . $page . '|';
            //@todo: fill more more for testing
            for ($i = 0; $i < 19; ++$i) {
                $user['uid'] .= '_' . $i;
                $to_storage[$user['uid']] = $user;
                $indexs[$user['uid']] = $page;
                //$indexs_str .= $user['uid'] . ':' . $page . '|';
            }
        }
        $key = FRL_KEY . '-' . $page_size . '-' . $page;
        $membuf->add($key, $to_storage, LIFE_TIME, FRL_TAG);
        unset($to_storage);
    }
    if ($page > 0) {
        $membuf->add(FRL_PAGES, $page, LIFE_TIME, FRL_TAG);
        $membuf->add(FRL_INDEX, $indexs, LIFE_TIME, FRL_TAG);
        //$membuf->add(FRL_INDEX, $indexs_str, LIFE_TIME, FRL_TAG);
    }
    unset($indexs);
}
//END IF
//------------------------------------------------------------------------------
$profiler->stop('fill_frl_mem');
//------------------------------------------------------------------------------
//$results['$indexs_str'] = strlen($indexs_str);
/*
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:mem2.php

示例8: send

 /**
  * Печатает html-блоки (<script ...>, <link ...>, др.) для обращения к статическому контенту.
  * Собирает статику каждого типа (js|css) в один файл, вида:
  * %batchid%_%version%.%type%
  * который сохраняет на сервере. При следующем обращении, если версия не устарела, то просто печатаем тег с адресом этого файла.
  * Если версия устарела, то сначала генерируем файл заново. При этом блокируем запись файла от других процессов.
  * Если процесс натыкается на блок, то выдаем ему статику "online" -- через static_compressor::output().
  */
 public function send()
 {
     global $DB;
     if (!$this->enabled) {
         return $this->sendUncomressed();
     }
     $log = $this->_log;
     $this->getBatchesInfo();
     foreach ($this->types as $type => $name) {
         if (!$this->files[$type]) {
             continue;
         }
         $batch_id = md5(implode(self::SEED_SEP, $this->files[$type]));
         $batch_version = $this->getBatchVersion($batch_id);
         $ext = $this->types[$type];
         $filename = self::STATIC_WDPATH . '/' . $this->createFileName($batch_id, $batch_version, $ext);
         $fileurl = WDCPREFIX . '/';
         $expired = false;
         $file_not_exists = false;
         $batch_locked = 0;
         if ($expired = $batch_version < $this->_batches['version']) {
             if (isset($_SERVER['REQUEST_URI'])) {
                 // $log->writeln("ref: {$_SERVER['REQUEST_METHOD']} {$_SERVER['REQUEST_URI']}");
             }
             $old_filename = $filename;
             $old_batch_version = $batch_version;
             // $log->writeln("batch file {$filename} expired");
             $lock_key = $this->_createBatchLockKey($batch_id, $this->_batches['version']);
             // $this->memBuff->delete($lock_key);
             if (!$batch_locked && !($batch_locked = $this->memBuff->get($lock_key))) {
                 $log->writeln('lock not exist, try set it...');
                 if ($batch_locked = !$this->memBuff->add($lock_key, 1, self::MEM_LOCK_LIFE)) {
                     $log->writeln('lock already added');
                 } elseif ($batch_locked = !$this->memBuff->set($lock_key, 1, self::MEM_LOCK_LIFE)) {
                     // какая-то фигня с add(), но зато блокирует другие add().
                     $log->writeln('lock setting failed');
                 }
             }
             if (!$batch_locked) {
                 // т.е. именно этот процесс будет формировать пакет.
                 $lock_cnt = (int) $this->memBuff->get($lock_key . '.counter');
                 if ($lock_cnt > 0 || !$DB->query("SELECT pgq.insert_event('share', 'static_compress.createBatchBySeed', ?)", 'seed=' . $this->_encodeSeed($type))) {
                     // Сжимаем рантайм (но лайт):
                     // а) если прошло уже достаточно времени для формирования пакета, но его так и нет -- считаем, что отвалился pgq
                     //    (один $lock_cnt значит, что прошло self::MEM_LOCK_LIFE секунд);
                     // б) в случае, если pgq сработал, но возникла ошибка в createBatch() (например, при сжатии);
                     // в) в случае неудачи инсерта в очередь.
                     $batch_locked = $this->_createBatch($type, $batch_id, $this->_batches['version'], $filename, true);
                 } else {
                     $batch_locked = 100;
                     // просто отдадим пока старую версию.
                 }
                 $this->memBuff->set($lock_key . '.counter', $lock_cnt + 1, self::MEM_LOCK_LIFE * 10);
             }
             if ($batch_locked) {
                 if ($old_batch_version) {
                     // старый файл точно есть.
                     // 1. Отдаем старую версию.
                     // $log->writeln("sending old version: batch file {$filename} is locked/failed ($batch_locked)\n");
                     $filename = $old_filename;
                 } else {
                     // 2. Если использовать только этот вариант, то он жутко грузит апачи при перегенерации.
                     // Поэтому только в случае отсутствия старого файла.
                     // $log->writeln("sending uncompressed: batch file {$filename} is locked/failed ($batch_locked)\n");
                     $filename = '/static.php?t=' . $this->_encodeSeed($type);
                     $fileurl = '';
                 }
                 // 3. Либо такой вариант. Но в таком случае рискуем выдать юзеру серверный устаревший кэш.
                 // 08.2012: уже не катит совсем из-за IE+БЭМ.
                 // $this->sendUncomressed($type, $this->_batches['version']);
                 // continue;
             }
             // $log->write("\n");
         }
         $this->printTags($fileurl . $filename, $type);
     }
     if ($this->_addWorker) {
         $this->_addWorker->send();
     }
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:88,代码来源:static_compress.php

示例9: isCommuneTopicSubscribed

 /**
  * Функция возвращает результат подписки на комментарии топика сообщества для пользователя
  * 
  * @param integer $user_id
  * @param integer $message_id
  * @return array
  */
 public static function isCommuneTopicSubscribed($message_id, $user_id)
 {
     $membuf = new memBuff();
     $memkey = "comm_topic_subscribe_{$message_id}" . "_" . "{$user_id}";
     $result = $membuf->get($memkey);
     if (!$result) {
         global $DB;
         $sql = "SELECT subscribed FROM commune_users_messages WHERE user_id = ?i AND message_id = ?i";
         $result = $DB->val($sql, $user_id, $message_id);
         $membuf->add($memkey, $result, 3600);
     }
     if ($result == 't') {
         return true;
     }
     return false;
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:23,代码来源:commune.php


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