Update jQuery from 1.12.4 to 3.7.1
[phorkie.git] / www / fork-remote.php
index 374c8b89ab8e4105009e97dffae577b54c0515db..096f432d34c08f15636195e430d748aec7303c2d 100644 (file)
@@ -8,15 +8,29 @@ require_once 'www-header.php';
 
 $error = null;
 $urls  = null;
 
 $error = null;
 $urls  = null;
-if (isset($_POST['remote_url'])) {
-    $fr = new ForkRemote($_POST['remote_url']);
+if (isset($_REQUEST['remote_url'])) {
+    if (substr($_REQUEST['remote_url'], 0, 9) == 'web+fork:') {
+        $_REQUEST['remote_url'] = substr($_REQUEST['remote_url'], 9);
+    }
+
+    $fr = new ForkRemote($_REQUEST['remote_url']);
     if (false === $fr->parse()) {
         //no url found
     if (false === $fr->parse()) {
         //no url found
-        $error = 'No git:// clone URL found';
+        $error = $fr->error;
     } else if (false !== ($gitUrl = $fr->getUniqueGitUrl())) {
     } else if (false !== ($gitUrl = $fr->getUniqueGitUrl())) {
+        if (isset($_POST['orig_url'])) {
+            $fr->setUrl($_POST['orig_url']);
+        }
         $forker = new Forker();
         $forker = new Forker();
-        $new    = $forker->forkRemote($gitUrl);
-        redirect($new->getLink('display'));
+        try {
+            $new = $forker->forkRemote(
+                $gitUrl['url'], $fr->getUrl(), $gitUrl['title']
+            );
+            FlashMessage::save('Remote paste has been forked');
+            redirect($new->getLink('display', null, true));
+        } catch (\Exception $e) {
+            $error = $e->getMessage();
+        }
     } else {
         //multiple urls found
         $urls = $fr->getGitUrls();
     } else {
         //multiple urls found
         $urls = $fr->getGitUrls();
@@ -36,7 +50,7 @@ if (is_array($urls)) {
 render(
     'fork-remote',
     array(
 render(
     'fork-remote',
     array(
-        'remote_url' => isset($_POST['remote_url']) ? $_POST['remote_url'] : '',
+        'remote_url' => isset($_REQUEST['remote_url']) ? $_REQUEST['remote_url'] : '',
         'error'      => $error,
         'urls'       => $urls,
         'urlselsize' => $selsize,
         'error'      => $error,
         'urls'       => $urls,
         'urlselsize' => $selsize,