#1987 Wiki tables and ((links)) are broken in 1.9.1

v1.9.1
open
nobody
5
2012-12-08
2005-09-01
No

After updating to 1.9.1 all the tables containing two or
more wikilinks in the same row are broken. These worked
in 1.9.0

E.g.

Wiki code: ||((Test))|((Test2))||

Should output a table with two links, but result is a table
that looks like this:

((Test Test2))

with no links.

Discussion

  • Will Dyke

    Will Dyke - 2005-11-12

    Logged In: YES
    user_id=1221633

    This is because ))|(( is parsed as a 'non wikilink' before
    the wikilinks themselves are parsed.

    This context diff shows the fix:

    /var/www/html/tikiwiki-1.9.2/lib/tikilib.php
    *** tikiwiki-1.9.2/lib/tikilib.php 2005-10-17
    12:40:17.000000000 +0000
    --- /var/www/html/tikiwiki-1.9.2/lib/tikilib.php
    2005-11-12 16:46:07.335035887 +0000
    ***************
    *** 4685,4691 ****
    }

    // definitively put out the protected words
    ))protectedWord((
    ! preg_match_all("/\)\)(\S*?)\(\(/", $data, $matches);
    $noParseWikiLinksK = array();
    $noParseWikiLinksT = array();
    foreach ($matches[0] as $mi=>$match) {
    --- 4685,4691 ----
    }

    // definitively put out the protected words
    ))protectedWord((
    ! preg_match_all("/\)\)(\w+)\(\(/", $data, $matches);
    $noParseWikiLinksK = array();
    $noParseWikiLinksT = array();
    foreach ($matches[0] as $mi=>$match) {

     
  • Rudy Zung

    Rudy Zung - 2006-04-08

    Logged In: YES
    user_id=1152594

    This is something that I noticed in 1.9.2 that appears to be
    related but when ~np and ~/np~ is incorpated:

    In the wiki editpage, with "Allow HTML" enabled, this page:
    =======Start example code=======
    Test 1
    ~np~
    Start UL
    <ul>
    <li>First item ~/np~((Link1|Link1))~np~</li>
    <li>Second item ~/np~((Link2|Link2))~np~</li>
    </ul>
    <ul>
    <li>Third item ~/np~((Link3|Link3))~np~</li>
    <li>Fourth item ~/np~((Link4|Link4))~np~</li>
    </ul>
    Done UL
    ~/np~

    Test 2
    ~np~
    Start UL
    <ul>
    <li>First item ~/np~((Link1|Link1))~np~</li>
    <li>Second item ~/np~((Link2|Link2)) ~np~</li>
    </ul>
    <ul>
    <li>Third item ~/np~((Link3|Link3))~np~</li>
    <li>Fourth item ~/np~((Link4|Link4))~np~</li>
    </ul>
    Done UL
    ~/np~Test 1
    ~np~
    Start UL
    <ul>
    <li>First item ~/np~((Link1|Link1))~np~</li>
    <li>Second item ~/np~((Link2|Link2))~np~</li>
    </ul>
    <ul>
    <li>Third item ~/np~((Link3|Link3))~np~</li>
    <li>Fourth item ~/np~((Link4|Link4))~np~</li>
    </ul>
    Done UL
    ~/np~

    Test 2
    ~np~
    Start UL
    <ul>
    <li>First item ~/np~((Link1|Link1))~np~</li>
    <li>Second item ~/np~((Link2|Link2)) ~np~</li>
    </ul>
    <ul>
    <li>Third item ~/np~((Link3|Link3))~np~</li>
    <li>Fourth item ~/np~((Link4|Link4))~np~</li>
    </ul>
    Done UL
    ~/np~
    =======End example code=======
    The only difference between "Test 1" and "Test 2" is
    the addition of an extra space between the "((Link2|Link2))"
    and the "~np~" in Test 2. The out for Test 1 shows only
    "Link 1" and "Link 2" and loses "Link 3" and "Link 4".
    In 1.9DR4, this behaviour was not present, and the
    generated output was as expected (4 links, with no lossage)

    Also, while the text for "Link 1" and "Link 3" are present,
    no actual link was generated onto the page, but this looks
    like a separate problem with parsing constructs in the
    form of:
    "((Link1|Link1))((Link2|Link2))"
    with no spaces between the "))" and "((". This problem
    is present in both 1.9DR4 and 1.9.2.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks