Commit:    c8c85a57c5d8a6a0aa752bf3227075df524c243f
Author:    Peter Kokot <peterko...@gmail.com>         Wed, 5 Dec 2018 03:20:01 
+0100
Parents:   26f5c264546ea0cb2dcbae96e763683005ec87a7
Branches:  master

Link:       
http://git.php.net/?p=web/bugs.git;a=commitdiff;h=c8c85a57c5d8a6a0aa752bf3227075df524c243f

Log:
Replace PEAR error handling with exceptions in pull requests

Changed paths:
  M  include/classes/bug_ghpulltracker.php
  M  include/functions.php
  M  www/gh-pull-add.php


Diff:
diff --git a/include/classes/bug_ghpulltracker.php 
b/include/classes/bug_ghpulltracker.php
index 5e7cbee..6ed0540 100644
--- a/include/classes/bug_ghpulltracker.php
+++ b/include/classes/bug_ghpulltracker.php
@@ -31,18 +31,27 @@ class Bug_Pulltracker
        public function attach($bugid, $repo, $pull_id, $developer)
        {
                $data = $this->getDataFromGithub($repo, $pull_id);
+
                if (!$data) {
-                       return PEAR::raiseError('Failed to retrieve pull 
request from GitHub');
-               }
-               PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
-               $e = $this->dbh->prepare('INSERT INTO bugdb_pulls
-                       (bugdb_id, github_repo, github_pull_id, github_title, 
github_html_url, developer) VALUES (?, ?, ?, ?, ?, ?)')->execute(
-                               [$bugid, $repo, $pull_id, $data->title, 
$data->html_url, $developer]);
-               PEAR::popErrorHandling();
-               if (PEAR::isError($e)) {
-                       return $e;
+                       throw new \Exception('Failed to retrieve pull request 
from GitHub');
                }
 
+               $sql = 'INSERT INTO bugdb_pulls
+                               (bugdb_id, github_repo, github_pull_id, 
github_title, github_html_url, developer)
+                               VALUES (?, ?, ?, ?, ?, ?)
+               ';
+
+               $arguments = [
+                       $bugid,
+                       $repo,
+                       $pull_id,
+                       $data->title,
+                       $data->html_url,
+                       $developer,
+               ];
+
+               $this->dbh->prepare($sql)->execute($arguments);
+
                return $data;
        }
 
diff --git a/include/functions.php b/include/functions.php
index 8138404..c3a2c6a 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -800,11 +800,8 @@ function show_boolean_options($current)
  *      + string:      value is printed
  *      + array:       looped through and each value is printed.
  *                             If array is empty, nothing is displayed.
- *                             If a value contains a PEAR_Error object,
- *      + PEAR_Error: prints the value of getMessage() and getUserInfo()
- *                             if DEVBOX is true, otherwise prints data from 
getMessage().
  *
- * @param string|array|PEAR_Error $in see long description
+ * @param string|array $in see long description
  * @param string $class                name of the HTML class for the <div> 
tag. ("errors", "warnings")
  * @param string $head         string to be put above the message
  *
diff --git a/www/gh-pull-add.php b/www/gh-pull-add.php
index 7dc2965..f9bf6d6 100644
--- a/www/gh-pull-add.php
+++ b/www/gh-pull-add.php
@@ -4,7 +4,6 @@ use App\Utils\Captcha;
 
 // Obtain common includes
 require_once '../include/prepend.php';
-require_once 'PEAR.php';
 
 session_start();
 $canpatch = true;
@@ -95,11 +94,18 @@ if (isset($_POST['addpull'])) {
        }
 
        if (!count($errors)) {
-               PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
-               $newpr = $pullinfo->attach($bug_id, $_POST['repository'], 
$_POST['pull_id'], $email);
-               PEAR::popErrorHandling();
-               if (PEAR::isError($newpr)) {
-                       $errors = [$newpr->getMessage(), 'Could not attach pull 
request to Bug #' . $bug_id];
+               try {
+                       $newpr = $pullinfo->attach($bug_id, 
$_POST['repository'], $_POST['pull_id'], $email);
+               } catch(\Exception $e) {
+                       $errors = ['Could not attach pull request to Bug 
#'.$bug_id];
+
+                       if ($e->errorInfo[1] === 1062) {
+                               $errors[] = 'This pull request is already 
added.';
+                       }
+
+                       if (DEVBOX) {
+                               $errors[] = $e->getMessage();
+                       }
                }
        }


--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to