Exemple #1
0
 /**
  * Отметить удаленный блог, что он удален, для дальнейшего модерирования)
  *
  * @param integer $fid     ID Пользователя
  * @param integer $edit_id ИД Сообщения
  * @param string  $ip      ИП того кто удаляет
  * @param mixed   $error   Сообщение об ошибке
  * @param boolean $mod     Имеет ли юзер права на удаление
  * @param string  $reason    Причина удаления
  * @return integer $thread_id ИД удаленного сообщения
  */
 function MarkDeleteMsg($fid, $edit_id, $ip, &$error, $mod = 1, $reason = '')
 {
     global $DB;
     $sql = "SELECT fromuser_id, thread_id from blogs_msgs WHERE id = ?i";
     $res = $DB->row($sql, $edit_id);
     $from_id = $res['fromuser_id'];
     $thread_id = $res['thread_id'];
     $sql = "SELECT fromuser_id from blogs_msgs WHERE thread_id = ?i AND reply_to ISNULL";
     $buser_id = $DB->val($sql, $thread_id);
     if ($fid != $from_id && $mod == 1 && ($fid != $buser_id && $mod == 1)) {
         $err = "Вы не можете удалять чужие сообщения!";
         return $thread_id;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
     $sModer = ' , moderator_status = ' . ($fid == $from_id ? 'NULL' : $fid) . ' ';
     $sql = $DB->parse('DELETE FROM moderation WHERE rec_id = ?i AND rec_type = ?i;', $edit_id, user_content::MODER_BLOGS);
     $sql .= "UPDATE blogs_msgs SET deleted=NOW(), deluser_id=?i, deleted_reason = ? {$sModer} WHERE id = ?i";
     $userSubscribe = self::getUsersSubscribe(array($edit_id));
     $res = $DB->query($sql, $fid, $reason, $edit_id);
     $error = $DB->error;
     if (!$error) {
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php";
         $s = new smail();
         $s->sendBlogPostDeleted(get_uid(false), $userSubscribe);
     }
     return $thread_id;
 }