⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bk_admin_main.inc

📁 BabelKit是一个通用多语言数据库代码表的接口。它接收维护使用多语言的多个数据库代码定义集中的所有编程工作。代码管理和翻译页可以让开发人员定义新的虚拟代码表
💻 INC
📖 第 1 页 / 共 2 页
字号:
        print "<b>Add $set_desc code</b>\n";    } else {        # Code navigation aids.        $set = $bkh->lang_set($code_set, $bkh->native);        list( $n_of, $of_n, $next_cd, $prev_cd, $first_cd, $last_cd ) =            bka_place($set, $code_code);        print "<b>Edit $set_desc code \"$code_code\"</b>                (#$n_of of $of_n)<br>\n";        print "<a href=\"". bka_sess_url($_SERVER['PHP_SELF'] .            "?code_set=$code_set" .            "&code_lang=$code_lang" .            "&code_lang2=$code_lang2" .            "&code_code=$next_cd") . "\">Next</a> ($next_cd)\n";        print "<a href=\"". bka_sess_url($_SERVER['PHP_SELF'] .            "?code_set=$code_set" .            "&code_lang=$code_lang" .            "&code_lang2=$code_lang2" .            "&code_code=$prev_cd") . "\">Prev</a> ($prev_cd)\n";        print "<a href=\"". bka_sess_url($_SERVER['PHP_SELF'] .            "?code_set=$code_set" .            "&code_lang=$code_lang" .            "&code_lang2=$code_lang2" .            "&code_code=$first_cd") . "\">First</a> ($first_cd)\n";        print "<a href=\"". bka_sess_url($_SERVER['PHP_SELF'] .            "?code_set=$code_set" .            "&code_lang=$code_lang" .            "&code_lang2=$code_lang2" .            "&code_code=$last_cd") . "\">Last</a> ($last_cd)\n";    }    # Code code.    print "    <hr></td>    </tr>    <tr>    <td align=\"right\"><strong>Code</strong></td>    <td>    ";    if ($code_code == '') {        if ($code_set == 'code_set') {            print "<input name=\"code_code\" size=\"16\" maxlength=\"16\">\n";        } else {            print "<input name=\"code_code\" size=\"32\" maxlength=\"32\">\n";        }    } else {        print "$code_code\n";        print "<input name=\"code_code\" type=\"hidden\"            value=\"$code_code\">\n";    }    print "    </td>    </tr>    ";    list( $desc_nat, $code_order, $code_flag ) =        $bkh->get($code_set, $bkh->native, $code_code);    if ($code_set == 'code_set') {        # Code Set Admin parameters        $this_admin = bka_admin_get($code_code);        $checked = ($this_admin['param']) ? 'checked' : '';        print "        <tr>            <td align=\"right\"><strong>Parameter Set</strong></td>            <td><input name=\"this_admin[param]\" type=\"checkbox\"                value=\"1\" $checked>            [Parameter sets are not translated]            </td>        </tr>        ";        $checked = ($this_admin['slave']) ? 'checked' : '';        print "        <tr>            <td align=\"right\"><strong>Slave Set</strong></td>            <td><input name=\"this_admin[slave]\" type=\"checkbox\"                value=\"1\" $checked>            [Slave sets are for translation only]            </td>        </tr>        ";        $checked = ($this_admin['multi']) ? 'checked' : '';        print "        <tr>            <td align=\"right\"><strong>Multiline Set</strong></td>            <td><input name=\"this_admin[multi]\" type=\"checkbox\"                value=\"1\" $checked>            [Paragraph mode]            </td>        </tr>        ";    } else {        # Deprecated?        $checked = ($code_flag == 'd') ? "checked" : "";        print "        <tr>            <td align=\"right\"><strong>Deprecated</strong></td>            <td><input name=\"code_flag\" type=\"checkbox\"                value=\"d\" $checked>            </td>        </tr>        ";    }    # Order number.    print "    <tr>        <td align=\"right\"><strong>Code Order</strong></td>        <td><input name=\"code_order\" size=\"4\"        value=\"$code_order\"></td>    </tr>    ";    # Make a field for each translation.    if ($code_admin['param']) {        $lang_rows = array(          array(            $bkh->native, $bkh->desc('code_lang', $bkh->native, $code_lang)          )        );    } elseif ($code_lang2) {        $lang_rows = array(          array(            $code_lang  , $bkh->desc('code_lang', $bkh->native, $code_lang),          ),          array(            $code_lang2 , $bkh->desc('code_lang', $bkh->native, $code_lang2)          )        );    } else {        $lang_rows = $bkh->lang_set('code_lang', $bkh->native);    }    foreach ( $lang_rows as $lang_row ) {        list( $lang_code, $lang_desc, $lang_order, $lang_flag ) = $lang_row;        if ($lang_flag == 'd') continue;        $code_desc = $bkh->data($code_set, $lang_code, $code_code);        $code_desc = htmlspecialchars($code_desc);        $lang_desc = ucfirst($lang_desc);        print "<tr>\n";        print "<td align=\"right\" valign=\"top\"><strong>$lang_desc</td>\n";        if ($lang_code == $bkh->native && $code_admin['slave']) {            print "<td>$code_desc\n";            print "<input type=\"hidden\" name=\"code_desc[$lang_code]\"";            print " value=\"$code_desc\">\n</td>\n";        } elseif ($code_admin['multi']) {            $n = count(explode("\n", $code_desc));            if ($n < 3) $n = 3;            print "<td><textarea name=\"code_desc[$lang_code]\" " .                "cols=\"60\" rows=\"$n\" wrap=\"virtual\">$code_desc";            print "</textarea></td>\n";        } else {            print "<td><input name=\"code_desc[$lang_code]\" size=\"50\"";            print "    value=\"$code_desc\"></td>\n";        }        print "</tr>\n";    }    # Action items.    print "    <tr>    <td align=\"right\">Action</td>    <td>    ";    if ($code_code == '') {        if ($perm_add)            print "<input type=\"submit\" name=\"action\" value=\"Add\">\n";    } else {        if ($perm_upd)            print "<input type=\"submit\" name=\"action\" value=\"Update\">\n";        if ($perm_del)            print "<input type=\"submit\" name=\"action\" value=\"Delete\">\n";        if ($perm_add) {            print "<a href=\"". bka_sess_url($_SERVER['PHP_SELF'] .            "?code_set=$code_set" .            "&action=New") . "\">Add new $set_desc code</a>\n";        }    }    print "    </td>    </tr>    </form>    </table>    ";}#       #       #       ### Add / Update / Delete a code.#function bka_form_aud() {    global $bkh;    global $action;    global $code_set;    global $code_code;    global $perm_add;    global $perm_upd;    global $perm_del;    $code_order = $_POST['code_order'];    $code_flag  = $_POST['code_flag'];    $this_admin = $_POST['this_admin'];    $code_desc  = $_POST['code_desc'];    # Check for validity.    if (! $bkh->get('code_set', $bkh->native, $code_set))        bka_error_exit("No Code set specified!");    if ($action == 'Add' && !$perm_add)        bka_error_exit("No permission to add '$code_set'!");    if ($action == 'Update' && !$perm_upd)        bka_error_exit("No permission to update '$code_set'!");    if ($action == 'Delete' && !$perm_del)        bka_error_exit("No permission to delete '$code_set'!");    if ($code_code == '')        bka_error_exit("No code specified!");    if (!ereg('^[a-zA-Z_0-9-]+$', $code_code))        bka_error_exit("Code must consist of [a-zA-Z_0-9-]!");    if (!ereg('^-?[0-9]*$', $code_order))        bka_error_exit("Code order must be numeric!");    # Variable setup.    $lang_list = $bkh->lang_set('code_lang', $bkh->native);    $nat_exists = $bkh->get($code_set, $bkh->native, $code_code);    if ($action == "Update" || $action == 'Delete') {        $set = $bkh->lang_set($code_set, $bkh->native);        list( $n_of, $of_n, $next_cd, $prev_cd, $first_cd, $last_cd ) =            bka_place($set, $code_code);    }    if ($action == 'Delete') {        if (!$nat_exists)            bka_error_exit("No such code '$code_code'!");        $bkh->remove($code_set, $code_code);        print "Record Deleted!<p>\n";        if ($next_cd == $code_code) {            bka_set_display();        } else {            bka_form_display($next_cd);        }    }    elseif ($action == 'Add' || $action == 'Update') {        if ($action == 'Add' && $nat_exists)            bka_error_exit("Code '$code_code' already exists!");        elseif ($action == 'Update' && !$nat_exists)            bka_error_exit("No such code '$code_code'!");        if ($code_desc[$bkh->native] == '')            bka_error_exit("No native code description specified!");        # Pump in those fields.        foreach ( $lang_list as $lang_row ) {            $lang_cd = $lang_row[0];            $lang_desc = $code_desc[$lang_cd];            if (!isset($lang_desc)) continue;            $lang_desc = trim($lang_desc);            $bkh->put($code_set, $lang_cd, $code_code, $lang_desc,                $code_order, $code_flag);        }        # Code Admin fields.        if ($code_set == 'code_set') {            bka_admin_put($code_code, $this_admin);        }        # Whats next.        if ($action == 'Add') {            print "Record Added!<p>\n";            bka_form_display();        }        else {            print "Record Updated!<p>\n";            bka_form_display($next_cd);        }    }    else {        bka_error_exit("Unknown form action '$action'");    }}#       #       #       ### Local Functions## Get the code counts for all language sets.function bka_get_counts() {    global $bkh;    $result = $bkh->_query("        select  code_set,                code_lang,                count(*) code_count        from    $bkh->table        group by code_set, code_lang    ");    $code_counts = array();    foreach ( $result as $row ) {        $code_counts[$row[0]][$row[1]] = $row[2];    }    return $code_counts;}# Find a code's place in the set.function bka_place($set, $code_code) {    $count = count($set);    $first = $set[0][0];    $last = $set[$count - 1][0];    for ($n = 0; $n < $count; $n++) {        if ($set[$n][0] == $code_code) break;    }    if ($n == 0) {        $prev = $last;        if ($count > 1) {            $next = $set[$n + 1][0];        } else  {            $next = $last;        }    } elseif ($n == $count - 1) {        $prev = $set[$n - 1][0];        $next = $first;    } else {        $prev = $set[$n - 1][0];        $next = $set[$n + 1][0];    }    reset($set);    return array( $n + 1, $count, $next, $prev, $first, $last );}# Get the code_admin options for the set.function bka_admin_get($code_set) {    global $bkh;    $params = explode(' ', $bkh->param('code_admin', $code_set));    foreach ( $params as $n => $param ) {        list( $attr, $value ) = explode('=', $param);        $code_admin[$attr] = $value;    }    return $code_admin;}# Put the code_admin options for the set.function bka_admin_put($code_set, $code_admin) {    global $bkh;    if (!$code_admin) $code_admin = array();    foreach ( $code_admin as $attr => $value ) {        if (!$attr or !$value) continue;        if ($params) $params .= ' ';        $params .= "$attr=$value";    }    $bkh->put('code_admin', $bkh->native, $code_set, $params);}# Error exit.function bka_error_exit($msg) {    print "<p><b>Error: $msg</b>";    print "</body>\n</html>\n";#   page_close();                       # If you need closure.    exit();}# Compiler error workaround.function bka_str_repeat($str, $rep) {    if ($rep <= 0) return;              # Stunned designer.#   return str_repeat($str, $rep);      # PHP bug too.    for ($i = 0; $i < $rep; $i++) {        $ret .= $str;    }    return $ret;}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -