You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
251 lines
7.4 KiB
PHP
251 lines
7.4 KiB
PHP
<?php
|
|
|
|
class Translate_model extends CI_Model
|
|
{
|
|
//初始化数据库连接
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->HT = $this->load->database('HT', TRUE);
|
|
$this->adminsession = $this->session->userdata('session_admin');
|
|
}
|
|
|
|
|
|
//生成密码
|
|
function randomkeys($length){
|
|
$output='';
|
|
for($a=0;$a<$length;$a++){
|
|
|
|
$charIndes=mt_rand(48,122);//生成php随机数
|
|
if($charIndes==94||$charIndes==95||$charIndes==96){//排除几个字符
|
|
$length++;
|
|
} else {
|
|
$output.=chr(mt_rand(48,122));//生成php随机数
|
|
}
|
|
}
|
|
return $output;
|
|
}
|
|
|
|
public function getuserList(){
|
|
$sql='SELECT tlui_loginname,tlui_englishname,tlui_chinesename,tlui_id,
|
|
tlui_email,tlui_status FROM TranslateUserInfo';
|
|
$query = $this->HT->query($sql);
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
|
|
|
|
public function addTranslate($infotmp){
|
|
$info=array();
|
|
//'tli_opi_sn','tli_dateline','tli_status'
|
|
$files=array('tli_content','tli_tagetlgc','tli_otherquest','tli_title','tli_userid','tli_deadline','tli_ic_id');
|
|
$info['tli_ic_id'] = 0;
|
|
foreach($infotmp as $k=>$v){
|
|
if(in_array($k,$files)){
|
|
$info[$k]=$v;
|
|
}
|
|
}
|
|
$info['tli_opi_sn'] =$this->adminsession["OPI_SN"];
|
|
$info['tli_dateline'] =date('Y-m-d H:i:s',time());
|
|
$info['tli_status'] =0;
|
|
$this->HT->insert('TranslateInfo', $info);
|
|
return $this->HT->insert_id();
|
|
}
|
|
|
|
|
|
//列表
|
|
public function getList($key,$opiid=0,$userid=0,$status='',&$recordcount,$page,$per_page){
|
|
$result = array();
|
|
$searchwhere = '';
|
|
if(is_array($key)){
|
|
foreach($key as $k=>$v){
|
|
if(in_array($k,array('tli_userid','tli_opi_sn'))){
|
|
$searchwhere .= " and $k = $v ";
|
|
} elseif (in_array($k,array('tli_title'))){
|
|
$searchwhere .= " and $k like '%$v%' ";
|
|
} elseif ($k=='tli_checktime_f'){
|
|
if($v){
|
|
$searchwhere .= " and tli_checktime>'$v' ";
|
|
}
|
|
} elseif ($k=='tli_checktime_t'){
|
|
if($v){
|
|
$searchwhere .= " and tli_checktime<'$v' ";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if( in_array($status,array('0','1','2','3','4','5','6','4-1','4-0'))){
|
|
if($status == '4-1'){
|
|
$sqlwhere = "where tli_status in(4,5,6) and tli_charge>0 ";
|
|
} else if($status == '4-0'){
|
|
$sqlwhere = "where tli_status in(4,5,6) and tli_charge=0 ";
|
|
} else {
|
|
$sqlwhere = "where tli_status=$status";
|
|
}
|
|
} else {
|
|
$sqlwhere = "where 1=1 ";
|
|
}
|
|
|
|
$sqlwhere .= $searchwhere;
|
|
$sql = "select count(0) as num from TranslateInfo ".$sqlwhere;
|
|
$query = $this->HT->query($sql);
|
|
$recordcount = $query->first_row()->num; //获取总记录数量
|
|
$opiNameSql = ',(select OPI_Name from OperatorInfo where OPI_SN=TranslateInfo.tli_opi_sn) as OPI_Name,
|
|
(select tlui_chinesename+\'(\'+tlui_loginname+\')\' from TranslateUserInfo where tlui_id=tli_userid) as GET_Name';
|
|
$sql = "select * $opiNameSql from TranslateInfo ".$sqlwhere." order by tli_id desc";
|
|
|
|
$query = $this->HT->query($sql);
|
|
$lastpagenum = $recordcount-$page;
|
|
for($i=0;$i<$per_page && $i < $recordcount && $i < $lastpagenum ;$i++){
|
|
|
|
$result[$i] = $query->row($page+$i);
|
|
$result[$i]->infoLink = $this->getIsIdLink($result[$i]->tli_ic_id);
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
public function deletetranslation($tli_id){
|
|
return $this->HT->delete('TranslateInfo', array('tli_id' => $tli_id));
|
|
}
|
|
|
|
public function getOpiList(){
|
|
$sql='SELECT OPI_SN,OPI_Name FROM OperatorInfo where DeleteFlag=0';
|
|
$query = $this->HT->query($sql);
|
|
return $query->result();
|
|
}
|
|
|
|
public function updatetranslat($info,$tid){
|
|
$info['tli_new'] = 1;
|
|
$result = $this->HT->update('TranslateInfo', $info, array('tli_id'=>$tid));
|
|
if($result){
|
|
return array($tid);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function checktranslate($ic_id){
|
|
$sql = "select * from TranslateInfo where tli_ic_id=$ic_id ";
|
|
$q = $this->HT->query($sql);
|
|
if($q->num_rows() >0){
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
//读取单条内容
|
|
public function getTranslateInfo($tli_id=0,$ic_id=0){
|
|
if($tli_id){
|
|
$sql = "select * from TranslateInfo where tli_id=$tli_id ";
|
|
}else if($ic_id){
|
|
$sql = "select * from TranslateInfo where tli_ic_id=$ic_id ";
|
|
} else {
|
|
return false;
|
|
}
|
|
$query = $this->HT->query($sql);
|
|
if ($query->num_rows() > 0){
|
|
$row = $query->row_array();
|
|
$q = $this->HT->query("select OPI2_Name from OperatorInfo2 where OPI2_LGC=2 and OPI2_OPI_SN=$row[tli_opi_sn]");
|
|
$r = $q->row_array();
|
|
if($r){
|
|
$row['opi_name'] = $r['OPI2_Name'];
|
|
} else {
|
|
$row['opi_name'] = 'Unkown';
|
|
}
|
|
return $row;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/*以上部分为翻译内容*/
|
|
/*以下部分为用户管理部分*/
|
|
//用户管理部分以小写u开头
|
|
//
|
|
public function uList(&$recordcount,$page,$per_page){
|
|
$result = array();
|
|
$sql = "select count(0) as num from TranslateUserInfo ";
|
|
$query = $this->HT->query($sql);
|
|
$recordcount = $query->first_row()->num; //获取总记录数量
|
|
$sql = "select * from TranslateUserInfo order by tlui_id desc";
|
|
$query = $this->HT->query($sql);
|
|
$lastpagenum = $recordcount-$page;
|
|
for($i=0;$i<$per_page && $i < $recordcount && $i < $lastpagenum ;$i++){
|
|
$result[$i] = $query->row($page+$i);
|
|
}
|
|
return $result;
|
|
}
|
|
//获取用户信息
|
|
public function getUserInfo($userid){
|
|
$sql = "select * from TranslateUserInfo where tlui_id='".$userid."'";
|
|
$query = $this->HT->query($sql);
|
|
return $query->first_row();
|
|
}
|
|
//更新用户
|
|
public function update_user($userinfo,$userid)
|
|
{
|
|
$result = $this->HT->update('TranslateUserInfo', $userinfo, array('tlui_id'=>$userid));
|
|
if($result){
|
|
return array($userid);
|
|
}
|
|
}
|
|
|
|
public function deleteuser($uid){
|
|
return $this->HT->delete('TranslateUserInfo', array('tlui_id' => $uid));
|
|
}
|
|
|
|
//公告部分
|
|
public function getAnnouncList($per_page,$page=0){
|
|
|
|
$sql = "select count(0) as num FROM TranslateMessage ";
|
|
$query = $this->HT->query($sql);
|
|
$recordcount = $query->first_row()->num; //获取总记录数量
|
|
$result = array();
|
|
|
|
$sql = "select tlm_id,tlm_title,tlm_content,tlm_dateline,tlm_hits FROM TranslateMessage ";
|
|
$query = $this->HT->query($sql);
|
|
$lastpagenum = $recordcount-$page;
|
|
for($i=0;$i<$per_page && $i < $recordcount && $i < $lastpagenum ;$i++){
|
|
$result[$i] = $query->row($page+$i);
|
|
}
|
|
return $result;
|
|
}
|
|
public function getAnnounc($id){
|
|
$sql = "select * from TranslateMessage where tlm_id='".$id."'";
|
|
$query = $this->HT->query($sql);
|
|
return $query->first_row();
|
|
}
|
|
public function inertAnnounc($message){
|
|
if($this->HT->insert('TranslateMessage', $message)){
|
|
return $this->HT->insert_id();
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
public function updateAnnounc($message,$id){
|
|
$result = $this->HT->update('TranslateMessage', $message, array('tlm_id'=>$id));
|
|
if($result){
|
|
return array($id);
|
|
} else{
|
|
return false;
|
|
}
|
|
}
|
|
public function deleteAnnounc($id){
|
|
return $this->HT->delete('TranslateMessage', array('tlm_id' => $id));
|
|
}
|
|
|
|
public function getIsIdLink($is_id){
|
|
if(!is_numeric($is_id)) return '';
|
|
$sql = "select ic_url FROM infoStructures inner join infoContents ON is_ic_id=ic_id where is_id=$is_id";
|
|
$query = $this->HT->query($sql);
|
|
$row = $query->first_row();
|
|
if($row){
|
|
return $row->ic_url;
|
|
} else {
|
|
return '';
|
|
}
|
|
}
|
|
}
|
|
|