diff --git a/INSTALL.mdtext b/INSTALL.mdtext index 947323d..d0f6c01 100644 --- a/INSTALL.mdtext +++ b/INSTALL.mdtext @@ -212,4 +212,14 @@ If you access a Subversion server with a self-signed certificate, you may have problems as your certificate is not trusted, check the [procedure provided here][svnfix] to solve the problem. -[svnfix]: http://projects.ceondo.com/p/indefero/issues/319/#ic1358 \ No newline at end of file +[svnfix]: http://projects.ceondo.com/p/indefero/issues/319/#ic1358 + +## If the registration links are not working + +If You have standard instalaction of PHP ie in Debian, php.ini sets +mbstring.func_overload to value "2" for overloading str* +functions. You need to prevent the overload as it does not make sense +anyway (magic in the background is bad!). +See the [corresponding ticket][reglink]. + +[reglink]: http://projects.ceondo.com/p/indefero/issues/481/ \ No newline at end of file diff --git a/src/IDF/Template/Markdown.php b/src/IDF/Template/Markdown.php index feb8512..3054ca8 100644 --- a/src/IDF/Template/Markdown.php +++ b/src/IDF/Template/Markdown.php @@ -46,25 +46,32 @@ class IDF_Template_Markdown extends Pluf_Template_Tag array($this, 'callbackEmbeddedDoc'), $text); } + // Replace [Page]([[PageName]]) with corresponding link to the page, with link text being Page. + $text = preg_replace_callback('#\[([^\]]+)\]\(\[\[([A-Za-z0-9\-]+)\]\]\)#im', + array($this, 'callbackWikiPage'), + $text); // Replace [[PageName]] with corresponding link to the page. $text = preg_replace_callback('#\[\[([A-Za-z0-9\-]+)\]\]#im', - array($this, 'callbackWikiPage'), + array($this, 'callbackWikiPageNoName'), $text); $filter = new IDF_Template_MarkdownPrefilter(); echo $filter->go(Pluf_Text_MarkDown_parse($text)); } + function callbackWikiPageNoName($m) + { + $m[2] = $m[1]; //Set the link text to be the same as the page name. + return $this->callbackWikiPage($m); + } + function callbackWikiPage($m) { $sql = new Pluf_SQL('project=%s AND title=%s', - array($this->project->id, $m[1])); + array($this->project->id, $m[2])); $pages = Pluf::factory('IDF_WikiPage')->getList(array('filter'=>$sql->gen())); - 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].''; + return ''.$m[1].''; } if (!$this->request->rights['hasWikiAccess'] or $pages->count() == 0) { return $m[1]; diff --git a/src/IDF/locale/cs/idf.po b/src/IDF/locale/cs/idf.po index 8e9f055..28cead4 100644 --- a/src/IDF/locale/cs/idf.po +++ b/src/IDF/locale/cs/idf.po @@ -970,7 +970,7 @@ msgid "" "
Pour démarrer une revue de code vous devez fournir :
\n" diff --git a/src/IDF/locale/ru/idf.po b/src/IDF/locale/ru/idf.po index 40de7a9..5d83baf 100644 --- a/src/IDF/locale/ru/idf.po +++ b/src/IDF/locale/ru/idf.po @@ -1019,7 +1019,7 @@ msgid "" "