Esempio n. 1
0
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;
}
Esempio n. 2
0
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);
}