summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorctrlcctrlv <wizardchan@hush.com>2013-08-20 18:52:12 +0000
committerctrlcctrlv <wizardchan@hush.com>2013-08-20 18:52:12 +0000
commitcc5173f4309c72fc8d0f52f70576302dbb998b1e (patch)
treee32efed1a2af668abfa952edd2a851774e158f14 /inc
parent3e9f4f101ab07ed69d202577821d9c3b0fb414f7 (diff)
Country flags in API if they are enabled
Diffstat (limited to 'inc')
-rw-r--r--inc/api.php16
1 files changed, 16 insertions, 0 deletions
diff --git a/inc/api.php b/inc/api.php
index 2bf6b7b8..69a58a0c 100644
--- a/inc/api.php
+++ b/inc/api.php
@@ -3,6 +3,7 @@
* Copyright (c) 2010-2013 Tinyboard Development Group
*/
+
/**
* Class for generating json API compatible with 4chan API
*/
@@ -11,6 +12,8 @@ class Api {
/**
* Translation from local fields to fields in 4chan-style API
*/
+ $this->config = $config;
+
$this->postFields = array(
'id' => 'no',
'thread' => 'resto',
@@ -64,6 +67,7 @@ class Api {
if ($val !== null && $val !== '') {
$apiPost[$translated] = $toInt ? (int) $val : $val;
}
+
}
if (isset($post->filename)) {
@@ -72,6 +76,18 @@ class Api {
$apiPost['ext'] = substr($post->filename, $dotPos);
}
+ // Handle country field
+ if (isset($post->body_nomarkup) && $this->config['country_flags']) {
+ $modifiers = extract_modifiers($post->body_nomarkup);
+ if (isset($modifiers['flag']) && isset($modifiers['flag alt'])) {
+ $country = mb_convert_case($modifiers['flag'], MB_CASE_UPPER);
+ if ($country) {
+ $apiPost['country'] = $country;
+ $apiPost['country_name'] = $modifiers['flag alt'];
+ }
+ }
+ }
+
return $apiPost;
}