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();
51 // we add stuff on the end..
53 $px = DB_DataObject::Factory('Mtrack_wiki');
54 $px->project_id = $this->currentProject();
57 $pr = DB_DataObject::factory('core_project');
58 $pr->get($px->project_id);
60 $ar = $px->fetchAll('path');
61 $wikidata = "## Index of pages in Wiki - {$pr->name} \n\n";
63 $wikidata .= " * [$pp](wiki:$pp)\n";
65 $p->wikidata = $wikidata;
66 $this->jdata($p->toArray());
74 if (!$p->find(true)) {
76 $this->jdata($p->toArray());
78 $this->jdata($p->toArray());
80 //echo '<PRE>';print_r($this);echo '</PRE>';
84 function returnNotFound($p) {
94 //DB_DataObject::debugLevel(1);
96 $au = $this->getAuthUser();
99 $this->jerr("permission denied");
102 $p = DB_DataObject::factory('mtrack_wiki');
103 $p->project_id = $this->currentProject();
105 $id = empty($_REQUEST['id']) ? 0 : $_REQUEST['id'] * 1;
106 if (!empty($id) && !$p->get($id)) {
108 $this->jerr('invalid id');
113 if ($o->project_id != $p->project_id) {
114 $this->jerr("changing project id not permitted");
117 // check change of path...
118 if (!$o->id || ($o->path != $p->path)) {
119 $c = DB_DataObject::factory('mtrack_wiki');
120 $c->project_id = $p->project_id;
123 $this->jerr("Path is not valid - that path already exists");
128 call_user_func(array($p, $o->id ? 'update' : 'insert'), $o);
130 $this->jok($p->toArray());