? 1016350.patch
Index: servers/xmlrpc_server/xmlrpc_server.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/services/servers/xmlrpc_server/xmlrpc_server.module,v
retrieving revision 1.8
diff -u -p -r1.8 xmlrpc_server.module
--- servers/xmlrpc_server/xmlrpc_server.module	10 Dec 2010 03:12:35 -0000	1.8
+++ servers/xmlrpc_server/xmlrpc_server.module	8 Jan 2011 23:20:27 -0000
@@ -7,8 +7,8 @@
  * Most of the work here is converting the REST-style resource definitions
  * to XMLRPC-style procedure calls. These procedures are renamed as 
  * <resource>.<method>. So the node resource's retrieve method has an XMLRPC
- * procedure name of node.retrieve. Actions prepend 'action_' to the procedure
- * name. So the login action of the user resource becomes user.action_login. 
+ * procedure name of node.retrieve, the user resource's login action has an
+ * XMLRPC procedure name of user.login, etc.
  */
 
 /**
@@ -102,39 +102,25 @@ function xmlrpc_server_call_wrapper() {
  *   An array of XMLRPC method definitions
  */
 function _xmlrpc_server_resources_as_procedures($resource) {
-  static $controllers = array(
-    'create' => 'create',
-    'delete' => 'delete',
-    'retrieve' => 'retrieve',
-    'update' => 'update',
-    'index' => 'index',
-  ), $subcontrollers = array(
-    'relationships' => 'related',
-    'targeted actions' => 'targeted_action',
-  );
+  static $controllers = array('create', 'retrieve', 'delete', 'update', 'index');
+  static $subcontrollers = array('relationships', 'actions', 'targeted actions');
 
   $methods = array();
 
-  foreach ($controllers as $attr => $name) {
-    if (isset($resource[$attr])) {
-      $methods[] = _xmlrpc_server_resource_controller_as_procedure($resource['name'], $name, $resource[$attr]);
+  foreach ($controllers as $name) {
+    if (isset($resource[$name])) {
+      $methods[] = _xmlrpc_server_resource_controller_as_procedure($resource['name'], $name, $resource[$name]);
     }
   }
 
-  foreach ($subcontrollers as $attr => $name) {
-    if (isset($resource[$attr])) {
-      foreach ($resource[$attr] as $sc_name => $controller) {
-        $methods[] = _xmlrpc_server_resource_controller_as_procedure($resource['name'], $name .'_'. $sc_name, $controller);
+  foreach ($subcontrollers as $name) {
+    if (isset($resource[$name])) {
+      foreach ($resource[$name] as $sc_name => $controller) {
+        $methods[] = _xmlrpc_server_resource_controller_as_procedure($resource['name'], $sc_name, $controller);
       }
     }
   }
 
-  if (isset($resource['actions'])) {
-    foreach ($resource['actions'] as $sc_name => $controller) {
-      $methods[] = _xmlrpc_server_resource_controller_as_procedure($resource['name'], 'action_'. $sc_name, $controller);
-    }
-  }
-
   return $methods;
 }
 
