adminid;
$barr['sendname'] = $this->adminname;
$barr['senddt'] = $this->now;
$isfile = 0;
if($this->post('fileid') != '')$isfile = '1';
$barr['isfile'] = $isfile;
$type = (int)$arr['type'];
//外发
if($type==1 && $arr['isturn']==1){
$vsl = $this->option->getval('email_recexin_'.$this->adminid.'');
if(isempt($vsl))return '未成功收信过,不能外发邮件';
}
if($type == 1){
$urs = m('admin')->getone($this->adminid, 'id,name,email');
$barr['sendname'] = ''.$urs['name'].'('.$urs['email'].')';
}
//回复的ID
$huiid = $this->post('huiid');
if(!isempt($huiid)){
$barr['hid'] = $huiid;
m('emails')->update('ishui=1','`mid`='.$huiid.' and `uid`='.$this->adminid.' and `type`=0');//更新已回复
}
return array('rows'=>$barr);
}
protected function saveafter($table, $arr, $id, $addbo)
{
$isturn = (int)$arr['isturn'];
$type = (int)$arr['type'];
if($isturn==1){
if($type==0){
$this->flow->savesubmid($arr['receid'], $id, 0,0);
$this->flow->savesubmid($arr['ccid'], $id, 1,0);
}
$this->flow->savesubmid($arr['sendid'], $id, 2,1);
//外发发邮件的
if($type == 1){
$emsa = $this->getrecename($arr['receid']);
m($table)->update('`outzt`=0', $id);
if($emsa != ''){
$ccsa = $this->getrecename($arr['ccid']);
$fjar = m('file')->getfilepath('emailm', $id);
m('email')->sendemailout($this->adminid, array(
'title' => $arr['title'],
'body' => $arr['content'],
'receemail' => $emsa[0],
'recename' => $emsa[1],
'ccemail' => $ccsa[0],
'ccname' => $ccsa[1],
'attachpath'=> $fjar[0],
'attachname'=> $fjar[1],
'mid' => $id,
), 0);
}
}
}
}
private function faemail($id, $arr)
{
$emsa = $this->getrecename($arr['receid']);
m('emailm')->update('`outzt`=0', $id);
if($emsa[0] != ''){
$ccsa = $this->getrecename($arr['ccid']);
$fjar = m('file')->getfilepath('emailm', $id);
return m('email')->sendemailout($this->adminid, array(
'title' => $arr['title'],
'body' => $arr['content'],
'receemail' => $emsa[0],
'recename' => $emsa[1],
'ccemail' => $ccsa[0],
'ccname' => $ccsa[1],
'attachpath'=> $fjar[0],
'attachname'=> $fjar[1],
'mid' => $id,
), 0);
}else{
return '接收空的';
}
}
/**
* 重新请求外发
*/
public function reoutfaAjax()
{
$id = (int)$this->get('sid','0');
$arr = m('emailm')->getone($id);
if($arr['type']!='1')return;
$msg = $this->faemail($id, $arr);
return $msg;
}
private function getrecename($sid)
{
$sem = $scn = '';
if(!isempt($sid)){
$rows = m('vcard')->getall("`id` in($sid)");
foreach($rows as $k=>$rs){
$sem.=','.$rs['email'].'';
$scn.=','.$rs['name'].'';
}
}
if($sem!=''){
$sem = substr($sem, 1);
$scn = substr($scn, 1);
}
return array($sem, $scn);
}
//邮件回复的
public function emailhuifuAjax()
{
$mid = (int)$this->post('mid');
$cont = $this->post('cont');
$flow = m('flow')->initflow('emailm', $mid);
echo $flow->huifu($cont);
}
//获取个人通讯录上联系人,外发发邮件的
public function getvcardAjax()
{
$row = $this->getvcard();
$this->returnjson($row);
}
public function getvcard()
{
$rows = m('vcard')->getall("uid='$this->adminid' and `email` is not null",'id,name,email','sort,optdt desc');
$row = array();
foreach($rows as $k=>$rs){
$row[] = array(
'value' => $rs['id'],
'name' => ''.$rs['name'].'('.$rs['email'].')',
);
}
return $row;
}
public function getzfcontAjax()
{
$zfid = (int)$this->get('zfid');
$zflx = (int)$this->get('zflx');
$rs = m('emailm')->getone($zfid,'title,content,type,sendid,sendname,fromemail,id');
if($zflx==0){
$zffes = m('file')->copyfile('emailm', $zfid); //转发附件
$rs['filers'] = $zffes;
}else{
//外发时读取
if($rs['type']==1){
$rs['sendid'] = '';
$rs['sendname'] = '';
$rsem = m('emails')->getone("`mid`='$zfid' and `type`=2");
if($rsem){
$toemail = $rsem['email'];
$toname = $rsem['personal'];
//加入到个人通讯录上
$rse = m('vcard')->getone("`uid`='$this->adminid' and `email`='$toemail'");
if(!$rse){
$toid = m('vcard')->insert(array(
'name' => $toname,
'uid' => $this->adminid,
'email' => $toemail,
'gname' => '未分组',
'optdt' => $this->now,
));
}else{
$toid = $rse['id'];
}
$rs['sendid'] = $toid;
$rs['sendname'] = $toname.'('.$toemail.')';
}
$flow = m('flow')->initflow('emailm');
$rs['content'] = '
'.$flow->getoldcont($zfid, false);
}
}
$rs['zflx'] = $zflx;
$this->returnjson($rs);
}
}