本文整理汇总了PHP中Sample::getCommonList方法的典型用法代码示例。如果您正苦于以下问题:PHP Sample::getCommonList方法的具体用法?PHP Sample::getCommonList怎么用?PHP Sample::getCommonList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sample
的用法示例。
在下文中一共展示了Sample::getCommonList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: searchByKey
public function searchByKey($keyword, $page = 1)
{
if (!$_GET['keyword']) {
Yii::app()->user->setFlash('keyword', 'Keyword can not be blank');
$this->redirect(array("/site/index"));
}
$limit = 10;
$keyword = $_GET['keyword'];
$model = new SearchForm();
$criteria = array();
$criteria['keyword'] = strtolower($keyword);
$model->keyword = $keyword;
$params = array('type', 'dataset_type', 'author_id', 'project', 'file_type', 'file_format', 'pubdate_from', 'pubdate_to', 'common_name', 'size_from', 'size_to', 'exclude', 'external_link_type', 'size_from_unit', 'size_to_unit');
$dates = array('pubdate_from', 'pubdate_to');
foreach ($_GET as $key => $value) {
if (in_array($key, $params) && $value) {
$model->{$key} = $value;
if ($key == "pubdate_from" || $key == "pubdate_to") {
$model->{$key} = strftime("%Y-%m-%d", strtotime($value));
}
}
}
$criteria['filetypes'] = $model->file_type;
$criteria['formats'] = $model->file_format;
$criteria['size'] = array('min' => 0, 'max' => 0);
if ($model->size_from) {
$criteria['size']['min'] = $this->convert_size($model->size_from, $model->size_from_unit);
}
if ($model->size_to) {
$criteria['size']['max'] = $this->convert_size($model->size_to, $model->size_to_unit);
}
$criteria['types'] = $model->dataset_type;
$criteria['pubs'] = array('start' => $model->pubdate_from, 'end' => $model->pubdate_to);
$criteria['links'] = $model->external_link_type;
$criteria['projects'] = $model->project;
$criteria['names'] = $model->common_name;
$criteria['author_id'] = $model->author_id;
$display = array('dataset', 'sample', 'file');
if ($model->type) {
$display = $model->type;
}
$criteria['display'] = $display;
$model->criteria = CJSON::encode($model->attributes, true);
$result = $this->search($criteria);
$model->query_result = CJSON::encode($result);
//Yii::log(print_r($result, true), 'debug');
$total_page = ceil(count($result['datasets']) / $limit);
$list_dataset_types = Dataset::getTypeList($result['datasets']);
$list_projects = Dataset::getProjectList($result['datasets']);
$list_ext_types = Dataset::getExtLinkList($result['datasets']);
$list_common_names = Sample::getCommonList($result['samples']);
$list_formats = File::getFormatList($result['files']);
$list_filetypes = File::getTypeList($result['files']);
return array('datasets' => array('data' => $result['datasets'], 'total' => count($result['datasets'])), 'samples' => array('data' => $result['samples'], 'total' => count($result['samples'])), 'files' => array('data' => $result['files'], 'total' => count($result['files'])), 'model' => $model, 'list_dataset_types' => $list_dataset_types, 'list_projects' => $list_projects, 'list_ext_types' => $list_ext_types, 'list_common_names' => $list_common_names, 'list_formats' => $list_formats, 'list_filetypes' => $list_filetypes, 'display' => $display, 'total_page' => $total_page, 'page' => 1, 'limit' => 10);
}