function createrows($list) { $fields = lx_array_merge(array(get_default_fields(), $list)); if (array_search_bool("syncserver", $fields)) { $fields[] = 'oldsyncserver'; $fields[] = 'olddeleteflag'; } return $fields; }
function parse_sql_data() { global $gbl, $sgbl, $argc, $argv; static $_quota_var, $_field_var; $_return_value = null; $majmin = $sgbl->__ver_major_minor; $trel = $sgbl->__ver_release; $rpath = "sql/full.lxsql"; $pathc = "htmllib/sql/common.lxsql"; include $rpath; include $pathc; $string = $gl_sql_string_common . "\n" . $gl_sql_string; $string = explode("\n", $string); foreach ($string as $__k => $res) { $res = trim($res); if (!$res) { continue; } if (char_search_beg($res, "//")) { continue; } $res = preg_replace('/\\s+/', " ", $res); if (csb($res, "#")) { $vl = explode(" ", $res); $name = array_shift($vl); $name = strfrom($name, "#"); $nvl = null; $nnvl = null; foreach ($vl as $k => $qv) { if (csb($qv, "#")) { $_t = strfrom($qv, "#"); $nvl = lx_array_merge(array($nvl, $_quota_var[$_t])); } else { $nvl[] = $qv; } } foreach ($nvl as $qv) { $nnvl[] = "priv_q_" . $qv; $nnvl[] = "used_q_" . $qv; } $_quota_var[$name] = $nvl; $g_qvar[$name] = $nnvl; $list = get_class_for_table($name); foreach ((array) $list as $l) { $_quota_var[$l] = $nvl; $g_qvar[$l] = $nnvl; } continue; } if (csb($res, "%")) { $vl = explode(" ", $res); $name = array_shift($vl); $nnnnvl = null; foreach ($vl as $q) { if (csb($q, "%")) { $nnnnvl = lx_array_merge(array($nnnnvl, $g_var[$q])); } else { $nnnnvl[] = $q; } } $g_var[$name] = $nnnnvl; continue; } $list = explode(" ", $res); $nlist = null; foreach ($list as $k => $l) { if (csb($l, "%")) { $nlist = array_merge($nlist, $g_var[$l]); } else { $nlist[] = $l; } } //dprintr($list); $list = $nlist; $nlist = null; foreach ($list as $l) { if ($l === '__q_var') { if (isset($g_qvar[$list[0]])) { $nlist = lx_array_merge(array($nlist, $g_qvar[$list[0]])); } } else { $nlist[] = $l; } } $list = $nlist; //dprintr($list); $name = array_shift($list); $fields = lx_array_merge(array(get_default_fields(), $list)); if (array_search_bool("syncserver", $fields)) { $fields[] = 'oldsyncserver'; $fields[] = 'olddeleteflag'; } $fields = array_unique($fields); $_field_var[$name] = $fields; $_return_value[$name] = $fields; } foreach ($_quota_var as &$__tq) { $__tq = array_flip($__tq); } foreach ($_field_var as &$__tq) { $__tq = array_flip($__tq); } $var['quotavar'] = $_quota_var; $var['fieldvar'] = $_field_var; lfile_put_contents("__path_dbschema", serialize($var)); return $_return_value; }