diff --git a/README.md b/README.md index e262b741..c7d968d9 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,8 @@ It contains many changes from original Tinyboard, mainly in frontend area. About ------------ -Tinyboard is a light-weight, fast, highly configurable and user-friendly -imageboard software package released under a non-restrictive open-source -license. It is written in PHP and has few dependencies. +Tinyboard is a free light-weight, fast, highly configurable and user-friendly +imageboard software package. It is written in PHP and has few dependencies. Requirements ------------ diff --git a/inc/config.php b/inc/config.php index da97b496..686894d1 100644 --- a/inc/config.php +++ b/inc/config.php @@ -391,6 +391,11 @@ // When true, users are instead presented a selectbox for email. Contains, blank, noko and sage. $config['field_email_selectbox'] = false; + // Attach country flags to posts. Requires the PHP "geoip" extension to be installed: + // http://www.php.net/manual/en/intro.geoip.php. In the future, maybe I will find and include a proper + // pure-PHP geolocation library. + $config['country_flags'] = false; + // Require users to see the ban page at least once for a ban even if it has since expired. $config['require_ban_view'] = true; @@ -760,6 +765,17 @@ // Optional HTML to append to "You are banned" pages. For example, you could include instructions and/or // a link to an email address or IRC chat room to appeal the ban. $config['ban_page_extra'] = ''; + + // Display flags (when available). This config option has no effect unless poster flags are enabled (see + // $config['country_flags']). Disable this if you want all previously-assigned flags to be hidden. + $config['display_flags'] = true; + + // Location of post flags/icons (where "%s" is the flag name). Defaults to static/flags/%s.png. + // $config['uri_flags'] = 'http://static.example.org/flags/%s.png'; + + // Width and height (and more?) of post flags. Can be overridden with the Tinyboard post modifier: + // . + $config['flag_style'] = 'width:16px;height:11px;'; /* * ==================== @@ -970,7 +986,7 @@ // $config['url_favicon'] = '/favicon.gif'; // EXPERIMENTAL: Try not to build pages when we shouldn't have to. - $config['try_smarter'] = false; + $config['try_smarter'] = true; /* * ==================== diff --git a/inc/display.php b/inc/display.php index 68fb1803..d4aa303b 100644 --- a/inc/display.php +++ b/inc/display.php @@ -271,36 +271,25 @@ function embed_html($link) { } class Post { - public function __construct($id, $thread, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $embed, $root=null, $mod=false) { + public function __construct($post, $root=null, $mod=false) { global $config; if (!isset($root)) $root = &$config['root']; - $this->id = $id; - $this->thread = $thread; - $this->subject = utf8tohtml($subject); - $this->email = $email; - $this->name = utf8tohtml($name); - $this->trip = $trip; - $this->capcode = $capcode; - $this->body = $body; - $this->time = $time; - $this->thumb = $thumb; - $this->thumbx = $thumbx; - $this->thumby = $thumby; - $this->file = $file; - $this->filex = $filex; - $this->filey = $filey; - $this->filesize = $filesize; - $this->filename = $filename; - $this->ip = $ip; - $this->embed = $embed; - $this->root = $root; + foreach ($post as $key => $value) { + $this->{$key} = $value; + } + + $this->subject = utf8tohtml($this->subject); + $this->name = utf8tohtml($this->name); $this->mod = $mod; + $this->root = $root; if ($this->embed) $this->embed = embed_html($this->embed); + $this->modifiers = extract_modifiers($this->body_nomarkup); + if ($this->mod) // Fix internal links // Very complicated regex @@ -373,42 +362,30 @@ class Post { }; class Thread { - public function __construct($id, $subject, $email, $name, $trip, $capcode, $body, $time, $thumb, $thumbx, $thumby, $file, $filex, $filey, $filesize, $filename, $ip, $sticky, $locked, $bumplocked, $embed, $root=null, $mod=false, $hr=true) { + public function __construct($post, $root = null, $mod = false, $hr = true) { global $config; if (!isset($root)) $root = &$config['root']; - $this->id = $id; - $this->subject = utf8tohtml($subject); - $this->email = $email; - $this->name = utf8tohtml($name); - $this->trip = $trip; - $this->capcode = $capcode; - $this->body = $body; - $this->time = $time; - $this->thumb = $thumb; - $this->thumbx = $thumbx; - $this->thumby = $thumby; - $this->file = $file; - $this->filex = $filex; - $this->filey = $filey; - $this->filesize = $filesize; - $this->filename = $filename; + foreach ($post as $key => $value) { + $this->{$key} = $value; + } + + $this->subject = utf8tohtml($this->subject); + $this->name = utf8tohtml($this->name); + $this->mod = $mod; + $this->root = $root; + $this->hr = $hr; + + $this->posts = array(); $this->omitted = 0; $this->omitted_images = 0; - $this->posts = array(); - $this->ip = $ip; - $this->sticky = $sticky; - $this->locked = $locked; - $this->bumplocked = $bumplocked; - $this->embed = $embed; - $this->root = $root; - $this->mod = $mod; - $this->hr = $hr; if ($this->embed) $this->embed = embed_html($this->embed); + $this->modifiers = extract_modifiers($this->body_nomarkup); + if ($this->mod) // Fix internal links // Very complicated regex @@ -471,7 +448,7 @@ class Thread { $built .= ' ' . $config['mod']['link_sticky'] . ''; if (hasPermission($config['mod']['bumplock'], $board['uri'], $this->mod)) - if ($this->bumplocked) + if ($this->sage) $built .= ' ' . $config['mod']['link_bumpunlock'] . ''; else $built .= ' ' . $config['mod']['link_bumplock'] . ''; @@ -496,10 +473,6 @@ class Thread { return $built; } - public function ratio() { - return fraction($this->filex, $this->filey, ':'); - } - public function build($index=false, $isnoko50=false) { global $board, $config, $debug; diff --git a/inc/functions.php b/inc/functions.php index 32d0b819..dccb59e5 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -153,6 +153,8 @@ function loadConfig() { $config['url_javascript'] = $config['root'] . $config['file_script']; if (!isset($config['additional_javascript_url'])) $config['additional_javascript_url'] = $config['root']; + if (!isset($config['uri_flags'])) + $config['uri_flags'] = $config['root'] . 'static/flags/%s.png'; if ($config['root_file']) { chdir($config['root_file']); @@ -1052,11 +1054,7 @@ function index($page, $mod=false) { $threads = array(); while ($th = $query->fetch(PDO::FETCH_ASSOC)) { - $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'], $th['sage'], $th['embed'], $mod ? '?/' : $config['root'], $mod - ); + $thread = new Thread($th, $mod ? '?/' : $config['root'], $mod); if ($config['cache']['enabled'] && $cached = cache::get("thread_index_{$board['uri']}_{$th['id']}")) { $replies = $cached['replies']; @@ -1088,11 +1086,7 @@ function index($page, $mod=false) { if ($po['file']) $num_images++; - $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'], $po['embed'], $mod ? '?/' : $config['root'], $mod) - ); + $thread->add(new Post($po, $mod ? '?/' : $config['root'], $mod)); } if ($omitted) { @@ -1496,55 +1490,33 @@ function unicodify($body) { return $body; } +function extract_modifiers($body) { + $modifiers = array(); + + if (preg_match_all('@(.+?)@us', $body, $matches, PREG_SET_ORDER)) { + foreach ($matches as $match) { + if (preg_match('/^escape /', $match[1])) + continue; + $modifiers[$match[1]] = html_entity_decode($match[2]); + } + } + + return $modifiers; +} + function markup(&$body, $track_cites = false) { global $board, $config, $markup_urls; + + $modifiers = extract_modifiers($body); + + $body = preg_replace('@(.+?)@us', '', $body); + + if (isset($modifiers['raw html']) && $modifiers['raw html'] == '1') + return $body; $body = str_replace("\r", '', $body); $body = utf8tohtml($body); - if (preg_match_all('@<tinyboard ([\w\s]+)>(.+?)</tinyboard>@us', $body, $modifiers, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)) { - $skip_chars = 0; - $body_tmp = $body; - $end_markup = false; - - foreach ($modifiers as $modifier) { - // preg_match_all is not multibyte-safe - foreach ($modifier as &$match) { - $match[1] = mb_strlen(substr($body_tmp, 0, $match[1])); - } - - $modifier['type'] = $modifier[1][0]; - $modifier['content'] = $modifier[2][0]; - - if ($modifier['type'] == 'ban message') { - // Public ban message - $replacement = sprintf($config['mod']['ban_message'], html_entity_decode($modifier['content'])); - if ($end_markup) { - $body .= $replacement; - } - } elseif ($modifier['type'] == 'raw html') { - $body = html_entity_decode($modifier['content']); - $replacement = ''; - $end_markup = true; - } elseif (preg_match('/^escape /', $modifier['type'])) { - // Escaped (not a real modifier) - $replacement = '<tinyboard ' . substr($modifier['type'], strlen('escape ')) . '>' . $modifier['content'] . '</tinyboard>'; - } else { - // Unknown - $replacement = ''; - } - - if (!$end_markup) { - $body = mb_substr_replace($body, $replacement, $modifier[0][1] + $skip_chars, mb_strlen($modifier[0][0])); - $skip_chars += mb_strlen($replacement) - mb_strlen($modifier[0][0]); - } - } - - if ($end_markup) { - return array(); - } - } - if (mysql_version() < 50503) $body = mb_encode_numericentity($body, array(0x010000, 0xffffff, 0, 0xffffff), 'UTF-8'); @@ -1759,17 +1731,9 @@ function buildThread($id, $return = false, $mod = false) { while ($post = $query->fetch(PDO::FETCH_ASSOC)) { if (!isset($thread)) { - $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'], $post['sage'], $post['embed'], $mod ? '?/' : $config['root'], $mod - ); + $thread = new Thread($post, $mod ? '?/' : $config['root'], $mod); } else { - $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'], $post['embed'], $mod ? '?/' : $config['root'], $mod) - ); + $thread->add(new Post($post, $mod ? '?/' : $config['root'], $mod)); } } diff --git a/inc/mod/pages.php b/inc/mod/pages.php index 8a743af5..6059fefe 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -790,19 +790,9 @@ function mod_page_ip($ip) { while ($post = $query->fetch(PDO::FETCH_ASSOC)) { if (!$post['thread']) { - // TODO: There is no reason why this should be such a fucking mess. - $po = 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'], - $post['sage'], $post['embed'], '?/', $mod, false - ); + $po = new Thread($post, '?/', $mod, false); } else { - $po = new Post( - $post['id'], $post['thread'], $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['embed'], '?/', $mod - ); + $po = new Post($post, '?/', $mod); } if (!isset($args['posts'][$board['uri']])) @@ -1398,7 +1388,7 @@ function mod_edit_post($board, $edit_raw_html, $postID) { $query->bindValue(':subject', $_POST['subject']); $query->bindValue(':body', $_POST['body']); if ($edit_raw_html) { - $body_nomarkup = '' . $_POST['body'] . ''; + $body_nomarkup = $_POST['body'] . '1'; $query->bindValue(':body_nomarkup', $body_nomarkup); } $query->execute() or error(db_error($query)); @@ -2012,19 +2002,9 @@ function mod_reports() { if (!$post['thread']) { // Still need to fix this: - $po = 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'], $post['sage'], $post['embed'], '?/', $mod, false - ); + $po = new Thread($post, '?/', $mod, false); } else { - $po = new Post( - $post['id'], $post['thread'], $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['embed'], '?/', $mod - ); + $po = new Post($post, '?/', $mod); } // a little messy and inefficient diff --git a/js/inline-expanding.js b/js/inline-expanding.js index 398db181..8710d632 100644 --- a/js/inline-expanding.js +++ b/js/inline-expanding.js @@ -16,10 +16,7 @@ onready(function(){ var link = this.getElementsByTagName('a'); for (var i = 0; i < link.length; i++) { - if (typeof link[i] == "object" && link[i].childNodes && typeof link[i].childNodes[0] !== 'undefined' && link[i].childNodes[0].src && link[i].className != 'file') { - if (window.jQuery && !$(link).prev().hasClass('fileinfo')) { - continue; - } + if (typeof link[i] == "object" && link[i].childNodes && typeof link[i].childNodes[0] !== 'undefined' && link[i].childNodes[0].src && link[i].childNodes[0].className.match(/post-image/)) { link[i].childNodes[0].style.maxWidth = '95%'; link[i].onclick = function(e) { if (this.childNodes[0].className == 'hidden') diff --git a/post.php b/post.php index 6721e804..ce45ea52 100644 --- a/post.php +++ b/post.php @@ -424,7 +424,16 @@ if (isset($_POST['delete'])) { $post['body'] = escape_markup_modifiers($post['body']); if ($mod && isset($post['raw']) && $post['raw']) { - $post['body'] = '' . $post['body'] . ''; + $post['body'] .= '1'; + } + + if ($config['country_flags']) { + if (!geoip_db_avail(GEOIP_COUNTRY_EDITION)) { + error('GeoIP not available: ' . geoip_db_filename(GEOIP_COUNTRY_EDITION)); + } + if ($country_code = @geoip_country_code_by_name($_SERVER['REMOTE_ADDR'])) { + $post['body'] .= '' . strtolower($country_code) . ''; + } } if (mysql_version() >= 50503) { diff --git a/static/flags/ad.png b/static/flags/ad.png new file mode 100755 index 00000000..625ca84f Binary files /dev/null and b/static/flags/ad.png differ diff --git a/static/flags/ae.png b/static/flags/ae.png new file mode 100755 index 00000000..ef3a1ecf Binary files /dev/null and b/static/flags/ae.png differ diff --git a/static/flags/af.png b/static/flags/af.png new file mode 100755 index 00000000..a4742e29 Binary files /dev/null and b/static/flags/af.png differ diff --git a/static/flags/ag.png b/static/flags/ag.png new file mode 100755 index 00000000..556d5504 Binary files /dev/null and b/static/flags/ag.png differ diff --git a/static/flags/ai.png b/static/flags/ai.png new file mode 100755 index 00000000..74ed29d9 Binary files /dev/null and b/static/flags/ai.png differ diff --git a/static/flags/al.png b/static/flags/al.png new file mode 100755 index 00000000..92354cb6 Binary files /dev/null and b/static/flags/al.png differ diff --git a/static/flags/am.png b/static/flags/am.png new file mode 100755 index 00000000..344a2a86 Binary files /dev/null and b/static/flags/am.png differ diff --git a/static/flags/an.png b/static/flags/an.png new file mode 100755 index 00000000..633e4b89 Binary files /dev/null and b/static/flags/an.png differ diff --git a/static/flags/ao.png b/static/flags/ao.png new file mode 100755 index 00000000..d6bd64a3 Binary files /dev/null and b/static/flags/ao.png differ diff --git a/static/flags/ar.png b/static/flags/ar.png new file mode 100755 index 00000000..e5ef8f1f Binary files /dev/null and b/static/flags/ar.png differ diff --git a/static/flags/as.png b/static/flags/as.png new file mode 100755 index 00000000..32f30e4c Binary files /dev/null and b/static/flags/as.png differ diff --git a/static/flags/at.png b/static/flags/at.png new file mode 100755 index 00000000..0f15f34f Binary files /dev/null and b/static/flags/at.png differ diff --git a/static/flags/au.png b/static/flags/au.png new file mode 100755 index 00000000..a01389a7 Binary files /dev/null and b/static/flags/au.png differ diff --git a/static/flags/aw.png b/static/flags/aw.png new file mode 100755 index 00000000..a3579c2d Binary files /dev/null and b/static/flags/aw.png differ diff --git a/static/flags/ax.png b/static/flags/ax.png new file mode 100755 index 00000000..1eea80a7 Binary files /dev/null and b/static/flags/ax.png differ diff --git a/static/flags/az.png b/static/flags/az.png new file mode 100755 index 00000000..4ee9fe5c Binary files /dev/null and b/static/flags/az.png differ diff --git a/static/flags/ba.png b/static/flags/ba.png new file mode 100755 index 00000000..c7749924 Binary files /dev/null and b/static/flags/ba.png differ diff --git a/static/flags/bb.png b/static/flags/bb.png new file mode 100755 index 00000000..0df19c71 Binary files /dev/null and b/static/flags/bb.png differ diff --git a/static/flags/bd.png b/static/flags/bd.png new file mode 100755 index 00000000..076a8bf8 Binary files /dev/null and b/static/flags/bd.png differ diff --git a/static/flags/be.png b/static/flags/be.png new file mode 100755 index 00000000..d86ebc80 Binary files /dev/null and b/static/flags/be.png differ diff --git a/static/flags/bf.png b/static/flags/bf.png new file mode 100755 index 00000000..ab5ce8fe Binary files /dev/null and b/static/flags/bf.png differ diff --git a/static/flags/bg.png b/static/flags/bg.png new file mode 100755 index 00000000..0469f060 Binary files /dev/null and b/static/flags/bg.png differ diff --git a/static/flags/bh.png b/static/flags/bh.png new file mode 100755 index 00000000..ea8ce687 Binary files /dev/null and b/static/flags/bh.png differ diff --git a/static/flags/bi.png b/static/flags/bi.png new file mode 100755 index 00000000..5cc2e30c Binary files /dev/null and b/static/flags/bi.png differ diff --git a/static/flags/bj.png b/static/flags/bj.png new file mode 100755 index 00000000..1cc8b458 Binary files /dev/null and b/static/flags/bj.png differ diff --git a/static/flags/bm.png b/static/flags/bm.png new file mode 100755 index 00000000..c0c7aead Binary files /dev/null and b/static/flags/bm.png differ diff --git a/static/flags/bn.png b/static/flags/bn.png new file mode 100755 index 00000000..8fb09849 Binary files /dev/null and b/static/flags/bn.png differ diff --git a/static/flags/bo.png b/static/flags/bo.png new file mode 100755 index 00000000..ce7ba522 Binary files /dev/null and b/static/flags/bo.png differ diff --git a/static/flags/br.png b/static/flags/br.png new file mode 100755 index 00000000..9b1a5538 Binary files /dev/null and b/static/flags/br.png differ diff --git a/static/flags/bs.png b/static/flags/bs.png new file mode 100755 index 00000000..639fa6cf Binary files /dev/null and b/static/flags/bs.png differ diff --git a/static/flags/bt.png b/static/flags/bt.png new file mode 100755 index 00000000..1d512dff Binary files /dev/null and b/static/flags/bt.png differ diff --git a/static/flags/bv.png b/static/flags/bv.png new file mode 100755 index 00000000..160b6b5b Binary files /dev/null and b/static/flags/bv.png differ diff --git a/static/flags/bw.png b/static/flags/bw.png new file mode 100755 index 00000000..fcb10394 Binary files /dev/null and b/static/flags/bw.png differ diff --git a/static/flags/by.png b/static/flags/by.png new file mode 100755 index 00000000..504774ec Binary files /dev/null and b/static/flags/by.png differ diff --git a/static/flags/bz.png b/static/flags/bz.png new file mode 100755 index 00000000..be63ee1c Binary files /dev/null and b/static/flags/bz.png differ diff --git a/static/flags/ca.png b/static/flags/ca.png new file mode 100755 index 00000000..1f204193 Binary files /dev/null and b/static/flags/ca.png differ diff --git a/static/flags/cc.png b/static/flags/cc.png new file mode 100755 index 00000000..aed3d3b4 Binary files /dev/null and b/static/flags/cc.png differ diff --git a/static/flags/cd.png b/static/flags/cd.png new file mode 100755 index 00000000..a072ac26 Binary files /dev/null and b/static/flags/cd.png differ diff --git a/static/flags/cf.png b/static/flags/cf.png new file mode 100755 index 00000000..da687bdc Binary files /dev/null and b/static/flags/cf.png differ diff --git a/static/flags/cg.png b/static/flags/cg.png new file mode 100755 index 00000000..a859792e Binary files /dev/null and b/static/flags/cg.png differ diff --git a/static/flags/ch.png b/static/flags/ch.png new file mode 100755 index 00000000..242ec01a Binary files /dev/null and b/static/flags/ch.png differ diff --git a/static/flags/ci.png b/static/flags/ci.png new file mode 100755 index 00000000..3f2c62eb Binary files /dev/null and b/static/flags/ci.png differ diff --git a/static/flags/ck.png b/static/flags/ck.png new file mode 100755 index 00000000..746d3d6f Binary files /dev/null and b/static/flags/ck.png differ diff --git a/static/flags/cl.png b/static/flags/cl.png new file mode 100755 index 00000000..29c6d61b Binary files /dev/null and b/static/flags/cl.png differ diff --git a/static/flags/cm.png b/static/flags/cm.png new file mode 100755 index 00000000..f65c5bd5 Binary files /dev/null and b/static/flags/cm.png differ diff --git a/static/flags/cn.png b/static/flags/cn.png new file mode 100755 index 00000000..89144146 Binary files /dev/null and b/static/flags/cn.png differ diff --git a/static/flags/co.png b/static/flags/co.png new file mode 100755 index 00000000..a118ff4a Binary files /dev/null and b/static/flags/co.png differ diff --git a/static/flags/cr.png b/static/flags/cr.png new file mode 100755 index 00000000..c7a37317 Binary files /dev/null and b/static/flags/cr.png differ diff --git a/static/flags/cs.png b/static/flags/cs.png new file mode 100755 index 00000000..8254790c Binary files /dev/null and b/static/flags/cs.png differ diff --git a/static/flags/cu.png b/static/flags/cu.png new file mode 100755 index 00000000..083f1d61 Binary files /dev/null and b/static/flags/cu.png differ diff --git a/static/flags/cv.png b/static/flags/cv.png new file mode 100755 index 00000000..a63f7eaf Binary files /dev/null and b/static/flags/cv.png differ diff --git a/static/flags/cx.png b/static/flags/cx.png new file mode 100755 index 00000000..48e31adb Binary files /dev/null and b/static/flags/cx.png differ diff --git a/static/flags/cy.png b/static/flags/cy.png new file mode 100755 index 00000000..5b1ad6c0 Binary files /dev/null and b/static/flags/cy.png differ diff --git a/static/flags/cz.png b/static/flags/cz.png new file mode 100755 index 00000000..c8403dd2 Binary files /dev/null and b/static/flags/cz.png differ diff --git a/static/flags/de.png b/static/flags/de.png new file mode 100755 index 00000000..ac4a9773 Binary files /dev/null and b/static/flags/de.png differ diff --git a/static/flags/dj.png b/static/flags/dj.png new file mode 100755 index 00000000..582af364 Binary files /dev/null and b/static/flags/dj.png differ diff --git a/static/flags/dk.png b/static/flags/dk.png new file mode 100755 index 00000000..e2993d3c Binary files /dev/null and b/static/flags/dk.png differ diff --git a/static/flags/dm.png b/static/flags/dm.png new file mode 100755 index 00000000..5fbffcba Binary files /dev/null and b/static/flags/dm.png differ diff --git a/static/flags/do.png b/static/flags/do.png new file mode 100755 index 00000000..5a04932d Binary files /dev/null and b/static/flags/do.png differ diff --git a/static/flags/dz.png b/static/flags/dz.png new file mode 100755 index 00000000..335c2391 Binary files /dev/null and b/static/flags/dz.png differ diff --git a/static/flags/ec.png b/static/flags/ec.png new file mode 100755 index 00000000..0caa0b1e Binary files /dev/null and b/static/flags/ec.png differ diff --git a/static/flags/ee.png b/static/flags/ee.png new file mode 100755 index 00000000..0c82efb7 Binary files /dev/null and b/static/flags/ee.png differ diff --git a/static/flags/eg.png b/static/flags/eg.png new file mode 100755 index 00000000..8a3f7a10 Binary files /dev/null and b/static/flags/eg.png differ diff --git a/static/flags/eh.png b/static/flags/eh.png new file mode 100755 index 00000000..90a1195b Binary files /dev/null and b/static/flags/eh.png differ diff --git a/static/flags/er.png b/static/flags/er.png new file mode 100755 index 00000000..13065ae9 Binary files /dev/null and b/static/flags/er.png differ diff --git a/static/flags/es.png b/static/flags/es.png new file mode 100755 index 00000000..c2de2d71 Binary files /dev/null and b/static/flags/es.png differ diff --git a/static/flags/et.png b/static/flags/et.png new file mode 100755 index 00000000..2e893fa0 Binary files /dev/null and b/static/flags/et.png differ diff --git a/static/flags/fi.png b/static/flags/fi.png new file mode 100755 index 00000000..14ec091b Binary files /dev/null and b/static/flags/fi.png differ diff --git a/static/flags/fj.png b/static/flags/fj.png new file mode 100755 index 00000000..cee99889 Binary files /dev/null and b/static/flags/fj.png differ diff --git a/static/flags/fk.png b/static/flags/fk.png new file mode 100755 index 00000000..ceaeb27d Binary files /dev/null and b/static/flags/fk.png differ diff --git a/static/flags/fm.png b/static/flags/fm.png new file mode 100755 index 00000000..066bb247 Binary files /dev/null and b/static/flags/fm.png differ diff --git a/static/flags/fo.png b/static/flags/fo.png new file mode 100755 index 00000000..cbceb809 Binary files /dev/null and b/static/flags/fo.png differ diff --git a/static/flags/fr.png b/static/flags/fr.png new file mode 100755 index 00000000..8332c4ec Binary files /dev/null and b/static/flags/fr.png differ diff --git a/static/flags/ga.png b/static/flags/ga.png new file mode 100755 index 00000000..0e0d4343 Binary files /dev/null and b/static/flags/ga.png differ diff --git a/static/flags/gb.png b/static/flags/gb.png new file mode 100755 index 00000000..5c4d301a Binary files /dev/null and b/static/flags/gb.png differ diff --git a/static/flags/gd.png b/static/flags/gd.png new file mode 100755 index 00000000..9ab57f54 Binary files /dev/null and b/static/flags/gd.png differ diff --git a/static/flags/ge.png b/static/flags/ge.png new file mode 100755 index 00000000..728d9707 Binary files /dev/null and b/static/flags/ge.png differ diff --git a/static/flags/gh.png b/static/flags/gh.png new file mode 100755 index 00000000..4e2f8965 Binary files /dev/null and b/static/flags/gh.png differ diff --git a/static/flags/gi.png b/static/flags/gi.png new file mode 100755 index 00000000..e76797f6 Binary files /dev/null and b/static/flags/gi.png differ diff --git a/static/flags/gl.png b/static/flags/gl.png new file mode 100755 index 00000000..ef12a73b Binary files /dev/null and b/static/flags/gl.png differ diff --git a/static/flags/gm.png b/static/flags/gm.png new file mode 100755 index 00000000..0720b667 Binary files /dev/null and b/static/flags/gm.png differ diff --git a/static/flags/gn.png b/static/flags/gn.png new file mode 100755 index 00000000..ea660b01 Binary files /dev/null and b/static/flags/gn.png differ diff --git a/static/flags/gp.png b/static/flags/gp.png new file mode 100755 index 00000000..dbb086d0 Binary files /dev/null and b/static/flags/gp.png differ diff --git a/static/flags/gq.png b/static/flags/gq.png new file mode 100755 index 00000000..ebe20a28 Binary files /dev/null and b/static/flags/gq.png differ diff --git a/static/flags/gr.png b/static/flags/gr.png new file mode 100755 index 00000000..8651ade7 Binary files /dev/null and b/static/flags/gr.png differ diff --git a/static/flags/gs.png b/static/flags/gs.png new file mode 100755 index 00000000..7ef0bf59 Binary files /dev/null and b/static/flags/gs.png differ diff --git a/static/flags/gt.png b/static/flags/gt.png new file mode 100755 index 00000000..c43a70d3 Binary files /dev/null and b/static/flags/gt.png differ diff --git a/static/flags/gu.png b/static/flags/gu.png new file mode 100755 index 00000000..92f37c05 Binary files /dev/null and b/static/flags/gu.png differ diff --git a/static/flags/gw.png b/static/flags/gw.png new file mode 100755 index 00000000..b37bcf06 Binary files /dev/null and b/static/flags/gw.png differ diff --git a/static/flags/gy.png b/static/flags/gy.png new file mode 100755 index 00000000..22cbe2f5 Binary files /dev/null and b/static/flags/gy.png differ diff --git a/static/flags/hk.png b/static/flags/hk.png new file mode 100755 index 00000000..d5c380ca Binary files /dev/null and b/static/flags/hk.png differ diff --git a/static/flags/hn.png b/static/flags/hn.png new file mode 100755 index 00000000..96f83885 Binary files /dev/null and b/static/flags/hn.png differ diff --git a/static/flags/hr.png b/static/flags/hr.png new file mode 100755 index 00000000..696b5154 Binary files /dev/null and b/static/flags/hr.png differ diff --git a/static/flags/ht.png b/static/flags/ht.png new file mode 100755 index 00000000..416052af Binary files /dev/null and b/static/flags/ht.png differ diff --git a/static/flags/hu.png b/static/flags/hu.png new file mode 100755 index 00000000..7baafe44 Binary files /dev/null and b/static/flags/hu.png differ diff --git a/static/flags/id.png b/static/flags/id.png new file mode 100755 index 00000000..c6bc0faf Binary files /dev/null and b/static/flags/id.png differ diff --git a/static/flags/ie.png b/static/flags/ie.png new file mode 100755 index 00000000..26baa31e Binary files /dev/null and b/static/flags/ie.png differ diff --git a/static/flags/il.png b/static/flags/il.png new file mode 100755 index 00000000..2ca772d0 Binary files /dev/null and b/static/flags/il.png differ diff --git a/static/flags/in.png b/static/flags/in.png new file mode 100755 index 00000000..e4d7e81a Binary files /dev/null and b/static/flags/in.png differ diff --git a/static/flags/io.png b/static/flags/io.png new file mode 100755 index 00000000..3e74b6a3 Binary files /dev/null and b/static/flags/io.png differ diff --git a/static/flags/iq.png b/static/flags/iq.png new file mode 100755 index 00000000..878a3514 Binary files /dev/null and b/static/flags/iq.png differ diff --git a/static/flags/ir.png b/static/flags/ir.png new file mode 100755 index 00000000..c5fd136a Binary files /dev/null and b/static/flags/ir.png differ diff --git a/static/flags/is.png b/static/flags/is.png new file mode 100755 index 00000000..b8f6d0f0 Binary files /dev/null and b/static/flags/is.png differ diff --git a/static/flags/it.png b/static/flags/it.png new file mode 100755 index 00000000..89692f74 Binary files /dev/null and b/static/flags/it.png differ diff --git a/static/flags/jm.png b/static/flags/jm.png new file mode 100755 index 00000000..7be119e0 Binary files /dev/null and b/static/flags/jm.png differ diff --git a/static/flags/jo.png b/static/flags/jo.png new file mode 100755 index 00000000..11bd4972 Binary files /dev/null and b/static/flags/jo.png differ diff --git a/static/flags/jp.png b/static/flags/jp.png new file mode 100755 index 00000000..325fbad3 Binary files /dev/null and b/static/flags/jp.png differ diff --git a/static/flags/ke.png b/static/flags/ke.png new file mode 100755 index 00000000..51879adf Binary files /dev/null and b/static/flags/ke.png differ diff --git a/static/flags/kg.png b/static/flags/kg.png new file mode 100755 index 00000000..0a818f67 Binary files /dev/null and b/static/flags/kg.png differ diff --git a/static/flags/kh.png b/static/flags/kh.png new file mode 100755 index 00000000..30f6bb1b Binary files /dev/null and b/static/flags/kh.png differ diff --git a/static/flags/ki.png b/static/flags/ki.png new file mode 100755 index 00000000..2dcce4b3 Binary files /dev/null and b/static/flags/ki.png differ diff --git a/static/flags/km.png b/static/flags/km.png new file mode 100755 index 00000000..812b2f56 Binary files /dev/null and b/static/flags/km.png differ diff --git a/static/flags/kn.png b/static/flags/kn.png new file mode 100755 index 00000000..febd5b48 Binary files /dev/null and b/static/flags/kn.png differ diff --git a/static/flags/kp.png b/static/flags/kp.png new file mode 100755 index 00000000..d3d509aa Binary files /dev/null and b/static/flags/kp.png differ diff --git a/static/flags/kr.png b/static/flags/kr.png new file mode 100755 index 00000000..9c0a78eb Binary files /dev/null and b/static/flags/kr.png differ diff --git a/static/flags/kw.png b/static/flags/kw.png new file mode 100755 index 00000000..96546da3 Binary files /dev/null and b/static/flags/kw.png differ diff --git a/static/flags/ky.png b/static/flags/ky.png new file mode 100755 index 00000000..15c5f8e4 Binary files /dev/null and b/static/flags/ky.png differ diff --git a/static/flags/kz.png b/static/flags/kz.png new file mode 100755 index 00000000..45a8c887 Binary files /dev/null and b/static/flags/kz.png differ diff --git a/static/flags/la.png b/static/flags/la.png new file mode 100755 index 00000000..e28acd01 Binary files /dev/null and b/static/flags/la.png differ diff --git a/static/flags/lb.png b/static/flags/lb.png new file mode 100755 index 00000000..d0d452bf Binary files /dev/null and b/static/flags/lb.png differ diff --git a/static/flags/lc.png b/static/flags/lc.png new file mode 100755 index 00000000..8fc12b4a Binary files /dev/null and b/static/flags/lc.png differ diff --git a/static/flags/li.png b/static/flags/li.png new file mode 100755 index 00000000..6469909c Binary files /dev/null and b/static/flags/li.png differ diff --git a/static/flags/lk.png b/static/flags/lk.png new file mode 100755 index 00000000..088aad6d Binary files /dev/null and b/static/flags/lk.png differ diff --git a/static/flags/lr.png b/static/flags/lr.png new file mode 100755 index 00000000..89a5bc7e Binary files /dev/null and b/static/flags/lr.png differ diff --git a/static/flags/ls.png b/static/flags/ls.png new file mode 100755 index 00000000..33fdef10 Binary files /dev/null and b/static/flags/ls.png differ diff --git a/static/flags/lt.png b/static/flags/lt.png new file mode 100755 index 00000000..c8ef0da0 Binary files /dev/null and b/static/flags/lt.png differ diff --git a/static/flags/lu.png b/static/flags/lu.png new file mode 100755 index 00000000..4cabba98 Binary files /dev/null and b/static/flags/lu.png differ diff --git a/static/flags/lv.png b/static/flags/lv.png new file mode 100755 index 00000000..49b69981 Binary files /dev/null and b/static/flags/lv.png differ diff --git a/static/flags/ly.png b/static/flags/ly.png new file mode 100755 index 00000000..b163a9f8 Binary files /dev/null and b/static/flags/ly.png differ diff --git a/static/flags/ma.png b/static/flags/ma.png new file mode 100755 index 00000000..f3867702 Binary files /dev/null and b/static/flags/ma.png differ diff --git a/static/flags/mc.png b/static/flags/mc.png new file mode 100755 index 00000000..1aa830f1 Binary files /dev/null and b/static/flags/mc.png differ diff --git a/static/flags/md.png b/static/flags/md.png new file mode 100755 index 00000000..4e92c189 Binary files /dev/null and b/static/flags/md.png differ diff --git a/static/flags/mg.png b/static/flags/mg.png new file mode 100755 index 00000000..d2715b3d Binary files /dev/null and b/static/flags/mg.png differ diff --git a/static/flags/mh.png b/static/flags/mh.png new file mode 100755 index 00000000..fb523a8c Binary files /dev/null and b/static/flags/mh.png differ diff --git a/static/flags/mk.png b/static/flags/mk.png new file mode 100755 index 00000000..db173aaf Binary files /dev/null and b/static/flags/mk.png differ diff --git a/static/flags/ml.png b/static/flags/ml.png new file mode 100755 index 00000000..2cec8ba4 Binary files /dev/null and b/static/flags/ml.png differ diff --git a/static/flags/mm.png b/static/flags/mm.png new file mode 100755 index 00000000..f464f67f Binary files /dev/null and b/static/flags/mm.png differ diff --git a/static/flags/mn.png b/static/flags/mn.png new file mode 100755 index 00000000..9396355d Binary files /dev/null and b/static/flags/mn.png differ diff --git a/static/flags/mo.png b/static/flags/mo.png new file mode 100755 index 00000000..deb801dd Binary files /dev/null and b/static/flags/mo.png differ diff --git a/static/flags/mp.png b/static/flags/mp.png new file mode 100755 index 00000000..298d588b Binary files /dev/null and b/static/flags/mp.png differ diff --git a/static/flags/mq.png b/static/flags/mq.png new file mode 100755 index 00000000..010143b3 Binary files /dev/null and b/static/flags/mq.png differ diff --git a/static/flags/mr.png b/static/flags/mr.png new file mode 100755 index 00000000..319546b1 Binary files /dev/null and b/static/flags/mr.png differ diff --git a/static/flags/ms.png b/static/flags/ms.png new file mode 100755 index 00000000..d4cbb433 Binary files /dev/null and b/static/flags/ms.png differ diff --git a/static/flags/mt.png b/static/flags/mt.png new file mode 100755 index 00000000..00af9487 Binary files /dev/null and b/static/flags/mt.png differ diff --git a/static/flags/mu.png b/static/flags/mu.png new file mode 100755 index 00000000..b7fdce1b Binary files /dev/null and b/static/flags/mu.png differ diff --git a/static/flags/mv.png b/static/flags/mv.png new file mode 100755 index 00000000..5073d9ec Binary files /dev/null and b/static/flags/mv.png differ diff --git a/static/flags/mw.png b/static/flags/mw.png new file mode 100755 index 00000000..13886e9f Binary files /dev/null and b/static/flags/mw.png differ diff --git a/static/flags/mx.png b/static/flags/mx.png new file mode 100755 index 00000000..5bc58ab3 Binary files /dev/null and b/static/flags/mx.png differ diff --git a/static/flags/my.png b/static/flags/my.png new file mode 100755 index 00000000..9034cbab Binary files /dev/null and b/static/flags/my.png differ diff --git a/static/flags/mz.png b/static/flags/mz.png new file mode 100755 index 00000000..76405e06 Binary files /dev/null and b/static/flags/mz.png differ diff --git a/static/flags/na.png b/static/flags/na.png new file mode 100755 index 00000000..63358c67 Binary files /dev/null and b/static/flags/na.png differ diff --git a/static/flags/nc.png b/static/flags/nc.png new file mode 100755 index 00000000..2cad2837 Binary files /dev/null and b/static/flags/nc.png differ diff --git a/static/flags/ne.png b/static/flags/ne.png new file mode 100755 index 00000000..d85f424f Binary files /dev/null and b/static/flags/ne.png differ diff --git a/static/flags/nf.png b/static/flags/nf.png new file mode 100755 index 00000000..f9bcdda1 Binary files /dev/null and b/static/flags/nf.png differ diff --git a/static/flags/ng.png b/static/flags/ng.png new file mode 100755 index 00000000..3eea2e02 Binary files /dev/null and b/static/flags/ng.png differ diff --git a/static/flags/ni.png b/static/flags/ni.png new file mode 100755 index 00000000..3969aaaa Binary files /dev/null and b/static/flags/ni.png differ diff --git a/static/flags/nl.png b/static/flags/nl.png new file mode 100755 index 00000000..fe44791e Binary files /dev/null and b/static/flags/nl.png differ diff --git a/static/flags/no.png b/static/flags/no.png new file mode 100755 index 00000000..160b6b5b Binary files /dev/null and b/static/flags/no.png differ diff --git a/static/flags/np.png b/static/flags/np.png new file mode 100755 index 00000000..aeb058b7 Binary files /dev/null and b/static/flags/np.png differ diff --git a/static/flags/nr.png b/static/flags/nr.png new file mode 100755 index 00000000..705fc337 Binary files /dev/null and b/static/flags/nr.png differ diff --git a/static/flags/nu.png b/static/flags/nu.png new file mode 100755 index 00000000..c3ce4aed Binary files /dev/null and b/static/flags/nu.png differ diff --git a/static/flags/nz.png b/static/flags/nz.png new file mode 100755 index 00000000..10d6306d Binary files /dev/null and b/static/flags/nz.png differ diff --git a/static/flags/om.png b/static/flags/om.png new file mode 100755 index 00000000..2ffba7e8 Binary files /dev/null and b/static/flags/om.png differ diff --git a/static/flags/pa.png b/static/flags/pa.png new file mode 100755 index 00000000..9b2ee9a7 Binary files /dev/null and b/static/flags/pa.png differ diff --git a/static/flags/pe.png b/static/flags/pe.png new file mode 100755 index 00000000..62a04977 Binary files /dev/null and b/static/flags/pe.png differ diff --git a/static/flags/pf.png b/static/flags/pf.png new file mode 100755 index 00000000..771a0f65 Binary files /dev/null and b/static/flags/pf.png differ diff --git a/static/flags/pg.png b/static/flags/pg.png new file mode 100755 index 00000000..10d62334 Binary files /dev/null and b/static/flags/pg.png differ diff --git a/static/flags/ph.png b/static/flags/ph.png new file mode 100755 index 00000000..b89e1593 Binary files /dev/null and b/static/flags/ph.png differ diff --git a/static/flags/pk.png b/static/flags/pk.png new file mode 100755 index 00000000..e9df70ca Binary files /dev/null and b/static/flags/pk.png differ diff --git a/static/flags/pl.png b/static/flags/pl.png new file mode 100755 index 00000000..d413d010 Binary files /dev/null and b/static/flags/pl.png differ diff --git a/static/flags/pm.png b/static/flags/pm.png new file mode 100755 index 00000000..ba91d2c7 Binary files /dev/null and b/static/flags/pm.png differ diff --git a/static/flags/pn.png b/static/flags/pn.png new file mode 100755 index 00000000..aa9344f5 Binary files /dev/null and b/static/flags/pn.png differ diff --git a/static/flags/pr.png b/static/flags/pr.png new file mode 100755 index 00000000..82d9130d Binary files /dev/null and b/static/flags/pr.png differ diff --git a/static/flags/ps.png b/static/flags/ps.png new file mode 100755 index 00000000..f5f54776 Binary files /dev/null and b/static/flags/ps.png differ diff --git a/static/flags/pt.png b/static/flags/pt.png new file mode 100755 index 00000000..ece79801 Binary files /dev/null and b/static/flags/pt.png differ diff --git a/static/flags/pw.png b/static/flags/pw.png new file mode 100755 index 00000000..6178b254 Binary files /dev/null and b/static/flags/pw.png differ diff --git a/static/flags/py.png b/static/flags/py.png new file mode 100755 index 00000000..cb8723c0 Binary files /dev/null and b/static/flags/py.png differ diff --git a/static/flags/qa.png b/static/flags/qa.png new file mode 100755 index 00000000..ed4c621f Binary files /dev/null and b/static/flags/qa.png differ diff --git a/static/flags/ro.png b/static/flags/ro.png new file mode 100755 index 00000000..57e74a65 Binary files /dev/null and b/static/flags/ro.png differ diff --git a/static/flags/ru.png b/static/flags/ru.png new file mode 100755 index 00000000..47da4214 Binary files /dev/null and b/static/flags/ru.png differ diff --git a/static/flags/rw.png b/static/flags/rw.png new file mode 100755 index 00000000..53564917 Binary files /dev/null and b/static/flags/rw.png differ diff --git a/static/flags/sa.png b/static/flags/sa.png new file mode 100755 index 00000000..b4641c7e Binary files /dev/null and b/static/flags/sa.png differ diff --git a/static/flags/sb.png b/static/flags/sb.png new file mode 100755 index 00000000..a9937ccf Binary files /dev/null and b/static/flags/sb.png differ diff --git a/static/flags/sc.png b/static/flags/sc.png new file mode 100755 index 00000000..39ee3718 Binary files /dev/null and b/static/flags/sc.png differ diff --git a/static/flags/sd.png b/static/flags/sd.png new file mode 100755 index 00000000..eaab69eb Binary files /dev/null and b/static/flags/sd.png differ diff --git a/static/flags/se.png b/static/flags/se.png new file mode 100755 index 00000000..1994653d Binary files /dev/null and b/static/flags/se.png differ diff --git a/static/flags/sg.png b/static/flags/sg.png new file mode 100755 index 00000000..dd34d612 Binary files /dev/null and b/static/flags/sg.png differ diff --git a/static/flags/sh.png b/static/flags/sh.png new file mode 100755 index 00000000..4b1d2a29 Binary files /dev/null and b/static/flags/sh.png differ diff --git a/static/flags/si.png b/static/flags/si.png new file mode 100755 index 00000000..bb1476ff Binary files /dev/null and b/static/flags/si.png differ diff --git a/static/flags/sk.png b/static/flags/sk.png new file mode 100755 index 00000000..7ccbc827 Binary files /dev/null and b/static/flags/sk.png differ diff --git a/static/flags/sl.png b/static/flags/sl.png new file mode 100755 index 00000000..12d812d2 Binary files /dev/null and b/static/flags/sl.png differ diff --git a/static/flags/sm.png b/static/flags/sm.png new file mode 100755 index 00000000..3df2fdcf Binary files /dev/null and b/static/flags/sm.png differ diff --git a/static/flags/sn.png b/static/flags/sn.png new file mode 100755 index 00000000..eabb71db Binary files /dev/null and b/static/flags/sn.png differ diff --git a/static/flags/so.png b/static/flags/so.png new file mode 100755 index 00000000..4a1ea4b2 Binary files /dev/null and b/static/flags/so.png differ diff --git a/static/flags/sr.png b/static/flags/sr.png new file mode 100755 index 00000000..5eff9271 Binary files /dev/null and b/static/flags/sr.png differ diff --git a/static/flags/st.png b/static/flags/st.png new file mode 100755 index 00000000..2978557b Binary files /dev/null and b/static/flags/st.png differ diff --git a/static/flags/sv.png b/static/flags/sv.png new file mode 100755 index 00000000..24987990 Binary files /dev/null and b/static/flags/sv.png differ diff --git a/static/flags/sy.png b/static/flags/sy.png new file mode 100755 index 00000000..f5ce30dc Binary files /dev/null and b/static/flags/sy.png differ diff --git a/static/flags/sz.png b/static/flags/sz.png new file mode 100755 index 00000000..914ee861 Binary files /dev/null and b/static/flags/sz.png differ diff --git a/static/flags/tc.png b/static/flags/tc.png new file mode 100755 index 00000000..8fc1156b Binary files /dev/null and b/static/flags/tc.png differ diff --git a/static/flags/td.png b/static/flags/td.png new file mode 100755 index 00000000..667f21fd Binary files /dev/null and b/static/flags/td.png differ diff --git a/static/flags/tf.png b/static/flags/tf.png new file mode 100755 index 00000000..80529a43 Binary files /dev/null and b/static/flags/tf.png differ diff --git a/static/flags/tg.png b/static/flags/tg.png new file mode 100755 index 00000000..3aa00ad4 Binary files /dev/null and b/static/flags/tg.png differ diff --git a/static/flags/th.png b/static/flags/th.png new file mode 100755 index 00000000..dd8ba917 Binary files /dev/null and b/static/flags/th.png differ diff --git a/static/flags/tj.png b/static/flags/tj.png new file mode 100755 index 00000000..617bf645 Binary files /dev/null and b/static/flags/tj.png differ diff --git a/static/flags/tk.png b/static/flags/tk.png new file mode 100755 index 00000000..67b8c8cb Binary files /dev/null and b/static/flags/tk.png differ diff --git a/static/flags/tl.png b/static/flags/tl.png new file mode 100755 index 00000000..77da181e Binary files /dev/null and b/static/flags/tl.png differ diff --git a/static/flags/tm.png b/static/flags/tm.png new file mode 100755 index 00000000..828020ec Binary files /dev/null and b/static/flags/tm.png differ diff --git a/static/flags/tn.png b/static/flags/tn.png new file mode 100755 index 00000000..183cdd3d Binary files /dev/null and b/static/flags/tn.png differ diff --git a/static/flags/to.png b/static/flags/to.png new file mode 100755 index 00000000..f89b8ba7 Binary files /dev/null and b/static/flags/to.png differ diff --git a/static/flags/tr.png b/static/flags/tr.png new file mode 100755 index 00000000..be32f77e Binary files /dev/null and b/static/flags/tr.png differ diff --git a/static/flags/tt.png b/static/flags/tt.png new file mode 100755 index 00000000..2a11c1e2 Binary files /dev/null and b/static/flags/tt.png differ diff --git a/static/flags/tv.png b/static/flags/tv.png new file mode 100755 index 00000000..28274c5f Binary files /dev/null and b/static/flags/tv.png differ diff --git a/static/flags/tw.png b/static/flags/tw.png new file mode 100755 index 00000000..f31c654c Binary files /dev/null and b/static/flags/tw.png differ diff --git a/static/flags/tz.png b/static/flags/tz.png new file mode 100755 index 00000000..c00ff796 Binary files /dev/null and b/static/flags/tz.png differ diff --git a/static/flags/ua.png b/static/flags/ua.png new file mode 100755 index 00000000..09563a21 Binary files /dev/null and b/static/flags/ua.png differ diff --git a/static/flags/ug.png b/static/flags/ug.png new file mode 100755 index 00000000..33f4affa Binary files /dev/null and b/static/flags/ug.png differ diff --git a/static/flags/um.png b/static/flags/um.png new file mode 100755 index 00000000..c1dd9654 Binary files /dev/null and b/static/flags/um.png differ diff --git a/static/flags/us.png b/static/flags/us.png new file mode 100755 index 00000000..10f451fe Binary files /dev/null and b/static/flags/us.png differ diff --git a/static/flags/uy.png b/static/flags/uy.png new file mode 100755 index 00000000..31d948a0 Binary files /dev/null and b/static/flags/uy.png differ diff --git a/static/flags/uz.png b/static/flags/uz.png new file mode 100755 index 00000000..fef5dc17 Binary files /dev/null and b/static/flags/uz.png differ diff --git a/static/flags/va.png b/static/flags/va.png new file mode 100755 index 00000000..b31eaf22 Binary files /dev/null and b/static/flags/va.png differ diff --git a/static/flags/vc.png b/static/flags/vc.png new file mode 100755 index 00000000..8fa17b06 Binary files /dev/null and b/static/flags/vc.png differ diff --git a/static/flags/ve.png b/static/flags/ve.png new file mode 100755 index 00000000..00c90f9a Binary files /dev/null and b/static/flags/ve.png differ diff --git a/static/flags/vg.png b/static/flags/vg.png new file mode 100755 index 00000000..41569079 Binary files /dev/null and b/static/flags/vg.png differ diff --git a/static/flags/vi.png b/static/flags/vi.png new file mode 100755 index 00000000..ed26915a Binary files /dev/null and b/static/flags/vi.png differ diff --git a/static/flags/vn.png b/static/flags/vn.png new file mode 100755 index 00000000..ec7cd48a Binary files /dev/null and b/static/flags/vn.png differ diff --git a/static/flags/vu.png b/static/flags/vu.png new file mode 100755 index 00000000..b3397bc6 Binary files /dev/null and b/static/flags/vu.png differ diff --git a/static/flags/wf.png b/static/flags/wf.png new file mode 100755 index 00000000..9f955873 Binary files /dev/null and b/static/flags/wf.png differ diff --git a/static/flags/ws.png b/static/flags/ws.png new file mode 100755 index 00000000..c1695080 Binary files /dev/null and b/static/flags/ws.png differ diff --git a/static/flags/ye.png b/static/flags/ye.png new file mode 100755 index 00000000..468dfad0 Binary files /dev/null and b/static/flags/ye.png differ diff --git a/static/flags/yt.png b/static/flags/yt.png new file mode 100755 index 00000000..c298f378 Binary files /dev/null and b/static/flags/yt.png differ diff --git a/static/flags/za.png b/static/flags/za.png new file mode 100755 index 00000000..57c58e21 Binary files /dev/null and b/static/flags/za.png differ diff --git a/static/flags/zm.png b/static/flags/zm.png new file mode 100755 index 00000000..c25b07be Binary files /dev/null and b/static/flags/zm.png differ diff --git a/static/flags/zw.png b/static/flags/zw.png new file mode 100755 index 00000000..53c97259 Binary files /dev/null and b/static/flags/zw.png differ diff --git a/stylesheets/style.css b/stylesheets/style.css index fbb5370f..f75cfadb 100644 --- a/stylesheets/style.css +++ b/stylesheets/style.css @@ -125,23 +125,22 @@ div.banner a:hover { text-decoration: none; } img.banner { - float: none; + display: block; border: 1px solid #a9a9a9; margin: 12px auto 0 auto; } -img { +img.post-image { display: block; float: left; margin: 10px 20px; border: none; } -div.post img { +div.post img.post-image { padding: 5px; margin: 5px 20px 0 0; } div.post img.icon { display: inline; - float: none; margin: 0 5px; padding: 0; } diff --git a/templates/post_reply.html b/templates/post_reply.html index b0391f19..518a8edf 100644 --- a/templates/post_reply.html +++ b/templates/post_reply.html @@ -28,6 +28,11 @@ {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %} [{{ post.ip }}] {% endif %} + {% if config.display_flags and post.modifiers.flag %} + + {% endif %} {% if config.poster_ids %} @@ -49,7 +54,7 @@ {% if post.embed %} {{ post.embed }} {% elseif post.file == 'deleted' %} - + {% elseif post.file and post.file %}

