mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-14 18:48:21 -07:00
r130
забыл (: git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@130 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
parent
2d87b6640e
commit
9a74db01ed
1 changed files with 85 additions and 0 deletions
85
upload/ajax/posts.php
Normal file
85
upload/ajax/posts.php
Normal file
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
|
||||
if (!defined('IN_AJAX')) die(basename(__FILE__));
|
||||
|
||||
global $lang, $bb_cfg, $userdata;
|
||||
|
||||
if (!isset($this->request['type']))
|
||||
{
|
||||
$this->ajax_die('empty type');
|
||||
}
|
||||
if (isset($this->request['post_id']))
|
||||
{
|
||||
$post_id = (int) $this->request['post_id'];
|
||||
$post = DB()->fetch_row("SELECT t.*, f.*, p.*, pt.post_text
|
||||
FROM ". BB_TOPICS ." t, ". BB_FORUMS ." f, ". BB_POSTS ." p, ". BB_POSTS_TEXT ." pt
|
||||
WHERE p.post_id = $post_id
|
||||
AND t.topic_id = p.topic_id
|
||||
AND f.forum_id = t.forum_id
|
||||
AND p.post_id = pt.post_id
|
||||
LIMIT 1");
|
||||
}
|
||||
|
||||
if (!defined('WORD_LIST_OBTAINED'))
|
||||
{
|
||||
$orig_word = array();
|
||||
$replace_word = array();
|
||||
obtain_word_list($orig_word, $replace_word);
|
||||
define('WORD_LIST_OBTAINED', true);
|
||||
}
|
||||
|
||||
switch($this->request['type'])
|
||||
{
case 'delete';
|
||||
if(!$post) bb_die('not post');
|
||||
|
||||
$is_auth = auth(AUTH_ALL, $post['forum_id'], $userdata, $post);
|
||||
|
||||
if($post['post_id'] != $post['topic_first_post_id'] && ($is_auth['auth_mod'] || ($userdata['user_id'] == $post['poster_id'] && $is_auth['auth_delete'] && $post['topic_last_post_id'] == $post['post_id'] && $post['post_time'] + 3600*3 > TIMENOW)))
|
||||
{
if (empty($this->request['confirmed']))
|
||||
{
|
||||
$this->prompt_for_confirm($lang['CONFIRM_DELETE']);
|
||||
}
|
||||
post_delete($post_id);
|
||||
$this->response['hide'] = true;
|
||||
$this->response['post_id'] = $post_id;
}
|
||||
else
|
||||
{
bb_die(sprintf($lang['SORRY_AUTH_DELETE'], strip_tags($is_auth['auth_delete_type'])));
}
|
||||
break;
|
||||
|
||||
case 'quote';
|
||||
if(!$post) bb_die('not post');
|
||||
if(bf($userdata['user_opt'], 'user_opt', 'allow_post'))
|
||||
{
|
||||
bb_die($lang['RULES_REPLY_CANNOT']);
|
||||
}
|
||||
|
||||
// Use trim to get rid of spaces placed there by MS-SQL 2000
|
||||
$quote_username = (trim($post['post_username']) != '') ? $post['post_username'] : get_username($post['poster_id']);
|
||||
$message = '[quote="'. $quote_username .'"]'. $post['post_text'] .'[/quote]';
|
||||
// hide user passkey
|
||||
$message = preg_replace('#(?<=\?uk=)[a-zA-Z0-9]{10}(?=&)#', 'passkey', $message);
|
||||
// hide sid
|
||||
$message = preg_replace('#(?<=[\?&;]sid=)[a-zA-Z0-9]{12}#', 'sid', $message);
|
||||
|
||||
if (!empty($orig_word))
|
||||
{
|
||||
$message = (!empty($message)) ? preg_replace($orig_word, $replace_word, $message) : '';
|
||||
}
|
||||
|
||||
if(mb_strlen($message, 'UTF-8') > 1000)
|
||||
{
$this->response['redirect'] = make_url('posting.php?mode=quote&p='. $post_id);
}
|
||||
|
||||
$this->response['quote'] = true;
|
||||
$this->response['message'] = $message;
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
$this->ajax_die('off');
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->ajax_die('empty type');
|
||||
break;
}
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue