Fix E_NOTICE: Only variables should be passed by reference
[phorkie.git] / www / edit.php
1 <?php
2 namespace phorkie;
3 /**
4  * Edit paste contents
5  */
6 $reqWritePermissions = true;
7 require_once 'www-header.php';
8
9 $repo = new Repository();
10 $repo->loadFromRequest();
11
12 $file = null;
13 if (isset($_GET['file'])) {
14     if ($_GET['file'] == 'newfile') {
15         $file = 'newfile';
16     } else {
17         $file = $repo->getFileByName($_GET['file']);
18     }
19 }
20
21 $repopo = new Repository_Post($repo);
22 if ($repopo->process($_POST, $_SESSION)) {
23     $anchor = '';
24     if ($file instanceof File) {
25         if (isset($repopo->renameMap[$file->getFilename()])) {
26             $anchor = '#'
27                 . $repo->getFileByName(
28                     $repopo->renameMap[$file->getFilename()]
29                 )->getAnchorName();
30         } else {
31             $anchor = '#' . $file->getAnchorName();
32         }
33     } else if ($file === 'newfile' && $repopo->newfileName) {
34         $anchor = '#' . $repo->getFileByName($repopo->newfileName)->getAnchorName();
35     }
36     redirect($repo->getLink('display', null, true) . $anchor);
37 }
38
39 $actionFile = null;
40 if ($file instanceof File) {
41     $actionFile = $file->getFilename();
42 } else if ($file === 'newfile') {
43     $actionFile = 'newfile';
44 }
45
46 render(
47     'edit',
48     array(
49         'repo' => $repo,
50         'singlefile' => $file,
51         'dh'   => new \Date_HumanDiff(),
52         'htmlhelper' => new HtmlHelper(),
53         'formaction' => $repo->getLink('edit', $actionFile)
54     )
55 );
56 ?>