Factory.php 1.4 KB

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