| | 534 | // Wikispaces specific Message hanlding follows: |
|---|
| | 535 | |
|---|
| | 536 | WikispacesSoapAdaptor.prototype.getTopicList = function(context,userParams,callback) |
|---|
| | 537 | { |
|---|
| | 538 | //#console.log('getTopicList'); |
|---|
| | 539 | context = this.setContext(context,userParams,callback); |
|---|
| | 540 | return this.complete(context,WikispacesSoapAdaptor.getMessageListComplete); |
|---|
| | 541 | }; |
|---|
| | 542 | |
|---|
| | 543 | WikispacesSoapAdaptor.getTopicListComplete = function(context,userParams) |
|---|
| | 544 | { |
|---|
| | 545 | //#console.log('getTopicListComplete'); |
|---|
| | 546 | // http://www.wikispaces.com/message/api?wsdl |
|---|
| | 547 | var uri = WikispacesSoapAdaptor.SoapUri(context,'%0message/api'); |
|---|
| | 548 | //#console.log('uri:'+uri); |
|---|
| | 549 | var pl = new SOAPClientParameters(); |
|---|
| | 550 | pl.add('session',context.sessionToken); |
|---|
| | 551 | pl.add('pageId',context.pageId); |
|---|
| | 552 | SOAPClient.invoke(uri,'listTopics',pl,true,WikispacesSoapAdaptor.getMessageListCallback,context); |
|---|
| | 553 | return true; |
|---|
| | 554 | }; |
|---|
| | 555 | |
|---|
| | 556 | WikispacesSoapAdaptor.getTopicListCallback = function(r,x,context)//(status,context,responseText,uri,xhr) |
|---|
| | 557 | { |
|---|
| | 558 | //#console.log('getTopicListCallback'); |
|---|
| | 559 | var status = r instanceof Error ? false : true; |
|---|
| | 560 | context.status = false; |
|---|
| | 561 | context.statusText = WikispacesSoapAdaptor.errorInFunctionMessage.format(['getTopicListCallback']); |
|---|
| | 562 | function gev(p,i,n) { |
|---|
| | 563 | return p[i].getElementsByTagName(n)[0].childNodes[0].nodeValue; |
|---|
| | 564 | } |
|---|
| | 565 | if(status) { |
|---|
| | 566 | try { |
|---|
| | 567 | var list = []; |
|---|
| | 568 | var p = x.getElementsByTagName('message'); |
|---|
| | 569 | for(var i = 0;i<p.length;i++) { |
|---|
| | 570 | var title = String(gev(p,i,'id')) + ' Subject:' + gev(p,i,'subject'); |
|---|
| | 571 | //var title = gev(p,i,'subject'); |
|---|
| | 572 | if(title.indexOf('._')!=0 && !store.isShadowTiddler(title)) { |
|---|
| | 573 | var tiddler = new Tiddler(title); |
|---|
| | 574 | tiddler.text = gev(p,i,'body'); |
|---|
| | 575 | tiddler.fields['server.page_id'] = gev(p,i,'page_id'); |
|---|
| | 576 | tiddler.fields['server.topic_id'] = gev(p,i,'topic_id'); |
|---|
| | 577 | tiddler.fields['server.responses'] = gev(p,i,'responses'); |
|---|
| | 578 | tiddler.modified = WikispacesSoapAdaptor.dateFromTimestamp(gev(p,i,'date_created')); |
|---|
| | 579 | tiddler.fields['server.modifier.id'] = gev(p,i,'user_created'); |
|---|
| | 580 | tiddler.fields.wikiformat = 'wikispaces'; |
|---|
| | 581 | tiddler.fields['server.host'] = WikispacesSoapAdaptor.minHostName(context.host); |
|---|
| | 582 | list.push(tiddler); |
|---|
| | 583 | } |
|---|
| | 584 | } |
|---|
| | 585 | } catch (ex) { |
|---|
| | 586 | context.statusText = exceptionText(ex,WikispacesSoapAdaptor.serverParsingErrorMessage); |
|---|
| | 587 | if(context.callback) |
|---|
| | 588 | context.callback(context,context.userParams); |
|---|
| | 589 | return; |
|---|
| | 590 | } |
|---|
| | 591 | context.topics = list; |
|---|
| | 592 | context.status = true; |
|---|
| | 593 | context.statusText = null; |
|---|
| | 594 | } else { |
|---|
| | 595 | context.statusText = '%0:%1 - %2%3'.format([r.name,r.message,r.fileName,r.lineNumber]); |
|---|
| | 596 | } |
|---|
| | 597 | if(context.callback) |
|---|
| | 598 | context.callback(context,context.userParams); |
|---|
| | 599 | }; |
|---|
| | 600 | |
|---|
| | 601 | WikispacesSoapAdaptor.prototype.getMessageList = function(context,userParams,callback) |
|---|
| | 602 | { |
|---|
| | 603 | //#console.log('getMessageList'); |
|---|
| | 604 | context = this.setContext(context,userParams,callback); |
|---|
| | 605 | return this.complete(context,WikispacesSoapAdaptor.getMessageListComplete); |
|---|
| | 606 | }; |
|---|
| | 607 | |
|---|
| | 608 | WikispacesSoapAdaptor.getMessageListComplete = function(context,userParams) |
|---|
| | 609 | { |
|---|
| | 610 | //#console.log('getMessageListComplete'); |
|---|
| | 611 | var uri = WikispacesSoapAdaptor.SoapUri(context,'%0message/api'); |
|---|
| | 612 | //#console.log('uri:'+uri); |
|---|
| | 613 | var pl = new SOAPClientParameters(); |
|---|
| | 614 | pl.add('session',context.sessionToken); |
|---|
| | 615 | pl.add('topicId',context.topicId); |
|---|
| | 616 | SOAPClient.invoke(uri,'listMessagesInTopic',pl,true,WikispacesSoapAdaptor.getMessageListCallback,context); |
|---|
| | 617 | return true; |
|---|
| | 618 | }; |
|---|
| | 619 | |
|---|
| | 620 | WikispacesSoapAdaptor.getMessageListCallback = function(r,x,context)//(status,context,responseText,uri,xhr) |
|---|
| | 621 | { |
|---|
| | 622 | //#console.log('getMessageListCallback'); |
|---|
| | 623 | var status = r instanceof Error ? false : true; |
|---|
| | 624 | context.status = false; |
|---|
| | 625 | context.statusText = WikispacesSoapAdaptor.errorInFunctionMessage.format(['getMessageListCallback']); |
|---|
| | 626 | function gev(p,i,n) { |
|---|
| | 627 | return p[i].getElementsByTagName(n)[0].childNodes[0].nodeValue; |
|---|
| | 628 | } |
|---|
| | 629 | if(status) { |
|---|
| | 630 | try { |
|---|
| | 631 | var list = []; |
|---|
| | 632 | var p = x.getElementsByTagName('message'); |
|---|
| | 633 | for(var i = 0;i<p.length;i++) { |
|---|
| | 634 | var title = String(gev(p,i,'id')) + ' Subject:' + gev(p,i,'subject'); |
|---|
| | 635 | //var title = gev(p,i,'subject'); |
|---|
| | 636 | if(title.indexOf('._')!=0 && !store.isShadowTiddler(title)) { |
|---|
| | 637 | var tiddler = new Tiddler(title); |
|---|
| | 638 | tiddler.text = gev(p,i,'body'); |
|---|
| | 639 | tiddler.fields['server.page_id'] = gev(p,i,'page_id'); |
|---|
| | 640 | tiddler.fields['server.topic_id'] = gev(p,i,'topic_id'); |
|---|
| | 641 | tiddler.fields['server.responses'] = gev(p,i,'responses'); |
|---|
| | 642 | tiddler.modified = WikispacesSoapAdaptor.dateFromTimestamp(gev(p,i,'date_created')); |
|---|
| | 643 | tiddler.fields['server.modifier.id'] = gev(p,i,'user_created'); |
|---|
| | 644 | tiddler.fields.wikiformat = 'wikispaces'; |
|---|
| | 645 | tiddler.fields['server.host'] = WikispacesSoapAdaptor.minHostName(context.host); |
|---|
| | 646 | list.push(tiddler); |
|---|
| | 647 | } |
|---|
| | 648 | } |
|---|
| | 649 | } catch (ex) { |
|---|
| | 650 | context.statusText = exceptionText(ex,WikispacesSoapAdaptor.serverParsingErrorMessage); |
|---|
| | 651 | if(context.callback) |
|---|
| | 652 | context.callback(context,context.userParams); |
|---|
| | 653 | return; |
|---|
| | 654 | } |
|---|
| | 655 | context.messages = list; |
|---|
| | 656 | context.status = true; |
|---|
| | 657 | context.statusText = null; |
|---|
| | 658 | } else { |
|---|
| | 659 | context.statusText = '%0:%1 - %2%3'.format([r.name,r.message,r.fileName,r.lineNumber]); |
|---|
| | 660 | } |
|---|
| | 661 | if(context.callback) |
|---|
| | 662 | context.callback(context,context.userParams); |
|---|
| | 663 | }; |
|---|
| | 664 | |
|---|
| | 665 | |
|---|
| | 666 | |
|---|