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 @@
+getName()): ?> +getName(), array('type' => 'hidden')) ?> + getName(), array('class' => 'long', 'id' => 'wikiFormName')) ?> +
diff -urN --exclude=cache proyectos.bak/application/views/wiki/history.php proyectos/application/views/wiki/history.php --- proyectos.bak/application/views/wiki/history.php 2008-11-19 16:08:03.000000000 +0100 +++ proyectos/application/views/wiki/history.php 2008-11-20 10:10:39.000000000 +0100 @@ -53,7 +53,7 @@ } // foreach ?> - +
$page->getId(), 'page' => '#PAGE#'))) ?>
diff -urN --exclude=cache proyectos.bak/language/en_us/wiki.php proyectos/language/en_us/wiki.php --- proyectos.bak/language/en_us/wiki.php 2008-11-20 10:11:46.000000000 +0100 +++ proyectos/language/en_us/wiki.php 2008-11-20 10:01:32.000000000 +0100 @@ -7,6 +7,7 @@ return array( + 'editing' => 'Editing %s', 'revert' => 'Revert', 'compare' => 'Compare', 'wiki page revision no' => 'Revision %s', diff -urN --exclude=cache proyectos.bak/language/es_ar/wiki.php proyectos/language/es_ar/wiki.php --- proyectos.bak/language/es_ar/wiki.php 2008-11-20 10:11:46.000000000 +0100 +++ proyectos/language/es_ar/wiki.php 2008-11-20 10:01:56.000000000 +0100 @@ -7,6 +7,7 @@ return array( + 'editing' => 'Editando %s', 'revert' => 'Revertir', 'compare' => 'Comparar', 'wiki page revision no' => 'Revisión %s',