db = pc_base::load_model('member_menu_model');
}
function manage() {
$tree = pc_base::load_sys_class('tree');
$tree->icon = array(' │ ',' ├─ ',' └─ ');
$tree->nbsp = ' ';
$userid = $_SESSION['userid'];
$admin_username = param::get_cookie('admin_username');
$result = $this->db->select('','*','','listorder ASC,id DESC');
foreach($result as $r) {
$r['cname'] = L($r['name'], '', 'member_menu');
$r['str_manage'] = ''.L('edit').' | '.L('delete').' ';
$array[] = $r;
}
$str = "
|
\$id |
\$spacer\$cname |
\$str_manage |
";
$tree->init($array);
$categorys = $tree->get_tree(0, $str);
include $this->admin_tpl('member_menu');
}
function add() {
if(isset($_POST['dosubmit'])) {
$this->db->insert($_POST['info']);
//开发过程中用于自动创建语言包
$file = PC_PATH.'languages'.DIRECTORY_SEPARATOR.'zh-cn'.DIRECTORY_SEPARATOR.'member_menu.lang.php';
if(file_exists($file)) {
$content = file_get_contents($file);
$content = substr($content,0,-2);
$key = $_POST['info']['name'];
$data = $content."\$LANG['$key'] = '$_POST[language]';\r\n?>";
file_put_contents($file,$data);
} else {
$key = $_POST['info']['name'];
$data = "";
file_put_contents($file,$data);
}
//结束
showmessage(L('add_success'));
} else {
$show_validator = '';
$tree = pc_base::load_sys_class('tree');
$result = $this->db->select();
foreach($result as $r) {
$r['cname'] = L($r['name'], '', 'member_menu');
$r['selected'] = $r['id'] == $_GET['parentid'] ? 'selected' : '';
$array[] = $r;
}
$str = "";
$tree->init($array);
$select_categorys = $tree->get_tree(0, $str);
include $this->admin_tpl('member_menu');
}
}
function delete() {
$_GET['id'] = intval($_GET['id']);
$menu = $this->db->get_one(array("id"=>$_GET['id']));
if(!$menu)showmessage('菜单不存在!请返回!',HTTP_REFERER);
$this->db->delete(array('id'=>$_GET['id']));
//删除member_menu语言包
$file = PC_PATH.'languages'.DIRECTORY_SEPARATOR.'zh-cn'.DIRECTORY_SEPARATOR.'member_menu.lang.php';
require $file;
$content = file_get_contents($file);
$str = "\$LANG['".$menu['name']."'] = '".$LANG[$menu['name']]."';\r\n";
$content = str_replace($str,'',$content);
file_put_contents($file,$content);
showmessage(L('operation_success'));
}
function edit() {
if(isset($_POST['dosubmit'])) {
$id = intval($_POST['id']);
$this->db->update($_POST['info'],array('id'=>$id));
//修改语言文件
$file = PC_PATH.'languages'.DIRECTORY_SEPARATOR.'zh-cn'.DIRECTORY_SEPARATOR.'member_menu.lang.php';
require $file;
$key = $_POST['info']['name'];
if(!isset($LANG[$key])) {
$content = file_get_contents($file);
$content = substr($content,0,-2);
$data = $content."\$LANG['$key'] = '$_POST[language]';\r\n?>";
file_put_contents($file,$data);
} elseif(isset($LANG[$key]) && $LANG[$key]!=$_POST['language']) {
$content = file_get_contents($file);
$LANG[$key] = safe_replace($LANG[$key]);
$content = str_replace($LANG[$key],$_POST['language'],$content);
file_put_contents($file,$content);
}
//结束语言文件修改
showmessage(L('operation_success'));
} else {
$show_validator = '';
$tree = pc_base::load_sys_class('tree');
$id = intval($_GET['id']);
$r = $this->db->get_one(array('id'=>$id));
if($r) extract($r);
$result = $this->db->select();
foreach($result as $r) {
$r['cname'] = L($r['name'], '', 'member_menu');
$r['selected'] = $r['id'] == $parentid ? 'selected' : '';
$array[] = $r;
}
$str = "";
$tree->init($array);
$select_categorys = $tree->get_tree(0, $str);
include $this->admin_tpl('member_menu');
}
}
/**
* 排序
*/
function listorder() {
if(isset($_POST['dosubmit'])) {
foreach($_POST['listorders'] as $id => $listorder) {
$this->db->update(array('listorder'=>$listorder),array('id'=>$id));
}
showmessage(L('operation_success'));
} else {
showmessage(L('operation_failure'));
}
}
}
?>