| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- <?php
- class mode_emailmClassAction extends inputAction{
-
- protected function savebefore($table, $arr, $id, $addbo){
- $barr['sendid'] = $this->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'] = '<br><br><br>'.$flow->getoldcont($zfid, false);
- }
- }
- $rs['zflx'] = $zflx;
- $this->returnjson($rs);
- }
- }
-
|