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 ();
}
function postDispatch ()
{
$this -> view -> messages = $this -> messenger -> getMessages ();
}
function indexAction ()
{
2012-04-09 07:50:57 +00:00
$sql = " select n.*,c.title as catlog,u.realname as author from news_archives n
left join news_category c on n . typeid = c . id
LEFT JOIN users u ON n . userid = u . id
order by n . ts_created desc limit 10 " ;
2012-03-27 07:02:36 +00:00
$rs = $this -> db -> query ( $sql );
$rows = $rs -> fetchAll ();
$this -> view -> news = $rows ;
$sql = " SELECT count(id) as c FROM news_archives " ;
$rs = $this -> db -> query ( $sql );
$row = $rs -> fetch ();
$this -> view -> totle = $row ;
2012-04-09 07:50:57 +00:00
$sql = " SELECT count(id) as c FROM news_category " ;
2012-03-27 07:02:36 +00:00
$rs = $this -> db -> query ( $sql );
$row = $rs -> fetch ();
$this -> view -> typec = $row ;
2011-09-23 03:49:10 +00:00
2011-10-21 08:12:04 +00:00
} //indexAction 首页
function newslistAction (){
2011-09-23 03:49:10 +00:00
2012-03-27 07:02:36 +00:00
$type = $this -> _request -> getParam ( 'type' );
if ( ! empty ( $type ))
{
2012-04-09 07:50:57 +00:00
$sql = " select n.*,c.title as catlog,c.url,u.realname as author from news_archives n
left join news_category c on n . typeid = c . id
LEFT JOIN users u ON n . userid = u . id
WHERE n . typeid = '$type' order by n . ts_created desc " ;
2012-03-27 07:02:36 +00:00
} else
{
2012-04-09 07:50:57 +00:00
$sql = " select n.*,c.title as catlog,c.url,u.realname as author from news_archives n
left join news_category c on n . typeid = c . id
LEFT JOIN users u ON n . userid = u . id
order by n . ts_created desc " ;
2012-03-27 07:02:36 +00:00
}
2011-10-21 08:12:04 +00:00
$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
2012-04-09 07:50:57 +00:00
$sql = " select * from news_category order by displayorder desc " ;
2012-03-27 07:02:36 +00:00
$re = $this -> db -> query ( $sql );
$types = $re -> fetchAll ();
$this -> view -> types = $types ;
$this -> view -> type = $type ;
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 )
{
2012-11-06 03:19:24 +00:00
$this -> _helper -> viewRenderer ( 'category-add' );
$this -> view -> categories = $this -> getAllcategory ();
2012-08-23 08:01:19 +00:00
if ( empty ( $submit )){
2012-11-06 03:19:24 +00:00
//$this->_helper->viewRenderer('category-add');
2012-08-23 08:01:19 +00:00
} else {
2012-11-06 03:19:24 +00:00
$data = array ();
$data [ 'title' ] = $this -> _request -> getParam ( 'ctitle' );
$data [ 'url' ] = $this -> _request -> getParam ( 'url' );
$data [ 'keywords' ] = $this -> _request -> getParam ( 'keyword' );
$data [ 'description' ] = $this -> _request -> getParam ( 'description' );
$data [ 'fid' ] = $this -> _request -> getParam ( 'fid' );
$data [ 'display' ] = 1 ;
$this -> view -> info = $data ;
if ( empty ( $data [ 'title' ]))
{
$this -> view -> error = " 请输入标题 " ;
return true ;
}
if ( empty ( $data [ 'url' ]))
{
$this -> view -> error = " 请输入栏目连接, 如http://westdc.westgis.ac.cn/news/notice, 则只需要输入notice " ;
return true ;
}
if ( ! preg_match ( " /^[a-z]+ $ / " , $data [ 'url' ]))
{
$this -> view -> error = " url格式不正确, 仅允许26个小写字母 " ;
return true ;
}
2011-09-23 03:49:10 +00:00
2012-11-06 03:19:24 +00:00
if ( $this -> db -> insert ( " news_category " , $data ))
2011-09-23 03:49:10 +00:00
{
2012-11-06 03:19:24 +00:00
$this -> view -> msg = '提示信息:栏目添加成功!' ;
$this -> view -> jump_url = '/admin/news/catlog' ;
return true ;
} else {
$this -> view -> error = " 添加失败,请重试 " ;
return true ;
2011-09-23 03:49:10 +00:00
}
}
} //栏目添加
if ( $delete > 0 )
{
2012-04-09 07:50:57 +00:00
$sql = " delete from news_category where id=' $delete ' " ;
2011-09-23 03:49:10 +00:00
if ( $this -> db -> exec ( $sql ) > 0 )
{
$this -> messenger -> addMessage ( '提示信息:栏目删除成功!' );
$this -> _redirect ( '/admin/news/catlog' );
}
} //栏目删除
2012-08-23 08:01:19 +00:00
2011-09-23 03:49:10 +00:00
if ( $edit > 0 )
{
2012-08-23 08:01:19 +00:00
$submit = $this -> _getParam ( 'submit' );
if ( empty ( $submit ))
2011-09-23 03:49:10 +00:00
{
2012-08-23 08:01:19 +00:00
$this -> _helper -> viewRenderer ( 'category-edit' );
$this -> view -> info = $this -> getCategory ( $edit );
$this -> view -> categories = $this -> getAllcategory ( $edit );
} else {
$title = $this -> _request -> getParam ( 'ctitle' );
$url = $this -> _request -> getParam ( 'url' );
$keyword = $this -> _request -> getParam ( 'keyword' );
$description = $this -> _request -> getParam ( 'description' );
$displayorder = $this -> _request -> getParam ( 'displayorder' );
2012-08-31 07:38:09 +00:00
$display = ( int ) $this -> _request -> getParam ( 'display' );
2012-08-23 08:01:19 +00:00
$fid = $this -> _request -> getParam ( 'fid' );
2012-08-31 07:38:09 +00:00
if ( empty ( $displayorder ))
{
$displayorder = 0 ;
}
$sql = " update news_category set title=' $title ',keywords=' $keyword ',description=' $description ',displayorder= $displayorder ,url=' $url ',fid= $fid ,display= $display where id= $edit " ;
2012-08-23 08:01:19 +00:00
if ( $this -> db -> exec ( $sql ) > 0 )
{
$this -> messenger -> addMessage ( '提示信息:栏目编辑成功!' );
$this -> _redirect ( '/admin/news/catlog' );
}
2011-09-23 03:49:10 +00:00
}
2012-08-23 08:01:19 +00:00
} //栏目编辑
2011-09-23 03:49:10 +00:00
else
{
2012-11-07 02:35:58 +00:00
include_once ( " news.php " );
$news = new news ( $this -> db );
$catlogs = $news -> getAllCategory ( - 1 );
/*
2012-08-23 08:01:19 +00:00
$sql = " select * from news_category WHERE fid=0 order by displayorder asc " ;
2011-09-23 03:49:10 +00:00
$re = $this -> db -> query ( $sql );
$catlogs = $re -> fetchAll ();
2012-08-23 08:01:19 +00:00
foreach ( $catlogs as $k => $v )
{
$catlogs [ $k ][ 'sub' ] = $this -> getSubCategory ( $v [ 'id' ]);
}
2012-11-07 02:35:58 +00:00
*/
2011-09-23 03:49:10 +00:00
$this -> view -> catlogs = $catlogs ;
} //栏目列表
} //栏目管理
2012-08-23 08:01:19 +00:00
function getSubCategory ( $fid )
{
$sql = " SELECT * FROM news_category WHERE fid=? " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ( array ( $fid ));
$rows = $sth -> fetchAll ();
if ( empty ( $rows ) || count ( $rows ) < 1 )
{
return 0 ;
} else {
return $rows ;
}
}
function getCategory ( $id )
{
$sql = " SELECT * FROM news_category WHERE id=? " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ( array ( $id ));
$rows = $sth -> fetch ();
return $rows ;
}
function getAllcategory ( $id = 0 )
{
$_addon = '' ;
if ( ! empty ( $id ))
{
$_addon = " WHERE id not in ( $id ) " ;
}
$sql = " SELECT * FROM news_category $_addon ORDER BY id DESC " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
return $sth -> fetchAll ();
}
2011-09-23 03:49:10 +00:00
function newsaddAction ()
{
2011-10-10 06:30:51 +00:00
$id = $this -> _request -> getParam ( 'id' );
if ( $id > 0 )
{
2012-03-27 07:02:36 +00:00
$sql = " SELECT arc.id,arc.title,arc.ts_published,arc.typeid,cat.url,cat.id as typeid from news_archives arc
2012-04-09 07:50:57 +00:00
LEFT JOIN news_category cat ON arc . typeid = cat . id
2012-03-27 07:02:36 +00:00
WHERE arc . id = $id " ;
2011-10-10 06:30:51 +00:00
$rs = $this -> db -> query ( $sql );
$rows = $rs -> fetch ();
2012-03-27 07:02:36 +00:00
if ( $rows [ 'ts_published' ] > time ())
2011-10-10 06:30:51 +00:00
{
2012-03-27 07:02:36 +00:00
$title = " 《 { $rows [ 'title' ] } 》将在 " . date ( 'Y-m-d H:i' , $rows [ 'ts_published' ]) . " 发布 " ;
2011-10-10 06:30:51 +00:00
}
else
{
$title = " 《 { $rows [ 'title' ] } 》发布成功! " ;
}
$this -> view -> title = $title ;
$this -> view -> infos = $rows ;
$this -> _helper -> viewRenderer ( 'newsaddok' );
}
2011-09-23 03:49:10 +00:00
2012-04-09 07:50:57 +00:00
$sql = " select * from news_category 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 新闻添加
2012-03-27 07:02:36 +00:00
function replacehtml ( $html )
{
$newString = htmlentities ( $html , ENT_QUOTES , " UTF-8 " );
return $newString ;
}
2011-10-09 10:15:50 +00:00
function archivesaddAction ()
{
$this -> _helper -> layout -> disableLayout ();
$this -> _helper -> viewRenderer -> setNoRender ();
2012-04-09 07:50:57 +00:00
$auth = Zend_Auth :: getInstance ();
if ( $auth -> hasIdentity ())
{
$user = $auth -> getIdentity ();
$uid = $user -> id ;
}
2011-10-09 10:15:50 +00:00
$datavar = array (
2012-04-09 07:50:57 +00:00
'title' , 'source' , 'image' , 'body' , 'typeid' , 'pub' , 'pubtimer' , 'pubtime' , 'description' , 'keyword'
2011-10-09 10:15:50 +00:00
);
foreach ( $_POST as $k => $v )
{
if ( in_array ( $k , $datavar ))
{
$$k = $v ;
}
}
$msg = array ();
if ( empty ( $title )) $msg [] = " 标题不能为空 " ;
2012-03-27 07:02:36 +00:00
if ( strlen ( $title ) > 200 ) $msg [] = " 标题长度不能超过200个字符 " ;
2011-10-09 10:15:50 +00:00
if ( strlen ( $keyword ) > 200 ) $msg [] = " 关键词长度不能超过200个字符, 现在输入了 " . strlen ( $keyword ) . " 个字符 " ;
2012-03-27 07:02:36 +00:00
if ( strlen ( $description ) > 500 ) $msg [] = " 内容描述不能超过200个字符, 现在输入了 " . strlen ( $description ) . " 个字符 " ;
2011-10-09 10:15:50 +00:00
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 ))
{
2012-03-27 07:02:36 +00:00
$pubtime = date ( " Y-m-d H:i:s " , strtotime ( $pubtime ));
2011-10-10 06:30:51 +00:00
}
else
{
2012-03-27 07:02:36 +00:00
$pubtime = date ( " Y-m-d H:i:s " , time ());
2011-10-09 10:15:50 +00:00
}
$date = array (
2012-03-27 07:02:36 +00:00
'title' => $this -> db -> quote ( $this -> replacehtml ( $title )),
2012-04-09 07:50:57 +00:00
'writer' => $uid ,
2012-03-27 07:02:36 +00:00
'keyword' => $this -> db -> quote ( $this -> replacehtml ( $keyword )),
'description' => $this -> db -> quote ( $this -> replacehtml ( $description )),
'image' => $image ,
2011-10-09 10:15:50 +00:00
'pubtime' => $pubtime ,
'source' => $source ,
'typeid' => $typeid ,
2011-10-10 06:30:51 +00:00
'pub' => $pub ,
2012-03-27 07:02:36 +00:00
'body' => $this -> db -> quote ( $body )
2011-10-09 10:15:50 +00:00
);
2011-10-10 06:30:51 +00:00
2012-04-09 07:50:57 +00:00
$sql = " INSERT INTO news_archives (title,userid,keywords,description,image,ts_published,source,typeid,is_pub,body)
2012-03-27 07:02:36 +00:00
VALUES (
" . $date['title'] . " ,
" . $date['writer'] . " ,
" . $date['keyword'] . " ,
" . $date['description'] . " ,
2011-10-10 06:30:51 +00:00
'{$date[' image ']}' ,
'{$date[' pubtime ']}' ,
'{$date[' source ']}' ,
'{$date[' typeid ']}' ,
2012-04-09 07:50:57 +00:00
'{$date[' pub ']}' ,
" . $date['body'] . "
)
2011-10-10 06:30:51 +00:00
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 );
2012-04-09 07:50:57 +00:00
echo ' < div class = " box box-success " > 发布成功 !</ div >< script >
setTimeout ( " self.location= \ '/admin/news/newsadd/id/'. $temp['id'] .' \ ' " , 500 );
</ script > ' ;
} else {
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 > ' ;
2012-03-27 07:02:36 +00:00
}
}
} // 文章发布
function newseditAction ()
{
$id = $this -> _request -> getParam ( 'id' );
2012-08-31 07:38:09 +00:00
$sql = " select * from news_archives arc where arc.id= $id " ;
2012-03-27 07:02:36 +00:00
$rs = $this -> db -> query ( $sql );
$row = $rs -> fetch ();
$this -> view -> ev = $row ;
2012-08-31 07:38:09 +00:00
if ( ! empty ( $row [ 'image' ]))
{
$sql = " SELECT * FROM attachments WHERE filename=' " . str_replace ( " /upload/ " , '' , $row [ 'image' ]) . " ' " ;
$rs = $this -> db -> query ( $sql );
$row = $rs -> fetch ();
$this -> view -> att = $row ;
}
2012-04-09 07:50:57 +00:00
$sql = " select * from news_category order by displayorder desc " ;
2012-03-27 07:02:36 +00:00
$re = $this -> db -> query ( $sql );
$types = $re -> fetchAll ();
$this -> view -> types = $types ;
}
function archiveseditAction ()
{
$this -> _helper -> layout -> disableLayout ();
$this -> _helper -> viewRenderer -> setNoRender ();
$id = $this -> _request -> getParam ( 'id' );
if ( empty ( $id ))
{
echo ' < div class = " box box-error " > 发布失败 :</ div >
< div class = " box box-error-msg " >
< ol > ' ;
echo '<li>参数错误</li>' .
' </ ol >
</ div >
' ;
}
2012-04-09 07:50:57 +00:00
$auth = Zend_Auth :: getInstance ();
if ( $auth -> hasIdentity ())
{
$user = $auth -> getIdentity ();
$uid = $user -> id ;
}
2012-03-27 07:02:36 +00:00
$datavar = array (
2012-04-09 07:50:57 +00:00
'title' , 'source' , 'image' , 'body' , 'typeid' , 'pub' , 'pubtimer' , 'pubtime' , 'description' , 'keyword'
2012-03-27 07:02:36 +00:00
);
foreach ( $_POST as $k => $v )
{
if ( in_array ( $k , $datavar ))
{
$$k = $v ;
2011-10-09 10:15:50 +00:00
}
2012-03-27 07:02:36 +00:00
}
$msg = array ();
if ( empty ( $title )) $msg [] = " 标题不能为空 " ;
if ( strlen ( $title ) > 200 ) $msg [] = " 标题长度不能超过200个字符 " ;
if ( strlen ( $keyword ) > 200 ) $msg [] = " 关键词长度不能超过200个字符, 现在输入了 " . strlen ( $keyword ) . " 个字符 " ;
if ( strlen ( $description ) > 500 ) $msg [] = " 内容描述不能超过500个字符, 现在输入了 " . 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
{
$pubtime = date ( " Y-m-d H:i:s " , strtotime ( $pubtime ));
$date = array (
'title' => $this -> replacehtml ( $title ),
2012-04-09 07:50:57 +00:00
'writer' => $uid ,
2012-03-27 07:02:36 +00:00
'keyword' => $this -> replacehtml ( $keyword ),
'description' => $this -> replacehtml ( $description ),
'image' => $image ,
'pubtime' => $pubtime ,
'source' => $this -> replacehtml ( $source ),
'typeid' => $typeid ,
'pub' => $pub ,
'body' => $this -> db -> quote ( $body )
);
2011-10-10 06:30:51 +00:00
2012-03-27 07:02:36 +00:00
$sql = " UPDATE news_archives SET
title = '{$date[' title ']}' ,
2012-04-09 07:50:57 +00:00
userid = '{$date[' writer ']}' ,
keywords = '{$date[' keyword ']}' ,
2012-03-27 07:02:36 +00:00
description = '{$date[' description ']}' ,
image = '{$date[' image ']}' ,
ts_published = '{$date[' pubtime ']}' ,
source = '{$date[' source ']}' ,
typeid = '{$date[' typeid ']}' ,
2012-04-09 07:50:57 +00:00
is_pub = '{$date[' pub ']}' ,
body = " . $date['body'] . "
2012-03-27 07:02:36 +00:00
WHERE id = '$id'
" ;
2011-10-10 06:30:51 +00:00
2012-03-27 07:02:36 +00:00
try {
$sth = $this -> db -> prepare ( $sql );
if ( $sth -> execute ())
{
echo ' < div class = " box box-success " > 发布成功 !</ div >< script >
setTimeout ( " self.location= \ '/admin/news/newsadd/id/'. $id .' \ ' " , 500 );
</ script > ' ;
2012-04-09 07:50:57 +00:00
} else {
2012-03-27 07:02:36 +00:00
echo '<div class="box box-success">发布失败!写入附加表出错,请联系管理员</div>' ;
}
} catch ( Exception $e ){
echo ' < div class = " box box-error " > 文章发布失败: </ div >
2011-10-09 10:15:50 +00:00
< div class = " box box-error-msg " >
< ol >
2012-03-27 07:02:36 +00:00
< li > '.$e->getMessage().' </ li >
2011-10-09 10:15:50 +00:00
</ ol >
2012-03-27 07:02:36 +00:00
</ div > ' ;
}
}
} // 文章编辑
function deleteAction (){
2011-10-09 10:15:50 +00:00
2012-03-27 07:02:36 +00:00
$id = $this -> _request -> getParam ( 'id' );
$sql = " DELETE FROM news_archives WHERE id=' $id ' " ;
2012-04-09 07:50:57 +00:00
$this -> db -> exec ( $sql );
2012-03-27 07:02:36 +00:00
$this -> messenger -> addMessage ( '提示信息:文章删除成功!' );
$this -> _redirect ( '/admin/news/newslist' );
} //文章删除
2012-08-31 07:38:09 +00:00
function uploadAction (){
try {
$auth = Zend_Auth :: getInstance ();
if ( $auth -> hasIdentity ())
{
$user = $auth -> getIdentity ();
$userid = $user -> id ;
}
include_once ( 'files.php' );
$files = new files ();
$msg = $files -> upload ( '../htdocs/upload/' , $_FILES [ 'Filedata' ], 'image' );
if ( empty ( $msg [ 'error' ]))
{
$msg [ 'error' ] = " " ;
$filename = $msg [ 'db_path' ];
$filesize = $msg [ 'file_size' ];
$filedesc = $this -> _request -> getParam ( 'filedesc' );
$filetype = 'thumb' ;
$realname = $msg [ 'realname' ];
$fileurl = $msg [ 'file_url' ];
$sql = " insert into attachments (filename,filetype,filedesc,userid,filesize,realname) values (' $filename ',' $filetype ',' $filedesc ',' $userid ',' $filesize ',' $realname ') RETURNING id " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$att = $sth -> fetch ( PDO :: FETCH_ASSOC );
$msg [ 'attid' ] = $attid = $att [ 'id' ];
$imgct = files :: getImageType ( '../htdocs/upload/' . $filename );
if ( ! isset ( $imgct [ 'error' ])) $preview = '<img src="/upload/' . $filename . '" style="display:block;max-height:300px;" />' ;
else $preview = " " ;
$msg [ 'html' ] = $preview . $realname . '[已完成]<input type="hidden" name="image" value="/upload/' . $filename . '" /><div class="cancel"><a href="javascript:;" id="deletebtn_' . $attid . '"><img border="0" src="/static/js/uploadify/cancel.png" /></a></div>' ;
$msg [ 'preview' ] = " /images/ " . $attid ;
echo Zend_Json :: encode ( $msg );
exit ();
} else {
$msg [ 'error' ] = '附件上传失败:' . $msg [ 'error' ];
@ unlink ( $filename );
echo Zend_Json :: encode ( $msg );
exit ();
}
} catch ( Exception $e ){
$msg [ 'error' ] = " 错误: " . $e -> getMessage ();
echo Zend_Json :: encode ( $msg );
exit ();
}
}
function getattsAction (){
$this -> _helper -> layout () -> disableLayout ();
$this -> _helper -> viewRenderer -> setNoRender ();
$id = $this -> _request -> getParam ( 'id' );
if ( $id != '' )
{
$auth = Zend_Auth :: getInstance ();
if ( $auth -> hasIdentity ())
{
$sql = " select att.realname,att.id,att.filename from attachments att
left join archives_att ratt on att . id = ratt . attid
where ratt . arcid = $id " ;
$rs = $this -> db -> query ( $sql );
$atts = $rs -> fetchAll ();
include_once ( 'files/files.php' );
foreach ( $atts as $k => $v )
{
$imgct = files :: getImageType ( '../htdocs/upload/' . $v [ 'filename' ]);
if ( ! isset ( $imgct [ 'error' ])) $preview = '<img src="/images/' . $v [ 'id' ] . '" style="display:block;" />' ;
else $preview = " " ;
$atts [ $k ][ 'html' ] = $preview . $v [ 'realname' ] . '[已完成]<input type="hidden" name="atts[]" value="' . $v [ 'id' ] . '" /><div class="cancel"><a href="javascript:;" id="deletebtn_' . $v [ 'id' ] . '"><img border="0" src="/static/js/uploadify/cancel.png" /></a></div>' ;
}
echo Zend_Json :: encode ( $atts );
exit ();
} else
{
exit ();
}
} else {
exit ();
}
}
function delattAction (){
$this -> _helper -> layout () -> disableLayout ();
$this -> _helper -> viewRenderer -> setNoRender ();
$id = $this -> _request -> getParam ( 'id' );
$aid = $this -> _getParam ( 'aid' );
$basepath = '../htdocs/upload/' ;
$info = $this -> getFileinfo ( $id );
$filepath = $basepath . $info [ 'filename' ];
try {
if ( empty ( $aid ))
{
$sql = " DELETE FROM attachments WHERE id= $id " ;
if ( $this -> db -> exec ( $sql ) > 0 )
{
@ unlink ( $filepath );
}
} else {
$sql = " delete from archives_att where attid=' $id ' and arcid=' $aid ' " ;
if ( $this -> db -> exec ( $sql ) > 0 )
{
$sql = " DELETE FROM attachments WHERE id= $id " ;
if ( $this -> db -> exec ( $sql ) > 0 ){ @ unlink ( $filepath );}
}
}
}
catch ( Exception $e ){}
}
public function getFileinfo ( $id ){
$sql = " select * from attachments where id=' $id ' " ;
$re = $this -> db -> query ( $sql );
$row = $re -> fetch ();
return $row ;
}
public function jsonexit ( $data ){
$this -> getResponse () -> setHeader ( 'Content-Type' , 'application/json' ) -> appendBody ( Zend_Json :: encode ( $data ));
return true ;
}
2011-09-23 03:49:10 +00:00
}