本文整理汇总了PHP中config::saveCount方法的典型用法代码示例。如果您正苦于以下问题:PHP config::saveCount方法的具体用法?PHP config::saveCount怎么用?PHP config::saveCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类config
的用法示例。
在下文中一共展示了config::saveCount方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: write
function write()
{
if (bff::$isAjax) {
$nUserID = $this->security->getUserID();
$p = $this->input->postm(array('email' => TYPE_STR, 'phone' => TYPE_NOHTML, 'message' => TYPE_NOHTML, 'captcha' => TYPE_STR));
if (!$nUserID) {
if (empty($p['email']) || !Func::IsEmailAddress($p['email'])) {
$this->errors->set('wrong_email');
}
}
$p['phone'] = func::cleanComment($p['phone']);
if (empty($p['phone'])) {
$this->errors->set('no_phone');
}
$p['message'] = func::cleanComment($p['message']);
if (empty($p['message'])) {
$this->errors->set('no_message');
}
if (!$nUserID) {
$oProtection = new CCaptchaProtection();
if (!$oProtection->valid(isset($_SESSION['c2']) ? $_SESSION['c2'] : '', $p['captcha'])) {
$this->errors->set('wrong_captcha');
}
}
if ($this->errors->no()) {
unset($_SESSION['c2']);
$this->db->execute('INSERT INTO ' . TABLE_CONTACTS . ' (user_id, email, phone, message, created)
VALUES (' . $nUserID . ', ' . $this->db->str2sql($p['email']) . ',
' . $this->db->str2sql($p['phone']) . ', ' . $this->db->str2sql(nl2br($p['message'])) . ',
' . $this->db->getNOW() . ')');
$nRecordID = $this->db->insert_id(TABLE_CONTACTS, 'id');
if ($nRecordID) {
config::saveCount('contacts_new', 1);
bff::sendMailTemplate(array('user' => !$nUserID ? 'Аноним' : $this->security->getUserEmail(), 'email' => !$nUserID ? $p['email'] : $this->security->getUserEmail(), 'phone' => $p['phone'], 'message' => nl2br($p['message'])), 'admin_contacts', config::get('mail_admin', BFF_EMAIL_SUPPORT));
}
}
$this->ajaxResponse(Errors::SUCCESS);
}
config::set('title', 'Связь с редактором - ' . config::get('title', ''));
return $this->tplFetch('write.tpl');
}
示例2: ajax
function ajax()
{
switch (func::GET('act')) {
case 'item-u-update':
$this->input->postm(array('id' => TYPE_UINT, 'uid' => TYPE_UINT, 'p' => TYPE_STR), $p);
$nUserID = $this->security->getUserID();
$nItemID = $p['id'];
if (!$nItemID || empty($p['p']) || !$nUserID) {
$this->ajaxResponse(Errors::ACCESSDENIED);
}
$aItem = $this->db->one_array('SELECT id, cat1_id FROM ' . TABLE_BBS_ITEMS . '
WHERE id = ' . $nItemID . ' AND status = ' . BBS_STATUS_NEW . '
AND pass = ' . $this->security->encodeBBSEditPass($p['p']));
if (!empty($aItem)) {
$this->db->execute('UPDATE ' . TABLE_BBS_ITEMS . ' SET user_id = ' . $nUserID . ' WHERE id = ' . $nItemID);
// закрепляем за пользователем
$this->db->execute('UPDATE ' . TABLE_USERS . ' SET items = items+1 WHERE user_id = ' . $nUserID);
// обновляем счетчик объявлений пользователя
}
$sUID = $this->security->getUID(false, 'post');
$bPayPublication = !$this->checkFreePublicationsLimit($aItem['cat1_id'], $nUserID, $sUID);
$this->ajaxResponse(array('res' => !empty($aItem), 'pp' => $bPayPublication));
break;
case 'item-edit-pass':
$p = $this->input->postm(array('id' => TYPE_UINT, 'pass' => TYPE_STR));
$aResponse = array();
do {
if (!$p['id']) {
$this->errors->set(Errors::IMPOSSIBLE);
break;
}
if (empty($p['pass'])) {
$this->errors->set('editpass_empty');
break;
}
if ($this->isEditPassGranted($p['id'])) {
$aResponse['result'] = true;
break;
}
$aData = $this->db->one_array('SELECT id, user_id FROM ' . TABLE_BBS_ITEMS . '
WHERE id = ' . $p['id'] . ' AND pass = ' . $this->security->encodeBBSEditPass($p['pass']));
if (empty($aData)) {
$this->errors->set(Errors::ACCESSDENIED);
break;
} else {
if ($aData['user_id'] > 0) {
$userID = $this->security->getUserID();
if ($userID > 0) {
if ($aData['user_id'] != $userID) {
$this->errors->set('editpass_not_owner');
} else {
$aResponse['result'] = true;
break;
}
} else {
$this->errors->set('editpass_auth');
}
} else {
$this->grantEditPass($p['id']);
$aResponse['result'] = true;
}
}
} while (false);
$aResponse['errno'] = $this->errors->no();
$this->ajaxResponse($aResponse);
break;
case 'item-claim':
$p = $this->input->postm(array('id' => TYPE_UINT, 'reasons' => TYPE_ARRAY_UINT, 'comment' => TYPE_STR, 'captcha' => TYPE_STR));
$p['comment'] = func::cleanComment($p['comment']);
$aResponse = array();
do {
if (!$p['id']) {
$this->errors->set(Errors::IMPOSSIBLE);
break;
}
if (empty($p['reasons']) && $p['comment'] == '') {
$this->errors->set('enter_claim_reason');
break;
}
$nUserID = $this->security->getUserID();
if (!$nUserID) {
$oProtection = new CCaptchaProtection();
if (!$oProtection->valid(isset($_SESSION['c2']) ? $_SESSION['c2'] : '', $p['captcha'])) {
$aResponse['captcha_wrong'] = 1;
$this->errors->set('claim_wrong_captcha');
break;
}
}
unset($_SESSION['c2']);
$nReasons = array_sum($p['reasons']);
$res = $this->db->execute('INSERT INTO ' . TABLE_BBS_ITEMS_CLAIMS . ' (item_id, user_id, comment, reasons, ip, created)
VALUES(' . $p['id'] . ', ' . $nUserID . ', ' . $this->db->str2sql($p['comment']) . ', ' . $nReasons . ', :ip, ' . $this->db->getNOW() . ')
', array(':ip' => func::getRemoteAddress()));
if ($res) {
config::saveCount('bbs_items_claims', 1);
bff::sendMailTemplate(array('user' => !$nUserID ? 'Аноним' : $this->security->getUserEmail(), 'claim' => $this->getItemClaimText($nReasons, nl2br($p['comment'])), 'item_url' => SITEURL . '/item/' . $p['id']), 'admin_bbs_claim', config::get('mail_admin', BFF_EMAIL_SUPPORT));
}
} while (false);
$aResponse['result'] = $this->errors->no();
$this->ajaxResponse($aResponse);
//.........这里部分代码省略.........
示例3: items_complaints
function items_complaints()
{
if (!$this->haveAccessTo('items-complaints-listing')) {
return $this->showAccessDenied();
}
if (bff::$isAjax) {
switch (func::GET('act')) {
case 'delete':
if (!$this->haveAccessTo('items-complaints-edit')) {
$this->ajaxResponse(Errors::ACCESSDENIED);
}
$nClaimID = $this->input->id('id', 'p');
if ($nClaimID) {
$aData = $this->db->one_array('SELECT id, viewed FROM ' . TABLE_BBS_ITEMS_CLAIMS . ' WHERE id = ' . $nClaimID);
if (empty($aData)) {
$this->ajaxResponse(Errors::IMPOSSIBLE);
}
$aResponse = array('counter_update' => false);
$res = $this->db->execute('DELETE FROM ' . TABLE_BBS_ITEMS_CLAIMS . ' WHERE id = ' . $nClaimID);
if ($res && !$aData['viewed']) {
config::saveCount('bbs_items_claims', -1);
$aResponse['counter_update'] = true;
}
$aResponse['res'] = $res;
$this->ajaxResponse($aResponse);
}
break;
case 'view':
if (!$this->haveAccessTo('items-complaints-edit')) {
$this->ajaxResponse(Errors::ACCESSDENIED);
}
$nClaimID = $this->input->id('id', 'p');
if ($nClaimID) {
$res = $this->db->execute('UPDATE ' . TABLE_BBS_ITEMS_CLAIMS . ' SET viewed = 1 WHERE id = ' . $nClaimID);
if ($res) {
config::saveCount('bbs_items_claims', -1);
}
$this->ajaxResponse(Errors::SUCCESSFULL);
}
break;
}
$this->ajaxResponse(Errors::IMPOSSIBLE);
}
$this->input->getm(array('item' => TYPE_UINT, 'page' => TYPE_UINT, 'perpage' => TYPE_UINT), $aData);
$sqlWhere = array();
if ($aData['item']) {
$sqlWhere[] = 'CL.item_id = ' . $aData['item'];
}
$sqlWhere = !empty($sqlWhere) ? 'WHERE ' . join(' AND ', $sqlWhere) : '';
$nCount = $this->db->one_data('SELECT COUNT(CL.id) FROM ' . TABLE_BBS_ITEMS_CLAIMS . ' CL ' . $sqlWhere);
$this->prepareOrder($orderBy, $orderDirection, 'CL.created,desc', array('CL.created' => 'desc'));
$aPerpage = $this->preparePerpage($aData['perpage'], array(20, 40, 60));
$aData['order'] = "{$orderBy},{$orderDirection}";
$sFilter = http_build_query($aData);
unset($aData['page']);
$this->generatePagenation($nCount, $aData['perpage'], "index.php?s={$this->module_name}&ev=items_complaints&{$sFilter}&{pageId}", $sqlLimit);
$aData['f'] = $sFilter;
if ($nCount > 0) {
$aData['complaints'] = $this->db->select('SELECT CL.*, 0 as other
FROM ' . TABLE_BBS_ITEMS_CLAIMS . ' CL
' . $sqlWhere . "\n ORDER BY {$orderBy} {$orderDirection} {$sqlLimit}");
} else {
$aData['complaints'] = array();
}
$compl =& $aData['complaints'];
$reasons = $this->getItemClaimReasons();
if (!empty($compl) && !empty($reasons)) {
foreach ($compl as $k => $v) {
$r = $v['reasons'];
if ($r == 0) {
continue;
}
$r_text = array();
foreach ($reasons as $rk => $rv) {
if ($rk != 32 && $rk & $r) {
$r_text[] = $rv;
}
}
$compl[$k]['reasons_text'] = join(', ', $r_text);
$compl[$k]['other'] = $r & 32;
}
}
$aData['perpage'] = $aPerpage;
$this->adminIsListing();
$this->tplAssignByRef('aData', $aData);
return $this->tplFetch('admin.items.complaints.listing.tpl');
}