📄 bk_admin_main.inc
字号:
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 + -