public function do_execute() { /* Prepare variables */ try { $project_id = $this->getProvidedArgument('projectid'); $project_row = TBGProjectsTable::getTable()->getById($project_id, false); TBGContext::setScope(new TBGScope($project_row[TBGProjectsTable::SCOPE])); $project = new TBGProject($project_id, $project_row); } catch (Exception $e) { throw $e; $this->cliEcho("The project with the ID " . $this->getProvidedArgument('projectid') . " does not exist\n", 'red', 'bold'); exit; } $author = $this->getProvidedArgument('author'); $new_rev = $this->getProvidedArgument('revno'); $commit_msg = $this->getProvidedArgument('log'); $changed = $this->getProvidedArgument('changed'); $old_rev = $this->getProvidedArgument('oldrev', null); $date = $this->getProvidedArgument('date', null); $branch = $this->getProvidedArgument('branch', null); if (TBGSettings::get('access_method_' . $project->getKey()) == TBGVCSIntegration::ACCESS_HTTP) { $this->cliEcho("This project uses the HTTP access method, and so access via the CLI has been disabled\n", 'red', 'bold'); exit; } if ($old_rev === null && !is_integer($new_rev)) { $this->cliEcho("Error: if only the new revision is specified, it must be a number so that old revision can be calculated from it (by substracting 1 from new revision number)."); } else { if ($old_rev === null) { $old_rev = $new_rev - 1; } } $output = TBGVCSIntegration::processCommit($project, $commit_msg, $old_rev, $new_rev, $date, $changed, $author, $branch); $this->cliEcho($output); }
public function getReplacedTargetID(TBGProject $project) { return str_replace('%project_key%', $project->getKey(), $this->_target_id); }
protected function _getAllInNamespace($namespace, TBGProject $project = null) { $crit = $this->getCriteria(); if ($project instanceof TBGProject) { $crit->addWhere(self::NAME, "{$namespace}:" . ucfirst($project->getKey()) . ":%", Criteria::DB_LIKE); } else { $crit->addWhere(self::NAME, "{$namespace}:%", Criteria::DB_LIKE); foreach (TBGProjectsTable::getTable()->getAllIncludingDeleted() as $project) { if (trim($project->getKey()) == '') { continue; } $crit->addWhere(self::NAME, "{$namespace}:" . ucfirst($project->getKey()) . "%", Criteria::DB_NOT_LIKE); $crit->addWhere(self::NAME, ucfirst($project->getKey()) . ":%", Criteria::DB_NOT_LIKE); } } $crit->addWhere(self::SCOPE, TBGContext::getScope()->getID()); return $this->select($crit); }