本文整理汇总了PHP中memBuff::delete方法的典型用法代码示例。如果您正苦于以下问题:PHP memBuff::delete方法的具体用法?PHP memBuff::delete怎么用?PHP memBuff::delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类memBuff
的用法示例。
在下文中一共展示了memBuff::delete方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _createBatch
/**
* Создает пакет.
*
* @param int $type тип пакета (TYPE_CSS|TYPE_JS|TYPE_PHP_JS|TYPE_JS_UTF8)
* @param string $batch_id ид. (хеш) пакета
* @param string $batch_version устанавливаемая версия пакета (текущая версия всей статики).
* @param string $filename вернется имя файла пакета
* @param bool $light true, если сжимаем по облегченному варианту (сжатие быстрое, но не полное).
*
* @return int код ошибки или 0.
*/
private function _createBatch($type, $batch_id, $batch_version, &$filename, $light = false)
{
$log = $this->_log;
$err = 0;
$cfile = new CFile();
$filename = self::STATIC_WDPATH . '/' . $this->createFileName($batch_id, $batch_version, $this->types[$type]);
$lock_key = $this->_createBatchLockKey($batch_id, $batch_version);
if (!$light || !$cfile->CheckPath($filename, false)) {
// проверка на случай, если pgq переполнится.
$log->writeln("creating new batch file {$filename}, compressing content...");
if ($content = $this->_compress($type, $light)) {
$cfile->exclude_reserved_wdc = true;
if ($cfile->putContent($filename, $content)) {
$log->writeln('saving batch info to memcached...');
if (!$this->setBatchVersion($batch_id, $batch_version)) {
$err = 3;
}
} else {
$err = 2;
}
} else {
$err = 1;
}
}
if ($err) {
$log->writeln("failed ({$err})");
$filename = null;
}
$log->writeln('unset lock...');
$ok = $this->memBuff->delete($lock_key);
$log->writeln($ok ? 'ok' : 'failed');
return $err;
}
示例2: process_event
public function process_event(&$event)
{
$r = FALSE;
switch ($event->type) {
case 'memcache_delete':
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/memBuff.php';
$memBuff = new memBuff();
$memBuff->delete($event->data['key']);
$r = TRUE;
break;
case 'memcache_flush_group':
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/memBuff.php';
$memBuff = new memBuff();
$memBuff->flushGroup($event->data['key']);
$r = TRUE;
break;
case 'static_compress.createBatchBySeed':
$GLOBALS['DEBUG_VAR'] = array();
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/static_compress.php';
$memBuff = new memBuff();
$memBuff->set('eto.kostyl.inache.tupit.set.v.createBatch', 1, 1);
$stc = new static_compress();
$r = !($error = $stc->createBatchBySeed($event->data['seed']));
break;
}
if ($event->type) {
$this->log->notice("Function {$event->type}... " . ($r ? 'Success' : 'Error ' . $error));
$this->log->notice(base64_decode($event->data['seed']));
$this->log->notice(var_export($GLOBALS['DEBUG_VAR']));
}
return PGQ_EVENT_OK;
}
示例3: 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)));
}
}
示例4: addSubscribeUser
/**
* Подписать пользователя на рассылку
*/
public function addSubscribeUser($uid = null)
{
global $DB;
if (!$uid) {
$uid = $_SESSION['uid'];
}
$memBuff = new memBuff();
$memBuff->delete("verify_count");
// Очищаем кеш
return $DB->insert("verify", array("uid" => $uid));
}
示例5: 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;
}
示例6: updateCBRates
/**
* Получает курсы валют ЦБ и обновляет их у нас (используется в crone файл hourly.php)
*/
function updateCBRates()
{
// Удаляем старые курсы из кеша
$memBuff = new memBuff();
$memBuff->delete('getCBRates');
$CBRates = getCBRates();
if ($CBRates) {
$pex = self::GetAll(false);
$exs = array();
$exs[12] = $pex[12];
$exs[13] = $pex[13];
$exs[14] = $pex[14];
$exs[24] = str_replace(",", ".", $CBRates['USD']['Value']);
$exs[34] = str_replace(",", ".", $CBRates['EUR']['Value']);
$error = 0;
foreach ($exs as $k => $v) {
if ((double) $v <= 0) {
$error = 1;
break;
}
$pex[$k] = $v;
}
if (!$error) {
$ex_cnt = 4;
for ($i = 1; $i <= $ex_cnt; $i++) {
@($pex[$i . '1'] = 1 / $pex['1' . $i]);
$pex[$i . $i] = 1;
}
for ($i = 2; $i <= $ex_cnt; $i++) {
for ($j = 2; $j <= $ex_cnt; $j++) {
$pex[$j . $i] = $pex[$j . $j] / $pex[$i . $j];
}
}
self::BatchUpdate($pex);
}
}
}
示例7: destroy
/**
* Уничтожает данные по временному проекту, удаляет из кэша.
*
* @return integer 0
*/
function destroy()
{
if ($this->_tmpFiles) {
$cfile = new CFile();
foreach ($this->_tmpFiles as $fname) {
$cfile->Delete(0, $this->_tmpAbsDir, $fname);
}
}
$this->_project = NULL;
$this->_attach = NULL;
$this->_logo = NULL;
$this->_transactionId = NULL;
$this->_addedTopDays = 0;
$this->_uid = NULL;
$this->_tmpFiles = NULL;
$this->_deletedFiles = NULL;
$this->_isEdit = NULL;
$this->_buffer = NULL;
$this->_categories = NULL;
if ($this->_memkey) {
$memBuff = new memBuff();
$memBuff->delete($this->_memkey);
}
return 0;
}
示例8: substr
$alert[3] = "Этот пользователь заблокирован. Вы не можете отправить ему личное сообщение";
}
$dlg_user = users::GetUid($err, $user->login);
$dlg_user_login = $user->login;
if ($post_denied = ignor::CheckIgnored($dlg_user, $_SESSION['uid']) || in_array($user->login, array('admin', 'Anonymous'))) {
$error = "Пользователь запретил отправлять ему сообщения";
}
if (!$post_denied && is_emp($user->role)) {
$is_allow_messages = messages::isAllowed($user->uid, $uid);
$post_denied = !$is_allow_messages;
}
$prjname = $_POST['prjname'];
$cnt_role = substr($user->role, 0, 1) == '0' ? "frl" : "emp";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/memBuff.php";
$memBuff = new memBuff();
$memBuff->delete("msgsCnt" . get_uid(false));
# $css_file = "";
}
} else {
switch ($page) {
case "unread":
$cur_folder = -7;
break;
case "team":
$cur_folder = -1;
break;
case "ignor":
$cur_folder = -2;
break;
case "del":
$cur_folder = -3;
示例9: deleteSpamByMsg
/**
* Помечает все жалобы на сообщение удаленными (решение админа)
*
* @param int $nSpamerId UID спамера
* @param string $sMsgMd5 MD5 хэш текста сообщения
* @param int $nResolve Решение админа: 0 - еще не решил, 1 - это не спам, 2 - предупреждение, 3 - бан
* @return bool true - успех, false - провал
*/
function deleteSpamByMsg($nSpamerId = 0, $sMsgMd5 = '', $nResolve = 0)
{
$bRet = false;
if ($nSpamerId && $sMsgMd5) {
$DB = new DB('plproxy');
$DB->query("SELECT messages_spam_del_msg(?i, ?, ?i)", $nSpamerId, $sMsgMd5, $nResolve);
if (!$DB->error) {
$bRet = true;
$oMemBuf = new memBuff();
if (($nCount = $oMemBuf->get('messages_spam_count')) !== false) {
$nCount = $nCount - 1;
if ($nCount < 0) {
$nCount = 0;
}
$oMemBuf->set('messages_spam_count', $nCount, 3600);
} else {
$oMemBuf->delete('messages_spam_count');
$this->getSpamCount();
}
}
}
return $bRet;
}
示例10: SubscribeTheme
/**
* Подписаться на топик сообщества.
*
* @param int $theme_id - id сообщения из commune_messages
* @param bool $use_new_template - так как на альфе и боевой используется отчасти старый шаблон, который использует
* эту функцию,временно ввожу этот флаг, чтобы сохранить работоспособность обоих вариантов
* */
function SubscribeTheme($theme_id, $use_new_template = false)
{
session_start();
if (!isset($_SESSION['uid'])) {
return;
}
$subscribeText = 'Подписаться на тему';
$unsubscribeText = 'Отписаться от темы';
if ($use_new_template) {
$subscribeText = 'Подписаться на комментарии';
$unsubscribeText = 'Отписаться от комментариев';
}
$objResponse = new xajaxResponse();
$res = commune::SubscribeTheme($theme_id, $_SESSION['uid']);
$txt = !$res ? $subscribeText : $unsubscribeText;
if ($use_new_template) {
$memkey = "comm_topic_subscribe_{$theme_id}" . '_' . $_SESSION['uid'];
$membuf = new memBuff();
$membuf->delete($memkey);
$objResponse->script("\$('subscribe_to_comm').set('html', '{$txt}');");
} else {
$objResponse->script("\$('subscrToggle').set('html', '{$txt}');");
}
return $objResponse;
}
示例11: tservicesOrdersNewFeedback
/**
* Новый отзыв по заказу ТУ
*
* @global type $uid
* @global type $orderModel
* @param type $params
* @return \xajaxResponse
*/
function tservicesOrdersNewFeedback($params)
{
$uid = get_uid(false);
$orderModel = TServiceOrderModel::model();
$objResponse =& new xajaxResponse();
$order_id = intval(@$params['oid']);
$hash = @$params['hash'];
$test_hash = md5(TServiceOrderModel::SOLT . $order_id);
if ($uid <= 0 || $hash !== $test_hash) {
return $objResponse;
}
$memebuff = new memBuff();
if ($memebuff->get('feedback_process_' . $order_id)) {
return $objResponse;
}
$memebuff->set('feedback_process_' . $order_id, true);
$is_emp = is_emp();
$prefix = $is_emp ? 'emp' : 'frl';
$sufix = $is_emp ? 'frl' : 'emp';
$allow_status = array(TServiceOrderModel::STATUS_ACCEPT, TServiceOrderModel::STATUS_FIX, TServiceOrderModel::STATUS_EMPCLOSE, TServiceOrderModel::STATUS_FRLCLOSE);
$feedback = @$params['feedback'];
$is_feedback = !empty($feedback);
$fbtype = @$params['fbtype'];
$orderData = $orderModel->getCard($order_id, $uid);
//Если не существует или статус не подходящий
if (!$orderData || !in_array($orderData['status'], $allow_status)) {
$memebuff->delete('feedback_process_' . $order_id);
return $objResponse;
}
//Если есть отзыв и он не удален
if (!empty($orderData[$prefix . '_feedback'])) {
$memebuff->delete('feedback_process_' . $order_id);
return $objResponse;
}
$order_id = $orderData['id'];
$status = $orderData['status'];
if ($orderModel->isDisallowFeedback()) {
$memebuff->delete('feedback_process_' . $order_id);
return $objResponse;
}
//Меняем статус при необходимости и тем самым закрываем заказ
if ($status != TServiceOrderModel::STATUS_EMPCLOSE) {
try {
$new_status = $orderModel->changeStatus($order_id, 'close', $is_emp, $fbtype);
} catch (Exception $e) {
$sHtml = tservices_helper::getMessage($e->getMessage(), 'error');
$objResponse->call('TServices_Order.showBeforeStatus', $order_id, $sHtml);
$memebuff->delete('feedback_process_' . $order_id);
return $objResponse;
}
$orderData['status'] = $new_status;
}
//Сохраняем отзыв если он есть
if ($is_feedback) {
$orderFeedbackModel = new TServiceOrderFeedbackModel();
$is_valid = $orderFeedbackModel->attributes(array('feedback' => $feedback, 'rating' => $fbtype, 'is_emp' => $is_emp, 'user_id' => $uid));
//Тут обрабатывать ошибки при валидации
if (!$is_valid || !$orderFeedbackModel->addFeedback($order_id)) {
$memebuff->delete('feedback_process_' . $order_id);
return $objResponse;
}
$attributes = $orderFeedbackModel->attributes();
$orderData[$prefix . '_feedback'] = $attributes['feedback'];
$orderData[$prefix . '_rating'] = $attributes['rating'];
//Сохранить действие в историю
$history = new tservices_order_history($order_id);
$history->saveFeedback($is_emp, $fbtype);
//Чистим кеш кол-во новых сообщений юзера после написания комментария
$orderModel->clearCountEvent($orderData["{$sufix}_id"]);
/*
if ($status == TServiceOrderModel::STATUS_EMPCLOSE && $is_emp && $fbtype < 0)
{
$orderModel->cancelTax($order_id);
}
*/
}
//Уведомление на почту
$tservices_smail = new tservices_smail();
$tservices_smail->attributes(array('order' => $orderData, 'is_emp' => $is_emp));
$tservices_smail->closeOrderAndFeedback($status);
$tserviceOrderStatusWidget = new TServiceOrderStatus();
$tserviceOrderStatusWidget->setIsEmp($is_emp);
$tserviceOrderStatusWidget->setOrder($orderData);
$tserviceOrderStatusWidget->init();
ob_start();
$tserviceOrderStatusWidget->run();
$sHtml = ob_get_contents();
ob_end_clean();
$objResponse->assign('tservices_order_status_' . $order_id, 'innerHTML', $sHtml);
//если фрилансер закрывает заказ или оставляет отзыв
//то обновляем ему информацию о состоянии счета
if (!$is_emp) {
//.........这里部分代码省略.........
示例12: Refuse
/**
* Отказываемся от проекта
*
* @param integer $uid
* @param integer $pid
*/
public static function Refuse($uid, $pid)
{
global $DB;
$sql = "UPDATE projects_offers SET frl_refused = true WHERE user_id = ?i AND project_id = ?i RETURNING frl_refused";
$ref = $DB->val($sql, $uid, $pid);
if (!$DB->error) {
// находим id работодателя и стираем количество непросмотренных событий в проектах
$sql = "SELECT p.user_id \n FROM projects p\n WHERE p.id = ?i";
$emp_id = $DB->val($sql, $pid);
$mem = new memBuff();
$mem->delete('prjEventsCnt' . $emp_id);
}
return $ref;
}
示例13: VALUES
/**
* Добавляет новое сообщение (комментарий) в этапе сделки по данным пользовательского запроса.
* @todo Функция для нового СБР. возвращает не Ид сообщения а xact_id для корректного якоря на новое событие
*
* @param array $request $_GET | $_POST
* @param array $files $_FILES
* @return boolean успешно?
*/
function _new_addMsg($request, $files)
{
$this->_new_msgInitFromRequest($request, $files);
// !!! разбить такие функции с возможностю передачи уже обработанных данных
if ($this->error) {
return false;
}
$sql_data = $this->_new_preMsgSql();
$is_admin = $this->sbr->isAdmin() ? 't' : 'f';
$xact_id = $this->_openXact(true);
if (!$xact_id) {
return false;
}
$sql = "\n INSERT INTO sbr_stages_msgs (stage_id, user_id, parent_id, msgtext, yt_link, is_admin)\n VALUES ({$this->data['id']}, {$this->sbr->uid}, {$sql_data['parent_id']}, '{$sql_data['msgtext']}', '{$sql_data['yt_link']}', '{$is_admin}')\n RETURNING id;\n ";
if (!($res = pg_query(self::connect(false), $sql))) {
$this->_abortXact();
return false;
}
$this->post_msg['id'] = pg_fetch_result($res, 0, 0);
$sql_attach = '';
if ($this->uploaded_files) {
foreach ($this->uploaded_files as $file) {
if (!$file->id) {
continue;
}
$originalName = $file->shortenName($file->original_name, 128);
$sql_attach .= "INSERT INTO sbr_stages_msgs_attach(msg_id, file_id, orig_name) VALUES({$this->post_msg['id']}, {$file->id}, '{$originalName}');";
}
}
if (!$this->setMsgsRead($this->data['read_msgs_count'] + 1) || $sql_attach && !pg_query(self::connect(false), $sql_attach)) {
$this->_abortXact();
unset($this->post_msg['id']);
return false;
}
$oMemBuff = new memBuff();
if ($this->sbr->uid != $this->sbr->frl_id) {
$oMemBuff->delete('sbrMsgsCnt' . $sbr->frl_id);
}
if ($this->sbr->uid != $this->sbr->emp_id) {
$oMemBuff->delete('sbrMsgsCnt' . $sbr->emp_id);
}
$this->_commitXact();
$msg_id = $this->post_msg['id'];
unset($this->post_msg);
return $xact_id;
}
示例14: save
/**
* Сохранить настройки
*
* @return boolean
*/
public function save()
{
if (!$this->is_valid) {
return false;
}
$cache_keys = array();
$key = sprintf(FreelancersPreviewModel::TAG_CURRENT_USER_PREVIEW, $this->group_id, $this->prof_id);
$cache_keys[$key] = $key;
if ($this->id > 0) {
$res = $this->db()->update(self::TABLE, $this->data, 'id = ?i AND user_id = ?i', $this->id, $this->uid);
if ($this->is_default) {
$this->setDefaultByGroupAndProf(false);
}
} else {
if (count($this->data)) {
foreach ($this->data as $insert_data) {
$ret_id = $this->db()->insert(self::TABLE, $insert_data, 'id');
if ($insert_data['pos'] == $this->pos && $insert_data['prof_id'] == $this->prof_id && $insert_data['group_id'] == $this->group_id) {
$this->id = $ret_id;
}
}
$res = $this->id > 0;
}
}
if ($this->data_extra_update) {
foreach ($this->data_extra_update as $insert_data) {
$key = sprintf(FreelancersPreviewModel::TAG_CURRENT_USER_PREVIEW, $insert_data['group_id'], $insert_data['prof_id']);
if (!isset($cache_keys[$key])) {
$this->clearByProfAndGroup($insert_data['prof_id'], $insert_data['group_id']);
$cache_keys[$key] = $key;
}
$this->db()->insert(self::TABLE, $insert_data);
}
}
//Чистим кеш выборки где присутствовали превью юзера
if ($res) {
$memBuff = new memBuff();
foreach ($cache_keys as $value) {
$memBuff->delete($value);
}
unset($_SESSION[self::SESS_EXIST_PREVIEW_DATA]);
}
return $res;
}
示例15: deleteOfferComplaints
/**
* Удаляет все жалобы на предложение
*
* @param int $nOfferId Идентификатор предложения
* @return bool true - успех, false - провал
*/
function deleteOfferComplaints($nOfferId = 0)
{
$GLOBALS['DB']->query('DELETE FROM freelance_offers_complains WHERE offer_id = ?i', $nOfferId);
if (!$GLOBALS['DB']->error) {
$oMemBuf = new memBuff();
if (($nCount = $oMemBuf->get('complain_offers_count')) !== false) {
$nCount = $nCount - 1;
$oMemBuf->set('complain_offers_count', $nCount, 3600);
} else {
$oMemBuf->delete('complain_offers_count');
}
}
return !$GLOBALS['DB']->error;
}