<?php
if (!defined('HUCART_COM')) exit('HuCart.COM No direct script access allowed');
class Vote extends HC_Controller
{
	//注意无须构造函数,使用了构造函数得重构父类 parent::__construct();
	var $master_act 	= 'vote';
	var $info_prefix 	= 'vot_';
	function __construct()
	{
		parent::__construct();	
		$this -> load_lang('adminsys/'.$this -> master_act);
		$this -> view -> assign('master_act', $this -> master_act);
		$this -> view -> assign('info_prefix',	$this -> info_prefix);
		$this -> load('admin');
		$this -> admin -> online_admin();
		$this -> load_db();
		$this -> load('helper');     //加载辅助类
		$this -> load_model('sort'); //加载分类模型
	}


	function info_list(  )
	{
		$keyword 	= $this -> input -> req["keyword"];
		$list_val   = $this -> input -> req["list_val"];
		$list_type  = $this -> input -> req["list_type"];

		$table_arr['where_add'] = '';

		if($keyword!='')
		{ 	
			$table_arr['where_add'] .= " AND ( vot_title LIKE  '%".$keyword."%' )";  
		}
		

		$table_arr['order_by']  = 'vot_id';
		if($list_val!='' and $list_type =='DESC' )
		{
			$table_arr['order_by'] = $list_val ."  DESC ";
		}elseif($list_val!='' and $list_type =='ASC')
		{
			$table_arr['order_by'] = $list_val." ASC";
		}else{
			$table_arr['order_by'] =  'vot_id';
		}

		$this -> load('page',$this->lang['page']);

		//列表字段显示
		$show_arr = array('vot_id' => array('th'=>1,'td'=>'id'),'vot_title'=> array('th'=>0,'td'=>''),'vot_start_time'=> array('th'=>1,'td'=>'time'),'vot_end_time'=> array('th'=>1,'td'=>'time'),'vot_select_type'=>array('th'=>1,'td'=>'arr'),'vot_view'=>array('th'=>1,'td'=>'arr'),'vot_add_time'=>array('th'=>1,'td'=>'time'));
		
		$field_show = $this -> helper -> get_th_list( $show_arr , $list_val , $list_type , $lang_arr = $this->lang['field_list'] );

		$table_arr['table']				= $this -> master_act;
		
		//$table_arr['left']['table'] 	= 'vot_sort';
		//$table_arr['left']['on']		= $this -> db -> prefix.$this -> master_act.'.pis_id = '.$this -> db -> prefix.'vot_sort.sort_id ';
		
		$table_arr['prefix'] 	= $this -> db -> prefix;
		$table_arr['field_arr'] = array_keys($show_arr);
		$table_arr['def_where'] = 'vot_delete =0';
		$table_arr['group_by']  = '';
		$table_arr['limit_val'] = $this -> page ->get_limit_val();

		$re_sql   = $this -> helper -> get_list_sql( $table_arr );

		//var_dump($re_sql);
		
		$info 	  = $this -> db -> select_info( $re_sql['sql_list'] );
		
		$key_arr['vot_enabled'] 	= $this->lang['enabled_arr'];
		$key_arr['vot_select_type'] = $this->lang['select_type_arr'];


		$opt = array( 'item_list'=> $this->lang['item_list'], 'edit'=> $this->lang['edit'], 'delete'=> $this->lang['delete']);
		
		$td_rows  = $this -> helper -> get_td_list( $info , $show_arr ,$key_arr ,$this -> master_act ,$opt);
		
		$count 	  = $this -> db -> select_one( $re_sql['sql_count'] );

		$page_str = $this -> page ->get_admin_page( $count["CNUM"] );
		
		$this -> view -> assign('keyword',		$keyword);

		$this -> view -> assign('list_val',		$list_val);
		$this -> view -> assign('list_type',	$list_type);
		
		$this -> view -> assign('colspan_val',	count($show_arr)+1);
		$this -> view -> assign('field_show',	$field_show);
		$this -> view -> assign('page_str',		$page_str);
		$this -> view -> assign('td_rows',		$td_rows);
		$this -> view -> display('table_list.tpl');
		
	}
	
	
	
