register_hook('DOKUWIKI_STARTED', 'AFTER', $this, '_fixquery'); } /** * Put namespace into search */ function _fixquery(Doku_Event &$event, $param) { global $QUERY; global $ACT; if($ACT != 'search'){ $QUERY = ''; return; } if(trim($_REQUEST['namespace'])){ $QUERY .= ' @'.trim($_REQUEST['namespace']); } } function tpl_searchform($namespaces) { global $QUERY; $cur_val = isset($_REQUEST['namespace']) ? $_REQUEST['namespace'] : ''; $lang = preg_quote($this->getLangCode(), '/'); $cur_val = preg_replace('/^'.$lang.':/', '', $cur_val); echo '
'; echo ''; } function translatedNamespace($id) { global $conf; if ($id === '') return ''; static $lang = null; if ($lang === null) { $lang = $this->getLangCode(); if ($lang !== '') { $lang .= ':'; } } if (page_exists($lang . $id . ':' . $conf['start'])) return $lang . $id; return $id; } private function getLangCode() { if (!isset($_SESSION[DOKU_COOKIE]['translationlc']) || empty($_SESSION[DOKU_COOKIE]['translationlc'])) { return ''; } return $_SESSION[DOKU_COOKIE]['translationlc']; } }