westdc-zf1/application/admin/controllers/SysController.php

175 lines
5.1 KiB
PHP

<?php
class Admin_SysController extends Zend_Controller_Action
{
function preDispatch()
{
$this->db=Zend_Registry::get('db');
$this->view->config = Zend_Registry::get('config');
$this->messenger=$this->_helper->getHelper('FlashMessenger');
$this->view->messages = $this->messenger->getMessages();
//$this->_helper->layout->setLayout('administry');//新UI
}
function postDispatch()
{
$this->view->messages = $this->messenger->getMessages();
}
function indexAction()
{
//$this->_helper->viewRenderer('');
//$this->messenger->addMessage('');
//$this->_redirect('');
}//indexAction 首页
function emailtextAction(){
$ac = $this->_request->getParam('ac');
$submit = $this->_request->getParam('submit');
$id = $this->_request->getParam('id');
if($ac=='add' && empty($submit))
{
$this->_helper->viewRenderer('emailtextadd');
}
if($ac=='add' && !empty($submit))
{
$title = $this->_request->getParam('title');
$template = $this->_request->getParam('template');
$body = $this->_request->getParam('body');
if(empty($title)) $title=='未命名模板';
$sql = "insert into emailtext (subject,template,body) values ('$title','$template','$body')";
try{
if($this->db->exec($sql)>0)
{
$this->messenger->addMessage('模板添加成功');
$this->_redirect('/admin/sys/emailtext');
}
}catch(Exception $e){
$this->messenger->addMessage('模板添加失败:'.$e->getMessage());
$this->_redirect('/admin/sys/emailtext');
}
}//创建新模板
else if($ac=='edit'&& !empty($id))
{
if(!empty($submit))
{
$title = $this->_request->getParam('title');
$template = $this->_request->getParam('template');
$body = $this->_request->getParam('body');
$sql = "update emailtext set subject='$title',template='$template',body='$body',ts_changed=now() where id='$id'";
try{
if($this->db->exec($sql)>0)
{
$this->messenger->addMessage('模板编辑成功');
$this->_redirect('/admin/sys/emailtext');
}
}catch(Exception $e){
$this->messenger->addMessage('模板编辑失败:'.$e->getMessage());
$this->_redirect('/admin/sys/emailtext');
}
}else{
$sql = "select * from emailtext where id='$id'";
$rs = $this->db->query($sql);
$rows = $rs->fetch();
$this->view->info = $rows;
$this->_helper->viewRenderer('emailtextedit');
}
}//模板编辑
else if($ac=='test'&& !empty($id))
{
if(!empty($submit))
{
try{
$subject = $this->_request->getParam('subject');
$email = $this->_request->getParam('email');
$body = $this->_request->getParam('body');
if(empty($subject) || empty($email))
{
$this->messenger->addMessage('请填写测试邮件发送信息');
$this->_redirect('/admin/sys/emailtext/ac/test/id/'.$id);
}
$mailtp=new EmailText();
$mailtp->db = $this->db;
$mailtp->tmpid = $this->_request->getParam('id');
$mailtp->data = array(
'user' => $this->_request->getParam('user')
);
$body = $mailtp->loadtmp();
if($body === false)
{
$this->messenger->addMessage('模板加载失败');
$this->_redirect('/admin/sys/emailtext/ac/test/id/'.$id);
}
$mail=new WestdcMailer($this->view->config->smtp);
$mail->setBodyText($body);
$mail->setFrom($this->view->config->service->email,'西部数据中心服务组');
$mail->addTo($email);
$mail->setSubject($subject);
if($mail->send()){
$this->messenger->addMessage('测试邮件发送成功');
$this->_redirect('/admin/sys/emailtext/ac/test/id/'.$id);
}else{
$this->messenger->addMessage('测试邮件发送失败');
$this->_redirect('/admin/sys/emailtext/ac/test/id/'.$id);
}
}catch(Exception $e){
$this->messenger->addMessage('测试邮件发送失败'.$e->getMessage());
$this->_redirect('/admin/sys/emailtext/ac/test/id/'.$id);
}
}
else
{
$sql = "select * from emailtext where id='$id'";
$rs = $this->db->query($sql);
$rows = $rs->fetch();
$this->view->info = $rows;
$this->_helper->viewRenderer('emailtexttest');
}
}//模板测试
else if($ac=='help')
{
$this->_helper->viewRenderer('emailtexthelp');
}
else
{
try{
$sql = "select id,subject,template,ts_created,ts_changed from emailtext";
$rs = $this->db->query($sql);
$rows = $rs->fetchAll();
$paginator = Zend_Paginator::factory($rows);
$paginator->setCurrentPageNumber($this->_getParam('page'));
$paginator->setItemCountPerPage($this->view->config->page->max);
$paginator->setView($this->view);
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml');
$this->view->paginator=$paginator;
}catch (Exception $e){
echo $e->getMessage();
}
}//邮件模板管理首页
}//emailtextAction 邮件模板管理
}