--- a/plugins/mod_storage_sql.lua Sat Jul 28 21:26:33 2012 +0200
+++ b/plugins/mod_storage_sql.lua Sat Jul 28 21:27:45 2012 +0200
@@ -352,4 +352,22 @@
return nil, "unsupported-store";
end
+function driver:list_stores(username) -- Not to be confused with the list store type
+ local sql = (username == true
+ and "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`!=?"
+ or "SELECT DISTINCT `store` FROM `prosody` WHERE `host`=? AND `user`=?");
+ if username == true or not username then
+ username = "";
+ end
+ local stmt, err = dosql(sql, host, username);
+ if not stmt then
+ return nil, err;
+ end
+ local stores = {};
+ for row in stmt:rows() do
+ stores[#stores+1] = row[1];
+ end
+ return stores;
+end
+
module:add_item("data-driver", driver);