	function trash_list(  )
	{
		$keyword 	= $this -> input -> req["keyword"];
		$list_val   = $this -> input -> req["list_val"];
		$list_type  = $this -> input -> req["list_type"];

		$table_arr['where_add'] = '';

		if($keyword!='')
		{ 	
			$table_arr['where_add'] .= " AND ( vot_title LIKE  '%".$keyword."%' )";  
		}
		

		$table_arr['order_by']  = 'vot_id';
		if($list_val!='' and $list_type =='DESC' )
		{
			$table_arr['order_by'] = $list_val ."  DESC ";
		}elseif($list_val!='' and $list_type =='ASC')
		{
			$table_arr['order_by'] = $list_val." ASC";
		}else{
			$table_arr['order_by'] =  'vot_id';
		}

		$this -> load('page',$this->lang['page']);

		//列表字段显示
		$show_arr = array('vot_id' => array('th'=>1,'td'=>'id'),'vot_title'=> array('th'=>0,'td'=>''),'vot_start_time'=> array('th'=>1,'td'=>'time'),'vot_end_time'=> array('th'=>1,'td'=>'time'),'vot_select_type'=>array('th'=>1,'td'=>''),'vot_view'=>array('th'=>1,'td'=>'arr'),'vot_add_time'=>array('th'=>1,'td'=>'time'));
		
		$field_show = $this -> helper -> get_th_list( $show_arr , $list_val , $list_type , $lang_arr = $this->lang['field_list'] );

		$table_arr['table']				= $this -> master_act;
		//$table_arr['left']['table'] 	= 'vot_sort';
		//$table_arr['left']['on']		= $this -> db -> prefix.$this -> master_act.'.pis_id = '.$this -> db -> prefix.'vot_sort.sort_id ';
		
		$table_arr['prefix'] 	= $this -> db -> prefix;
		$table_arr['field_arr'] = array_keys($show_arr);
		$table_arr['def_where'] = 'vot_delete =1';
		$table_arr['group_by']  = '';
		$table_arr['limit_val'] = $this -> page ->get_limit_val();
		
		$re_sql   = $this -> helper -> get_list_sql( $table_arr );

		//var_dump($re_sql);
		
		$info 	  = $this -> db -> select_info( $re_sql['sql_list'] );
		
		$key_arr['vot_enabled'] = $this->lang['enabled_arr'];
		
		$opt = array( 'restore'=> $this->lang['restore'], 'delete'=> $this->lang['delete']);

		$td_rows  = $this -> helper -> get_td_list( $info , $show_arr ,$key_arr ,$this -> master_act ,$opt);
		
		$count 	  = $this -> db -> select_one( $re_sql['sql_count'] );
		$page_str = $this -> page ->get_admin_page( $count["CNUM"] );
		
		$this -> view -> assign('keyword',		$keyword);

		$this -> view -> assign('list_val',		$list_val);
		$this -> view -> assign('list_type',	$list_type);
		
		$this -> view -> assign('colspan_val',	count($show_arr)+1);
		$this -> view -> assign('field_show',	$field_show);
		$this -> view -> assign('page_str',		$page_str);
		$this -> view -> assign('td_rows',		$td_rows);
		$this -> view -> display('table_trash.tpl');
		
	}


	function recycle()
	{
		
		$info_id = $infoid = $this -> input ->  get["id"];
		
		$uprec = " UPDATE `".$this -> db -> prefix.$this -> master_act."` SET vot_delete = 1  WHERE  `vot_id` in ( $info_id ) ";
		$this -> db -> query_sql($uprec);
		
		$this -> view ->  assign('info_title',$this->lang['del_success']);
		$this -> view ->  assign('URL_TIME',URL_TIME);
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_list");
		$this -> view ->  display('suggestion.tpl');

	}
	
	//还原
	function restore( )
	{
		$infoid = $this -> input ->  delUrl($_REQUEST["id"]);
		
		$uprec = " UPDATE `".$this -> db -> prefix.$this -> master_act."` SET vot_delete = 0  WHERE  `vot_id` in ( $infoid ) ";
		@$this -> db -> query_sql($uprec);
		
		$this -> view ->  assign('info_title',$_LANG['bd_restoresusse']);
		$this -> view ->  assign('URL_TIME',URL_TIME);
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=trash_list");
		$this -> view ->  display('suggestion.tpl');
	}
	

	function delete( )
	{
		$infoid = $this -> input ->  get["id"];
		$insertip = " DELETE FROM `".$this -> db -> prefix.$this -> master_act."` WHERE `vot_id` in ( $infoid ) ";

		$this -> db -> query_sql($insertip);
		$this -> view ->  assign('info_title',$this->lang['del_success']);
		$this -> view ->  assign('URL_TIME',URL_TIME);
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=trash_list");
		$this -> view ->  display('suggestion.tpl');
	}
	
	
	function show( )
	{
		$info_id = $this -> input ->  get["id"];
		$upshow = " UPDATE `".$this -> db -> prefix.$this -> master_act."` SET vot_enabled = 1  WHERE `vot_id` in ( $info_id ) ";

		$this -> db -> query_sql($upshow);
		$this -> view ->  assign('info_title',$_LANG['bd_showsusse']);
		$this -> view ->  assign('URL_TIME',URL_TIME);
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_list");
		$this -> view ->  display('suggestion.tpl');
	}


