/** * special install function * */ function install() { if ($this->gid == 1) { if (!user_is_super_user()) { exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('plugin_phpwiki_lib_wikipagewrap', 'right_error')); } } $we = new PHPWikiEntry(); $we->setGid($this->gid); $we->setLanguage_id($_REQUEST['language_id']); $name_fr = "Page d'accueil"; $page_fr = "PageAccueil"; $desc_fr = "Document initial du Wiki"; $name_en = "Home Page"; $page_en = "HomePage"; $desc_en = "Initial wiki document"; switch ($we->getLanguage_id()) { // English case 'en_US': define('WIKI_PGSRC', 'codendipgsrc'); define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/codendipgsrc'); $we->setName($name_en); $we->setPage($page_en); $we->setDesc($desc_en); break; // French // French case 'fr_FR': define('WIKI_PGSRC', 'pgsrc'); define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/locale/fr/pgsrc'); $we->setName($name_fr); $we->setPage($page_fr); $we->setDesc($desc_fr); break; default: define('WIKI_PGSRC', 'codendipgsrc'); define('DEFAULT_WIKI_PGSRC', PHPWIKI_SRC_PATH . '/codendipgsrc'); $we->setName($name_en); $we->setPage($page_en); $we->setDesc($desc_en); } $we->add(); $this->render(); }
/** * */ function _browseWikiDocuments() { $wei = PHPWikiEntry::getEntryIterator($this->gid); print '<ul class="WikiEntries">'; while ($wei->valid()) { $we = $wei->current(); $href = $this->_buildPageLink($we->wikiPage, $we->getName()); if (!empty($href)) { $description = $this->purifier->purify($we->getDesc()); print $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'wikientries', array($href, $description)); } $wei->next(); } print '</ul>'; }
/** * Return an iterator on WikiEntries */ function getEntryIterator($gid = null) { if ($gid !== null) { $gid = (int) $gid; } else { $gid = $this->gid; } //@todo: transfer to a DAO $qry = ' SELECT * FROM plugin_phpwiki_group_list' . ' WHERE group_id=' . db_ei($gid) . ' ORDER BY rank'; $res = db_query($qry); $weArray = array(); while ($row = db_fetch_array($res)) { $we = new PHPWikiEntry(); $we->setFromRow($row); $weArray[] =& $we; unset($we); } return new ArrayIterator($weArray); }
/** * updateWikiDocument - public View */ function updateWikiDocument() { print $GLOBALS['Language']->getText('plugin_phpwiki_views_wkserviews', 'updatedoc', array($this->wikiname)); $we = new PHPWikiEntry($_REQUEST['id']); $this->_displayEntryForm('update', $we->getId(), $we->getName(), $we->getPage(), $we->getDesc(), $we->getRank()); print '<p><a href="' . $this->wikiAdminLink . '&view=wikiDocuments">' . $GLOBALS['Language']->getText('global', 'back') . '</a></p>' . "\n"; }
/** * Get wiki language (set at creation time) * return 0 if no wiki document exist */ function getLanguage_id() { // The language of the wiki is the language of all its wiki documents. if (!$this->language_id) { // We only support one language for all the wiki documents of a project. $wei =& PHPWikiEntry::getEntryIterator($this->gid); if ($wei->valid()) { $we =& $wei->current(); // get first element $this->language_id = $we->getLanguage_id(); } } return $this->language_id; }
/** * */ function update() { $page = $_POST['page']; if (!empty($_POST['upage'])) { $page = $_POST['upage']; } if ($this->checkPage($page)) { $we = new PHPWikiEntry(); $we->setId($_POST['id']); $we->setGid($this->gid); $we->setName($_POST['name']); $we->setPage($page); $we->setDesc($_POST['desc']); $we->setRank($_POST['rank']); $we->setLanguage_id($_POST['language_id']); $we->update(); } }