diff -urN --exclude=cache proyectos.bak/application/controllers/WikiController.class.php proyectos/application/controllers/WikiController.class.php --- proyectos.bak/application/controllers/WikiController.class.php 2008-11-20 10:11:46.000000000 +0100 +++ proyectos/application/controllers/WikiController.class.php 2008-11-20 09:58:46.000000000 +0100 @@ -276,10 +276,13 @@ DB::rollback(); tpl_assign('error', $e); }//try + } else { + $revision = $page->makeRevision(); + $revision->setName(array_var($_GET, 'name', '')); }// if tpl_assign('page', $page); - tpl_assign('revision', (isset($revision) && ($revision instanceof Revision) ? $revision : $page->makeRevision())); + tpl_assign('revision', $revision); $this->setTemplate('edit'); } // add diff -urN --exclude=cache proyectos.bak/application/helpers/wiki.php proyectos/application/helpers/wiki.php --- proyectos.bak/application/helpers/wiki.php 2008-11-19 16:08:03.000000000 +0100 +++ proyectos/application/helpers/wiki.php 2008-11-20 10:06:52.000000000 +0100 @@ -14,7 +14,31 @@ */ function wiki_links($content) { - return preg_replace_callback('/\[wiki:([0-9]*)\]/', 'replace_wiki_link_callback', $content); + $content = preg_replace_callback('/\[wiki:([0-9]*)\]/', 'replace_wiki_link_callback', $content); + $content = preg_replace_callback('/\[wiki:(.*)\]/', 'replace_wiki_link_title_callback', $content); + return $content; +} + +/** + * Call back function for wiki helper to link by title + * + * @param mixed $matches + * @return + */ +function replace_wiki_link_title_callback($matches) +{ + if(count($matches) < 2){ + return null; + } + + $sql = 'SELECT page_id FROM ' . Revisions::instance()->getTableName(true) . ' WHERE name = \'' . $matches[1] . '\' AND project_id = ' . active_project()->getId() . ' ORDER BY revision DESC'; + + $row = DB::executeOne($sql); + if(!count($row)){ + return $matches[1] . ' ?'; + } + + return '' . $matches[1] . ''; } /** @@ -39,4 +63,4 @@ return '' . $row['name'] . ''; } -?> \ No newline at end of file +?> diff -urN --exclude=cache proyectos.bak/application/views/wiki/edit.php proyectos/application/views/wiki/edit.php --- proyectos.bak/application/views/wiki/edit.php 2008-11-19 17:14:13.000000000 +0100 +++ proyectos/application/views/wiki/edit.php 2008-11-20 10:06:03.000000000 +0100 @@ -15,7 +15,11 @@ } +if(!$revision->getName()) { set_page_title(lang('wiki')); +} else { + set_page_title(lang('editing', $revision->getName())); +} project_tabbed_navigation(PROJECT_TAB_WIKI); project_crumbs($project_crumbs); @@ -29,8 +33,12 @@