/** * 初始化函数 * * @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); } }
/** * 初始化函数 * * @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); }