2009-03-06 03:20:46 +00:00
< ? php
class KnowledgeController extends Zend_Controller_Action
{
function indexAction ()
{
}
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 ();
2013-03-27 08:36:44 +00:00
$this -> view -> theme = new Theme ();
2013-04-10 08:14:51 +00:00
}
function datacenterAction ()
{
$siteid = " e31f5ea7-a4af-4ae3-9ac1-1a84132c4338 " ; //site uuid from geonetowrk
$sql = " select * from mdref mr left join reference r on mr.refid=r.id where mr.uuid=? order by r.id desc " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ( array ( $siteid ));
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
}
function userAction ()
{
$sql = " select * from reference where id in (select refid from mdref where reftype=1 and uuid in (select uuid from normalmetadata)) order by id desc " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
}
function authorAction ()
{
$sql = " select * from reference where id in (select refid from mdref where reftype=0 and uuid in (select uuid from normalmetadata)) order by id desc " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
}
function westplanAction ()
{
2013-04-15 04:02:25 +00:00
$sql = " select distinct array_to_string(array(select author from knl_author t where t.item_id=c.item_id order by place asc),'; ') as author,c.title,c.publisher,c.ts_created,c.ts_issued,c.item_id,c.url from knl_article c where c.url <>'' order by ts_created desc " ;
2013-04-10 08:14:51 +00:00
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
}
function searchAction ()
{
$key = $this -> _request -> getParam ( 'q' );
$source = $this -> _request -> getParam ( 'searchsource' );
if ( preg_match ( " / \" |'|<|>/ " , $key ))
{
$data = array ( '<' => '<' , '>' => '>' , " \ ' " => '’ ' , " \" " => '”' );
$patterns = array ();
$replacements = array ();
foreach ( $data as $k => $v )
{
$patterns [] = '/' . $k . '/i' ;
$replacements [] = $v ;
}
ksort ( $patterns );
ksort ( $replacements );
$key = preg_replace ( $patterns , $replacements , $key );
}
if ( ! empty ( $key ) && $source == 'datasource' ) {
$search = new SimpleSearch ( $key );
$where = $search -> sql_expr ( array ( " reference " ));
$sql = " select * from reference where " . $where . " order by id desc " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
$this -> view -> key = $key ;
$this -> view -> source = $source ;
$this -> _helper -> viewRenderer ( 'search-data' );
}
else if ( ! empty ( $key ) && $source == 'westsource' ) {
$search = new SimpleSearch ( $key );
$where = $search -> sql_expr ( array ( " c.title " , " a.author " ));
$sql = " select distinct a.author,c.title,c.publisher,c.ts_created,c.ts_issued,c.item_id,c.url from knl_article c left join knl_author a on c.item_id=a.item_id where c.url <>'' and a.place=1 and $where order by ts_created desc " ;
$sth = $this -> db -> prepare ( $sql );
$sth -> execute ();
$rows = $sth -> fetchAll ();
$paginator = Zend_Paginator :: factory ( $rows );
$paginator -> setCurrentPageNumber ( $this -> _getParam ( 'page' ));
$paginator -> setItemCountPerPage ( 10 );
$paginator -> setView ( $this -> view );
Zend_View_Helper_PaginationControl :: setDefaultViewPartial ( 'pagination_param.phtml' );
$this -> view -> paginator = $paginator ;
$this -> view -> key = $key ;
$this -> view -> source = $source ;
//$this->_helper->viewRenderer('search-data');
}
}
2009-03-06 03:20:46 +00:00
}