Example #1
0
 /**
  * 初始化函数
  *
  * @see \My\Common\ActionController::init()
  */
 public function init()
 {
     resetTimeMemLimit();
     // 特殊处理包含点的变量,将__DOT__转换为.
     convertVarNameWithDot($_POST);
     convertVarNameWithDot($_FILES);
     convertVarNameWithDot($_REQUEST);
     // 获取传递参数
     $this->_project_id = isset($_REQUEST['__PROJECT_ID__']) ? trim($_REQUEST['__PROJECT_ID__']) : '';
     $this->_collection_id = isset($_REQUEST['__COLLECTION_ID__']) ? trim($_REQUEST['__COLLECTION_ID__']) : '';
     // 初始化model
     $this->_collection = $this->model('Project\\Model\\Collection');
     $this->_structure = $this->model('Project\\Model\\Structure');
     $this->_plugin_structure = $this->model('Project\\Model\\PluginStructure');
     $this->_order = $this->model('Project\\Model\\Order');
     $this->_mapping = $this->model('Project\\Model\\Mapping');
     $this->_statistic = $this->model('Project\\Model\\Statistic');
     // 检查必要的参数
     if (empty($this->_project_id)) {
         throw new \Exception('$this->_project_id值未设定');
     }
     if (empty($this->_collection_id)) {
         throw new \Exception('$this->_collection_id值未设定');
     }
     // 进行内部私有变量的赋值
     $this->_collection_alias = $this->getCollectionAliasById($this->_collection_id);
     $this->_collection_id = $this->getCollectionIdByAlias($this->_collection_id);
     $this->_collection_name = 'idatabase_collection_' . $this->_collection_id;
     // 进行访问权限验证
     if (!$_SESSION['acl']['admin']) {
         if (!in_array($this->_collection_id, $_SESSION['acl']['collection'], true)) {
             return $this->deny();
         }
     }
     // 一次性获取当前集合的完整的文档结构信息
     $this->_schema = $this->getSchema();
     // 获取映射关系,初始化数据集合model
     $mapCollection = $this->_mapping->findOne(array('project_id' => $this->_project_id, 'collection_id' => $this->_collection_id, 'active' => true));
     if ($mapCollection != null) {
         $this->_data = $this->collection($mapCollection['collection'], $mapCollection['database'], $mapCollection['cluster']);
     } else {
         $this->_data = $this->collection($this->_collection_name);
     }
 }
Example #2
0
 /**
  * 初始化函数
  *
  * @see \My\Common\ActionController::init()
  */
 public function init()
 {
     resetTimeMemLimit();
     // 特殊处理包含点的变量,将__DOT__转换为.
     convertVarNameWithDot($_POST);
     convertVarNameWithDot($_FILES);
     convertVarNameWithDot($_REQUEST);
     $this->_data = $this->model('User\\Model\\User');
     // 一次性获取当前集合的完整的文档结构信息
     $this->_schema = $this->getSchema();
     //$this->_data = $this->collection($this->_collection_name);
 }