page: replace output caching by article object
[minimedit.git] / edit / nieuws / tag / index.php
1 <?php
2 if (!$User or !$User->admin('news'))
3         abort("geen beheersrechten", '401 unauthorised');
4
5 if (!$_POST)
6         abort("niets te doen", '405 post error');
7 if (!$Args)
8         abort("pagina niet opgegeven", '409 input error');
9
10 $pagename = ltrim($Args, '/').'.html';
11 @list ($category, $year, $article) = explode('/', $pagename);
12 if (empty($article) or !file_exists($pagename))
13         abort("artikel onbekend: $pagename", '404 page error');
14
15 if (!isset($_REQUEST['value']))
16         abort("ongeldige tagwaarde {$_REQUEST['value']}", '403 missing value');
17
18 if (!isset($_REQUEST['tag']))
19         abort("geen tag ontvangen", '403 input error');
20
21 $target = "$category/.tags/{$_REQUEST['tag']}";
22 if (!file_exists($target))
23         abort("tag onbekend: $target", '404 tag error');
24
25 $target .= "/$year-$article";
26 if (is_link($target) or file_exists($target)) {
27         if (!unlink($target))
28                 abort("kon bestaande link niet weghalen op $target", '500 unlink error');
29 }
30
31 $pagelink = "../../../$pagename";
32 if ($_REQUEST['value'] and !symlink($pagelink, $target))
33         abort("fout bij link aanmaken op $target", '500 link error');
34
35 abort("Tag {$_REQUEST['tag']} aangepast");
36