From 618d979ec419bddb5606837a9e1496369331f9bd Mon Sep 17 00:00:00 2001 From: ctrlcctrlv Date: Tue, 20 Aug 2013 18:52:12 +0000 Subject: [PATCH] Country flags in API if they are enabled --- inc/api.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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; }