diff --git a/application/admin/controllers/UserController.php b/application/admin/controllers/UserController.php index 43045e38..5f72e5d4 100755 --- a/application/admin/controllers/UserController.php +++ b/application/admin/controllers/UserController.php @@ -496,6 +496,129 @@ class Admin_UserController extends Zend_Controller_Action }// groupAction() + /* + * + * 给时间长没有登录的用户发送邀请邮件 + * + */ + public function sendmailAction(){ + + $ac = $this->_getParam('ac'); + + if(empty($ac) || $ac=='index') + { + $time = date("Y-m-d H:i:s",time()-3*365*24*3600); + + $sql = "SELECT * FROM users + WHERE ts_last_login<'$time' + ORDER BY ts_last_login DESC"; + $sth = $this->db->query($sql); + $rows = $sth->fetchAll(); + + $paginator = Zend_Paginator::factory($rows); + $paginator->setCurrentPageNumber($this->_getParam('page')); + $paginator->setItemCountPerPage(20); + $paginator->setView($this->view); + Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); + $this->view->paginator=$paginator; + + $this->view->count_users = count($rows); + } + + if($ac == "send") + { + $this->_helper->viewRenderer('sendmail-send'); + + //当前进行到的数量 + $now = $this->_getParam('now'); + + //需要将起始的时间传递过来,防止sql中出现多余的用户 + $time = $this->_getParam('time'); + if(empty($time)) + { + $time = date("Y-m-d H:i:s",time()-3*365*24*3600); + } + $this->view->gotime = $time; + + //当前处理的页数 + $page = $this->_getParam('page'); + if(empty($page)) + { + $page = 0; + } + + $step = 20; + + $sql = "SELECT count(id) as c FROM users + WHERE ts_last_login<'$time'"; + + $sth = $this->db->query($sql); + $row = $sth->fetch(); + + $total = $row['c']; + + if(empty($now)) + { + $now = 0; + } + + //此次读取的起点 + $start = $now + $step; + + if($start>$total) + { + $this->view->stop = "YES"; + return true; + } + + $sql = "SELECT * FROM users + WHERE ts_last_login<'$time' + ORDER BY ts_last_login DESC + LIMIT $step + OFFSET $start"; + + $sth = $this->db->query($sql); + $rows = $sth->fetchAll(); + + $result = array(); + + foreach($rows as $k=>$v) + { + include_once("EmailText.php"); + $mail=new WestdcMailer($this->view->config->smtp); + $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); + $mailtp=new EmailText($this->db,"author-new",array( + 'user' => $v['username'], + 'uid' => $v['id'], + 'realname'=> $v['realname'], + 'lastlogin'=> date("Y-m-d",$v['email']), + )); + $mail->setBodyText($mailtp->getBody()); + $mail->setSubject($mailtp->getSubject()); + @$mail->addTo($v['email']); + $result[$v['id']] = array( + 'username'=>$v['username'], + 'email'=>$v['email'] + ); + @$mail->send(); + } + + + $this->view->result = $result; + $this->view->now = $start; + $this->view->total = $total; + + $percent = round( ( $start / $total ) * 100 ,1); + $this->view->percent = $percent; + + $page ++; + + $this->view->page = $page; + + } + + }//sendemailAction() + diff --git a/application/admin/views/scripts/user/left.phtml b/application/admin/views/scripts/user/left.phtml index b0e61f5b..ff5d3990 100755 --- a/application/admin/views/scripts/user/left.phtml +++ b/application/admin/views/scripts/user/left.phtml @@ -5,4 +5,5 @@
msg; ?>
+messages): foreach($this->messages as $msg): ?> + + +msg; ?>
+messages): foreach($this->messages as $msg): ?> + + +用户名 | +电子邮箱 | +用户类型 | +单位 | +真实姓名 | +最后登录 | +
= $item['username']?> | += $item['email']; ?> | += $item['usertype']; ?> | += $item['unit']; ?> | += $item['realname']; ?> | += date("Y-m-d",strtotime($item['ts_last_login'])); ?> | +