Factory.php 1.3 KB

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