📄 bk_admin_main.inc
字号:
<?php# # # ### bk_admin.inc## BabelKit Universal Multilingual Code Table translation page.## Copyright (C) 2003 John Gorman <jgorman@webbysoft.com># http://www.webbysoft.com/babelkit## # # ### Main dispatch logic.#function bka_admin_main() { global $bkh; # Set in bk_admin.php: global $perm_add; global $perm_del; global $action; # Set here: global $code_set; global $code_lang; global $code_lang2; global $code_code; global $code_admin; $getpost = $_POST ? '_POST' : '_GET'; $action = $GLOBALS[$getpost]['action']; $code_set = $GLOBALS[$getpost]['code_set']; $code_lang = $GLOBALS[$getpost]['code_lang']; $code_lang2 = $GLOBALS[$getpost]['code_lang2']; $code_code = $GLOBALS[$getpost]['code_code']; if (!$code_lang or $code_lang == $code_lang2) $code_lang2 = ''; if (!$code_lang) $code_lang = $bkh->native; $code_admin = bka_admin_get($code_set); if ($code_admin['slave']) { $perm_add = 0; $perm_del = 0; } bka_admin_header(); if ($action == 'New') { bka_form_display(); } elseif ($action == '' && $code_code <> '') { bka_form_display($code_code); } elseif ($action <> '') { bka_form_aud(); } elseif ($code_set <> '') { bka_set_display(); } else { bka_translations(); } print " </body> </html> ";}# # # ### Print the page header#function bka_admin_header() { global $bkh; global $action; global $code_set; global $code_lang; global $code_lang2; global $code_code; $title = "BabelKit Universal Code Translation"; if ($code_set) $title .= " : $code_set"; if ($action == 'New') { $title .= " : New"; } elseif ($code_code <> '') { $title .= " : $code_code"; } elseif ($code_set) { if ($code_lang) $title .= " : $code_lang"; if ($code_lang2) $title .= "/$code_lang2"; } print " <html> <head> <title>$title</title> </head> <body text=\"#000044\" bgcolor=\"#f0ffff\" link=\"#0000cc\" vlink=\"#0066ff\" alink=\"#ffcc00\"> <center> <h2 style=\"color:#873852\">$title</h2> <a href=\"" . bka_sess_url($_SERVER['PHP_SELF']) . "\"><b>Main Translation Page</b></a> - <a href=\"http://www.webbysoft.com/babelkit/doc\"><b>Help Docs</b></a> - <a href=\"http://www.webbysoft.com/babelkit\"><b>BabelKit Home</b></a> <p><b style=\"color:#873852\"> Select a code set and language(s)</b> <form action=\"" . bka_sess_url($_SERVER['PHP_SELF']) . "\" method=\"post\"> "; print $bkh->select('code_set', $bkh->native, array( 'blank_prompt' => 'All Codes' )); print $bkh->select('code_lang', $bkh->native); print $bkh->select('code_lang', $bkh->native, array( 'var_name' => 'code_lang2', 'select_prompt' => '(Other)', 'blank_prompt' => '(None)' )); print " <input type=submit value=\"View Set\"> </form> </center> <hr> ";}# # # ### Display the code translation todo list#function bka_translations() { global $bkh; print "<b style=\"color:#873852\">BabelKit Translation Sets</b>\n"; # Get the code counts for all language sets. $code_counts = bka_get_counts(); # Get the code and language sets and print the top header. $set_rows = $bkh->lang_set('code_set', $bkh->native); $lang_rows = $bkh->lang_set('code_lang', $bkh->native); print "<pre>\n"; printf("%-16s", ""); foreach ( $lang_rows as $lang_row ) { if ($lang_row[3] == 'd') continue; $lang_cd = $lang_row[0]; printf("<b>%6s</b>", $lang_cd); } # Print the count array. foreach ( $set_rows as $set_row ) { if ($set_row[3] == 'd') continue; $set_cd = $set_row[0]; $this_admin = bka_admin_get($set_cd); if ($this_admin['param']) continue; print "\n<a href=\"" . bka_sess_url($_SERVER['PHP_SELF'] . "?code_set=$set_cd") . "\">$set_cd</a>"; print bka_str_repeat(' ', 16 - strlen($set_cd) ); $nat_count = $code_counts[$set_cd][$bkh->native]; foreach ( $lang_rows as $lang_row ) { if ($lang_row[3] == 'd') continue; $lang_cd = $lang_row[0]; $code_count = $code_counts[$set_cd][$lang_cd]; print bka_str_repeat(' ', 6 - strlen($code_count + 0) ); print "<a href=\"" . bka_sess_url($_SERVER['PHP_SELF'] . "?code_set=$set_cd" . "&code_lang=$bkh->native" . "&code_lang2=$lang_cd") . "\">"; if ($code_count == $nat_count) { printf("%d", $code_count); } else { printf("<span style=\"color:red\">%d</span>", $code_count); $todo_count += 1; } print "</a>"; $totals[$lang_cd] += $code_count; } } # Print the language totals. printf("\n%-16s", ""); foreach ( $lang_rows as $lang_row ) { if ($lang_row[3] == 'd') continue; $lang_cd = $lang_row[0]; printf("%6d", $totals[$lang_cd]); } print "</pre>\n"; printf("%d language sets need translation work!", $todo_count);}# # # ### Display a code set#function bka_set_display() { global $bkh; global $code_set; global $code_lang; global $code_lang2; global $code_admin; global $perm_add; if ($code_lang == $bkh->native) { $edit_lang2 = $code_lang2; } else { $edit_lang2 = ''; } $set_desc = $bkh->ucwords('code_set', $bkh->native, $code_set); print "<b style=\"color:#873852\">$set_desc Code Administration</b>\n"; print "<p>\n"; print " <table border=\"0\" cellspacing=\"1\" cellpadding=\"1\"> <tr> "; if ($code_set == 'code_set') { print " <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> P </strong></th> <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> S </strong></th> <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> M </strong></th> "; } else { print " <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> D </strong></th> "; } print " <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> O </strong></th> <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> Code </strong></th> <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> Description </strong></th> <th bgcolor=\"#000000\" STYLE=\"color:white;font-size:9pt\"> <strong> Edit </strong></th> </tr> "; # Gather the codes in order and truncate the descriptions. $base_set = $bkh->lang_set($code_set, $code_lang); foreach ( $base_set as $n => $row ) { $desc = $row[1]; if (strlen($desc) > 50) $desc = substr($desc, 0, 50) . '...'; $base_set[$n][1] = htmlspecialchars($desc); } if ($code_lang2) { # Add the second language descriptions. $lang_set = $bkh->lang_set($code_set, $code_lang2); $lang_lookup = array(); foreach ( $lang_set as $row ) $lang_lookup[$row[0]] = $row[1]; unset($lang_set); foreach ( $base_set as $n => $row ) { $cd = $row[0]; $desc = $lang_lookup[$row[0]]; if ($desc <> '') { if (strlen($desc) > 50) $desc = substr($desc, 0, 50) . '...'; $base_set[$n][4] = htmlspecialchars($desc); } } unset($lang_lookup); } $colspan = ($code_set == 'code_set') ? 5 : 3; foreach ( $base_set as $n => $row ) { list( $code_code, $code_desc, $code_order, $code_flag, $code_desc2 ) = $row; $bgcolor = ($n % 2) ? "#6699CC" : "#6699FF"; print" <tr> "; if ($code_set == 'code_set') { $this_admin = bka_admin_get($code_code); $P = $this_admin['param'] ? 'P' : ''; $S = $this_admin['slave'] ? 'S' : ''; $M = $this_admin['multi'] ? 'M' : ''; print " <td bgcolor=\"$bgcolor\"> $P </td> <td bgcolor=\"$bgcolor\"> $S </td> <td bgcolor=\"$bgcolor\"> $M </td> "; } else { $D = $code_flag ? 'D' : ''; print " <td bgcolor=\"$bgcolor\"> $D </td> "; } print " <td bgcolor=\"$bgcolor\"> $code_order </td> <td bgcolor=\"$bgcolor\"> $code_code </td> <td bgcolor=\"$bgcolor\"> $code_desc </td> <td bgcolor=\"$bgcolor\"> <a href=\"" . bka_sess_url($_SERVER['PHP_SELF'] . "?code_set=$code_set" . "&code_lang=$bkh->native" . "&code_lang2=$edit_lang2" . "&code_code=$code_code") . "\" style=\"color:white;\"> <strong>edit</strong></a> </td> </tr> "; if ($code_lang2) { print " <tr> <td bgcolor=\"$bgcolor\" colspan=\"$colspan\"> </td> <td bgcolor=\"$bgcolor\"> $code_desc2 </td> <td bgcolor=\"$bgcolor\"> </td> </tr> "; } } print("</table>\n"); $count = count($base_set); switch ($count) { case 0: print("<p>No records.\n\n"); break; case 1: printf("<p><b>%d</b> record.\n\n", $count); break; default: printf("<p><b>%d</b> records.\n\n", $count); } if ($perm_add) { print "<p><a href=\"" . bka_sess_url($_SERVER['PHP_SELF'] . "?code_set=$code_set" . "&action=New") . "\">Add new $set_desc code</a>\n"; }}# # # ### Display the multilanguage code entry/update form.#function bka_form_display($code_code = '') { global $bkh; global $code_set; global $code_lang; global $code_lang2; global $code_admin; global $perm_add; global $perm_upd; global $perm_del; # Check for a valid code set or exit. $set_desc = $bkh->ucwords('code_set', $bkh->native, $code_set); if (!$set_desc) bka_error_exit("No Code set specified!"); print "<b style=\"color:#873852\">$set_desc Code Administration</b>\n"; print "<p>\n"; print " <form action=\"" . bka_sess_url($_SERVER['PHP_SELF']) . "\" method=\"post\"> <input type=\"hidden\" name=\"code_set\" value=\"$code_set\" > <input type=\"hidden\" name=\"code_lang\" value=\"$code_lang\" > <input type=\"hidden\" name=\"code_lang2\" value=\"$code_lang2\" > <table border=\"0\" cellspacing=\"0\" cellpadding=\"2\"> <tr><th></th><td> "; if ($code_code == '') {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -