DrupalBin
Submit Code
About
Recent Posts
Code
4 min 2 sec
ago
beginnings of an Amazon/eBay-style "welcome back" module for Drupal
10 min 11 sec
ago
function for clearing a cookie
21 min 37 sec
ago
Drupal 5 menu
1 hour 47 min
ago
more
Tags
CCK
drupal
fapi
jquery
menu
module
Panels
php
simpletest
test
theme
views
more tags
User login
Log in using OpenID:
What is OpenID?
Username:
*
Password:
*
Create new account
Request new password
Log in using OpenID
Cancel OpenID login
Home
Fix for drupal amfphp helper class
View
Download
Fix
This fix will not be saved to the database until you submit.
Summary:
Tags:
Any tags you'd like to associate with your code, delimitered by commas (example: Views, CCK, Module, etc).
Source code:
*
package { import flash.net.Responder; /* * Drupal class for AMFPHP connections to Drupal services */ public class Drupal { public var gatewayUrl:String = ""; public var apiKey:String = ""; public var sessionId:String = ""; private var rs:RemotingService; private var callback:Function; /* * Drupal.connect() */ public function connect(onSuccess:Function):void { callback = onSuccess; this.service(onConnect, onFault, "system.connect"); } /* * Drupal.service(onSuccess, onFault, command, ... args) */ public function service(onSuccess, onFault, command, ... args):Boolean { if (gatewayUrl.length > 0) { rs = new RemotingService(gatewayUrl); } else { return false; } var responder:Responder = new Responder(onSuccess, onFault); if (sessionId.length > 0) { args.unshift(sessionId); } if (apiKey.length > 0) { args.unshift(apiKey); } if (args.length==1) { rs.call(command, responder, args[0]); } else if (args.length==2) { rs.call(command, responder, args[0], args[1]); } else if (args.length==3) { rs.call(command, responder, args[0], args[1], args[2]); } else if (args.length==4) { rs.call(command, responder, args[0], args[1], args[2], args[3]); } else if (args.length==5) { rs.call(command, responder, args[0], args[1], args[2], args[3], args[4]); } else if (args.length==8) { rs.call(command, responder, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]); } return true; } /* * private functions */ private function onConnect(result:Object):void { sessionId = result.sessid; if (callback is Function) { callback(); } } private function onFault(error:Object):void { trace('ERROR:drupal.Drupal:netconnection:'); for each (var item in error) { trace(item); } } } } /* * RemotingService for AMFPHP connection in AS3 */ import flash.net.NetConnection; import flash.net.ObjectEncoding; class RemotingService extends NetConnection { function RemotingService(url:String) { // Set AMF version for AMFPHP objectEncoding = ObjectEncoding.AMF3; // Connect to gateway connect(url); } }
Syntax highlighting mode:
ActionScript
ColdFusion
Diff
Drupal
Drupal 5
Drupal 6
HTML
Javascript
MySQL
PHP
Python
robots.txt
SQL
Text
Select the syntax highlighting mode to use.