2011-09-23 03:49:10 +00:00
|
|
|
|
<?php
|
|
|
|
|
class Admin_NewsController 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()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
2011-10-21 08:12:04 +00:00
|
|
|
|
}//indexAction 首页
|
|
|
|
|
|
|
|
|
|
function newslistAction(){
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-10-21 08:12:04 +00:00
|
|
|
|
$sql = "select n.*,c.title as catlog from news_archives n left join news_catlog c on n.typeid=c.id";
|
|
|
|
|
$rs = $this->db->query($sql);
|
|
|
|
|
$rows = $rs->fetchAll();
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-10-21 08:12:04 +00:00
|
|
|
|
$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;
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-10-21 08:12:04 +00:00
|
|
|
|
}//newslistAction 新闻列表
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
|
|
|
|
function catlogAction()
|
|
|
|
|
{
|
|
|
|
|
$add = $this->_request->getParam('add');
|
|
|
|
|
$submit = $this->_request->getParam('submit');
|
|
|
|
|
|
|
|
|
|
$delete = $this->_request->getParam('delete');
|
|
|
|
|
|
|
|
|
|
$edit = $this->_request->getParam('edit');
|
|
|
|
|
|
|
|
|
|
if($add)
|
|
|
|
|
{
|
|
|
|
|
if(empty($submit))
|
|
|
|
|
$this->_helper->viewRenderer('catlogadd');
|
|
|
|
|
else{
|
|
|
|
|
$title = $this->_request->getParam('ctitle');
|
|
|
|
|
$keyword = $this->_request->getParam('keyword');
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$description = $this->_request->getParam('description');
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$sql="insert into news_catlog (title,keyword,description) values ('$title','$keyword','$description')";
|
2011-09-23 03:49:10 +00:00
|
|
|
|
if($this->db->exec($sql) > 0)
|
|
|
|
|
{
|
|
|
|
|
$this->messenger->addMessage('提示信息:栏目添加成功!');
|
|
|
|
|
$this->_redirect('/admin/news/catlog');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}//栏目添加
|
|
|
|
|
if($delete>0)
|
|
|
|
|
{
|
|
|
|
|
$sql = "delete from news_catlog where id='$delete'";
|
|
|
|
|
if($this->db->exec($sql)>0)
|
|
|
|
|
{
|
|
|
|
|
$this->messenger->addMessage('提示信息:栏目删除成功!');
|
|
|
|
|
$this->_redirect('/admin/news/catlog');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}//栏目删除
|
|
|
|
|
if($edit>0)
|
|
|
|
|
{
|
|
|
|
|
$title = $this->_request->getParam('ctitle');
|
|
|
|
|
$keyword = $this->_request->getParam('keyword');
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$description = $this->_request->getParam('description');
|
|
|
|
|
$displayorder = $this->_request->getParam('displayorder');
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$sql="update news_catlog set title='$title',keyword='$keyword',description='$description',displayorder='$displayorder' where id='$edit'";
|
2011-09-23 03:49:10 +00:00
|
|
|
|
if($this->db->exec($sql)>0)
|
|
|
|
|
{
|
|
|
|
|
$this->messenger->addMessage('提示信息:栏目编辑成功!');
|
|
|
|
|
$this->_redirect('/admin/news/catlog');
|
|
|
|
|
}
|
|
|
|
|
}//栏目编辑
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$sql="select * from news_catlog order by displayorder desc";
|
2011-09-23 03:49:10 +00:00
|
|
|
|
$re=$this->db->query($sql);
|
|
|
|
|
$catlogs=$re->fetchAll();
|
|
|
|
|
|
|
|
|
|
$this->view->catlogs=$catlogs;
|
|
|
|
|
|
|
|
|
|
}//栏目列表
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}//栏目管理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function newsaddAction()
|
|
|
|
|
{
|
2011-10-10 06:30:51 +00:00
|
|
|
|
$id = $this->_request->getParam('id');
|
|
|
|
|
if($id>0)
|
|
|
|
|
{
|
|
|
|
|
$sql = "select id,title,pubtime,typeid from news_archives where id=$id";
|
|
|
|
|
$rs = $this->db->query($sql);
|
|
|
|
|
$rows = $rs->fetch();
|
|
|
|
|
|
|
|
|
|
if($rows['pubtime']>time())
|
|
|
|
|
{
|
|
|
|
|
$title = "《{$rows['title']}》将在".date('Y-m-d H:i',$rows['pubtime'])."发布";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$title = "《{$rows['title']}》发布成功!";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->view->title = $title;
|
|
|
|
|
$this->view->infos = $rows;
|
|
|
|
|
$this->_helper->viewRenderer('newsaddok');
|
|
|
|
|
}
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
2011-09-28 08:29:01 +00:00
|
|
|
|
$sql="select * from news_catlog order by displayorder desc";
|
2011-09-23 03:49:10 +00:00
|
|
|
|
$re = $this->db->query($sql);
|
|
|
|
|
$types = $re->fetchAll();
|
|
|
|
|
|
2011-10-10 06:30:51 +00:00
|
|
|
|
$this->view->types=$types;
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
|
|
|
|
}//newsadd 新闻添加
|
|
|
|
|
|
2011-10-09 10:15:50 +00:00
|
|
|
|
function archivesaddAction()
|
|
|
|
|
{
|
|
|
|
|
$this->_helper->layout->disableLayout();
|
|
|
|
|
$this->_helper->viewRenderer->setNoRender();
|
|
|
|
|
|
|
|
|
|
$datavar = array(
|
|
|
|
|
'title','writer','source','image','body','typeid','pub','pubtimer','pubtime','description','keyword'
|
|
|
|
|
);
|
|
|
|
|
foreach($_POST as $k=>$v)
|
|
|
|
|
{
|
|
|
|
|
if(in_array($k,$datavar))
|
|
|
|
|
{
|
|
|
|
|
$$k=$v;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$msg=array();
|
|
|
|
|
if(empty($title)) $msg[]="标题不能为空";
|
|
|
|
|
if(strlen($title)>40) $msg[]="标题长度不能超过40个字符";
|
|
|
|
|
if(strlen($writer)>50) $msg[]="作者长度不能超过50个字符";
|
|
|
|
|
if(strlen($keyword)>200) $msg[] = "关键词长度不能超过200个字符,现在输入了".strlen($keyword)."个字符";
|
|
|
|
|
if(strlen($description)>200) $msg[] = "内容描述不能超过200个字符,现在输入了".strlen($description)."个字符";
|
|
|
|
|
if(empty($body)) $msg[]="请填写内容";
|
|
|
|
|
if($typeid==0) $msg[]="请选择栏目";
|
|
|
|
|
|
|
|
|
|
if(count($msg)>0)
|
|
|
|
|
{
|
|
|
|
|
echo '<div class="box box-error">发布失败:</div>
|
|
|
|
|
<div class="box box-error-msg">
|
|
|
|
|
<ol>';
|
|
|
|
|
foreach ($msg as $v)
|
|
|
|
|
{
|
|
|
|
|
echo '<li>'.$v.'</li>';
|
|
|
|
|
}
|
|
|
|
|
echo'</ol>
|
|
|
|
|
</div>
|
|
|
|
|
';
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if(!empty($pubtimer))
|
|
|
|
|
{
|
2011-10-10 06:30:51 +00:00
|
|
|
|
$pubtime = strtotime($pubtime);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$pubtime = time();
|
2011-10-09 10:15:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$date=array(
|
|
|
|
|
'title' => $title,
|
|
|
|
|
'writer' => $writer,
|
|
|
|
|
'keyword' => $keyword,
|
|
|
|
|
'description'=> $description,
|
|
|
|
|
'image' => $image,
|
|
|
|
|
'writetime' => time(),
|
|
|
|
|
'pubtime' => $pubtime,
|
|
|
|
|
'source' => $source,
|
|
|
|
|
'typeid' => $typeid,
|
2011-10-10 06:30:51 +00:00
|
|
|
|
'pub' => $pub,
|
|
|
|
|
'body' => $body
|
2011-10-09 10:15:50 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
2011-10-10 06:30:51 +00:00
|
|
|
|
|
|
|
|
|
$sql = "INSERT INTO news_archives (title,writer,keyword,description,image,writetime,pubtime,source,typeid,pub)
|
|
|
|
|
VALUES ('{$date['title']}',
|
|
|
|
|
'{$date['writer']}',
|
|
|
|
|
'{$date['keyword']}',
|
|
|
|
|
'{$date['description']}',
|
|
|
|
|
'{$date['image']}',
|
|
|
|
|
'{$date['writetime']}',
|
|
|
|
|
'{$date['pubtime']}',
|
|
|
|
|
'{$date['source']}',
|
|
|
|
|
'{$date['typeid']}',
|
|
|
|
|
'{$date['pub']}')
|
|
|
|
|
RETURNING id
|
|
|
|
|
";
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
$sth = $this->db->prepare($sql);
|
|
|
|
|
if($sth->execute())
|
2011-10-09 10:15:50 +00:00
|
|
|
|
{
|
2011-10-10 06:30:51 +00:00
|
|
|
|
$temp = $sth->fetch(PDO::FETCH_ASSOC);
|
|
|
|
|
$sql = "INSERT INTO news_archivesaddon (id,body) values ('{$temp['id']}','{$date['body']}')";
|
|
|
|
|
if($this->db->exec($sql)>0)
|
|
|
|
|
{
|
|
|
|
|
echo '<div class="box box-success">发布成功!</div><script>
|
|
|
|
|
setTimeout("self.location=\'/admin/news/newsadd/id/'.$temp['id'].'\'",500);
|
|
|
|
|
</script>';
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$sql = "delete from news_archives where id={$temp['id']}";
|
|
|
|
|
$this->db->exec($sql);
|
|
|
|
|
echo '<div class="box box-success">发布失败!写入附加表出错,请联系管理员</div>';
|
|
|
|
|
}
|
2011-10-09 10:15:50 +00:00
|
|
|
|
}
|
2011-10-10 06:30:51 +00:00
|
|
|
|
|
|
|
|
|
}catch(Exception $e){
|
|
|
|
|
echo '<div class="box box-error">文章发布失败:</div>
|
|
|
|
|
<div class="box box-error-msg">
|
|
|
|
|
<ol>
|
|
|
|
|
<li>'.$e->getMessage().'</li>
|
|
|
|
|
</ol>
|
|
|
|
|
</div>';
|
2011-10-09 10:15:50 +00:00
|
|
|
|
}
|
2011-10-10 06:30:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-09 10:15:50 +00:00
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
<div class="box box-info">Info box sample</div>
|
|
|
|
|
<div class="box box-warning">Warning box sample</div>
|
|
|
|
|
<div class="box box-error">Error box sample</div>
|
|
|
|
|
<div class="box box-error-msg">
|
|
|
|
|
<ol>
|
|
|
|
|
<li>Credit card number entered is invalid</li>
|
|
|
|
|
<li>Credit card verification number must be a valid number</li>
|
|
|
|
|
</ol>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="box box-success">Success box sample</div>
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
}
|
2011-09-23 03:49:10 +00:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|