	function hide( )
	{
		//$indel = implode(',', $delArray);
		$info_id = $this -> input ->  get["id"];
		
		$up_hide = " UPDATE `".$this -> db -> prefix.$this -> master_act."` SET vot_enabled = 0  WHERE  `vot_id` in ( $info_id ) ";
		$this -> db -> query_sql($up_hide);
		
		$this -> view ->  assign('info_title',$_LANG['bd_hidesusse']);
		$this -> view ->  assign('URL_TIME',URL_TIME);
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_list");
		$this -> view ->  display('suggestion.tpl');
	}
	
	
	function info(  )
	{
		$act_type 	= $this -> input -> get["act_type"];
		
		if($act_type=='edit'){
			
			$id_val = $this -> input ->  get["id"];
			
			$sql_query = " SELECT *  FROM  ".$this -> db -> prefix.$this -> master_act."  WHERE vot_id = '".$id_val."' ORDER BY `vot_id` ";
			$info = $this -> db -> select_one($sql_query);
			
			
			$info['vot_start_time'] = date("Y-m-d H:i:s",$info['vot_start_time']);
			$info['vot_end_time'] = date("Y-m-d H:i:s",$info['vot_end_time']);
			
			/*
			//可选择的一级分类 
			$sort_info 	= $this -> sort_mod -> get_sort('vot_sort','sort_');
			$sort_select_str = $this -> helper -> build_out_str( $sort_info , 'sort_id', 'sort_id' , 'sort_id', 'sort_name', $info['sort_id']  ,$this-> lang['txt_select'] , 'sort_id', 'sort_parent_id',  6 );
			
			$ckeditorLoad 	= $this -> helper -> load_ckeditor( 'vot_desc' ,$info['vot_desc'] );//加载文本编辑器
			$this -> view -> assign( 'ckeditorLoad', $ckeditorLoad);
			*/
			
			$this -> view -> assign('txt_title',  $this->lang['edit_title']);
			$this -> view -> assign('edit_submit', $this->lang['edit']);
			$this -> view -> assign('info',$info);
			$this -> view -> assign('act_type',$act_type);
			$this -> view -> assign('sort_select_str',$sort_select_str);
			$this -> view -> assign('act_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=edit_info&act_type=edit");
			
			
		}else{
			
		    /*
			//添加信息
			$sort_info  		= $this -> sort_mod -> get_sort('vot_sort','sort_');
			//生成分类选择控件
			$sort_select_str = $this -> helper -> build_out_str( $sort_info , 'sort_id', 'sort_id' , 'sort_id', 'sort_name', $sort_id  ,$this-> lang['txt_select'] , 'sort_id', 'sort_parent_id',  6 );
			$this -> view -> assign( 'sort_select_str', $sort_select_str);
			
			$ckeditorLoad 	= $this -> helper -> load_ckeditor( 'vot_desc' );//加载文本编辑器
			$this -> view -> assign( 'ckeditorLoad', $ckeditorLoad);
			*/

			$this -> view -> assign('act_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=edit_info&act_type=add");
			
			$this -> view -> assign('act_type', $act_type);
			$this -> view -> assign('txt_title', $this->lang['add_title']);
			$this -> view -> assign('edit_submit', $this-> lang['add']);
			
		}

		$this -> view ->  display('vote_edit.tpl');
	
	}
	
	
	function edit_info( )
	{	
	
		$vot_idval 			= $this -> input ->  funpost("vot_id");
		$vot_titleval 		= $this -> input ->  funpost("vot_title");
		$vot_select_typeval = $this -> input ->  funpost("vot_select_type");
	    $vot_start_timeval 	= strtotime($this -> input ->  funpost("vot_start_time"));
		$vot_end_timeval 	= strtotime($this -> input ->  funpost("vot_end_time"));
		$vot_listval 		= $this -> input ->  funpost("vot_list");
		$vot_enabledval 	= $this -> input ->  funpost("vot_enabled");
		
		$act_type = $this -> input ->  req["act_type"];

		if($act_type=='edit')
		{

		
			if($vot_titleval !='' and $vot_select_typeval !='' and $vot_end_timeval !=''  and $vot_idval !='')
			{
				$update = "UPDATE `".$this -> db -> prefix.$this -> master_act."` SET  vot_title = '".$vot_titleval."' ,  vot_select_type = '".$vot_select_typeval."' , vot_start_time = '".$vot_start_timeval."' , vot_end_time = '".$vot_end_timeval."',  vot_list = '".$vot_listval."',vot_enabled = '".$vot_enabledval."'  WHERE  vot_id = '".$vot_idval."' ";
				
				$this -> db -> query_sql( $update );
				
				$this -> view ->  assign('info_title',$this->lang['edit_success']);
				$this -> view ->  assign('URL_TIME',URL_TIME);
				$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_list");
				$this -> view ->  display('suggestion.tpl');
	
		
			}else{
			
				$this -> view ->  assign('info_title',$this->lang['err_info_missing']);
				$this -> view ->  assign('URL_TIME',URL_TIME);
				$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info&id=".$vot_idval);
				$this -> view ->  display('suggestion.tpl');	
			}
		

		}else{
			
				if($vot_titleval !='' and $vot_select_typeval !='' and $vot_end_timeval !='')
				{
					$sql_query = " SELECT count(1) as LNUM  FROM  ".$this -> db -> prefix.$this -> master_act."  WHERE vot_title = '".$vot_titleval."' ORDER BY `vot_id` ";
					$info = $this -> db -> select_one($sql_query);
					
					if( $info["LNUM"] < 1 )
					{
						$vot_add_timeval = time();
						
						$insertip =" INSERT INTO `".$this -> db -> prefix.$this -> master_act."` (`vot_title` , `vot_select_type` ,  `vot_start_time` ,`vot_end_time` , `vot_list` , `vot_enabled`,`vot_add_time` ) VALUES (  '$vot_titleval', '$vot_select_typeval', '$vot_start_timeval','$vot_end_timeval', '$vot_listval', '$vot_enabledval','$vot_add_timeval')";
						
						$this -> db -> query_sql($insertip);
						$this -> view ->  assign('info_title',$this->lang['add_success']);
						$this -> view ->  assign('URL_TIME',URL_TIME);
						$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_list");
						$this -> view ->  display('suggestion.tpl');	
					}else{
						
						$this -> view ->  assign('info_title',$this->lang['err_info_exist']);
						$this -> view ->  assign('URL_TIME',URL_TIME);
						$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info&act_type=add");
						$this -> view ->  display('suggestion.tpl');	
					}
					
				}else{
					
					$this -> view ->  assign('info_title',$this->lang['err_info_missing']);
					$this -> view ->  assign('URL_TIME',URL_TIME);
					$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info&act_type=add");
					$this -> view ->  display('suggestion.tpl');
				}
		}
		
	}
	

	
	function delete_item()
	{
		
		$id_val 	 = $this -> input ->  get["id"];
		$voi_id_val  = $this -> input ->  get["voi_id"];
		
		$delete_sql ="DELETE FROM `".$this -> db -> prefix."vote_item` WHERE `".$this -> db -> prefix."vote_item`.`voi_id` in ( $voi_id_val ) and  vot_id = '$id_val' ";
		
		$this -> db ->    query_sql( $delete_sql );
		$this -> view ->  assign('info_title',$this->lang['del_success']);
		$this -> view ->  assign('URL_TIME',URL_TIME); 
		$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=item_list&id=".$id_val);
		$this -> view ->  display('suggestion.tpl');
		
		
	}

	
	function info_item()
	{
		$id_val 	= $this -> input -> get["id"];
		$voi_id_val = $this -> input -> get["voi_id"];
		$act_type 	= $this -> input -> get["act_type"];
		
		if( $id_val != '' ){
			$sql_query = " SELECT vot_id ,vot_title FROM  ".$this -> db -> prefix.$this -> master_act."  WHERE vot_id = '".$id_val."' ORDER BY `vot_id` ";
			$info 	   = $this -> db -> select_one($sql_query);
			$this -> view -> assign( 'info', $info);
		}
		
		if($act_type=='edit'){
			
			$sql_query = " SELECT *  FROM  ".$this -> db -> prefix."vote_item  WHERE voi_id = '".$voi_id_val."' ORDER BY `voi_id` ";
			$item_info = $this -> db -> select_one($sql_query);
			
			$this -> view -> assign('act_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=edit_item&act_type=edit&id=".$id_val);
			
			$this -> view ->  assign('item_info',$item_info);
			
			$ckeditorLoad = $this -> helper -> load_ckeditor( 'voi_desc' , $item_info["voi_desc"] ,'Basic' );	//加载文本编辑器
			
			$this -> view -> assign( 'edit_submit', $this->lang['edit']);
			
			
		}else{

			$this -> view -> assign('act_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=edit_item&act_type=add&id=".$id_val);
			$ckeditorLoad = $this -> helper -> load_ckeditor( 'voi_desc' , '' ,'Basic' );	//加载文本编辑器
			$this -> view -> assign( 'edit_submit', $this->lang['add_submit']);
		
		}
		
		$this -> view -> assign( 'voi_id', $voi_id_val);
		$this -> view -> assign( 'act_type', $act_type);
		
		$this -> view -> assign( 'id', $id_val);
		$this -> view -> assign( 'ckeditorLoad', $ckeditorLoad);
		$this -> view ->  display('vote_item_edit.tpl');
	
	}
	
	
	function item_list()
	{	
		
		$id_val = $this -> input ->  get["id"];

		$sql_query = " SELECT vot_id ,vot_title,vot_select_type FROM  ".$this -> db -> prefix.$this -> master_act."  WHERE vot_id = '".$id_val."' ORDER BY `vot_id` ";
		$info 	   = $this -> db -> select_one($sql_query);

		//列表字段显示
		$show_arr = array('voi_id' => array('th'=>0,'td'=>'id'),'voi_name'=> array('th'=>0,'td'=>''),'voi_score'=> array('th'=>0,'td'=>''),'voi_count'=> array('th'=>0,'td'=>''));
		
		$field_show = $this -> helper -> get_th_list( $show_arr , $list_val , $list_type , $lang_arr = $this->lang['field_item_list'] );


		$sql_item  = " SELECT *  FROM  ".$this -> db -> prefix."vote_item  WHERE vot_id = '".$id_val."' ORDER BY `voi_id` Limit 0, 3000 ";
		$info_item = $this -> db -> select_info( $sql_item );
		
		$this -> view ->  assign('colspan_val',	count($show_arr)+1);
		$this -> view ->  assign('field_show', $field_show);
		$this -> view ->  assign('id', $id_val);
		$this -> view ->  assign('info',$info);
		$this -> view ->  assign('info_item',$info_item);
		$this -> view ->  display('vote_item_list.tpl');
		
	}

	function edit_item()
	{	
	
	
		$id_val 		= $this -> input ->  funpost("id");	
		$voi_idval 		= $this -> input ->  funpost("voi_id");
		$voi_scoreval 	= $this -> input ->  funpost("voi_score");
		$voi_nameval 	= $this -> input ->  funpost("voi_name");

		$act_type 	= $this -> input -> get["act_type"];
		
		if($act_type=='edit'){
			
			if($voi_idval !='' and  $voi_nameval !='' )
			{
				$voi_up_time_val =  time();
				
				$updatesql = " UPDATE `".$this -> db -> prefix."vote_item` SET  voi_name = '".$voi_nameval."' , voi_score = '".$voi_scoreval."' WHERE  voi_id = '".$voi_idval."' ";
				
				$this -> db -> query_sql( $updatesql );
				
				$this -> view ->  assign('info_title',$this->lang['edit_success']);
				$this -> view ->  assign('URL_TIME',URL_TIME);
				$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=item_list&id=".$id_val);
				$this -> view ->  display('suggestion.tpl');
					
			}else{
			
				$this -> view ->  assign('info_title',$this->lang['err_info_missing'] );
				$this -> view ->  assign('URL_TIME',URL_TIME);
				$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_item&voi_id=".$voi_idval."&id=".$id_val);
				$this -> view ->  display('suggestion.tpl');	
			}
			
		}else{

	
			if( $id_val !='' and $voi_nameval !='')
			{
	
					$insert_item =" INSERT INTO `".$this -> db -> prefix."vote_item` (`vot_id`,`voi_name` , `voi_score`) VALUES (  '$id_val',  '$voi_nameval', '$voi_scoreval')";

					$proinsertId = $this -> db -> query_sql( $insert_item );
	
					$this -> view ->  assign('info_title',$this->lang['add_success']);
					
					$this -> view ->  assign('URL_TIME',URL_TIME);
					$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=item_list&id=".$id_val);
					$this -> view ->  display('suggestion.tpl');	
	
				
			}else{
				
				$this -> view ->  assign('info_title',$this->lang['err_info_missing']);
				$this -> view ->  assign('URL_TIME',URL_TIME);
				$this -> view ->  assign('get_url',ADMIN_WEBURL."/index.php?load=".$this -> master_act."&act=info_item&id=".$id_val);
				$this -> view ->  display('suggestion.tpl');		
			}
		}

	}



		
}

