/** * Carry out an update using provided parameters * * @param int $id * @param array $inputParams * @return array */ public function update($id, $inputParams) { $emoji = Emoji::find($id); $params = $inputParams; foreach ($params as $key => $value) { $emoji->{$key} = $value; } date_default_timezone_set('Africa/Lagos'); $emoji->date_modified = date('Y-m-d H:i:s', time()); return $emoji->save() ? ["msg" => "update successful"] : ["msg" => "Nothing to update"]; }
function inputConvert($input = null) { App::import('Model', 'mobile_plugin.emoji'); $Emoji = new Emoji(); $carrier = $this->carrier; if (is_array($input)) { $output = array_map(array($this, __METHOD__), $input); } elseif ($carrier == 'PC') { $output = $input; } elseif ($carrier === 'docomo' || $carrier === 'softbank' || $carrier === 'kddi') { $carrierFields = array('docomo' => 'docomo_sjis', 'softbank' => 'softbank_utf', 'kddi' => 'kddi_sjis'); $field = $carrierFields[$carrier]; $cacheName = $field . 'ToUnicodes'; if (!($emojisAndUnicodes = Cache::read($cacheName))) { $tmpArray = $Emoji->find('all', array('fields' => array('id', $field))); $unicodes = Set::extract('/Emoji/id', $tmpArray); foreach ($unicodes as $value) { $emojisAndUnicodes['unicode'][] = '&#x' . $value . ';'; } unset($unicodes); $emojis = Set::extract('/Emoji/' . $field, $tmpArray); foreach ($emojis as $key => $value) { if (isset($value) && $value != '') { $emojisAndUnicodes['emoji'][] = 'BAD+' . $value; } else { $emojisAndUnicodes['emoji'][] = ''; } } unset($emojis); Cache::write($cacheName, $emojisAndUnicodes); } mb_substitute_character('long'); $output = mb_convert_encoding($input, 'UTF-8', 'SJIS'); $output = str_replace($emojisAndUnicodes['emoji'], $emojisAndUnicodes['unicode'], $output); $output = preg_replace('/BAD\\+([0-9A-F]{4})/', '', $output); } else { mb_substitute_character('long'); $output = mb_convert_encoding($input, 'UTF-8', 'SJIS'); $output = preg_replace('/BAD\\+([0-9A-F]{4})/', '', $output); } return $output; }