View.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. // Subscriptions
  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> where the key is the query ID */
  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. /** @var null|array<array{name:string,size:int,mtime:int}> */
  76. public ?array $sqliteArchives = null;
  77. public string $sqlitePath;
  78. // Form login
  79. public int $cookie_days;
  80. // Registration
  81. public bool $can_register;
  82. public string $preferred_language;
  83. public bool $show_tos_checkbox;
  84. public string $terms_of_service;
  85. public string $site_title;
  86. public string $validation_url;
  87. // Logs
  88. public int $currentPage;
  89. public Minz_Paginator $logsPaginator;
  90. public int $nbPage;
  91. // RSS view
  92. public FreshRSS_UserQuery $userQuery;
  93. public string $html_url = '';
  94. public string $rss_title = '';
  95. public string $rss_url = '';
  96. public string $rss_base = '';
  97. public bool $internal_rendering = false;
  98. public string $description = '';
  99. public string $image_url = '';
  100. // Content preview
  101. public string $fatalError;
  102. public string $htmlContent;
  103. public bool $selectorSuccess;
  104. // Extensions
  105. /** @var array<array{name:string,author:string,description:string,version:string,entrypoint:string,type:'system'|'user',url:string,method:string,directory:string}> */
  106. public array $available_extensions;
  107. public ?Minz_Extension $ext_details = null;
  108. /** @var array{system:array<Minz_Extension>,user:array<Minz_Extension>} */
  109. public array $extension_list;
  110. public ?Minz_Extension $extension = null;
  111. /** @var array<string,string> */
  112. public array $extensions_installed;
  113. // Errors
  114. public string $code;
  115. public string $errorMessage;
  116. /** @var array<string,string> */
  117. public array $message;
  118. // View modes
  119. /** @var array<FreshRSS_ViewMode> */
  120. public array $viewModes;
  121. }