Version: (using KDE KDE 3.3.1) Installed from: SuSE RPMs OS: Linux Save the following script-code as aa PHP-script. Go to $Favoriten[$i]&Merkzettel=1 and enter a ?> after $Favoriten[$i], before the &Merkzettel=1. Quanta adds some bogus tag, in this case </?echo> as you can see in the second code-snipplet. I thought the bug had something to do with the missing blank before echo, after <?. However if you replace <?echo by <? echo Quanta adds </?>, which isbogus too. <?php ?> <li><a href='index.php?<?echo $URL;?>&Bereich=Details&Inserat=<?echo $Favoriten[$i]&Merkzettel=1'><img src='bilder/".$Favoriten[$i]."_0.jpg' width='100' border=0></a> ?> <li><a href='index.php?<?echo $URL;?>&Bereich=Details&Inserat=<?echo $Favoriten[$i]?></?echo>&Merkzettel=1'><img src='bilder/".$Favoriten[$i]."_0.jpg' width='100' border=0></a> I see this behaviour of making up tags also in some cases where I want to set a </div> tag in a non-script area, i.e. script-area was closed by ?>, and when I type </ Quanta adds <?/php tag> or something similar. I'll post it when I come across it again.
A quick question: is the Quanta version 3.3.1? Check the Help->About Quanta.
It states: Quanta post-3.3.0
The official 3.3.1 should says that it's "3.3.1". I don't know what SuSE packaged this time... But I see the problem, yet it's strange that it sometimes works... I'm trying to find out what is the reason. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFBcq2ITQdfac6L/08RAvmpAJ9qN7KkL/2zsB0MgDW/AvQzuf0HXgCgmBQo oN+mm4SY3fLoGW819K2ljr8= =mm8l -----END PGP SIGNATURE-----
Please try the following: put the <img> tag in a new line. Does it also happen after that? I'm just trying to figure out what confuses the parser.
Puttin the img-tag in a new line solves the problem in this case.
CVS commit by amantia: Don't lose the script nodes if the script is inside a tag and the next tag follows immediately after the current one, like in case of; <a href='index.php?<?echo $URL;?>'><img src='a'></a> Fixes #91508. BUG: 91508 M +1 -0 ChangeLog 1.315 M +2 -2 quanta.kdevelop 1.257 M +11 -0 parsers/parser.cpp 1.226 --- kdewebdev/quanta/ChangeLog #1.314:1.315 @@ -31,4 +31,5 @@ - read the tables correctly also if the doctype definition is wrong (for example HTML tables inside XHTML) + - fix node tree corruption while parsing scripts inside a tag [#91508] - behavioral/user interface changes: --- kdewebdev/quanta/quanta.kdevelop #1.256:1.257 @@ -243,8 +243,8 @@ <kdevfilecreate> <filetypes> - <type icon="" ext="h" create="template" name="C++ header" > + <type icon="" ext="h" name="C++ header" create="template" > <descr>Quanta speicfic header</descr> </type> - <type icon="source_cpp" ext="cpp" create="template" name="C++ source" > + <type icon="source_cpp" ext="cpp" name="C++ source" create="template" > <descr>A new empty C++ file.</descr> </type> --- kdewebdev/quanta/parsers/parser.cpp #1.225:1.226 @@ -388,5 +388,16 @@ Node *Parser::parseArea(int startLine, i { if (parentNode) + { + if (!parentNode->child) parentNode->child = node; + else + { + Node *n = parentNode->child; + while (n->next) + n = n->next; + n->next = node; + node->prev = n; + } + } } }
Could you please check whether the following bogus tag is also fixed? Insert the vode into a php-script file. Then go to public $Verlauf = ""; and insert this-> after $. What I get when I press > is: <span><?echo $this-></PHP Block>Verlauf</span> Code: <?php class Verlauf { public $Verlauf = ""; function Erstellen($Variablen) { extract($Variablen); ?> <div>Der Verlauf Ihres Besuches bei uns:<br> <span><?echo $Verlauf</span> </div> <? }//Ende Erstellen funtion Aktualisieren($Variablen) { extract($Variablen); } }//Ende Klasse ?>
Works fine here.