Hello,
I found a bug in the special:Randompage, it goes like this:
The algorithm picks a random number, then checks in the database for a page with a higher cur_random (a random value given to each page), and takes the first page that matches. The problem with this is I only have 2 pages, both with a very low cur_random value. So often I get redirected to an empty page (404). I don't know if there's a way to fix this, or a workaround (other than "make more pages")? Maybe, instead of doing '$rt = "" ' in the else, you could do another query, but this time with "AND cur_random < $randstr AND cur_random > 0" (to avoid the homepage).
Final code: (in includes/SpecialRandompage.php) ... } else { $sqlget = "SELECT cur_id,cur_title FROM cur USE INDEX (cur_random) WHERE cur_namespace=0 AND cur_is_redirect=0 AND cur_random<$randstr AND cur_random > 0 ORDER BY cur_random DESC LIMIT 1"; $res = wfQuery( $sqlget, DB_READ, $fname ); if( $s = wfFetchObject( $res ) ) { $rt = wfUrlEncode( $s->cur_title ); } else { # No articles?! $rt = ""; } } ...
This solution isn't good, it takes nearly always the same page. There should be a better way :-)
And I also have a problem when I edit a page, then press Save. I get told there was a conflicting error, but when I return to the page, the update has been done. I think it's some problem with my session-things (I'm using a windows webserver, not apache).
Any comments? Tom