Revision [8446]
This is an old revision of WikkaBugs made by JavaWoman on 2005-05-24 23:33:23.
Bugs/Issues discovered in Wikka!
Related pages:
- for resolved bugs/issues see: WikkaBugsResolved
- workarounds for unusual problems and temporary fixes for known bugs listed at WikkaWorkarounds
- for issues related to Wikka layout refer to: WikkaCSS
- for feature suggestions rather than bugs, go to the SuggestionBox
- looking for help? check the WikkaDocumentation Wikka Documentation
Please post recently discovered bugs on the top of this page (just below this note).
Logout
After Wikka has been installed.. I tested the login.. It was good..But when I tried logout.. the logout button did not work.
Would anybody tells me why? Also how can I logout?
I want to solve the ougout problem.. help me.. please..
When I tried logout..
the new wikka page, UserSettings?action=logout, has been created.. without logout..
You can test the logout button in my UserSettings page.. here it is..
http://here.cherilove.co.kr/Wikka/wikka.php?wakka=UserSettings
- Hi HeRe, it looks like a problem with your ModRewrite configuration. If it's on, the logout URL should be: http://here.cherilove.co.kr/Wikka/wikka.php?wakka=UserSettings&action=logout (notice that ? is replaced by a & in the URL). Check in your ConfigurationOptions configuration file that you have the following lines:
"base_url" => "http://here.cherilove.co.kr/Wikka/wikka.php?wakka=",
"rewrite_mode" => "0",
I'm just guessing, though: your wikka installation is no more online -- DarTar
(Note to the Crew, since this kind of issue occurs quite frequently - see also at the bottom of this page - maybe we should set up a dedicated workaround page - like CannotLogoutWorkaround -, even if the correct solution is already documented in the ModRewrite page).
Installer array_merge()
Mentioned in passing on #wikka by a user having actually other problems installing Wikka.Remember the array_merge() problem in wikka.php under PHP5? Solved in 1.1.6.0.
Guess what: the same problem still exists - but in the installer itself (/setup/install.php - line 7): the second argument is (again) not initialized so users get a warning stating "Argument #2 is not an array in /var/www/html/Wikka/setup/install.php on line 7".
We'd better solve it in the installer as well. --JavaWoman
View Code Handler issue
The view code handler does not display any message if the page does not exist. Example -- Rick- Technically, it isn't a bug: Wikka tries to display original data concerning the page. As it doesn't exists, Wikka displays nothing. It isn't a bug but a non-existent feature of Wikka, so I would put this comment in SuggestionBox instead of here. JavaWoman? DarTar? What do you think of it? -- PivWan
- Actually, I suggested Rick reported it here since I do consider it a bug. It is a page handler so the handler should look for a page; I think it should return something at least. IMO the best solution would be to generate a warning like "Page does not exist" when the page isn't found, or use the "do you want to create it?" we use when accessing a non-exstant page. --JavaWoman
- Okay, hadn't the whole story. So, it's a bug :) -- PivWan
Email deletion after registration
On 1.1.6.0 a registered user can modify his or her settings and store an empty email address. The engine does not warn the user and accepts an empty value. This bug should be fixed or at least the behavior of UserSettings should be made consistent with the registration requirements (if an email is required, it is required also after registering). Note that this might break (beta-)actions based on user email, such as FeedbackActionUpgrade (to be checked)-- DarTarPurging of pages not always happening
reported by |Sam| on #wikka, writeup by me --JavaWomanPurging of pages doesn't always seem to happen. |Sam| had the page_purge_time set to 1 (which should purge page versions older than one day) but didn't see them being actually purge. Purging is done in the Maintenance() method in wikka.php executed by the main Run() method. However, there is an extra condition here:
if(!($this->GetMicroTime()%3)) $this->Maintenance();
I suspect this may cause the Maintenance() method not being executed. The intention of this (undocumented) condition isn't clear to me - should it really be there? --JavaWoman- That's correct. I'm not the author of this code, but the intention is clear to me. It's designed to be a performance improvement. Rather than call the Maintenance function for every single page view(!), it adds some randomness based on the remainder of GetMicroTime() divided by 3. For a busy site this could make a significant drop in MySQL queries. I have done some brief testing of this code and found that on average the Maintenance function was called about every four page views. For any site that has even moderate traffic, the Maintenance function will be triggered sufficiently. To answer your question, yes, this condition should be there. However, maybe there should be a configuration option that admins could tweak if they are obsessed and need certainty that pages get purged. -- JsnX
RSS feed action hangs or crashes browser if feed does not exist
reported by velkr0 on #wikka, analysis and writeup by me -- JavaWomanProblem: When the rss action is included in a page with a feed URL that happens not to exist (or not exist any more), the page "hangs"; once in this state, editing the page also isn't possible: the hang continues until the browser times out or is closed.
The obvious cause is that neither the {{rss}} action nor the underlying onyx-rss class checks for existence of the resource the feed URL refers to. The problem is already hard to detect when you are first including a feed in a page and maybe make a typo in the feed URL. But if your Wikka provides a page with one or more feeds, and a feed suddenly disappears (or is down momentarily) the result will be very annoying for your visitors.
Solution: Either the onyx-rss class or the rss action should check for the availability of the feed (for instance with a HEAD request) before actually trying to retrieve it. Since the class provides caching, the best option would be to handle it in the class (by subclassing the necessary method(s)). If a version of the feed still exists in the cache that version could be displayed (probably this happens automatically anyway), otherwise an error message should be generated instead of the feed output. --JavaWoman
Another problem with Onyx-RSS was just reported by |Sam| on #wikka: in spite of cacheing it seems quite slow, taking something like 2.5 seconds for rendering after retrieving a feed (compared to a normal page rendering time of 0.06 seconds). We should look at the efficiency (or not) of this class - maybe it's time to move to another one that's being actively maintained. --JavaWoman
Safari and WikiEdit
(copied from SandBox - JavaWoman)Safari crashes when I use a formatting button. (DarTar has confirmed this.)
It looks like either Safari has a bug in their JavaScript implementation, or WikiEdit's JavaScript isn't (sufficiently) cross-browser, or both. While the browser shouldn't crash on encountering JavaScript it cannot handle, we certainly need an edit toolbar that's more cross-browser (it doesn't appear at all in Opera 7.2x on Windows). --JavaWoman
WantedPages problem
The list of Wantedpages may be handy, but I just found the list is not sorted alphabetically, making it hard to scan. That's a "UI bug". The list should be sorted, at least - and preferably split up by starting letters, as in PageIndex (when all pages are shown). --JavaWomanProblem with handlers
I noted this problem with handlers. If you specify, for examplehttp://url/wiki/?wakka=HomePage/../../index
You can trick the include out of the /handlers/page directory. I'm not sure it can be a problem, but indeed it's weird.
--MunehiroYamakawa
XML Feed Problem
When clicking on the XML feed link at the bottom of the page - get the following :XML Parsing Error: xml processing instruction not at start of external entity
Location: http://www.cataclysmos.org/wiki/RecentChanges/recentchanges.xml
Line Number 10, Column 1:<?xml version="1.0" encoding="ISO-8859-1"?>
^
- There is whitespace before the xml declaration, which is not allowed as far as I know. Not sure tho why it is there. Is that an out-of-the-box wikka 1.1.6.0?
- It is standard except for patches applied for UserRegistration and TableAction. I installed a second fresh wikka and it worked OK so I must have broken something.
- I found the problem - for the user registration you have to change wikka.config.php - the web based software I was using to edit the file had added some blank lines at the bottom of the config file. What this had to do with XML I am not sure but it works fine now.
Problems with double double-quote html?
moved from SuggestionBoxReceived an error msg that was particularly perplexing. Since i wasn't sure where exactly to try and get help for it, i thought i'd post here tho i know it's off topic. NonObjectMemberFunction
PS if there is a better place to have posted this, i'd be happy to know what page that is.
- How about this page? Btw, annoying people from whom you want help is always a bad idea... --NilsLindenberg
- Well, i wasn't sure if it was an actual bug or not. I thought it might be a server config issue on my part and i didn't want to clutter up this here bug page. Also, and this is totally my bad, it didn't really occur to me that it was Easter w'end and that ppl might have actual lives. Thanks to JavaWoman we snapped out a solution on irc and i added it to the page.
passwords containing $ aren't working
The installation succeed but the wiki doesn't work(connection pb if the db password contains one or more dollars symbols '$'.The error occur at the creation of the wakka object :
"The wiki is currently unavailable. Error : Unable to connect to the Mysql database"
- Did you tried to escape them? For example "john$doe" replaced by "john\$doe". AFAIK, it isn't a wikka bug but a php engine's side effect. All string beginning with $ are considered as variables and are interpreted as is. -- PivWan
- Solution is to use single quotes instead of double quotes so $ is not interpreted as the start of a variable name; involves some changes in the installer. Will appear in 1.1.6.1 --JavaWoman
Messages delayed
copied from #wikka- well, some slight weirdness where i seem to get logged out without asking to
- and some other weirdness where i make a change, such as claiming ownership of a page, but then get a javascript notification several pages later
- cookie related problem? (firefox 1.0.1 on OSX).
Extreme extreme slowness
Not being registered makes no difference. There are users reporting Wikka pages taking several minutes to load!
The guys on the Puppy Linux Forum (SimpleForumPro, a Perl script on the same host, runs real fast), have been analysing the problem, discussion here (look further down the page):
http://www.goosee.com/puppy/sforum/simpleforum_pro.cgi?fid=07&topic_id=1111215715&page=2
...anyone got any thought what the cause could be?
Spaces in uploaded files
Thanks to MrTrick for pointing out this problemIt is possible to upload files with a space in the file name. However, when trying to download such a file things don't work as expected: in Mozilla browsers (Mozilla, Firefox, etc.) the suggested filename for the download is truncated at the first space.
Two possible solutions:
- Prevent that file names are stored with spaces in the name; simply replacing all spaces with underscores would do the trick and keep the file name recognizable. This has the advantage that no assumptions are being made about the server OS or the user's OS as to whether spaces in file names are valid.
- Mozilla seems to pick up the suggested file name from the Content-Disposition header. (raw)urlencoding the file name here works, but then displays the name with the encoding; enclosing the file name in (double) quotes works better, showing the full file name with spaces. This has the advantage that the original file name is preserved - provided both the server OS and the downloading user's OS can handle such file names.
ACL Cancel
If you edit the ACL on a page, click "Store ACLs", then edit the ACL and click "Cancel", it still reads "Access control lists updated.", even though the changes were canceled. This is due to the "Cancel" button causing the browser to navigate backwards, and a javascript popup. --BarkerJrAlzheimers for Wikka?
This is not a bug specifically - it is really a potential implentation weakness, but if a user specifies a page purge time in wikka.config: "pages_purge_time" => "100" and if that page is not edited for a while, then when that page is edited, the last copy will be deleted, leaving no archived copies at all. I think purge pages should delete old pages, but there should always be a minimum number of old copies preserved, otherwise the wiki becomes highly vulnerable to a content deletion attack. Would it be better to remove this feature, or modify it? --IanAndolina- Instead of removing or modifying it (the configuration parameter, rather) we could refine it by introducing an extra parameter name something like "pages_keep" to set a maximum number of pages to be kept regardless (maximum, since it could be less if there are not that many versions in the first place). Setting one or the other to 0 could disable purging altogether. --JavaWoman
- Sounds good to me - can you think of an elegant way to modify the SQL query to only delete pages older than X that are also more than Xth on a list of revisions. I'm sure I can come up with something ugly ;) --IanAndolina
- I'm good enough at SQL that I need the manual for that. ;-) As far as I can determine, you need two statements (semi pseudo code): 1) a select count(*) from pages where ... to determine the current number of records; and 2) delete from pages where ... order by [timestamp] limit [$count - $pages_keep]. You can't do a subquery in delete (yet) so the count must be a separate step (but it should be very fast). --JavaWoman
Admin email at installation
reported in IRC while I was asleep, sorry - JW does have to sleep sometimes(Potential) User extremely frustrated when at installation he's entering a real and valid email address and the Installer rejects it with "Email appears incorrect". This is caused by the extremely brain-dead Javascript in the installer that accepts nothing but lowercase letters to appear before the '@'. To be anywhere like realistic it should be corrected to accept numbers, dots, hyphens and underscores as well.
--JavaWoman (hoping the reporter shows up again so I can help him with a workaround)
- Gosh, this is really annoying. JW, any news from your general-purpose WikkaEmailToolkit email validation functions ;-) -- DarTar
- The basic problem is that the installer does not use any system routines but instead JavaScript for validation. And the RE it uses for email validation is really, really braindead. Yes, very annoying as I've not seen the user back in #wikka either - we may have lost a user. I could have given a workaround if only I'd not been sleeping.
Email library is not quite ready but getting close (needs some restructuring, basically); it will be a class, with several abstract methods so the installer should be able to use it as well (provided it can find the class file). And I'm learning some good tricks working on the sessions module (which might also be useful for Wikka). But the installer needs a major overhaul in any case. Sigh... --JavaWoman
Email forgotten password action
I tried with 2 different emails on this site (jsnx.com) to have a temporary password sent to me ('Forgot password?' etc.), and I never received anything. I have the same problem with other wikkas on several servers. Am I crazy, or does this action actually send something which... nobody ever receives? :-( --YanB
- You are crazy. I just tested it... and it worked. *shrug* Does your email server do some sort of spam filtering?? -- JsnX
- I must be crazy then! All the mail servers I use have some sort of spam filtering (who doesn't?), but this kind of 'reminder email' has always gone through these filters. I checked my spam box too. I tried with 2 different emails running on 2 different systems (IOW, I registered with 2 different emails)... And I never received anything with either one. Any idea? --YanB
- JsnX, DarTar must suffer the same illness, then. I tried to retrieve my password, both as DarTar (with admin privs) and DarTar2 (ordinary user). They use different email addresses, none of them received anything from this server. Maybe a problem with the upgrade of this site to version n/a? Or a new security restriction on PHP mail() at JsnX's hoster ? BTW we need to modify the current password retrieval action: redirecting the user to HomePage after submitting his username makes no sense. We need to display a confirmation message or an error message, after the server has tried to send an email. -- DarTar
- I just tested it - one account had an email addres that I'd forgotten was somehow filtered (though server logs show the mail did arrive on the server); email for the other account arrived. And after I changed that filtered email address for the other account, an new attempt got an email for that as well. Doesn't look lik a problem at this server or with 1.1.6.0 to me. --JavaWoman
- Negative... Tried with 2 different emails again, still nothing. (If only this was a joke.) --YanB
- Not confirmed. On Alan I went to the site; I have my second non-admin account here as IamBack, which automatically logged me in via the cookie. I logged out, removed the cookie, and closed the browser. Opened the browser again and went to the site (not automatically logged in this time) and requested the "temporary" password. The email arrived just fine. I suspect the problem is actually with email servers rejecting some (incoming) mail as spam, possibly silently, i.e. without a bounce, so that the sending mail server won't know about it either. --JavaWoman
Comments in formatted PHP code
GeSHi has a habit of adding a trailing line if the PHP code contains a comment using // or #.
For example
echo "hello world"; // How do you do?
This does not happen if /* */ is used for comments. For example
echo "hello world"; /* How do you do? */
-- FreekDijkstra
- Sounds also like a GeSHi problem rather than a Wikka bug. If anyone is installing (or has installed) GeSHi 1.0.6 I'd appreciate feedback on whether this cosmetic problem is solved as well. --JavaWoman
Encoding of GeSHi
My default installation of Wikka 1.1.6.0 did display the error
htmlentities(): charset `646' not supported, assuming iso-8859-1 in /home/www/WWW/files/research/air/wiki/3rdparty/plugins/geshi/geshi.php
on the FormattingRules page. I was able to fix this by adding the "set_encoding" line in the GeSHi_Highlight() function in wikka.php:$geshi =& new GeSHi($sourcecode, $language, $this->config['geshi_languages_path']); # existing code
$geshi->set_encoding('UTF-8'); # set encoding (new line)
$geshi->set_encoding('UTF-8'); # set encoding (new line)
-- FreekDijkstra
- This is actually not a Wikka bug, but a problem in GeSHi itself - which only appears in rare cases. See CharsetNotSupportedWorkaround for more information. I think the latest GeSHi version (1.0.6) has addressed this problem. If you'd like to try this, make sure you remove the workaround code in Wikka when installing the new GeSHi version. --JavaWoman
User name matching
(related to the Category name matching item below)While RegisterActionTest testing the beta RegisterAction, I realized that using a username like DarTartar results in a "Sorry, username already exists" error. Looks like a problem in the RE used by the LoadUser() function. I'll take a look at it ASAP.
-- DarTar
Multiple wikka installations on one host: Login security hole?
Okay. Say that I've installed multiple seperate installations of wikka on one host. If I do a login on wikka A, I can alsoreach the pages of wikka B, whereas wikka B has an authentication table where the user account of wikka A does not exist!
My guess is that this behaviour occurs because the login cookies are set with path root. And as long the login cookies exist
Wikka doesn't care about authentication anymore??
-- JeroenJansen
- Same problem. Is it possible to include in wikka.config.php a line in which you specify the default cookie prefix? I guess this could solve the problem. --YanB
- Same problem for me as well. I've modified wikka.php to use different session names (add: session_name($wakkaConfig["wakka_name"]); just above the session_start(); ) and different cookies ("wikka_user_name@".$this->config["wakka_name"] and "wikka_pass@".$this->config["wakka_name"]) as my 2 wikkas do have have different wakka_names. Seems to behave as expected now. --OlivierPerron
Category name matching
Yes, I know the category system needs to be revamped, but I figured I'd report this anyway. If you have a category name that is a substring of another category name, pages referencing the second category will also appear in the first. In other words...I have a category named 'CategoryBookOne, and another named CategoryBookOneJournal. Pages that reference CategoryBookOneJournal also show up in the list of pages for CategoryBookOne, which is not the behavior I expected or wanted.-- TammyCravit
Installer problems
Gathered from error reports in different places (including comments on WikkaInstallation, #wikka and IM) - neither new, but worth repeating and putting together, I think:- In at least some cases the "detected" base path misses a closing slash (resulting in links that don't work); the installer should check if the derived path has a final slash, and if not, add one, before presenting that to the user.
- If PHP (and thus Wikka) cannot connect to MySQL the installer just "hangs" after the first screen and printing "Testing configuration"; this seems to be (at least partly) the result of having error messages from the MySQL statements suppressed with a @, which would be OK if the error message were handled afterwards - but this doesn't happen. Other mysql_xxx() calls in the installer also have the @ suppressing error messages. That should either be removed, or all error messages should be picked up and handled by the installer, at the very least by showing the message to the user.
This is especially a problem for users new at MySQL or new even at PHP+MySQL for whom it won't be obvious where to start troubleshooting when the installer simply hangs.
--JavaWomanPHP5 + GESHI
Using PHP5 with the 1.1.6.0 release and the included GeSHI doesn't work. Once I updated GeSHI to the latest version, everything worked fine. --BrendonB- Please define "doesn't work" and give some details what system you're running with; it works just fine for me with Wiikka 1.1.6.0 out of the box running under Apache 2.0 + PHP5. (Good to hear teh latest version works, too, though. :)) --JavaWoman
mod_rewrite issue
When in edit mode using IIS if you click the help button the program doesn't take you to the FormattingRules page, but tries to go to the FormattingRules Directory, which does not exist.
Bug in Textsearch (expanded)
As DotMG has pointed out, the input for this two actions isn't validated, making it a security-hole.You can fix it by changing the line
into
You have to change both files (textsearch and textsearchexpanded). --NilsLindenberg
Advanced search results reveal confidential info
Results should be hidden or not shown if the user doesn't have read access to page IMHO. --PolVazo
Recent[ly]Comment[ed|s] actions should check for permission
Comments are being previewed even if users do not have access. A simple check needs to be added. -- JsnX
if ($this->HasAccess("comment"))
tags in the edit-notes
I made a edit note: "removed a <?php (to much)" and got "removed a". Perhaps replacing <> would be the better option? --NilsLindenberg- Funny - I just stumbled over the same problem - only in the RecentChanges newsfeed: the <?php causes imbalanced tags there, and thus a syntax error: until that post has "aged" off of the feed, it can't be loaded any more! The validation result clearly shows what the problem is. So yes, edit notes should be fed threough htmlspecialchars[_ent]() everywhere they're presented, and that includes the RSS feed! --JavaWoman
- And the WikiPing, too :) --NilsLindenberg
- Oh is that what you removed Nils. I couldn't figure out using history what you did. Where did you take it from? And why? Did I have one more <?php than was necessary? In which code block? --GmBowen
- It was at the beginning of mail.php:
<?php <?php. I guess you overlooked it when you copied your new version to the page. Happent to me in another case, too. --NilsLindenberg
Missing language-support in the code formatter
(copied from the sandbox --NilsLindenberg)not support 2byte language in the Code formatters!!!!
// 한글이 깨지겠지
// 진짜 깨지네.. 흑흑.. 에디터창에서 깨지는 것도 열받는데..
...
// 진짜 깨지네.. 흑흑.. 에디터창에서 깨지는 것도 열받는데..
...
Error on ./handlers/page/referrers_sites
Line 46 :- Code generates a double </a> for links.
- & in URL should be replaced by &
print("<td valign=\"top\">" . (($site != "unknown") ? "<a href=\"http://".$this->htmlspecialchars_ent($site)."\">".$this->htmlspecialchars_ent($site)."</a>" : $site) . /*"</a> ".*/($IsAdmin ? "[<a href=\"".$this->href("delete_referrer", "", "spam_site=").$this->htmlspecialchars_ent($site)."&redirect=".$this->GetMethod()."\">Blacklist</a>]" : "")."</td>");
Note: You cannot see this error by validating directly a page because W3C is not registered and it will not have the same output as you, in other words, code on line 46 won't be executed. But you can save the page on your hard disk and validate it.
--DotMG
Wiki Edit causes lockup
The new version of wikiedit here causes a lockup if I use either ctrl-B or click on the B link after highlighting text. I can go to earlier versions of wikka on my servers and it works fine. Back to wikka and it causes a lockup (no asterisks are inserted, no other formatting works either, so I have to close the window...which generates an MS window crash notification popup). I'm running XPPro with current updates for both XP & IE. -- GmBowenAccept-Encoding: gzip;q=0, deflate
Not really bug, but should be corrected for respect & compliance to RFC2616If a browser sends the header
Accept-Encoding: gzip;q=0, deflate
Which should be interpreted as : "I don't support gzip encoding, but I prefer deflate", Wikka will understand "The browser supports gzip-encoding", as it just searches for the text gzip in $_SERVER['HTTP_ACCEPT_ENCODING']. An example I use to treat it correctly is :
function ParseHeaderLine($hl, $token=null)
{
$ar_hl = explode(',', $hl);
foreach ($ar_hl as $dotmg_idx => $val)
{
if (preg_match('/^\s*(.*?);\s*q\s*=\s*([0-9\.]*)/i', $val, $match))
{
$res[strtolower($match[1])] = doubleval($match[2]);
}
else
{
$res[strtolower($val)] = 1;
}
}
if ($token) return(isset($res[$token]) && ($res[$token] > 0)); #if $token is set, we return true or false
return ($res); # else we return the header parsed.
}
{
$ar_hl = explode(',', $hl);
foreach ($ar_hl as $dotmg_idx => $val)
{
if (preg_match('/^\s*(.*?);\s*q\s*=\s*([0-9\.]*)/i', $val, $match))
{
$res[strtolower($match[1])] = doubleval($match[2]);
}
else
{
$res[strtolower($val)] = 1;
}
}
if ($token) return(isset($res[$token]) && ($res[$token] > 0)); #if $token is set, we return true or false
return ($res); # else we return the header parsed.
}
and
if ($this->ParseHeaderLine($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ...
Note : This function might be useful to deal also with Accept-Language, when Wikka will be made effectively multilingual.
--DotMG
1.1.6.0beta4: Simplified Chinese (or Unicode relative) in WikiEdit:
A page contains unicode characters looks OK when viewed but displays ''*****;'' while edited in WikiEditSimplified Chinese Test:
中文是一种美丽的语言,除了具有音节上的美感,同样拥有视觉上的美感
In 1.1.5.3, I solved this problem by changed some line in ./handlers/page/edit.php
#from
"<textarea onKeyDown=\"fKeyDown()\" id=\"body\" name=\"body\" style=\"width: 100%; height: 500px\">".$body."</textarea><br />\n"
#to
"<textarea onKeyDown=\"fKeyDown()\" id=\"body\" name=\"body\" style=\"width: 100%; height: 500px\">".$this->htmlspecialchars_ent($body)."</textarea><br />\n"
"<textarea onKeyDown=\"fKeyDown()\" id=\"body\" name=\"body\" style=\"width: 100%; height: 500px\">".$body."</textarea><br />\n"
#to
"<textarea onKeyDown=\"fKeyDown()\" id=\"body\" name=\"body\" style=\"width: 100%; height: 500px\">".$this->htmlspecialchars_ent($body)."</textarea><br />\n"
Wikka is wonderful! ZhuangYuyao
- This workaround you outlined will work as well in Wikka 1.1.6.0. A real solution wil take some more investigation though, so we were unable to fix this for the current release. This is now under investigation. --JavaWoman
Double-click editing
I noticed: Turning off DoubleClick-editing does not work (double-clicks still go to edit-window) in IE 6.0 or Firefox 1.0.Keep up the good work!
Cheers, MarkHissinkMuller
- Yes, I noticed the same thing. This is a bug as of 1.1.6.0. --RyanKnoll
- Heres the fix:
- add as first line in handlers/page/show.php:
-
<?php $user = $this->GetUser(); ?>
- and change the second line to:
-
<div class="page" <?php echo ((!$user || ($user["doubleclickedit"] == 'Y')) && $this->GetMethod
() == "show") ? "ondblclick=\"document.location='".$this->href("edit")."';\" " : "" ?>>
$_REQUEST problem
If this does not fit in this bug section as such, my apologies... I'd like to hear some comments on this though..
I initially noticed this after having a problem with the {{files}} action. When trying to download a (previously succesfully uploaded) I received this result: Unknown method "page/files.xml?action=download.php"
Digging through the code and printing out some variables I noticed the $_REQUEST (and $_GET) variable still contained part of the query string. See the example code below. I inserted a quick workaround in wikka.php but I'm interested in figuring out how and where this is caused.
My setup:
Apache/1.3.28
php (module) 4.3.7
wikka 1.1.5.3
url: /wakka/wikka.php/FileActionExample/files.xml?action=download&file=file.txt
<?php
print_r($_REQUEST);
/* print_r result
Array
(
[wakka] => FileActionExample/files.xml?action=download
[file] => file.txt
)
*/
//work-around $_REQUEST problem
if( preg_match( "/(^[^?]*?)\?([^=]*?)=(.*)/" ,$_REQUEST['wakka'],$matches) ){
list(,$_REQUEST['wakka'],,$_REQUEST[$matches[2]]) = $matches;
list(,$_GET['wakka'],,$_GET[$matches[2]]) = $matches;
unset($matches);
}
print_r($_REQUEST);
/*
print_r result after work-around
Array
(
[wakka] => FileActionExample/files.xml
[file] => file.txt
[action] => download
)
*/
?>
print_r($_REQUEST);
/* print_r result
Array
(
[wakka] => FileActionExample/files.xml?action=download
[file] => file.txt
)
*/
//work-around $_REQUEST problem
if( preg_match( "/(^[^?]*?)\?([^=]*?)=(.*)/" ,$_REQUEST['wakka'],$matches) ){
list(,$_REQUEST['wakka'],,$_REQUEST[$matches[2]]) = $matches;
list(,$_GET['wakka'],,$_GET[$matches[2]]) = $matches;
unset($matches);
}
print_r($_REQUEST);
/*
print_r result after work-around
Array
(
[wakka] => FileActionExample/files.xml
[file] => file.txt
[action] => download
)
*/
?>
thanks, JoshJohn
PageIndex problem
DarTar and I have recently created some test pages, testing page names related to how Wikka evaluates 'valid' page names: ,My,Page and ÄhnLich (yes, they both exist, even if they don't show up as such in this sentence!). Now look at where they show up on PageIndex... surely there shouldn't be two '#' indices??--JavaWoman
- I think that this is due to the encoding of the MySQL tables. I can't see how that would be fixed with a small touch on the code. If this is the matter then I hope that it also rings the i18n bell too. Translation to Greek is my bussiness ;)
Install Note on Basic URL and CSS
First, this may applied to my ISP only. When I installed, I have to usethe ?wakka= options. However, I have to add a / to the end of the
default Basic URL before append ?wakka= to it. So I think it maybe
helpful to modify the instruction to '... so it should include
the "/?wakka=" parameter...'
- ArpY: Maybe this is caused by a config error. Please have a look at your config - is there a slash at the end of the base_url?
Floating off-wiki link image
This problem has been cropping up off and on in wikka for me recently (only at this site as far as I can tell...so beta code maybe??). Anyways, I noticed it today on the BannerMaker page. The follow three screen captures were done after multiple reloads of the page (the images didn't move with every reload). The weird part to me is that the "spacing" between them stays the same, but the images move up and down the screen.http://gmbowen.educ.unb.ca/wikitest/bug.jpg
http://gmbowen.educ.unb.ca/wikitest/bug2.jpg
http://gmbowen.educ.unb.ca/wikitest/bug3.jpg
- I've never seen anything like it and can't reproduce your screenshots - can you tell us exactly which browser/version/OS (all three!) you are using? To me it feels more like a browser problem than a Wikka problem... Also: given the spacing they look as if they belong to the "small print" line "Valid XHTML 1.0 Transitional? :: Valid CSS? :: Powered by Wikka Wakka Wiki 1.1.6.0?" in the footer - can you maek a screen shot that includes that line? --JavaWoman
- Sure. Win 98, IE 6.0.2800.1106 (most recent updates of both as far as I know). I've closed and rebooted several times since leaving this note and it's still there (but farther up the page now, in the middle of the second code block, but with the same spacing). You're right that it's "from" that small print line....those images (and you cannot right-click and get properties on them....they're visible, but NOT there, if you get what I mean) are NOT on that line as a matter of fact and the spacing corresponds exactly. I've never seen it at any other site, but have noticed it a few times at wikka recently...but not always. It persistently (which means ALMOST always) shows up on the bannermaker page when I go there. -- GmBowen
- No, showing comments or not has no effect. I just looked NOT showing comments and the symbols were halfway up the page in the code block. I'm using the default stylesheet as far as I know (I've not changed it)...and when I do switch to yours they're still there (on a different vertical part of the page, but it varied before anyways. Oh, right, that's a character. Well, what's weird is you can't highlight it either. It's like a ghost image. Weird. --GmBowen
- TEST: Please try with my stylesheet again, to see if that makes any difference now (I tweaked it). --JavaWoman
- Answer: Sorry to say, the floaters are still there in IE even using your stylesheet. (FYI....I tried using your stylesheet in Netscape 4.7 & it crashed the TestSkin page. I can go to other pages with your stylesheet in Netscape, but I get the WSOD on the TestSkin page and can't change to anything else. Later...closing & re-opening NS allowed me to re-set it to the wikka.css....and it "crashed" the page again. Obviously there are broader NS problems....wikka's homepage doesn't load at all using any skin in NS 4.7.) --GmBowen
- Forget about NS 4.x - it doesn't really support stylesheets. The only solution for that would be detecting it and not giving it a stylesheet at all. I'd like to trace the problem with IE6 though ... even though I cannot reproduce it with my IE6 on Win2K. It may not be standards-compliant, but there's still an awful lot of people using it, even when FireFox is taking market share from it now. I have to think about another approach but I still suspect it's something to do with the (valid) stylesheet that trips up IE6. Thinking... --JavaWoman
- Any chance it's a videocard memory issue? It's a new ATI card, but that the images jump around on re-loads is interesting to me. It's like the video driver is doing something as video memory fills in different ways. --GmBowen
- Sounds unlikely to me - and they're not images, remember? Just text, but bits of text positioned by means of a stylesheet. Any chance of testing with a different machine, different video card, but same Browser+OS? Meanwhile, I'll sleep on it. :) --JavaWoman
- Another idea just struck me: are you using some security software (like Norton security) or a proxy (like The Proxomitron or Privoxy) that sits between your browser and the Internet? That might "do" things to the page to cause a different display. I'm asking because I know The Proxomitron can cause display problems - and the problem seems to be unique to your machine/browser... Another thing to try would be to get Mozilla or Firefox and see if that shows the same problem on your machine. --JavaWoman
- Ya, I'm using a firewall & avg antivirus software....but no proxy stuff. Firefox doesn't cause the same problem tho'. I've also noticed those images when I've gone to a couple of pages on my site as well (so it's not a wikka 1.1.5.3 problem)....so that's what's really weird...it consistently happens with some pages only. Even really simple ones without actions etc.
- I'm out of ideas, Mike, except that it's probably something to do with the stylesheet and IE (more likely since you don't see it with FF) - plus something else... Try to find a pattern, is all I can suggest. Note down at which pages it happens. See what shakes out. --JavaWoman
Weirdness with Include
Um, I don't know how to describe this really. Put {{include page="CategoryDocumentation"}} on the SandBox page....I can't figure out why it gives that output as Sandbox doesn't own anything.- Looks like the weirdness is caused by the {{Category}} action which assumes the "current page" represents the category - and find pages "belonging to" a category by finding a mention of that page name. Good sign our category system does need an CategorySystemOverhaul overhaul! --JavaWoman
- Include pulls in a page that itself has the category action on it; the "official" version of this action assumes that the page it occurs on is a category. The "experimental" category action that is now active on this site no longer makes this assumption but recognizes that SandBox isn't a category page and defaults to the top category. See Sandbox for a an example (at this moment). --JavaWoman
- I can see that it now works, but what do you mean that it "recognizes that Sandbox isn't an action".....do you mean target page? --GmBowen
Backlinks / LoadPagesLinkingTo()
I just discovered that the {{backlinks}} action may list pages that don't "exist" any more, in the sense that they (apparently) still are in the database but without any active version (seemingly as a result of a rename action. I added an example on JavaWoman my own page where you can see a supposed backlink from ReleaseNotes (which was replaced by WikkaReleaseNotes).- The cause is apparently in the LoadPagesLinkingTo() method which is used by {{backlinks}} action. It currently is implemented like this:
-
function LoadPagesLinkingTo($tag) { return $this->LoadAll("select from_tag as tag from ".$this->config["table_prefix"]."links where to_tag = '".mysql_real_escape_string($tag)."' order by tag"); }I think replacing this by:
-
function LoadPagesLinkingTo($tag) { return $this->LoadAll("select from_tag as tag from ".$this->config["table_prefix"]."links where to_tag = '".mysql_real_escape_string($tag)."' and latest = 'Y' order by tag"); }might do the trick to avoid deceased pages - but please test!
- It wont do, since the link-table has no latest col ;). But shouldn't the delete-handler delete these links from the table anyway? --NilsLindenberg
GetEnv is not a good idea!
At ./wikka.php, you will see a lineIn the most cases, a website is hosted in a machine as a VirtualHost, this means that a number of websites share the same environment variables. If someone knows where your site is hosted, he can put his site at the same server, and use a script containing . And all wikka sites on the same server will use his configuration file. The rest actions to take to hack your site will be as easy as eating sandwich.
Php doc says that an environment variable is altered only during the life of the script, but with my dev Easyphp's on windows, that is false. (I think a "new" environment variable keep its value, even on Linux).
I wanted to make a unique Wikka interface used by 3 sites on the same server. The best secure solution I found is to alter ./wikka.php like this :
<?php
if (file_exists("wakka.config.php")) rename("wakka.config.php", "wikka.config.php");
#if (!$configfile = GetEnv("WAKKA_CONFIG")) $configfile = "wikka.config.php";
if (!$configfile && isset($GLOBALS['wikka_config'])) $configfile = $GLOBALS['wikka_config'];
if (!$configfile) $configfile = "wikka.config.php";
if (file_exists($configfile)) include($configfile);
if (file_exists("wakka.config.php")) rename("wakka.config.php", "wikka.config.php");
#if (!$configfile = GetEnv("WAKKA_CONFIG")) $configfile = "wikka.config.php";
if (!$configfile && isset($GLOBALS['wikka_config'])) $configfile = $GLOBALS['wikka_config'];
if (!$configfile) $configfile = "wikka.config.php";
if (file_exists($configfile)) include($configfile);
and put the 2 files sitenumber2.php and .htaccess below at the root of the server number 2:
sitenumber2.php:
<?php
$GLOBALS['wikka_config'] = "/path/to/altered_config.php";
chdir("/path/to/basewikka");
include('wikka.php');
?>
$GLOBALS['wikka_config'] = "/path/to/altered_config.php";
chdir("/path/to/basewikka");
include('wikka.php');
?>
.htaccess:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*/[^\./]*[^/])$ $1/ RewriteRule ^(css|images|wikiedit2)/(.*)$ /path/to/basewikka/$1/$2 [L] RewriteRule ^(.*)$ sitenumber2.php?wakka=$1 [QSA,L] </IfModule>
--DotMG
- I've now written up my thoughts about a WikkaSecureConfig more secure way to handle Wikka's configuration (which should also provide also more flexibility). --JavaWoman
Expanded Text Search fails
I tried an expanded Text-Search after +parameter +link and got the following error:Warning: Compilation failed: nothing to repeat at offset 1 in /.../actions/textsearchexpanded.php on line 33
for every page.
--NilsLindenberg
- In my recent RE exploits I have found that a warning of this type comes up when a regular expression isn't quite correct (though not every attempt to match may bring up teh warning); haven't investigated further in textsearchexpanded.php though. --JavaWoman
- Php has a function : preg_quote that may help us. Or try this solution : DotMGTextSearchExpanded
Yet more formatter bugs
Looking at formatters/wikka.php to find the cause of the two bugs listed below (found one), I notice to my horror that a lot of the regular expressions used there are actually incorrect. They allow such things as using a comma to indent a line (in addition to a tab, or ~, at the start of a line: demo in the SandBox, and in the list below!), or a comma in a WikiName (even at the start) or in an InterWiki link. That can't have been the intention - it's simply a matter of incorrect RE syntax. I'd become sort of "sensitized" to this phenomenon looking at DarTar's RE on ValidPageNames earlier today - now I see where he found an example (see my comment on that page on his RE!).,Note: see also ,My,Page - yup, that's a real page now. ;-)
- Rather than simply fixing all the REs (and other REs all over the place...) I'd like to propose a more fundamental solution:
- -create a "library" of RE building blocks to be used in the Wikka core (for an example of what I mean with building blocks see my propopsal for an alternative RE on ValidPageNames); simply create a separate file with define()s for these building blocks, and include them at the start of the main wikka.php file;
- -gather all RE used in the Wikka core here (extensions/plugins could have their own set of defines - as long as they don't have conflicting names);
- -now use only these building blocks when using REs anywhere in the Wikka core.
- This should make it much easier to create both correct, and consistent regular expressions; any (near)duplicates will be much easier to discover, and fix.
- Probably best to leave this to just after the coming release, so we have a stable code base again. I volunteer to undertake this work. (Unlike some people, I happen to like REs.) :)
List parsing bug?
Have a look at the source of WikkaDevelopment, you will see that tabs and unordered lists for some reasons are not correctly parsed (actually after one edit, tabs were added at the beginning of each line). I'll try to figure out why this happens...-- DarTar
- Possible clue:
- I just stumbled over the fact that the little list of "Useful pages" at the end of the default (installation-generated) HomePage had incorrect coding: The last list item (li) was not terminated, nor was the list itself (no closing ul tag). It took me a bit of trial and error to reproduce this - but have a look at my test code at the end of SandBox (now). Originally I thought that any list at the end of a page would be unterminated, but that turned out not to be the case. Then I hit on something else: the last list element on that default HomePage (not the one here) ands with a period. My test version on SandBox now also has the last element ending in a period ... and if you look at the (HTML) page source, you'll see it is indeed an unterminated list. Somehow that ending period (maybe in combination with end-of-page?) causes the Formatter never to close the list; take that ending period away, and it works normally. I tried a few variants, to check whether it might be an odd-even problem, but no: whether the number of list items is odd or even, if the last one ends in a period, the list isn't terminated.
- No difference whether it's anordered (ol) or unordered (ul) list, the formatter behaves the same way.
- And, BTW, if you look at the preview when editing, the HTML source of the preview actually contains a lot of Wiki code that shouldn't be there!
- I haven't dug in the Formatter yet to find the cause or whether end-of-page makes a difference...
MySQL issue
MySQL 5+ isn't supported as it requires PHP to use the mysqli extension instead of plain old mysql. I hoped there would be a single file to change this, but there seems to be no database abstraction in this project at all.
-- DavidCarrington
- I do not have access to a MySQL 5 server for testing. And judging by the feedback that I see here on Wikka, most other Wikka admins are using older versions of MySQL. However, I do like progress, so I looked at the documentation for the mysqli extension. I don't see any major issue here. It looks like the function calls are the same, they just have a different name. Instead of calling mysql_connect, you call mysqli_connect. Instead of calling mysql_query, you call mysqli_query. So on and so forth.
- It seems that we would just have to do a simple version check and call "mysql" functions for older versions, and "mysqli" functions for newer versions.
- Please correct me if I'm missing something. -- JsnX 26 Nov 2004
Login Problem
I have several users that have trouble staying logged in using ie 6.0.XX.
--GregorLindner
- I have no problems with IE 6.0.xx. Perhaps they don't accept cookies? The login is stored in (one?) cookie. So if you don't allow them, the status as logged in simply wouldn't be stored.
- PS: I tried it with the IE. If you block cookies, you can't login.
- More info: I checked with two of the users, both have their "Privacy" set to "Medium" (tools/internet options). This seeme to be a default setting of ie, and perhaps the Wikka Cookies should be able to work with that.
- I worked around the problem by setting their Ie to allow all cookies from my wiki host... Not ideal, i know..
- I'm using a freshly installed copy of Windows XP SP2 with Privacy set to medium--and all other settings are at the defaults--and it works. There must be another cause in your environment beyond having Privacy set to medium. -- JsnX
User search - should be case-sensitive
I was going through user pages, and looked at the homepage by user DaN; clicking on the name does the TextSearch thing: http://wikka.jsnx.com/TextSearch?phrase=DaN which brings up a surprising number of pages, none of which have actually been touched by DaN, it seems (at least non of the ones I checked). Using the browser to search in some of the listed pages (and their revision history) I found hits on words like "dangerous" - and nothing else. This way, the user search feature isn't all that useful, I'm afraid. A whole-word search may be difficult, but could we at least make it (optionally) case-sensitive so that a search for a user name or page name doesn't bring up a host of spurious results?- (That homepage looks at least marginally like spam to me - has DaN done anything else but post a link to an obviously commercial site? Just wondering...)
- -- JavaWoman
- Actually it is really easy to do a whole-word search--just include the item in double quotes. This info can be found at the bottom of the text search page in the Tips section. To address your issue, I added a regular expression to the search function:
-
if (preg_match('/[A-Z]/', $phrase)) $phrase = "\"".$phrase."\"";
- If a capital letter is found in the search phrase, the search phrase will be automatically enclosed in double quotes for you. This seems to fix what you didn't like, but shouldn't cause too much unexpected behaviour for others. Let me know what you think. -- JsnX 27 Nov 2004
Problem with "History"??
I ran across this on another wikka implementation....http://elvito.sv-city.de/wikka.php?wakka=RecentChanges
if you look at Sun, 22 Aug 2004 the second item down says
[ (20:46 CEST?) [history?] - TextSearch?phrase=ElVitoWakkaWiki? ? ppp-82-135-6-82.mnet-online.de ] which seems kinda wrong. -- Mike (aka GmBowen)
Email Addresses
Found several issues with how email addresses are validated / accepted / used; outlined on WikkaAndEmail - and I'm working on solutions. (Email is complicated and there's a whole bunch of standards (RFCs) involved.)First part of the solutions now in WikkaEmailToolkit; while the toolkit is still incomplete, what's there now can be used as presented there (no dependencies on later components).
-- JavaWoman
- Mod_rewrite : take a look at FaviconDotIco and RobotsDotTxt
Logout problem
With Wikka Wakka Wiki 1.1.6.0. Php5Login.
Go to Preferences/Logout, click the logout button
=> it goes to:
[[mypath]]/wikka.php?wakka=UserSettings?action=logout
So, it tries to find the "UserSettings?action=logout" page, doesn't and propose to create it.
The path should be:
[[mypath]]/wikka.php?wakka=UserSettings&action=logout
- Looks like mod_rewrite is configured incorrect, please take a look at ModRewrite! --NilsLindenberg
CategoryDevelopment