| Next revision | Previous revision |
| scriptlog:lib:controller:searchcontroller [2026/09/26 09:09] – admin admin | scriptlog:lib:controller:searchcontroller [2026/09/26 09:34] (current) – admin admin |
|---|
| ======= Docblock Metadata ======= | ======= Docblock Metadata ======= |
| |
| ^ Tag ^ Value ^ | ^ Tag ^ Value ^ |
| | ''@category'' | Controller | | | ''@category'' | Controller | |
| | ''@author'' | Scriptlog | | | ''@author'' | Scriptlog | |
| | ''@license'' | MIT | | | ''@license'' | MIT | |
| | ''@version'' | 1.0 | | | ''@version'' | 1.0 | |
| |
| ======= Inheritance ======= | ======= Inheritance ======= |
| //None.// | //None.// |
| |
| ======= Properties (3) ======= | ======= Properties (5) ======= |
| |
| ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ | ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ |
| | ''private'' | ''(untyped)'' | ''$perPage'' | ''10;'' | 36 | | | ''private'' | ''(untyped)'' | ''$searchFinder'' | | 26 | |
| | ''private'' | ''(untyped)'' | ''$rateLimitMax'' | ''30;'' | 41 | | | ''private'' | ''(untyped)'' | ''$themeRenderer'' | | 31 | |
| | ''private'' | ''(untyped)'' | ''$rateLimitWindow'' | ''60;'' | 46 | | | ''private'' | ''(untyped)'' | ''$perPage'' | ''10'' | 36 | |
| | | ''private'' | ''(untyped)'' | ''$rateLimitMax'' | ''30'' | 41 | |
| | | ''private'' | ''(untyped)'' | ''$rateLimitWindow'' | ''60'' | 46 | |
| |
| ======= Methods (6) ======= | ======= Methods (6) ======= |
| |
| ^ Visibility ^ Method ^ Summary ^ Line ^ | ^ Visibility ^ Method ^ Summary ^ Line ^ |
| | public | ''__construct()'' | (undocumented) | 48 | | | public | ''__construct()'' | (undocumented) | 48 | |
| | private | ''checkRateLimit()'' | Check rate limit for search endpoint. | 59 | | | private | ''checkRateLimit()'' | Check rate limit for search endpoint. | 59 | |
| | public | ''search()'' | Handle search request — returns full page or fragment. | 78 | | | public | ''search()'' | Handle search request — returns full page or fragment. | 78 | |
| | private | ''buildPagination()'' | Build pagination data from search results. | 182 | | | private | ''buildPagination()'' | Build pagination data from search results. | 182 | |
| | private | ''renderPaginationHtml()'' | Render pagination HTML matching existing theme pattern. | 221 | | | private | ''renderPaginationHtml()'' | Render pagination HTML matching existing theme pattern. | 221 | |
| | private | ''renderFullSearch()'' | Render full search results page. | 285 | | | private | ''renderFullSearch()'' | Render full search results page. | 285 | |
| |
| |
| //lines 48–52 (5)// | //lines 48–52 (5)// |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$themeRenderer'' | [[scriptlog:lib:core:themerendererinterface|''?ThemeRendererInterface'']] | ''null'' | //none// | | | ''$themeRenderer'' | [[scriptlog:lib:core:themerendererinterface|''?ThemeRendererInterface'']] | ''null'' | //none// | |
| | ''$searchFinder'' | [[scriptlog:lib:core:searchfinder|''?SearchFinder'']] | ''null'' | //none// | | | ''$searchFinder'' | [[scriptlog:lib:core:searchfinder|''?SearchFinder'']] | ''null'' | //none// | |
| |
| |
| Build pagination data from search results. | Build pagination data from search results. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$results'' | ''array'' | //required// | //none// | | | ''$results'' | ''array'' | //required// | //none// | |
| | ''$keyword'' | ''string'' | //required// | //none// | | | ''$keyword'' | ''string'' | //required// | //none// | |
| |
| **Returns:** ''array'' — array | **Returns:** ''array'' — array |
| Render pagination HTML matching existing theme pattern. | Render pagination HTML matching existing theme pattern. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$currentPage'' | ''int'' | //required// | //none// | | | ''$currentPage'' | ''int'' | //required// | //none// | |
| | ''$totalPages'' | ''int'' | //required// | //none// | | | ''$totalPages'' | ''int'' | //required// | //none// | |
| | ''$path'' | ''string'' | //required// | //none// | | | ''$path'' | ''string'' | //required// | //none// | |
| |
| **Returns:** ''string'' — string | **Returns:** ''string'' — string |
| Render full search results page. | Render full search results page. |
| |
| ^ Parameter ^ Type ^ Default ^ Description ^ | ^ Parameter ^ Type ^ Default ^ Description ^ |
| | ''$results'' | ''array'' | //required// | //none// | | | ''$results'' | ''array'' | //required// | //none// | |
| | ''$keyword'' | ''string'' | '''''' | //none// | | | ''$keyword'' | ''string'' | '''''' | //none// | |
| | ''$pagination'' | ''array'' | ''[]'' | //none// | | | ''$pagination'' | ''array'' | ''[]'' | //none// | |
| |
| **Returns:** ''void'' | **Returns:** ''void'' |
| ======= Imports ======= | ======= Imports ======= |
| |
| ^ Alias ^ Fully-qualified name ^ | ^ Alias ^ Fully-qualified name ^ |
| | ''SearchFinder'' | [[scriptlog:lib:core:searchfinder|''Scriptlog\Core\SearchFinder'']] | | | ''SearchFinder'' | [[scriptlog:lib:core:searchfinder|''Scriptlog\Core\SearchFinder'']] | |
| | ''ThemeRendererInterface'' | [[scriptlog:lib:core:themerendererinterface|''Scriptlog\Core\ThemeRendererInterface'']] | | | ''ThemeRendererInterface'' | [[scriptlog:lib:core:themerendererinterface|''Scriptlog\Core\ThemeRendererInterface'']] | |
| |
| |