/** * Load misc options */ function load_opt_js() { if (IS_GUEST) { $this->opt_js = array_merge($this->opt_js, $this->opt_js_guest); } else { if (!empty($_COOKIE['opt_js'])) { $opt_js = Zend\Json\Json::decode($_COOKIE['opt_js'], Zend\Json\Json::TYPE_ARRAY); if (is_array($opt_js)) { $this->opt_js = array_merge($this->opt_js, $opt_js); } } } }
public function returnParserContentType($contentType) { if ($contentType === 'application/x-www-form-urlencoded') { return function ($input) { parse_str($input, $data); return $data; }; } elseif ($contentType === 'application/json') { return function ($input) { $jsonDecoder = new \Zend\Json\Json(); try { return $jsonDecoder->decode($input, \Zend\Json\Json::TYPE_ARRAY); } catch (\Exception $e) { return new ApiProblem(400, 'Data Parsing Error.'); } }; } elseif ($contentType === 'multipart/form-data') { return function ($input) { return $input; }; } return function ($input) { return $input; }; }
<?php if (!defined('IN_AJAX')) { die(basename(__FILE__)); } global $bf, $lang; $user_id = (int) $this->request['user_id']; $new_opt = Zend\Json\Json::decode($this->request['user_opt'], Zend\Json\Json::TYPE_ARRAY); if (!$user_id or !($u_data = get_userdata($user_id))) { $this->ajax_die('invalid user_id'); } if (!is_array($new_opt)) { $this->ajax_die('invalid new_opt'); } foreach ($bf['user_opt'] as $opt_name => $opt_bit) { if (isset($new_opt[$opt_name])) { setbit($u_data['user_opt'], $opt_bit, !empty($new_opt[$opt_name])); } } DB()->query("UPDATE " . BB_USERS . " SET user_opt = {$u_data['user_opt']} WHERE user_id = {$user_id} LIMIT 1"); // Удаляем данные из кеша cache_rm_user_sessions($user_id); $this->response['resp_html'] = $lang['SAVED'];