function get_domain_table($domains) { global $acc_strings, $tb_strings; $html = "<table>\n" . " <tr align=\"left\">\n" . ' <th class="detail">' . $acc_strings['Name'] . "</th>\n" . ' <th class="detail">' . $acc_strings['Type'] . "</a></th>\n" . ' <th class="detail">' . $acc_strings['Charset'] . "</th>\n" . ' <th class="detail">' . $acc_strings['Collate'] . "</th>\n" . ' <th class="detail">' . $acc_strings['Subtype'] . "</th>\n" . ' <th class="detail">' . $acc_strings['SegSiShort'] . "</th>\n" . ' <th class="detail">' . $tb_strings['NotNull'] . "</th>\n" . ' <th class="detail">' . $tb_strings['Default'] . "</th>\n" . ' <th class="detail">' . $tb_strings['Check'] . "</th>\n" . " </tr>\n"; foreach ($domains as $dname => $domain) { $type_str = get_type_string($domain); $char_str = isset($domain['charset']) && !empty($domain['charset']) ? $domain['charset'] : ' '; $coll_str = isset($domain['collate']) && !empty($domain['collate']) ? $domain['collate'] : ' '; $stype_str = isset($domain['stype']) && !empty($domain['stype']) ? $domain['stype'] : ' '; $segs_str = isset($domain['segsize']) && !empty($domain['segsize']) ? $domain['segsize'] : ' '; $null_str = $domain['notnull'] === TRUE ? $acc_strings['Yes'] : ' '; $def_str = $domain['default'] !== '' ? $domain['default'] : ' '; $chk_str = !empty($domain['check']) ? $domain['check'] : ' '; $html .= " <tr>\n" . ' <td class="detail">' . $dname . "</td>\n" . ' <td class="detail">' . $type_str . "</td>\n" . ' <td class="detail">' . $char_str . "</td>\n" . ' <td class="detail">' . $coll_str . "</td>\n" . ' <td class="detail" align="right">' . $stype_str . "</td>\n" . ' <td class="detail" align="right">' . $segs_str . "</td>\n" . ' <td class="detail" align="center">' . $null_str . "</td>\n" . ' <td class="detail">' . $def_str . "</td>\n" . ' <td class="detail">' . $chk_str . "</td>\n" . " </tr>\n"; } $html .= "</table>\n"; return $html; }
function get_opened_table($name, $title, $url, $curl = '', $cdiv = '') { global $s_fields, $tb_strings, $ptitle_strings; $red_triangle = get_icon_path(DATAPATH, ICON_SIZE) . 'red_triangle.png'; $html = <<<EOT <a href="{$url}" class="dtitle" title="{$ptitle_strings['Close']}"><img src="{$red_triangle}" alt="{$ptitle_strings['Close']}" title="{$ptitle_strings['Close']}" border="0" hspace="7">{$title}</a> <a href="{$curl}" class="act" title="Edit table comment">[C]</a> <div id="{$cdiv}" class="cmt"> </div> <table> <tr> <td width="26"> </td> <td> <table class="table table-bordered"> EOT; $cols = array('Name', 'Type', 'Charset', 'Collate', 'Computed', 'Default', 'NotNull', 'Check', 'Unique', 'Primary', 'Foreign'); $html .= " <tr align=\"left\">\n"; foreach ($cols as $idx) { $html .= ' <th class="detail">' . $tb_strings[$idx] . "</th>\n"; } $html .= " </tr>\n"; foreach ($s_fields[$name] as $field) { $type_str = isset($field['domain']) ? $field['type'] : get_type_string($field); $type_str .= isset($field['lower_bound']) ? '[' . $field['lower_bound'] . ':' . $field['upper_bound'] . ']' : ''; $char_str = isset($field['charset']) ? $field['charset'] : ' '; $coll_str = isset($field['collate']) ? $field['collate'] : ' '; $comp_str = table_column_detail_string(ifsetor($field['comp']), ifsetor($field['csource']), $GLOBALS['s_tables_comp']); $def_str = table_column_detail_string(ifsetor($field['default']), ifsetor($field['dsource']), $GLOBALS['s_tables_def']); $nn_str = isset($field['notnull']) ? $tb_strings['Yes'] : ' '; $check_str = isset($field['check']) ? $tb_strings['Yes'] : ' '; $uniq_str = table_detail_constraint_string(ifsetor($field['unique']), $GLOBALS['s_tables_cnames']); $prim_str = table_detail_constraint_string(ifsetor($field['primary']), $GLOBALS['s_tables_cnames']); $fk_str = table_detail_constraint_string(ifsetor($field['foreign']), $GLOBALS['s_tables_cnames']); $html .= " <tr>\n <td class=\"detail\">{$field['name']}</td>\n\t <td class=\"detail\">{$type_str}</td>\n \t <td class=\"detail\">{$char_str}</td>\n <td align=\"right\" class=\"detail\">{$coll_str}</td>\n <td align=\"center\" class=\"detail\">{$comp_str}</td>\n <td align=\"center\" class=\"detail\">{$def_str}</td>\n <td align=\"center\" class=\"detail\">{$nn_str}</td>\n <td align=\"center\" class=\"detail\">{$check_str}</td>\n <td align=\"center\" class=\"detail\">{$uniq_str}</td>\n <td align=\"center\" class=\"detail\">{$prim_str}</td>\n <td align=\"center\" class=\"detail\">{$fk_str}</td>\n </tr>\n"; } $html .= " </table>\n" . " </td>\n" . " </tr>\n" . " </table>\n"; return $html; }
define('INC_DIR', dirname(__DIR__)); require_once INC_DIR . '/inc/remotes.inc.php'; require_once INC_DIR . '/inc/db.inc.php'; require_once INC_DIR . '/inc/httpjson.inc.php'; require_once INC_DIR . '/inc/auth.inc.php'; // if !auth return $req = hj_request(); hj_log('req', $req); $acc = $req->userinfo; auth_request($req); $remote = $req->remote; $det = $req->remote->details; $user_id = get_id($acc->username); $db = get_db(); $st = $db->prepare('INSERT INTO remotes' . '(user_id, manufacturer, model, device_type) VALUES(?,?,?,?)'); $type_string = get_type_string($req->remote); $st->bind_param("isss", $user_id, $det->manufacturer, $det->model, $type_string); $st->execute(); $remote_id = $st->insert_id; $st->close(); $st = $db->prepare('INSERT INTO buttons' . '(remote_id, function, frequency, pattern) VALUES(?,?,?,?)'); $b_func = $b_freq = $b_patt = ''; $st->bind_param("isis", $remote_id, $b_func, $b_freq, $b_patt); $i = 0; foreach ($remote->buttons as $ignored => $b_json) { hj_log("b" . $i, $b_json); $i++; $b = new Button($b_json); $b_func = $b->func_string(); $b_freq = $b->signal->frequency; $b_patt = $b->signal->serialize_pattern();