/www/admin/source/language.php
PHP | 244 lines | 233 code | 1 blank | 10 comment | 1 complexity | 0a8e79381db65021092724cb6ffe28ff MD5 | raw file
Possible License(s): LGPL-3.0
- <?php
- /*
- +-----------------------------------------------------------------------------+
- | $Id: language.php 2010-05-24 12:37:44Z Bleakwind $
- | Manage language
- | Copyright (c) 2003-2010 Bleakwind (www.weaverdream.com)
- | http://www.weaverdream.com/
- | Release under the GNU Lesser General Public License Version 3 (LGPLv3):
- | http://www.gnu.org/licenses/lgpl.html
- +-----------------------------------------------------------------------------+
- */
- if (!defined( 'ENTRY_INDEX')){
- echo "<h1>Forbidden</h1><p>You don't have permission to access on this server.</p>";
- exit;
- }
- // Admin group add and amend ajax
- function submit_form($type, $value, $submit)
- {
- global $LANGUAGE,$LANGLIST,$SETTING,$CONFIGURE,$MEMBER,$ADMIN,$db,$sys,$c,$setting_cover,$setting_attach;
- $ajax_response = new xajaxResponse();
- $error = false;
- //$ajax_response->alert(print_r($value, true)); $ajax_response->assign($submit,"disabled",false); return $ajax_response;
- if ($type == "amend") {
- $submit_value = "编辑";
- } else {
- $submit_value = "添加";
- }
- if( !preg_match("/^[a-z0-9_]+$/i",$value['name']) ) {
- $error = true;
- if(empty($anchor)) { $anchor = "name"; }
- $ajax_response->assign("name_return", "innerHTML", "<span class=\"prompt_failed\">名称必须填写,且只能为英文,数字或下划线<!-- name error --></span>");
- } else {
- $ajax_response->assign("name_return", "innerHTML", "");
- }
- if( !preg_match("/^[a-z0-9]+$/i",$value['code']) ) {
- $error = true;
- if(empty($anchor)) { $anchor = "code"; }
- $ajax_response->assign("code_return", "innerHTML", "<span class=\"prompt_failed\">代码不能为空且只能为英文数字<!-- code error --></span>");
- } else {
- $ajax_response->assign("code_return", "innerHTML", "");
- }
- if( !preg_match("/^[a-z0-9_.]+$/i",$value['icon']) ) {
- $error = true;
- if(empty($anchor)) { $anchor = "icon"; }
- $ajax_response->assign("icon_return", "innerHTML", "<span class=\"prompt_failed\">图标不能为空且只能为英文数字下划线和点<!-- icon error --></span>");
- } else {
- $ajax_response->assign("icon_return", "innerHTML", "");
- }
- if( !preg_match("/^[a-z0-9_]+$/i",$value['dir']) ) {
- $error = true;
- if(empty($anchor)) { $anchor = "dir"; }
- $ajax_response->assign("dir_return", "innerHTML", "<span class=\"prompt_failed\">排序不能为空且只能为英文数字和下划线<!-- dir error --></span>");
- } else {
- $ajax_response->assign("dir_return", "innerHTML", "");
- }
- if(!preg_match("/^[0-9]+$/",$value['rank'])) {
- $error = true;
- if(empty($anchor)) { $anchor = "rank"; }
- $ajax_response->assign("rank_return", "innerHTML", "<span class=\"prompt_failed\">排序不能为空且必须为数字<!-- rank error --></span>");
- } else {
- $ajax_response->assign("rank_return", "innerHTML", "");
- }
- if($error){
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- $ajax_response->redirect("#".$anchor);
- }else{
- if ($type == "amend") {
- if (!preg_match("/^[0-9]+$/",$sys->get['language_id'])){
- $ajax_response->alert("用户ID错误!");
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- } else {
- $total_record = func::db_count_record(DB_TABLE_LANGUAGE, "name='".addslashes($value['name'])."' AND id!=".(int)$sys->get['language_id']);
- if ($total_record > 0) {
- $ajax_response->alert("此语言名称已经存在,请重新填写!");
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- } else {
- $total_record = func::db_count_record(DB_TABLE_LANGUAGE, "code='".addslashes($value['code'])."' AND id!=".(int)$sys->get['language_id']);
- if ($total_record > 0) {
- $ajax_response->alert("此语言代码已经存在,请重新填写!");
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- } else {
-
- $sql = "UPDATE ".DB_TABLE_LANGUAGE." SET
- name = '".addslashes($value['name'])."',
- brief = '".addslashes($value['brief'])."',
- code = '".addslashes($value['code'])."',
- icon = '".addslashes($value['icon'])."',
- dir = '".addslashes($value['dir'])."',
- rank = '".addslashes($value['rank'])."'
- WHERE id=".$sys->get['language_id']."";
- $result = $db->Execute($sql);
- if (!$result) {
- $ajax_response->alert($db->ErrorMsg());
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- }else{
- $ajax_response->redirect($CONFIGURE['common']['control_admin']."?act=language&pag=".$sys->get['pag']);
- }
- }
- }
- }
- } else {
- $total_record = func::db_count_record(DB_TABLE_LANGUAGE, "name='".addslashes($value['name'])."'");
- if ($total_record > 0) {
- $ajax_response->alert("此语言名称已经存在,请重新填写!");
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- } else {
- $total_record = func::db_count_record(DB_TABLE_LANGUAGE, "code='".addslashes($value['code'])."'");
- if ($total_record > 0) {
- $ajax_response->alert("此语言代码已经存在,请重新填写!");
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- } else {
- $sql = "INSERT INTO ".DB_TABLE_LANGUAGE." SET
- name = '".addslashes($value['name'])."',
- brief = '".addslashes($value['brief'])."',
- code = '".addslashes($value['code'])."',
- icon = '".addslashes($value['icon'])."',
- dir = '".addslashes($value['dir'])."',
- rank = '".addslashes($value['rank'])."'";
- $result = $db->Execute($sql);
- $last_record = $db->Insert_ID();
- if (!$result) {
- $ajax_response->alert($db->ErrorMsg());
- $ajax_response->assign($submit,"value",$submit_value);
- $ajax_response->assign($submit,"disabled",false);
- }else{
- $ajax_response->redirect($CONFIGURE['common']['control_admin']."?act=language&pag=".$sys->get['pag']);
- }
- }
- }
- }
- }
- return $ajax_response;
- }
- $bwajax->register(XAJAX_FUNCTION, "submit_form");
- //////
- if($sys->get['ope'] == "add"){
- }elseif($sys->get['ope'] == "amend"){
- if (!preg_match("/^[0-9]+$/",$sys->get['language_id'])){
- $sys->prompt("failed","非法操作!<!-- language_id error -->");
- }else{
- $sql = "SELECT *
- FROM ".DB_TABLE_LANGUAGE."
- WHERE id=".$sys->get['language_id'];
- $result = &$db->Execute($sql);
- if (!$result) {
- echo $db->ErrorMsg();
- }else {
- if(!$result->EOF){
- $language_detail = array(
- "id" => $result->fields['id'],
- "name" => $result->fields['name'],
- "brief" => $result->fields['brief'],
- "code" => $result->fields['code'],
- "icon" => $result->fields['icon'],
- "dir" => $result->fields['dir'],
- "rank" => $result->fields['rank'],
- );
- }
- }
- }
- $t->assign("language_detail",$language_detail);
- }elseif($sys->get['ope'] == "del"){
- // check the post
- if (!preg_match("/^[0-9]+$/",$sys->get['language_id'])){
- $sys->prompt("failed","非法操作!<!-- language_id error -->");
- }else{
- $sql = "DELETE FROM ".DB_TABLE_LANGUAGE."
- WHERE id=".$sys->get['language_id'];
- $result = $db->Execute($sql);
- if (!$result) {
- echo $db->ErrorMsg();
- }
- $sys->prompt("jump",$CONFIGURE['common']['control_admin']."?act=language&pag=".$sys->get['pag']);
- }
- }else{
- $total_record = func::db_count_record(DB_TABLE_LANGUAGE);
- $bwpage->set_record_listnum("20");
- $bwpage->set_record($total_record);
- $bwpage->page($CONFIGURE['common']['control_admin']."?act=language&pag=%s");
- $sql = "SELECT *
- FROM ".DB_TABLE_LANGUAGE."
- ORDER BY rank, id
- LIMIT ".$bwpage->record_listfirst.",".$bwpage->record_listnum;
- $result = &$db->Execute($sql);
- if (!$result) {
- echo $db->ErrorMsg();
- }else {
- while(!$result->EOF){
- $language_list[$result->fields['id']] = array(
- "id" => $result->fields['id'],
- "name" => $result->fields['name'],
- "brief" => $result->fields['brief'],
- "code" => $result->fields['code'],
- "icon" => $result->fields['icon'],
- "dir" => $result->fields['dir'],
- "rank" => $result->fields['rank'],
- );
- $result->MoveNext();
- }
- }
- $t->assign(array(
- "language_list" => $language_list,
- "pagination" => $bwpage->pagination,
- ));
- }
- ?>