Example #1
0
 public function initialize()
 {
     $err = parent::initialize();
     if ($err) {
         return $err;
     }
     $this->repolist = RepositoryDb::selectAll();
     $this->repolist->sortByName();
 }
Example #2
0
 public function initialize()
 {
     if ($err = parent::initialize()) {
         return $err;
     }
     $repo_id = (int) mfwRequest::get('repo_id');
     $repo = RepositoryDb::retrieveByPK($repo_id);
     if (!$repo) {
         return $this->buildErrorPage('no repository found.', '/pulls/index', 'return');
     }
     $this->repo = $repo;
     return null;
 }
Example #3
0
 */
// filterマッチしなかったものを先にupdate
foreach ($cursorlist as $rid => $cursor) {
    if (!isset($alerted_pulls[$rid])) {
        RepositoryDb::updateCursor($rid, $cursor);
    }
}
// アラートがあるものはrepo毎のトランザクションで一括保存
$con = mfwDBConnection::getPDO('default_master');
$repoids = array_keys($alerted_pulls);
foreach ($repoids as $rid) {
    echo "save: {$repos[$rid]->getName()} ... ";
    $con->beginTransaction();
    try {
        foreach ($alerts[$rid] as $alert) {
            $pra = new PullRequestAlert($alert);
            $pra->save($con);
        }
        foreach ($alerted_pulls[$rid] as $p) {
            $pr = new PullRequest(array('repo_id' => $rid, 'number' => $p['number'], 'user' => $p['user']['login'], 'title' => $p['title'], 'pull_created_at' => $p['created_at']));
            $pr->save($con);
        }
        RepositoryDb::updateCursor($rid, $cursorlist[$rid], $con);
        $con->commit();
    } catch (Exception $e) {
        $con->rollback();
        throw $e;
    }
    echo "done.\n";
}
echo "complete.\n";