protected function toJson($json, $fieldMap = null) { replaceKey($json, $fieldMap == null ? self::$fieldMap : $fieldMap); return json_encode($json, JSON_UNESCAPED_UNICODE); }
$fields['track_id'] = $chunk['id']; switch ($fields['action']) { case 'mv': // No further processing is necessary in this case. break; case 'm-clk': replaceKey($fields, 'id', 'xtra1'); replaceKey($fields, 'which', 'xtra2'); break; case 'm-ent': case 'm-lev': replaceKey($fields, 'id', 'xtra1'); break; case 'resize': replaceKey($fields, 'vpw', 'xc'); replaceKey($fields, 'vph', 'yc'); break; } // We finally insert into the track table. $q->insertList($fields)->into('event')->run(); } // We update the track record as processed. $q->update('processed', 1)->into('track')->where("id=" . $chunk['id'])->run(); } } $c->redirect(); break; /* --------------------------------------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------------------------------------- */ case 'forget': $t = new Toolbar();
function replaceKey(&$array, $fieldMap) { if (!is_array($array)) { return $array; } foreach (array_keys($array) as $k) { $v =& $array[$k]; if (is_array($v)) { replaceKey($v, $fieldMap); } if (is_numeric($k)) { continue; } if (array_key_exists($k, $fieldMap)) { $keyto = $fieldMap[$k]; if ($k != $keyto) { if ($keyto !== 'NULL') { $array[$keyto] = $v; } unset($array[$k]); } } } return $array; }