113 lines
2.4 KiB
PHP
113 lines
2.4 KiB
PHP
<?php
|
||
use Westdc\Visual;
|
||
use Westdc\Metadata;
|
||
use Helpers\View as view;
|
||
|
||
class VisualController extends Zend_Controller_Action
|
||
{
|
||
|
||
function preDispatch()
|
||
{
|
||
$this->view->config = Zend_Registry::get('config');
|
||
$this->db=Zend_Registry::get('db');
|
||
$this->view->nav = array(
|
||
array('link'=>'/','title'=>'<i class="icon-home"></i>'),
|
||
array('link'=>'/data','title'=>$this->view->config->title->data),
|
||
);
|
||
|
||
if(view::User() === false)
|
||
{
|
||
view::Post($this,"请先登陆",'/account/login?href='.urlencode($_SERVER['REQUEST_URI']));
|
||
}
|
||
|
||
$this->uid = view::User('id');
|
||
}
|
||
|
||
function indexAction()
|
||
{
|
||
$record_type = $this->_getParam("dataset");
|
||
|
||
if(empty($record_type))
|
||
return true;
|
||
|
||
$sc = Factory::Bootstrap($record_type);
|
||
}
|
||
|
||
|
||
//********************************************************
|
||
|
||
/*
|
||
* dataAction() ajax获取数据
|
||
*
|
||
* param string $ac //请求的数据类型
|
||
* param string $dt //请求的数据来源(气象,水文)
|
||
*
|
||
* return view
|
||
*/
|
||
function dataAction()
|
||
{
|
||
$this->_helper->viewRenderer->setNoRender();
|
||
$this->_helper->layout->disableLayout();
|
||
|
||
$uuid = $this->_getParam("uuid");
|
||
$record_subset = $this->_getParam("subdataset");
|
||
|
||
$record = new Visual\Record($uuid,$record_subset);
|
||
//$record = Visual\Factory::Bootstrap($record_type);
|
||
|
||
if(!empty($record_subset))
|
||
{
|
||
$record->subset = $record_subset;
|
||
}
|
||
|
||
$data = $record();
|
||
|
||
$this->jsonexit($data);
|
||
return true;
|
||
|
||
}//dataAction() Ajax获取数据
|
||
|
||
//viewAction
|
||
public function viewAction()
|
||
{
|
||
$uuid = $this->_getParam('uuid');
|
||
|
||
if(empty($uuid) || \Helpers\Uuid::test($uuid) == false)
|
||
{
|
||
view::Post($this,"参数错误",-1);
|
||
return;
|
||
}
|
||
|
||
$visual = new Visual\Visual;
|
||
|
||
$this->view->data = $visual->getVisualVars($uuid);
|
||
|
||
if ($this->view->data['chartjs']=='highcharts') $this->_helper->viewRenderer('view-highcharts');
|
||
|
||
if(empty($this->view->data))
|
||
{
|
||
view::Post($this,"此数据不支持可视化",-1);
|
||
return;
|
||
}
|
||
|
||
$metadata = new Metadata\Metadata;
|
||
|
||
$this->view->info = $metadata->view($uuid);
|
||
|
||
|
||
}
|
||
|
||
|
||
/*
|
||
* jsonexit() 退出并返回json数据
|
||
*
|
||
* param array $data 要返回的JSON数据,可以是任意数组
|
||
*
|
||
* return application/JSON
|
||
*/
|
||
public function jsonexit($data){
|
||
$this->getResponse()->setHeader('Content-Type', 'application/json')->appendBody(json_encode($data,JSON_NUMERIC_CHECK));
|
||
return true;
|
||
}//jsonexit() 退出并返回json数据
|
||
|
||
} |