function _add_merge_action() { if ($this->role < 2) { throw new \Exception('firegit.u_power'); } $datas = $this->posts('orig', 'dest', 'pmerge_id', 'title', 'desc', 'level', 'merge_cate'); if (!in_array($datas['merge_cate'], array_flip($this->mergeCate))) { throw new \Exception('firegit.u_power'); } $merge = new \firegit\app\mod\git\Merge(); $branch = $merge->getMergeByBrancheName($this->gitGroup, $this->gitName, $datas['orig']); if ($branch) { throw new \Exception('firegit.branchRequested'); } $mergeId = $merge->addMerge($this->gitGroup, $this->gitName, $datas['orig'], $datas['dest'], $this->user, array('title' => $datas['title'], 'desc' => $datas['desc'], 'merge_cate' => $datas['merge_cate'], 'pmerge_id' => $datas['pmerge_id'], 'merge_level' => intval($datas['level']))); $this->set(array('merge_id' => $mergeId)); }