I try to directly access the wiki-database to create new pages. I can create new pages, but the content is missing.
I use mediawiki 1.5.4.
The reason I directly want to use the database is to automate the following process: I wrote an extension for a special page in which a form can be filled in by a user. The form is posted to a php-page in which I want to create a new page with a nicely formatted table with all the info the user gave me. Also the script must add a link to that newly created page in the main page (otherwise it will be an orphan).
The following php-script describes the sql-statements. I performed them manually in mysql to see what is happening. This is just to give an idea of what I did manually.
$newtitle = "dive-entry-12"; $text = "this is the text on the new page, but is NOT displayed!";
$sql1 = "insert into text (old_text, old_flags) values ($text, "utf-8")";
$sql2 = "select max(old_id) from text"; // returns $page_latest (it is old_id to be used as page_latest entry in page table)
$page_len = count($text); $randomnr = rand(1000000)/1000000; $currenttime= "20060103232541";
$sql3 = "insert into page (page_title, page_latest, page_len, page_random, page_touched) values ($newtitle, $page_latest, $page_len, $randomnr, $currenttime) ";
PROBLEM ======= I can create the new entries in the page and the text tables. Now the entry in column page_latetest is the same as the entry old_id in text. So the page should get the correct contents. But I do not. The page is accessible via mediawiki but it is empty !!
Later I edited the page (using the wiki) and then the wiki adds the entry old_id=1408 with the new text. The page_latest is NOT altered (still 1407), but the new text with old_id=1408 is shown.
So the entry in table text I made (with old_id=1407) is not used at all. It is simply skipped and the content at old_id=1408 is shown although page_latest=1407!
Editing the page again changes page_latest to 1408 and old_id 1409 !!
QUESTION ======== What mechanism determines which text to show for a given requested page?
or (actually the main question)
How can I make good queries in the dbase to manually make (and alter) new pages?
mediawiki-l@lists.wikimedia.org