1 <?php # vim:ts=2:sw=2:et:
2 /* For licensing and copyright terms, see the file named LICENSE */
5 * This is alot simpler now...
7 * In our horrifically simple version...
9 * We could just use a database, and go from there.
10 * ... that looses the diff feature... although we can use the mtrack_change stuff....
12 * ... That sounds alot better in our context as we can show data on the changelog..
13 * -----> It will mean that the change log will have to honour our privacy settings..
16 * oK - uses new mtrack_wiki table..
21 require_once 'MTrack/Attachment.php';
22 require_once 'MTrackWeb.php';
24 class MTrackWeb_Wiki extends MTrackWeb
29 var $hasHistory = false;
33 return parent::getAuth();
38 // non 'json' request...
40 if (!isset($_REQUEST['ajax_body'])) {
41 $this->title = "Browse: " . $pi;
45 $p = DB_DataObject::Factory('Mtrack_wiki');
46 $p->project_id = $this->currentProject();
52 // we add stuff on the end..
54 $px = DB_DataObject::Factory('Mtrack_wiki');
55 $px->project_id = $this->currentProject();
58 $pr = DB_DataObject::factory('core_project');
59 $pr->get($px->project_id);
61 $ar = $px->fetchAll('path');
62 $wikidata = "## Index of pages in Wiki - {$pr->name} \n\n";
64 $wikidata .= " * [$pp](wiki:$pp)\n";
66 $p->wikidata = $wikidata;
67 $this->jdata($p->toArray());
75 if (!$p->find(true)) {
77 $this->jdata($p->toArray());
79 $this->jdata($p->toArray());
81 //echo '<PRE>';print_r($this);echo '</PRE>';
85 function returnNotFound($p) {
95 //DB_DataObject::debugLevel(1);
97 $au = $this->getAuthUser();
100 $this->jerr("permission denied");
103 $p = DB_DataObject::factory('mtrack_wiki');
104 $p->project_id = $this->currentProject();
106 $id = empty($_REQUEST['id']) ? 0 : $_REQUEST['id'] * 1;
107 if (!empty($id) && !$p->get($id)) {
109 $this->jerr('invalid id');
114 if ($o->project_id != $p->project_id) {
115 $this->jerr("changing project id not permitted");
118 // check change of path...
119 if (!$o->id || ($o->path != $p->path)) {
120 $c = DB_DataObject::factory('mtrack_wiki');
121 $c->project_id = $p->project_id;
124 $this->jerr("Path is not valid - that path already exists");
129 call_user_func(array($p, $o->id ? 'update' : 'insert'), $o);
131 $this->jok($p->toArray());