Factory.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. class FreshRSS_Factory {
  3. public static function createUserDao($username = null) {
  4. return new FreshRSS_UserDAO($username);
  5. }
  6. public static function createCategoryDao($username = null) {
  7. switch (FreshRSS_Context::$system_conf->db['type']) {
  8. case 'sqlite':
  9. return new FreshRSS_CategoryDAOSQLite($username);
  10. default:
  11. return new FreshRSS_CategoryDAO($username);
  12. }
  13. }
  14. public static function createFeedDao($username = null) {
  15. switch (FreshRSS_Context::$system_conf->db['type']) {
  16. case 'sqlite':
  17. return new FreshRSS_FeedDAOSQLite($username);
  18. default:
  19. return new FreshRSS_FeedDAO($username);
  20. }
  21. }
  22. public static function createEntryDao($username = null) {
  23. switch (FreshRSS_Context::$system_conf->db['type']) {
  24. case 'sqlite':
  25. return new FreshRSS_EntryDAOSQLite($username);
  26. case 'pgsql':
  27. return new FreshRSS_EntryDAOPGSQL($username);
  28. default:
  29. return new FreshRSS_EntryDAO($username);
  30. }
  31. }
  32. public static function createTagDao($username = null) {
  33. switch (FreshRSS_Context::$system_conf->db['type']) {
  34. case 'sqlite':
  35. return new FreshRSS_TagDAOSQLite($username);
  36. case 'pgsql':
  37. return new FreshRSS_TagDAOPGSQL($username);
  38. default:
  39. return new FreshRSS_TagDAO($username);
  40. }
  41. }
  42. public static function createStatsDAO($username = null) {
  43. switch (FreshRSS_Context::$system_conf->db['type']) {
  44. case 'sqlite':
  45. return new FreshRSS_StatsDAOSQLite($username);
  46. case 'pgsql':
  47. return new FreshRSS_StatsDAOPGSQL($username);
  48. default:
  49. return new FreshRSS_StatsDAO($username);
  50. }
  51. }
  52. public static function createDatabaseDAO($username = null) {
  53. switch (FreshRSS_Context::$system_conf->db['type']) {
  54. case 'sqlite':
  55. return new FreshRSS_DatabaseDAOSQLite($username);
  56. case 'pgsql':
  57. return new FreshRSS_DatabaseDAOPGSQL($username);
  58. default:
  59. return new FreshRSS_DatabaseDAO($username);
  60. }
  61. }
  62. }