handle undefined local clone urls
authorChristian Weiske <christian.weiske@netresearch.de>
Fri, 13 Jun 2014 09:29:09 +0000 (11:29 +0200)
committerChristian Weiske <christian.weiske@netresearch.de>
Fri, 13 Jun 2014 09:29:09 +0000 (11:29 +0200)
src/phorkie/Repository/LinkbackReceiver.php

index c9b3d0369422b9193e09073f2488f8c56bed3878..c808f4587352c9a8c8d7e1f444d14a9842c687af 100644 (file)
@@ -120,13 +120,19 @@ class Repository_LinkbackReceiver
      */
     protected function localizeGitUrls($arGitUrls)
     {
      */
     protected function localizeGitUrls($arGitUrls)
     {
-        $pub = $GLOBALS['phorkie']['cfg']['git']['public'];
-        $pri = $GLOBALS['phorkie']['cfg']['git']['private'];
+        $pub = $pri = null;
+        if (isset($GLOBALS['phorkie']['cfg']['git']['public'])) {
+            $pub = $GLOBALS['phorkie']['cfg']['git']['public'];
+        }
+        if (isset($GLOBALS['phorkie']['cfg']['git']['private'])) {
+            $pri = $GLOBALS['phorkie']['cfg']['git']['private'];
+        }
 
         $arRemoteCloneUrls = array();
         foreach ($arGitUrls as $remoteTitle => $arUrls) {
             foreach ($arUrls as $remoteCloneUrl) {
 
         $arRemoteCloneUrls = array();
         foreach ($arGitUrls as $remoteTitle => $arUrls) {
             foreach ($arUrls as $remoteCloneUrl) {
-                if (substr($remoteCloneUrl, 0, strlen($pub)) == $pub
+                if ($pub !== null
+                    && substr($remoteCloneUrl, 0, strlen($pub)) == $pub
                     && substr($remoteCloneUrl, -4) == '.git'
                 ) {
                     $id = substr($remoteCloneUrl, strlen($pub), -4);
                     && substr($remoteCloneUrl, -4) == '.git'
                 ) {
                     $id = substr($remoteCloneUrl, strlen($pub), -4);
@@ -136,7 +142,8 @@ class Repository_LinkbackReceiver
                         $arRemoteCloneUrls[$repo->gitDir] = $remoteTitle;
                     } catch (Exception $e) {
                     }
                         $arRemoteCloneUrls[$repo->gitDir] = $remoteTitle;
                     } catch (Exception $e) {
                     }
-                } else if (substr($remoteCloneUrl, 0, strlen($pri)) == $pri
+                } else if ($pri !== null
+                    && substr($remoteCloneUrl, 0, strlen($pri)) == $pri
                     && substr($remoteCloneUrl, -4) == '.git'
                 ) {
                     $id = substr($remoteCloneUrl, strlen($pri), -4);
                     && substr($remoteCloneUrl, -4) == '.git'
                 ) {
                     $id = substr($remoteCloneUrl, strlen($pri), -4);