View.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. declare(strict_types=1);
  3. class FreshRSS_View extends Minz_View {
  4. // Main views
  5. /** @var callable */
  6. public $callbackBeforeEntries;
  7. /** @var callable|null */
  8. public $callbackBeforeFeeds;
  9. /** @var callable */
  10. public $callbackBeforePagination;
  11. /** @var array<FreshRSS_Category> */
  12. public array $categories;
  13. public ?FreshRSS_Category $category;
  14. public string $current_user;
  15. /** @var iterable<FreshRSS_Entry> */
  16. public $entries;
  17. public FreshRSS_Entry $entry;
  18. public ?FreshRSS_Feed $feed;
  19. /** @var array<FreshRSS_Feed> */
  20. public array $feeds;
  21. public int $nbUnreadTags;
  22. /** @var array<FreshRSS_Tag> */
  23. public array $tags;
  24. /** @var array<int,array{'id':int,'name':string,'id_entry':string,'checked':bool}> */
  25. public array $tagsForEntry;
  26. /** @var array<string,array<string>> */
  27. public array $tagsForEntries;
  28. public bool $excludeMutedFeeds;
  29. // Substriptions
  30. public bool $displaySlider = false;
  31. public bool $load_ok;
  32. public bool $onlyFeedsWithError;
  33. public bool $signalError;
  34. // Manage users
  35. /** @var array{'feed_count':int,'article_count':int,'database_size':int,'language':string,'mail_login':string,'enabled':bool,'is_admin':bool,'last_user_activity':string,'is_default':bool} */
  36. public array $details;
  37. public bool $disable_aside;
  38. public bool $show_email_field;
  39. public string $username;
  40. /** @var array<array{'language':string,'enabled':bool,'is_admin':bool,'enabled':bool,'article_count':int,'database_size':int,'last_user_activity':string,'mail_login':string,'feed_count':int,'is_default':bool}> */
  41. public array $users;
  42. // Updates
  43. public string $last_update_time;
  44. /** @var array<string,bool> */
  45. public array $status_files;
  46. /** @var array<string,bool> */
  47. public array $status_php;
  48. public bool $update_to_apply;
  49. /** @var array<string,bool> */
  50. public array $status_database;
  51. public bool $is_release_channel_stable;
  52. // Archiving
  53. public int $nb_total;
  54. public int $size_total;
  55. public int $size_user;
  56. // Display
  57. /** @var array<string,array{'id':string,'name':string,'author':string,'description':string,'version':float|string,'files':array<string>,'theme-color'?:string|array{'dark'?:string,'light'?:string,'default'?:string}}> */
  58. public array $themes;
  59. // Shortcuts
  60. /** @var array<int, string> */
  61. public array $list_keys;
  62. // User queries
  63. /** @var array<int,FreshRSS_UserQuery> */
  64. public array $queries;
  65. /** @var FreshRSS_UserQuery|null */
  66. public ?FreshRSS_UserQuery $query = null;
  67. // Export / Import
  68. public string $content;
  69. /** @var array<string,array<string>> */
  70. public array $entryIdsTagNames;
  71. public string $list_title;
  72. public int $queryId;
  73. public string $type;
  74. // Form login
  75. public int $cookie_days;
  76. // Registration
  77. public bool $can_register;
  78. public string $preferred_language;
  79. public bool $show_tos_checkbox;
  80. public string $terms_of_service;
  81. public string $site_title;
  82. public string $validation_url;
  83. // Logs
  84. public int $currentPage;
  85. public Minz_Paginator $logsPaginator;
  86. public int $nbPage;
  87. // RSS view
  88. public string $rss_title = '';
  89. public string $rss_url = '';
  90. public string $rss_base = '';
  91. public bool $internal_rendering = false;
  92. // Content preview
  93. public string $fatalError;
  94. public string $htmlContent;
  95. public bool $selectorSuccess;
  96. // Extensions
  97. /** @var array<string,array{'name':string,'author':string,'description':string,'version':string,'entrypoint':string,'type':'system'|'user','url':string,'method':string,'directory':string}> */
  98. public array $available_extensions;
  99. public ?Minz_Extension $ext_details;
  100. /** @var array{'system':array<Minz_Extension>,'user':array<Minz_Extension>} */
  101. public array $extension_list;
  102. public ?Minz_Extension $extension;
  103. /** @var array<string,string> */
  104. public array $extensions_installed;
  105. // Errors
  106. public string $code;
  107. public string $errorMessage;
  108. /** @var array<string,string> */
  109. public array $message;
  110. }