From: Arnaud F. <ar...@cr...> - 2005-01-09 16:58:49
|
Hi all, I wrote a putPage Xml-Rpc method for version 1.3.4 ... it was working perfectly and took the authentification from http ... I'm writing another one for version 1.3.7 ... it crashes when running the $page->save method ... and I don't know how manage authentification. The 1.3.4 putPage was using the $page->createRevision method. Any clue ? Oh ... btw, if you have any good idea to debug xml-rpc methods ... -- Arnaud Fontaine CRAO Jabber: sh...@ra... |
From: Arnaud F. <ar...@cr...> - 2005-01-09 17:06:10
|
Arnaud Fontaine a écrit : > The 1.3.4 putPage was using the $page->createRevision method. hmmm ... while sending the first mail I was writing another version using $page->createRevision instead of the save method ... and ... no error ... I still don't know how to pass auth info ... -- Arnaud Fontaine CRAO Jabber: sh...@ra... |
From: Arnaud F. <ar...@cr...> - 2005-01-09 17:17:11
|
Still seeking and trying ... Well ... even the createRevision doesn't work ... Here is the code : /** Int putPage(String pagename, String content) * */ $wiki_dmap['putPage'] = array('signature' => array(array($xmlrpcString,$xmlrpcString,$xmlrpcString)), 'documentation' => 'put the raw Wiki text of a new version of a page', 'function' => 'putPage'); function putPage($params) { global $request; $ParamPageName = $params->getParam(0); $ParamContent = $params->getParam(1); $pagename = short_string_decode($ParamPageName->scalarval()); $content = short_string_decode($ParamContent->scalarval()); $dbh = $request->getDbh(); $page = $dbh->getPage($pagename); $current = $page->getCurrentRevision(); $meta = $current->_data; $meta['summary'] = "XML-RPC Wiki Contrib"; $version = $current->getVersion(); //$res = $page->save($content, $version + 1, $meta); $formatted = new TransformedText($page, $content, $meta); $type = $formatted->getType(); $meta['pagetype'] = $type->getName(); $links = $formatted->getWikiPageLinks(); $version = $version +1; $res = $page->createRevision($version, $content, $meta, $links); if ($res) $message = "Page $pagename version $version created"; else $message = "Problem creating version $version of page $pagename"; return new xmlrpcresp(short_string($message)); } One more info : it seems to lock the DB ... I have to restart apache to access the wiki again (and only this one, not others ... got plenty running on my server). Arnaud Fontaine a écrit : > Hi all, > > I wrote a putPage Xml-Rpc method for version 1.3.4 ... it was working > perfectly and took the authentification from http ... > > I'm writing another one for version 1.3.7 ... it crashes when running > the $page->save method ... and I don't know how manage authentification. > > The 1.3.4 putPage was using the $page->createRevision method. > > Any clue ? > > Oh ... btw, if you have any good idea to debug xml-rpc methods ... -- Arnaud Fontaine CRAO Jabber: sh...@ra... |
From: Arnaud F. <ar...@cr...> - 2005-01-09 17:33:22
|
Arnaud Fontaine a écrit : > Still seeking and trying ... > > Well ... even the createRevision doesn't work ... > I tried to call createRevision with the current version number of the page : no error but no page modification. The crash occurs when I call it with version +1 (the normal process for a new revision). -- Arnaud Fontaine CRAO Jabber: sh...@ra... |
From: Arnaud F. <ar...@cr...> - 2005-01-09 19:02:16
|
Arnaud Fontaine a écrit : > Arnaud Fontaine a écrit : > >> Still seeking and trying ... >> >> Well ... even the createRevision doesn't work ... >> > > I tried to call createRevision with the current version number of the > page : no error but no page modification. The crash occurs when I call > it with version +1 (the normal process for a new revision). > Ok ... I make it work. I followed the same meta data build process than WikiBlog plugin and also trim($content) to get rid of any space/tab/return char at the beginning and end of the content sting. Well ... I really need to upgrade the 1.3.7 wiki to the last CVS ... as soon as the LANG problem is solved. -- Arnaud Fontaine CRAO Jabber: sh...@ra... |
From: Reini U. <ru...@x-...> - 2005-01-10 12:54:41
|
Arnaud Fontaine schrieb: > Arnaud Fontaine a écrit : >> Arnaud Fontaine a écrit : >>> Still seeking and trying ... >>> Well ... even the createRevision doesn't work ... >> >> I tried to call createRevision with the current version number of the >> page : no error but no page modification. The crash occurs when I call >> it with version +1 (the normal process for a new revision). > > Ok ... I make it work. > > I followed the same meta data build process than WikiBlog plugin and > also trim($content) to get rid of any space/tab/return char at the > beginning and end of the content sting. > > Well ... I really need to upgrade the 1.3.7 wiki to the last CVS ... as > soon as the LANG problem is solved. $LANG should be solved. Just docs update is missing. The current logic is rather crude. I also added xmlrpc tests to CVS last month. Just SOAP testing is missing, and doing soap via the native extension if it exists, and not via nusoap. But I delayed this to 1.3.12 (extended blogging features). -- Reini Urban http://xarch.tu-graz.ac.at/home/rurban/ |
From: Arnaud F. <ar...@cr...> - 2005-01-10 16:57:38
|
Le 10 janv. 05, =E0 13:54, Reini Urban a =E9crit : > > $LANG should be solved. Just docs update is missing. The current logic=20= > is rather crude. > I also added xmlrpc tests to CVS last month. $LANG is a major problem ... as is the auth problem with XmlRpc (how to=20= ?) and HttpAuth (can be a solution for XmlRpc auth). > BTW, here is the putPage xmlrpc method .. to be completed :) It should=20= be a bit simplier for the current version .. not tested yet. /** Int putPage(String pagename, String content, String author) * */ $wiki_dmap['putPage'] =3D array('signature' =3D>=20 array(array($xmlrpcString,$xmlrpcString,$xmlrpcString,$xmlrpcString)), 'documentation' =3D> 'put the raw Wiki text of a new version of = a=20 page', 'function' =3D> 'putPage'); function putPage($params) { global $request; $ParamPageName =3D $params->getParam(0); $ParamContent =3D $params->getParam(1); $ParamAuthor =3D $params->getParam(2); $pagename =3D short_string_decode($ParamPageName->scalarval()); $content =3D short_string_decode($ParamContent->scalarval()); $author =3D short_string_decode($ParamAuthor->scalarval()); $dbh =3D $request->getDbh(); $now =3D time(); $init_meta =3D array('ctime' =3D> $now, 'creator' =3D> $author, 'creator_id' =3D> $author, ); $version_meta =3D array('author' =3D> $author, 'author_id' =3D> $author, 'markup' =3D> 2.0, 'summary' =3D> $summary ? $summary : _("New=20= contribution"), //Yes, I could add summary to the args 'mtime' =3D> $now, 'pagetype' =3D> 'wikitext', 'wikitext' =3D> $init_meta, ); $page =3D $dbh->getPage($pagename); $current =3D $page->getCurrentRevision(); $version =3D $current->getVersion() + 1; $content =3D trim($content); $res =3D$page->save($content, $version, $version_meta); if ($res) //To be modified : return an INT value ... $message =3D "Page $pagename version $version created"; else $message =3D "Problem creating version $version of page=20 $pagename"; return new xmlrpcresp(short_string($message)); } -- Arnaud Fontaine CRAO Jabber: sh...@ra... |