Record [f:_dev/main/commands.php] < dev.sky.1.001

Version 1.001

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
<?php defined('START') and AUTH_OK or die;
 
require '_dev/main/parser_cbr.php';
 
$list get_defined_functions();
$c_list array_filter($list['user'], create_function('$f''return substr($f, 0, 2) == "c_";'));
$r_list array_filter($list['user'], create_function('$f''return substr($f, 0, 2) == "r_";'));
$c_list array_map(create_function('$f''return strtoupper(substr($f, 2));'), $c_list);
$r_list array_map(create_function('$f''return strtoupper($f);'), $r_list);
 
$last $z 0;
$out = [];
foreach (str2ary(unl($txt), "\n") as $line) {
    if ('~' === $line$out[$last $z++] = [00''];
    elseif (preg_match("/^([A-Z_]+):\s+(\S+)\s+(\S+)\s*$/"$line$m) && in_array($m[1], $c_list)) $out[$last $m[1]] = [$m[2], $m[3], ''];
    else $out[$last][2] .= "\n$line";
}
 
$z 1;
$keys array_keys($out);
$values array_values($out);
foreach ($c_list as $com) {
    while ($z count($keys) && is_int($keys[$z])) $z++;
    if ($z >= count($keys) || $com !== $keys[$z]) {
        array_splice($keys$z0$com);
        array_splice($values$z++, 0, [[00"\n"]]);
    } else $z++;
}
 
$txt '';
if (isset($all_lang_list)) { # textarea
    $out = [];
    foreach ($values as $z => $value) {
        $txt .= is_int($keys[$z]) ? "~$value[2]\n" $keys[$z] . ": $value[0] $value[1]$value[2]\n";
        if (!is_int($keys[$z])) $out['d_' $keys[$z]] = "$value[0] $value[1]";
    }
    if ($_POST && 'en' == $r_langset($out02);  # 2do $r[2] from help_edit.php
} else { # view page
    $i 1;
    foreach ($values as $z => $value) {
        if (is_int($keys[$z])) {
            $txt .= "<div class=\"dvx\"><div style=\"padding: 5px\">$value[2]</div></div>\n";
        } else {
            $r 'RUN_RECORDS' == $keys[$z] ? 'R_OLL_BACK' "R_{$keys[$z]}";
            $r in_array($r$r_list) ? '<div class="fr">' "$r</div>" '';
            $c str_replace('_'' '$keys[$z]);
            $par "<b>par: </b>" . ($value[0] ? sprintf(span_r"<b>$value[0]</b>") : 'not required');
            $tx2 "<b>txt: </b>" . ($value[1] ? sprintf(span_r"<b>$value[1] lines*</b>") : 'not required');
            $txt .= "<table class=\"tbl\"><tr><td colspan=\"2\" bgcolor=\"#ff7\">$r<a name=\"d_{$keys[$z]}\">" pad00($i++);
            $txt .= "</a>. <b>$c:</b></td></tr>\n<tr><td class=\"ltd\">$par<br>$tx2</td><td>$value[2]</td</tr></table>\n";
        }
    }
    $txt .= '<style type="text/css">
.tbl {width:80%;border:1px solid silver;margin-top:10px} .tbl td {vertical-align:top;padding: 0 5px}
.dvx {width:80%} .ltd {width:30%;border-right:1px solid silver}
.fr {float:right;font-weight:bold}
</style>';
}
$txt trim($txt);