diff --git a/src/IDF/Form/WikiCreate.php b/src/IDF/Form/WikiCreate.php index 7dbf27e..ee1190f 100644 --- a/src/IDF/Form/WikiCreate.php +++ b/src/IDF/Form/WikiCreate.php @@ -54,10 +54,11 @@ Add your content here. Format your content with: or $this->user->hasPerm('IDF.project-member', $this->project)) { $this->show_full = true; } + $initname = (!empty($extra['name'])) ? $extra['name'] : __('PageName'); $this->fields['title'] = new Pluf_Form_Field_Varchar( array('required' => true, 'label' => __('Page title'), - 'initial' => __('PageName'), + 'initial' => $initname, 'widget_attrs' => array( 'maxlength' => 200, 'size' => 67, diff --git a/src/IDF/Template/Markdown.php b/src/IDF/Template/Markdown.php index 6c09be4..6fc0666 100644 --- a/src/IDF/Template/Markdown.php +++ b/src/IDF/Template/Markdown.php @@ -53,9 +53,13 @@ class IDF_Template_Markdown extends Pluf_Template_Tag $sql = new Pluf_SQL('project=%s AND title=%s', array($this->project->id, $m[1])); $pages = Pluf::factory('IDF_WikiPage')->getList(array('filter'=>$sql->gen())); - if ($pages->count() != 1) { + if ($pages->count() != 1 and !$this->request->rights['hasWikiAccess']) { return $m[0]; } + if ($pages->count() != 1 and $this->request->rights['hasWikiAccess'] + and !$this->request->user->isAnonymous()) { + return ' '.$m[1].''; + } if (!$this->request->rights['hasWikiAccess']) { return $m[1]; } diff --git a/src/IDF/Template/MarkdownPrefilter.php b/src/IDF/Template/MarkdownPrefilter.php index 4ca389d..4b2e9d9 100644 --- a/src/IDF/Template/MarkdownPrefilter.php +++ b/src/IDF/Template/MarkdownPrefilter.php @@ -90,7 +90,7 @@ class IDF_Template_MarkdownPrefilter extends Pluf_Text_HTML_Filter ); public $allowed = array( - 'img' => array('src', 'class', 'alt', 'height', 'width'), + 'img' => array('src', 'class', 'alt', 'height', 'width', 'style'), 'strong' => array(), 'em' => array(), 'b' => array(), @@ -98,6 +98,9 @@ class IDF_Template_MarkdownPrefilter extends Pluf_Text_HTML_Filter 'ul' => array(), 'ol' => array(), 'li' => array(), + 'dl' => array(), + 'dt' => array(), + 'dd' => array(), 'p' => array('align', 'class'), 'div' => array('align', 'class'), 'br' => array(), diff --git a/src/IDF/Views/Wiki.php b/src/IDF/Views/Wiki.php index 6d991a5..90b4f37 100644 --- a/src/IDF/Views/Wiki.php +++ b/src/IDF/Views/Wiki.php @@ -56,6 +56,7 @@ class IDF_Views_Wiki $sql .= ' AND id NOT IN ('.implode(',', $ids).')'; } $pag->forced_where = new Pluf_SQL($sql, array($prj->id)); + $pag->extra_classes = array('right', '', 'a-c'); $list_display = array( 'title' => __('Page Title'), array('summary', 'IDF_Views_Wiki_SummaryAndLabels', __('Summary')), @@ -102,6 +103,7 @@ class IDF_Views_Wiki $pag->summary = __('This table shows the pages found.'); $pag->action = array('IDF_Views_Wiki::search', array($prj->shortname), array('q'=> $q)); $pag->edit_action = array('IDF_Views_Wiki::view', 'shortname', 'title'); + $pag->extra_classes = array('right', '', 'a-c'); $list_display = array( 'title' => __('Page Title'), array('summary', 'IDF_Views_Wiki_SummaryAndLabels', __('Summary')), @@ -190,9 +192,12 @@ class IDF_Views_Wiki $preview = $request->POST['content']; } } else { + $pagename = (isset($request->GET['name'])) ? + $request->GET['name'] : ''; $form = new IDF_Form_WikiCreate(null, - array('project' => $prj, - 'user' => $request->user)); + array('name' => $pagename, + 'project' => $prj, + 'user' => $request->user)); } return Pluf_Shortcuts_RenderToResponse('idf/wiki/create.html', array(