listing all pastes works
[phorkie.git] / www / index.php
index e69de29..044ac35 100644 (file)
@@ -0,0 +1,55 @@
+<?php
+namespace Phorkie;
+/**
+ * Show paste creation form
+ *
+ * Elements:
+ * - description
+ * - file name (default: default.php)
+ * - content
+ *
+ * Creates and redirects to display page
+ */
+require_once 'www-header.php';
+
+if (isset($_POST['file'])) {
+    //save
+    $rs = new Repositories();
+    $repo = $rs->createNew();
+    $vc = $repo->getVc();
+    $vc->initRepository();
+    foreach (glob($repo->repoDir . '/.git/hooks/*') as $hookfile) {
+        unlink($hookfile);
+    }
+    file_put_contents($repo->repoDir . '.git/description', $_POST['description']);
+
+    foreach ($_POST['file'] as $num => $arFile) {
+        if ($arFile['name'] != '') {
+            $fname = $arFile['name'];
+        } else {
+            $fname = 'phork' . $num . '.' . $arFile['type'];
+        }
+        $fpath = $repo->repoDir . $fname;
+        file_put_contents($fpath, $arFile['content']);
+        //fixme: let the class do that when it is able to
+        $command = $vc->getCommand('add')
+            ->addArgument($fname)
+            ->execute();
+    }
+    $command = $vc->getCommand('commit')
+        ->setOption('message', 'initial paste')
+        ->setOption('author', 'Anonymous <anonymous@phorkie>')
+        ->execute();
+    //redirect to phork
+    redirect($repo->getLink('display'));
+}
+
+$phork = array(
+    '1' => array(
+        'filename' => '',
+        'content' => '',
+        'type' => ''
+    )
+);
+render('index', array('file' => $phork, 'description' => ''));
+?>
\ No newline at end of file