Factory.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. class FreshRSS_Factory {
  3. public static function createFeedDao($username = null) {
  4. $conf = Minz_Configuration::get('system');
  5. switch ($conf->db['type']) {
  6. case 'sqlite':
  7. return new FreshRSS_FeedDAOSQLite($username);
  8. default:
  9. return new FreshRSS_FeedDAO($username);
  10. }
  11. }
  12. public static function createEntryDao($username = null) {
  13. $conf = Minz_Configuration::get('system');
  14. switch ($conf->db['type']) {
  15. case 'sqlite':
  16. return new FreshRSS_EntryDAOSQLite($username);
  17. case 'pgsql':
  18. return new FreshRSS_EntryDAOPGSQL($username);
  19. default:
  20. return new FreshRSS_EntryDAO($username);
  21. }
  22. }
  23. public static function createStatsDAO($username = null) {
  24. $conf = Minz_Configuration::get('system');
  25. switch ($conf->db['type']) {
  26. case 'sqlite':
  27. return new FreshRSS_StatsDAOSQLite($username);
  28. case 'pgsql':
  29. return new FreshRSS_StatsDAOPGSQL($username);
  30. default:
  31. return new FreshRSS_StatsDAO($username);
  32. }
  33. }
  34. public static function createDatabaseDAO($username = null) {
  35. $conf = Minz_Configuration::get('system');
  36. switch ($conf->db['type']) {
  37. case 'sqlite':
  38. return new FreshRSS_DatabaseDAOSQLite($username);
  39. case 'pgsql':
  40. return new FreshRSS_DatabaseDAOPGSQL($username);
  41. default:
  42. return new FreshRSS_DatabaseDAO($username);
  43. }
  44. }
  45. }