permission->is_admin();
//$this->output->enable_profiler(TRUE);
$this->load->model('Translate_model');
$this->per_page = 30;
}
public function index()
{
$this->load->library('pagination');
$recordcount = 0;
$page = $this->uri->segment(3);
$opiid =0;
$userid =0;
if($this->input->post('Submit')){
$key = $this->input->post('search');
} else {
$key = unserialize($this->input->cookie('search'));
}
$cookie = array(
'name' => 'search',
'value' => serialize($key),
'expire' => '86500',
'path' => '/'
);
$searchdata=$key;
if($searchdata['tli_userid']=='')unset($searchdata['tli_userid']);
if($searchdata['tli_opi_sn']=='')unset($searchdata['tli_opi_sn']);
if($searchdata['tli_title']=='')unset($searchdata['tli_title']);
if($searchdata['tli_checktime_f']==''|| !$this->is_date($searchdata['tli_checktime_f']) )unset($searchdata['tli_checktime_f']);
if($searchdata['tli_checktime_t']==''|| !$this->is_date($searchdata['tli_checktime_t']) )unset($searchdata['tli_checktime_t']);
$this->input->set_cookie($cookie);
$data['translateList'] = $this->Translate_model->getList($searchdata,$opiid,$userid,$searchdata['tli_status'],$recordcount,$page,$this->per_page);
$config['base_url'] = site_url("translate/listall/");
$config['total_rows'] = $recordcount;
$config['per_page'] = $this->per_page;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['userList'] = $this->Translate_model->getuserList();
$data['OpiList'] = $this->Translate_model->getOpiList();
$data['search'] = $key;
$this->load->view('header',$data);
$this->load->view('translate');
$this->load->view('footer');
}
public function is_date($d){
// date formate is 01/04/2012
// or else return false
if (preg_match ("/^\d{2}\/\d{2}\/\d{4}$/i",$d)) {
return true;
} else {
return false;
}
}
public function publication($tid=0){
$this->load->helper('date');
if($this->input->post('submit')){
$info = $this->input->post('info');
$msg = '';$ispass = false;
/*
if(strlen($info['tli_content'])<10){
$msg = '
翻译内容不能为空.
';
$ispass = true;
}
*/
if(strlen($info['tli_title'])<1){
$msg .= '任务标题不能为空.
';
$ispass = true;
}
/*
if(!is_numeric($info['tli_userid'])){
$msg .= '必须指定翻译人员.
';
$ispass = true;
}
*/
if(!preg_match("/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/",$info['tli_deadline'])){
$msg .= '有效期日期格式不正确.
';
$ispass = true;
}
if(strtotime($info['tli_deadline']) < time()){
$info['tli_deadline'] = time()+3600*24*10;
}
if($ispass){
$data[] = array('name'=>'ok','value'=>$msg);
echo json_encode($data);
exit();
}
if($tid>0){//更新任务新信息
$result = $this->Translate_model->updatetranslat($info,$tid);
} else {//新增新任务
$result = $this->Translate_model->addTranslate($info);
}
if($result){
$data[] = array('name'=>'go','value'=>site_url('translate/listall'));
} else {
$data[] = array('name'=>'no','value'=>'系统错误请重试!');
}
echo json_encode($data);
exit();
}
$data['userList'] = $this->Translate_model->getuserList();
$this->load->view('header',$data);
$this->load->view('translate_publish');
$this->load->view('footer');
}
//全部列表同部调用function index
public function listall(){
$this->index();
}
//修改任务表单
public function editiem($tid){
$data['userList'] = $this->Translate_model->getuserList();
$data['translateInfo'] = $this->Translate_model->getTranslateInfo($tid);
$this->load->view('header',$data);
$this->load->view('translate_edit');
$this->load->view('footer');
}
/*删除任务*/
public function deletetranslate($tid){
$this->Translate_model->deletetranslation($tid);
redirect(site_url('translate/listall'));
}
/*操作表单*/
//操作表单可用字段有:
// 管理备注
// 信息应用地址,
// 翻译总字数
// 已经付款总数
// 状态
public function opater($tid,$action=''){
if(!in_array($action,array('check','pay','public')))
{
exit();
}
$data['translateinfo']=$this->Translate_model->getTranslateInfo($tid);
switch ($action){
case "check":
break;
default:
}
if($this->input->post('action') == 'check'){
$this->opatercheck($tid);
}else if($this->input->post('action') == 'pay'){
if($data['translateinfo']['tli_status'] < 4){
$data[]=array('name'=>'no','value'=>'审核未通过不能结算任务!');
exit(json_encode($data));
}
$this->opaterpay($tid);
}else if($this->input->post('action') == 'public'){
$this->opaterpublic($tid);
}
$data['action']=$action;
$data['tid']=$tid;
$this->load->view('header',$data);
$this->load->view('opater');
$this->load->view('footer');
}
private function opatercheck($tid){
$r = $this->input->post('opater');
$this->form_validation->set_rules('opater[tli_charcount]', 'tli_charcount', 'required|numeric');
if ($this->form_validation->run() == FALSE){
$data[]=array('name'=>'no','value'=>'请输入翻译总字数,必须为数字');
} else {
$r['tli_status'] = ($r['tli_status']==1)?4:3;
$r['tli_checktime'] = date('Y-m-d H:i:s',time());//审核时间
if($this->Translate_model->updatetranslat($r,$tid)==false){
$data[]=array('name'=>'no','value'=>'审核操作失败,请重试');
}else{
$data[]=array('name'=>'ok','value'=>'操作成功执行');
}
}
echo json_encode($data);
exit();
}
private function opaterpay($tid){
$r = $this->input->post('opater');
$this->form_validation->set_rules('opater[tli_charge]', 'tli_charge', 'required|numeric');
$this->form_validation->set_rules('opater[tli_chargeunit]', 'tli_chargeunit', 'required');
if ($this->form_validation->run() == FALSE){
$data[]=array('name'=>'no','value'=>'支付金额必须为数字,单位币种不能为空');
} else {
$r['tli_status'] = 5;
if($this->Translate_model->updatetranslat($r,$tid)==false){
$data[]=array('name'=>'no','value'=>'审核操作失败,请重试');
} else {
$data[]=array('name'=>'ok','value'=>'操作成功执行');
}
}
echo json_encode($data);
exit();
}
private function opaterpublic($tid){
$r = $this->input->post('opater');
$r['tli_status'] = 6;
if($this->Translate_model->updatetranslat($r,$tid)==false){
$data[]=array('name'=>'no','value'=>'发布操作失败,请重试');
}else{
$data[]=array('name'=>'ok','value'=>'操作成功执行');
}
exit(json_encode($data));
}
//操作表单结束//
/*以上部分为翻译内容*/
/*以下部分为用户管理部分*/
//用户管理部分以小写u开头
public function listuser(){
$this->load->library('pagination');
$page = $this->uri->segment(3);
$recordcount = 0;
$data['translateUserList'] = $this->Translate_model->uList($recordcount,$page,$this->per_page);
$config['base_url'] = site_url("translate/listuser/");
$config['total_rows'] = $recordcount;
$config['per_page'] = $this->per_page;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$this->load->view('header',$data);
$this->load->view('translate_userlist');
$this->load->view('footer');
}
/*编辑*/
public function uedit($uid){
$msg='';
if($this->input->post('Submit') && $uid>0){
$userinfo= $this->input->post('userinfo1');
$passwordInfo = $this->input->post('userinfo');
$msg ='用户信息更新成功.';
if($passwordInfo['tlui_password']!='' ){
$newpassword = $this->Translate_model->randomkeys(6);
$userinfo['tlui_password']=md5($newpassword);
$msg .="您初始化了密码新密码为:$newpassword";
}
$this->Translate_model->update_user($userinfo,$uid);
}
$data = $this->Translate_model->getUserInfo($uid);
$data->msg=$msg;
$this->load->view('header',$data);
$this->load->view('translate_userform');
$this->load->view('footer');
}
/*删除*/
public function udelete($uid){
$this->Translate_model->deleteuser($uid);
redirect(site_url('translate/listuser'));
}
/*公告*/
public function announc($page=0){
$data['action'] = 'list';
$page = $this->uri->segment(2);
$data['announcList'] = $this->Translate_model->getAnnouncList($this->per_page,$page);
$this->load->view('header',$data);
$this->load->view('announc');
$this->load->view('footer');
}
public function announcadd(){
$data['action'] = 'add';
//$data['announc'] = $this->Translate_model->getAnnounc($id);
$this->load->view('header',$data);
$this->load->view('announc');
$this->load->view('footer');
}
public function editannounc($id=''){
$data['action'] = 'edit';
if($this->input->post('submit') == 'true'){
//保存
$msg['tlm_title'] = $this->input->post('tlm_title');
$msg['tlm_content'] = $this->input->post('tlm_content');
$msg['tlm_id'] = $this->input->post('tlm_id');
//unset($msg['tlm_id']);
if($msg['tlm_id']==""){//新建
unset($msg['tlm_id']);
$msg['tlm_dateline'] = date('Y-m-d H:i:s',time());
$this->Translate_model->inertAnnounc($msg);
$data[]=array('name'=>'go','value'=>site_url('translate/announc'));
} else { //修改
unset($msg['tlm_id']);
$this->Translate_model->updateAnnounc($msg,$id);
$data[]=array('name'=>'go','value'=>site_url('translate/announc'));
}
exit(json_encode($data));
}
$data['announc'] = $this->Translate_model->getAnnounc($id);
$this->load->view('header',$data);
$this->load->view('announc');
$this->load->view('footer');
}
public function deletennounc($id=''){
$this->Translate_model->deleteAnnounc($id);
redirect(site_url('translate/announc'));
}
//修改后的函数
//检测是否存在这样一个翻译信息
public function checktranslate($ic_id){
$data['result'] = $this->Translate_model->checktranslate($ic_id);
echo json_encode($data);
}
public function gettranslateInfo($ic_id){
if(!$this->Translate_model->checktranslate($ic_id)){
$tmpinfo['tli_content']=$this->input->post("ic_content");
$tmpinfo['tli_tagetlgc'] = "";
$tmpinfo['tli_otherquest'] = "";
$tmpinfo['tli_title'] = "";
$tmpinfo['tli_userid'] = 0;
$tmpinfo['tli_ic_id'] = $ic_id;
$this->Translate_model->addTranslate($tmpinfo);
}
$data['translateInfo'] = $this->Translate_model->getTranslateInfo(0,$ic_id);
$data['userList'] = $this->Translate_model->getuserList();
$data['cp'] = "checktranslate";
$this->load->view('translate_form',$data);
}
public function updateTranslate(){
$this->load->helper('date');
$info = $this->input->post('info');
$msg = '';$ispass = false;
/*
if(strlen($info['tli_content'])<10){
$msg = '翻译内容不能为空.
';
$ispass = true;
}
*/
if(strlen($info['tli_title'])<1){
$msg .= '任务标题不能为空.
';
$ispass = true;
}/*
if(!is_numeric($info['tli_userid'])){
$msg .= '必须指定翻译人员.
';
$ispass = true;
}
*/
if(!preg_match("/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/",$info['tli_deadline'])){
$msg .= '有效期日期格式不正确.
';
$ispass = true;
}
if(!preg_match("/^[0-9]+$/",$info['tli_id'])){
$msg .= '系统错误,错误代码 #1.
';
$ispass = true;
}
if(!preg_match("/^[0-9]+$/",$info['tli_ic_id'])){
$msg .= '系统错误,错误代码 #2.
';
$ispass = true;
}
if($ispass){
$data[] = array('name'=>'no','value'=>$msg);
echo json_encode($data);
exit();
}
$tid = $info['tli_id'];
unset($info['tli_charcount']);
unset($info['tli_charge']);
unset($info['tli_id']);
unset($info['tli_info']);
$result = $this->Translate_model->updatetranslat($info,$tid);
if($result){
$data[] = array('name'=>'ok','value'=>'翻译信息内容更新成功');
} else {
$data[] = array('name'=>'no','value'=>'系统错误请重试!');
}
echo json_encode($data);
exit();
}
public function opaterajax($tid,$action=''){
$data['cp'] = $action;
$data['translateInfo'] = $this->Translate_model->getTranslateInfo($tid, 0);
$str = $this->load->view('translate_form',$data,true);
$data[] = array('name'=>'ok','value'=>$str);
echo json_encode($data);
}
public function viewcon($tid){
$data['cp'] = 'viewcon';
$data['translateInfo'] = $this->Translate_model->getTranslateInfo($tid, 0);
$str = $this->load->view('translate_form',$data);
}
}