Factory.php 1.1 KB

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