forked from leftypol/leftypol
New capcode
field for posts and custom capcodes (run install.php to upgrade tables)
This commit is contained in:
parent
614491880f
commit
c596d45711
8 changed files with 126 additions and 35 deletions
|
@ -21,7 +21,8 @@
|
|||
'mod' => Array(),
|
||||
'spam' => Array(),
|
||||
'flood_filters' => Array(),
|
||||
'wordfilters' => Array()
|
||||
'wordfilters' => Array(),
|
||||
'custom_capcode' => Array()
|
||||
);
|
||||
// Database stuff
|
||||
|
||||
|
@ -395,6 +396,29 @@
|
|||
$config['mod']['link_lock'] = '[Lock]';
|
||||
$config['mod']['link_unlock'] = '[-Lock]';
|
||||
|
||||
// Moderator capcodes
|
||||
$config['capcode'] = ' <a class="capcode">## %s</a>';
|
||||
|
||||
// Custom capcodes, by example:
|
||||
// "## Custom" becomes lightgreen, italic and bold
|
||||
//$config['custom_capcode']['Custom'] = Array(
|
||||
// '<a class="capcode" style="color:lightgreen;font-style:italic;font-weight:bold"> ## %s</a>'
|
||||
//);
|
||||
|
||||
// "## Mod" makes everything purple, including the name and tripcode
|
||||
//$config['custom_capcode']['Mod'] = Array(
|
||||
// '<a class="capcode" style="color:purple"> ## %s</a>',
|
||||
// 'color:purple', // Change name style; optional
|
||||
// 'color:purple' // Change tripcode style; optional
|
||||
//);
|
||||
|
||||
// "## Admin" makes everything red and bold, including the name and tripcode
|
||||
//$config['custom_capcode']['Admin'] = Array(
|
||||
// '<a class="capcode" style="color:red;font-weight:bold"> ## %s</a>',
|
||||
// 'color:red;font-weight:bold', // Change name style; optional
|
||||
// 'color:red;font-weight:bold' // Change tripcode style; optional
|
||||
//);
|
||||
|
||||
// Spam filter
|
||||
$config['spam']['hidden_inputs_min'] = 4;
|
||||
$config['spam']['hidden_inputs_max'] = 12;
|
||||
|
|
|
@ -110,6 +110,18 @@
|
|||
return '<em>' . utf8tohtml($body) . '</em>';
|
||||
}
|
||||
|
||||
function capcode($cap) {
|
||||
global $config;
|
||||
|
||||
if(isset($config['custom_capcode'][$cap])) {
|
||||
if(is_array($config['custom_capcode'][$cap]))
|
||||
return sprintf($config['custom_capcode'][$cap][0], $cap);
|
||||
return sprintf($config['custom_capcode'][$cap], $cap);
|
||||
}
|
||||
|
||||
return sprintf($config['capcode'], $cap);
|
||||
}
|
||||
|
||||
function confirmLink($text, $title, $confirm, $href) {
|
||||
global $config, $mod;
|
||||
if($config['mod']['server-side_confirm'])
|
||||
|
@ -119,7 +131,7 @@
|
|||
}
|
||||
|
||||
class Post {
|
||||
public function __construct($id, $thread, $subject, $email, $name, $trip, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $root=null, $mod=false) {
|
||||
public function __construct($id, $thread, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $root=null, $mod=false) {
|
||||
global $config;
|
||||
if(!isset($root)) $root = $config['root'];
|
||||
|
||||
|
@ -129,6 +141,7 @@
|
|||
$this->email = $email;
|
||||
$this->name = utf8tohtml($name);
|
||||
$this->trip = $trip;
|
||||
$this->capcode = $capcode;
|
||||
$this->body = $body;
|
||||
$this->time = $time;
|
||||
$this->thumb = $thumb;
|
||||
|
@ -200,9 +213,19 @@
|
|||
if(!empty($this->email))
|
||||
$built .= '<a class="email" href="mailto:' . $this->email . '">';
|
||||
// Name
|
||||
$built .= '<span class="name">' . $this->name . '</span>'
|
||||
$built .= '<span class="name"' .
|
||||
(!empty($this->capcode) && isset($config['custom_capcode'][$this->capcode][1]) ?
|
||||
' style="' . $config['custom_capcode'][$this->capcode][1] . '"'
|
||||
: '')
|
||||
. '>' . $this->name . '</span>'
|
||||
// Trip
|
||||
. (!empty($this->trip) ? ' <span class="trip">'.$this->trip.'</span>':'');
|
||||
. (!empty($this->trip) ? ' <span class="trip"' .
|
||||
(!empty($this->capcode) && isset($config['custom_capcode'][$this->capcode][2]) ?
|
||||
' style="' . $config['custom_capcode'][$this->capcode][2] . '"'
|
||||
: '')
|
||||
. '>'.$this->trip.'</span>':'')
|
||||
// Capcode
|
||||
. (!empty($this->capcode) ? capcode($this->capcode) : '');
|
||||
|
||||
// End email
|
||||
if(!empty($this->email))
|
||||
|
@ -258,7 +281,7 @@
|
|||
};
|
||||
|
||||
class Thread {
|
||||
public function __construct($id, $subject, $email, $name, $trip, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $sticky, $locked, $root=null, $mod=false, $hr=true) {
|
||||
public function __construct($id, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $sticky, $locked, $root=null, $mod=false, $hr=true) {
|
||||
global $config;
|
||||
if(!isset($root)) $root = $config['root'];
|
||||
|
||||
|
@ -267,6 +290,7 @@
|
|||
$this->email = $email;
|
||||
$this->name = utf8tohtml($name);
|
||||
$this->trip = $trip;
|
||||
$this->capcode = $capcode;
|
||||
$this->body = $body;
|
||||
$this->time = $time;
|
||||
$this->thumb = $thumb;
|
||||
|
@ -375,7 +399,9 @@
|
|||
// Name
|
||||
$built .= '<span class="name">' . $this->name . '</span>'
|
||||
// Trip
|
||||
. (!empty($this->trip) ? ' <span class="trip">'.$this->trip.'</span>':'');
|
||||
. (!empty($this->trip) ? ' <span class="trip">'.$this->trip.'</span>':'')
|
||||
// Capcode
|
||||
. (!empty($this->capcode) ? capcode($this->capcode) : '');
|
||||
|
||||
// End email
|
||||
if(!empty($this->email))
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
function post($post, $OP) {
|
||||
global $pdo, $board;
|
||||
|
||||
$query = prepare(sprintf("INSERT INTO `posts_%s` VALUES ( NULL, :thread, :subject, :email, :name, :trip, :body, :time, :time, :thumb, :thumbwidth, :thumbheight, :file, :width, :height, :filesize, :filename, :filehash, :password, :ip, :sticky, :locked)", $board['uri']));
|
||||
$query = prepare(sprintf("INSERT INTO `posts_%s` VALUES ( NULL, :thread, :subject, :email, :name, :trip, :capcode, :body, :time, :time, :thumb, :thumbwidth, :thumbheight, :file, :width, :height, :filesize, :filename, :filehash, :password, :ip, :sticky, :locked)", $board['uri']));
|
||||
|
||||
// Basic stuff
|
||||
$query->bindValue(':subject', $post['subject']);
|
||||
|
@ -341,6 +341,12 @@
|
|||
$query->bindValue(':locked', 0, PDO::PARAM_INT);
|
||||
}
|
||||
|
||||
if($post['mod'] && $post['capcode']) {
|
||||
$query->bindValue(':capcode', $post['capcode'], PDO::PARAM_INT);
|
||||
} else {
|
||||
$query->bindValue(':capcode', NULL, PDO::PARAM_NULL);
|
||||
}
|
||||
|
||||
if($OP) {
|
||||
// No parent thread, image
|
||||
$query->bindValue(':thread', null, PDO::PARAM_NULL);
|
||||
|
@ -493,9 +499,9 @@
|
|||
|
||||
if($query->rowcount() < 1 && $page > 1) return false;
|
||||
while($th = $query->fetch()) {
|
||||
$thread = new Thread($th['id'], $th['subject'], $th['email'], $th['name'], $th['trip'], $th['body'], $th['time'], $th['thumb'], $th['thumbwidth'], $th['thumbheight'], $th['file'], $th['filewidth'], $th['fileheight'], $th['filesize'], $th['filename'], $th['ip'], $th['sticky'], $th['locked'], $mod ? '?/' : $config['root'], $mod);
|
||||
$thread = new Thread($th['id'], $th['subject'], $th['email'], $th['name'], $th['trip'], $th['capcode'], $th['body'], $th['time'], $th['thumb'], $th['thumbwidth'], $th['thumbheight'], $th['file'], $th['filewidth'], $th['fileheight'], $th['filesize'], $th['filename'], $th['ip'], $th['sticky'], $th['locked'], $mod ? '?/' : $config['root'], $mod);
|
||||
|
||||
$posts = prepare(sprintf("SELECT `id`, `subject`, `email`, `name`, `trip`, `body`, `time`, `thumb`, `thumbwidth`, `thumbheight`, `file`, `filewidth`, `fileheight`, `filesize`, `filename`,`ip` FROM `posts_%s` WHERE `thread` = ? ORDER BY `id` DESC LIMIT ?", $board['uri']));
|
||||
$posts = prepare(sprintf("SELECT `id`, `subject`, `email`, `name`, `trip`, `capcode`, `body`, `time`, `thumb`, `thumbwidth`, `thumbheight`, `file`, `filewidth`, `fileheight`, `filesize`, `filename`,`ip` FROM `posts_%s` WHERE `thread` = ? ORDER BY `id` DESC LIMIT ?", $board['uri']));
|
||||
$posts->bindValue(1, $th['id']);
|
||||
$posts->bindValue(2, ($th['sticky'] ? $config['threads_preview_sticky'] : $config['threads_preview']), PDO::PARAM_INT);
|
||||
$posts->execute() or error(db_error($posts));
|
||||
|
@ -505,7 +511,7 @@
|
|||
if($po['file'])
|
||||
$num_images++;
|
||||
|
||||
$thread->add(new Post($po['id'], $th['id'], $po['subject'], $po['email'], $po['name'], $po['trip'], $po['body'], $po['time'], $po['thumb'], $po['thumbwidth'], $po['thumbheight'], $po['file'], $po['filewidth'], $po['fileheight'], $po['filesize'], $po['filename'], $po['ip'], $mod ? '?/' : $config['root'], $mod));
|
||||
$thread->add(new Post($po['id'], $th['id'], $po['subject'], $po['email'], $po['name'], $po['trip'], $po['capcode'], $po['body'], $po['time'], $po['thumb'], $po['thumbwidth'], $po['thumbheight'], $po['file'], $po['filewidth'], $po['fileheight'], $po['filesize'], $po['filename'], $po['ip'], $mod ? '?/' : $config['root'], $mod));
|
||||
}
|
||||
|
||||
if($posts->rowCount() == ($th['sticky'] ? $config['threads_preview_sticky'] : $config['threads_preview'])) {
|
||||
|
@ -1107,15 +1113,15 @@
|
|||
global $board, $config;
|
||||
$id = round($id);
|
||||
|
||||
$query = prepare(sprintf("SELECT `id`,`thread`,`subject`,`name`,`email`,`trip`,`body`,`time`,`thumb`,`thumbwidth`,`thumbheight`,`file`,`filewidth`,`fileheight`,`filesize`,`filename`,`ip`,`sticky`,`locked` FROM `posts_%s` WHERE (`thread` IS NULL AND `id` = :id) OR `thread` = :id ORDER BY `thread`,`time`", $board['uri']));
|
||||
$query = prepare(sprintf("SELECT `id`,`thread`,`subject`,`name`,`email`,`trip`,`capcode`,`body`,`time`,`thumb`,`thumbwidth`,`thumbheight`,`file`,`filewidth`,`fileheight`,`filesize`,`filename`,`ip`,`sticky`,`locked` FROM `posts_%s` WHERE (`thread` IS NULL AND `id` = :id) OR `thread` = :id ORDER BY `thread`,`time`", $board['uri']));
|
||||
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
||||
$query->execute() or error(db_error($query));
|
||||
|
||||
while($post = $query->fetch()) {
|
||||
if(!isset($thread)) {
|
||||
$thread = new Thread($post['id'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['sticky'], $post['locked'], $mod ? '?/' : $config['root'], $mod);
|
||||
$thread = new Thread($post['id'], $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $post['sticky'], $post['locked'], $mod ? '?/' : $config['root'], $mod);
|
||||
} else {
|
||||
$thread->add(new Post($post['id'], $thread->id, $post['subject'], $post['email'], $post['name'], $post['trip'], $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $mod ? '?/' : $config['root'], $mod));
|
||||
$thread->add(new Post($post['id'], $thread->id, $post['subject'], $post['email'], $post['name'], $post['trip'], $post['capcode'], $post['body'], $post['time'], $post['thumb'], $post['thumbwidth'], $post['thumbheight'], $post['file'], $post['filewidth'], $post['fileheight'], $post['filesize'], $post['filename'], $post['ip'], $mod ? '?/' : $config['root'], $mod));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue