View.php 3.9 KB

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