當前位置: 首頁>>代碼示例>>PHP>>正文


PHP smail::SendBlogsBan2方法代碼示例

本文整理匯總了PHP中smail::SendBlogsBan2方法的典型用法代碼示例。如果您正苦於以下問題:PHP smail::SendBlogsBan2方法的具體用法?PHP smail::SendBlogsBan2怎麽用?PHP smail::SendBlogsBan2使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在smail的用法示例。


在下文中一共展示了smail::SendBlogsBan2方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: updateUserBan

 /**
  * Изменяет текущий бан пользователя.
  * 
  * @param int    $uid           UID пользователя.
  * @param int    $ban_where_old какой бан был: 0 - на всем сайте, 1 - в блогах.
  * @param int    $ban_where_new какой бан будет: 0 - на всем сайте, 1 - в блогах.
  * @param string $reason        причина
  * @param int    $reason_id     ID причины, если она выбрана из списка (таблица admin_reasons)
  * @param string $date_to       дата окончания действия бана, или пустая строка если навсегда
  *
  * @return bool true - успех, false - провал
  */
 public function updateUserBan($uid, $ban_where_old, $ban_where_new, $reason, $reason_id, $date_to = '')
 {
     $GLOBALS['DB']->start();
     $date_to = $date_to ? $date_to : NULL;
     $sWhere = $ban_where_old ? 'b.where = 1 AND u.ban_where = 1' : '(b.where = 0 OR b.where IS NULL) AND u.is_banned = B\'1\'';
     $sQuery = 'UPDATE users_ban SET 
         "to" = ?, reason = ?i, comment = ?, admin = ?i, "where" = ?i 
         WHERE id = (
             SELECT MAX(b.id) AS id FROM users_ban b 
             INNER JOIN users u ON b.uid = u.uid 
             WHERE b.uid = ?i AND ' . $sWhere . ' 
             GROUP BY b.uid
         )  RETURNING id';
     $sId = $GLOBALS['DB']->val($sQuery, $date_to, $reason_id, $reason, $_SESSION['uid'], $ban_where_new, $uid);
     if ($sId && !$GLOBALS['DB']->error && $ban_where_old != $ban_where_new) {
         // если вид бана изменился
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
         $mail = new smail();
         if ($ban_where_new) {
             // меняем на бан в блогах
             $GLOBALS['DB']->query('UPDATE users SET is_banned=B\'0\', ban_where = ?i WHERE uid=?i', $ban_where_new, $uid);
             if (!$GLOBALS['DB']->error) {
                 $mail->SendBlogsBan2($uid, $reason);
             }
         } else {
             // меняем на бан на всем сайте
             $sSubscr = str_repeat('0', $GLOBALS['subscrsize']);
             $GLOBALS['DB']->query('UPDATE users SET is_banned=B\'1\', ban_where = 0, subscr=B\'' . $sSubscr . '\' WHERE uid=?i;
                 UPDATE freelancer SET mailer=0 WHERE uid=?i;', $uid, $uid);
             if (!$GLOBALS['DB']->error) {
                 $mail->SendBan2($uid, $reason);
                 $this->_afterUserBan($uid);
             }
         }
     }
     if ($sId && !$GLOBALS['DB']->error) {
         $GLOBALS['DB']->commit();
         return true;
     } else {
         $GLOBALS['DB']->rollback();
         return false;
     }
 }
開發者ID:kapai69,項目名稱:fl-ru-damp,代碼行數:55,代碼來源:users.php


注:本文中的smail::SendBlogsBan2方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。