File: {{ post.file }} ( @@ -87,7 +92,7 @@

- + {% endif %}" style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px" alt="" /> {% endif %} {{ post.postControls }}
{% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %} + {% if post.modifiers['ban message'] %} + {{ config.mod.ban_message|sprintf(post.modifiers['ban message']) }} + {% endif %}

diff --git a/templates/post_thread.html b/templates/post_thread.html index 60218acb..dc788082 100644 --- a/templates/post_thread.html +++ b/templates/post_thread.html @@ -6,7 +6,7 @@ {% if post.embed %} {{ post.embed }} {% elseif post.file == 'deleted' %} - + {% elseif post.file and post.file %}

{% trans %}File:{% endtrans %} {{ post.file }} ( @@ -42,7 +42,7 @@ )

- + {% endif %}" style="width:{{ post.thumbwidth }}px;height:{{ post.thumbheight }}px" alt="" /> {% endif %}

@@ -82,6 +82,11 @@ {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %} [{{ post.ip }}] {% endif %} + {% if config.display_flags and post.modifiers.flag %} + + {% endif %} {% if config.poster_ids %} @@ -134,6 +139,9 @@

{% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %} + {% if post.modifiers['ban message'] %} + {{ config.mod.ban_message|sprintf(post.modifiers['ban message']) }} + {% endif %}
{% if post.omitted or post.omitted_images %}