Index: rayphp.c
===================================================================
--- rayphp.c	(revision 22)
+++ rayphp.c	(revision 23)
@@ -57,3 +57,60 @@
 
 return status;
 }
+
+int raydium_rayphp_repository_file_list(char *filter)
+{
+char *res;
+int maxsize=1*1024*1024;
+int status=0;
+char ifilter[RAYDIUM_MAX_NAME_LEN];
+int count=0;
+
+
+res=malloc(maxsize);
+
+if(!res)
+    {
+    raydium_log("rayphp: repository listing: malloc failed");
+    return 0;
+    }
+
+strcpy(ifilter,filter);
+raydium_register_variable(ifilter,RAYDIUM_REGISTER_STR,"filter");
+raydium_register_variable(res,RAYDIUM_REGISTER_STR,"list");
+raydium_register_variable(&status,RAYDIUM_REGISTER_INT,"status");
+raydium_register_variable(&maxsize,RAYDIUM_REGISTER_INT,"size");
+
+raydium_php_exec("rayphp/listrepos.php");
+
+raydium_register_variable_unregister_last();
+raydium_register_variable_unregister_last();
+raydium_register_variable_unregister_last();
+raydium_register_variable_unregister_last();
+
+if(status)
+    {
+    int i,len;
+    int last=0;
+    
+    len=strlen(res);
+    
+    for(i=0;i<len;i++)
+	{
+	if(res[i]=='\n')
+	    {
+	    res[i]=0;
+	    if(strlen(res+last))
+		{
+		raydium_log("%s",res+last);
+		count++;
+		}
+	    last=i+1;
+	    }
+	}
+    }
+raydium_log("%i file(s)",count);
+free(res);
+return status;
+}
+