View.php 4.4 KB

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