function data_view($db_name, $table_name, $data) { if (is_int($data)) { $data = data_object($db_name, $table_name, $data . '.json'); } $schema = data_object($db_name, $table_name, 'schema.json'); $listview = $schema['listview']; $fields = $schema['fields']; $merged_fields = flat_fields($fields); $merged_data = flat_fields($data); $output = []; foreach ($listview as $view_item) { $value = @$merged_data[$view_item]; if (empty($value)) { $output[] = ''; } else { $field_name = @$merged_fields[$view_item]; if ($field_name) { if ($field_name === 'ID') { $value = intval($value); } if ($field_name === 'jqxDateTimeInput' || $field_name === 'jqxInput-time') { try { $fixed_date = preg_replace('/\\(.+\\)$/', '', $value); $date = new DateTime($fixed_date); $value = $date->format('Y-m-d'); } catch (Exception $e) { } } if (preg_match('/^jqxListBox-onebox/i', $field_name)) { $value_out = []; foreach ($value as $onebox_item) { $value_out[] = $onebox_item['title']; } $value = implode(',', $value_out); } if (preg_match('/^jqxCheckBox/i', $field_name)) { $value = implode(',', $value); } } $output[] = $value; } } return $output; }
function save_keyword($kword_type, $device, $summary, $detail_item) { global $CONFIGS, $DEVSAV; $db_name = 'grep-datas'; $table_name = null; switch ($kword_type) { case 'kword_title': $table_name = 'historys'; break; case 'kword_interest': $table_name = 'interests'; break; case 'kword_cart': $table_name = 'carts'; break; case 'kword_favorite': $table_name = 'favorites'; break; case 'kword_submit': $table_name = 'searchs'; break; case 'kword_account': $table_name = 'accounts'; break; default: return false; } if (!array_key_exists('ID', $DEVSAV)) { $ori_data = new_data($db_name, $table_name, $device); $DEVSAV['ID'] = $ori_data['general']['ID']; } else { $ID = $DEVSAV['ID']; $ori_data = data_object($db_name, $table_name, $ID . '.json'); if (empty($ori_data)) { $ori_data = new_data($db_name, $table_name, $device, $ID); } $ori_data['general']['TIME'] = jsondb_date(); } $ori_data['data']['summary'] = $summary; $detail_url = $ori_data['data']['details']; $detail_file = jsondb_file($db_name, $table_name, basename($detail_url)); file_put_contents($detail_file, json_encode($detail_item) . "\r\n", FILE_APPEND | LOCK_EX); jsondb_data($db_name, $table_name, $device, $ori_data); }