rhymix/modules/document/document.admin.model.php

114 lines
3 KiB
PHP

<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
/**
* documentAdminModel class
* Document the module's admin model class
*
* @author NAVER (developers@xpressengine.com)
* @package /modules/document
* @version 0.1
*/
class DocumentAdminModel extends Document
{
/**
* Initialization
* @return void
*/
function init()
{
}
/**
* Get a document list from the trash
* @param object $obj
* @return object
*/
function getDocumentTrashList($obj)
{
// check a list and its order
if(!in_array($obj->sort_index, array('list_order','delete_date','title'))) $obj->sort_index = 'list_order';
if(!in_array($obj->order_type, array('desc','asc'))) $obj->order_type = 'asc';
// get a module_srl if mid is returned instead of modul_srl
if($obj->mid)
{
$oModuleModel = getModel('module');
$obj->module_srl = $oModuleModel->getModuleSrlByMid($obj->mid);
unset($obj->mid);
}
// check if the module_srl is an array
$args = new stdClass();
if(is_array($obj->module_srl)) $args->module_srl = implode(',', $obj->module_srl);
else $args->module_srl = $obj->module_srl;
// Variable check
$args->sort_index = $obj->sort_index;
$args->order_type = $obj->order_type;
$args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20;
$args->page_count = $obj->page_count?$obj->page_count:10;
$args->member_srl = $obj->member_srl;
// Specify query_id
$query_id = 'document.getTrashList';
// Execute a query
$output = executeQueryArray($query_id, $args);
// Return if no result or an error occurs
if(!$output->toBool() || !count($output->data)) return $output;
$idx = 0;
$data = $output->data;
unset($output->data);
$keys = array_keys($data);
$virtual_number = $keys[0];
foreach($data as $key => $attribute)
{
$oDocument = new documentItem();
$oDocument->setAttribute($attribute, false);
$output->data[$virtual_number] = $oDocument;
$virtual_number--;
}
return $output;
}
/**
* Get the doc which has trash_srl from the trash can
* @param int $trash_srl
* @return object
*/
function getDocumentTrash($trash_srl)
{
$args = new stdClass();
$args->trash_srl = $trash_srl;
$output = executeQuery('document.getTrash', $args);
$node = $output->data;
if(!$node) return;
return $node;
}
/**
* Return document count with date
* @param string $date
* @parpam array $moduleSrlList
* @param array $statusList
* @return int
*/
function getDocumentCountByDate($date = '', $moduleSrlList = array(), $statusList = array())
{
$args = new stdClass();
if($date) $args->regDate = date('Ymd', strtotime($date));
if(count($moduleSrlList)>0) $args->moduleSrlList = $moduleSrlList;
if(count($statusList)>0) $args->statusList = $statusList;
$output = executeQuery('document.getDocumentCountByDate', $args);
if(!$output->toBool()) return 0;
return $output->data->count;
}
}
/* End of file document.admin.model.php */
/* Location: ./modules/document/document.admin.model.php */