Showing preview only (4,061K chars total). Download the full file or copy to clipboard to get everything.
Repository: getgrav/grav
Branch: develop
Commit: 2025a5f39e4b
Files: 717
Total size: 3.7 MB
Directory structure:
gitextract_duyide40/
├── .dependencies
├── .editorconfig
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ ├── build.yaml
│ ├── tests.yaml
│ └── trigger-skeletons.yml
├── .gitignore
├── .htaccess
├── .phan/
│ ├── config.php
│ └── internal_stubs/
│ ├── Redis.phan_php
│ ├── memcache.phan_php
│ └── memcached.phan_php
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── SECURITY.md
├── assets/
│ └── .gitkeep
├── backup/
│ └── .gitkeep
├── bin/
│ ├── composer.phar
│ ├── gpm
│ ├── grav
│ └── plugin
├── cache/
│ └── .gitkeep
├── codeception.yml
├── composer.json
├── images/
│ └── .gitkeep
├── index.php
├── logs/
│ └── .gitkeep
├── now.json
├── robots.txt
├── system/
│ ├── assets/
│ │ ├── debugger/
│ │ │ ├── clockwork.css
│ │ │ ├── clockwork.js
│ │ │ └── phpdebugbar.css
│ │ └── whoops.css
│ ├── blueprints/
│ │ ├── config/
│ │ │ ├── backups.yaml
│ │ │ ├── media.yaml
│ │ │ ├── scheduler.yaml
│ │ │ ├── security.yaml
│ │ │ ├── site.yaml
│ │ │ ├── streams.yaml
│ │ │ └── system.yaml
│ │ ├── flex/
│ │ │ ├── accounts.yaml
│ │ │ ├── configure/
│ │ │ │ └── compat.yaml
│ │ │ ├── pages.yaml
│ │ │ ├── shared/
│ │ │ │ └── configure.yaml
│ │ │ ├── user-accounts.yaml
│ │ │ └── user-groups.yaml
│ │ ├── pages/
│ │ │ ├── default.yaml
│ │ │ ├── external.yaml
│ │ │ ├── modular.yaml
│ │ │ ├── partials/
│ │ │ │ └── security.yaml
│ │ │ └── root.yaml
│ │ └── user/
│ │ ├── account.yaml
│ │ ├── account_new.yaml
│ │ ├── group.yaml
│ │ └── group_new.yaml
│ ├── config/
│ │ ├── backups.yaml
│ │ ├── media.yaml
│ │ ├── mime.yaml
│ │ ├── permissions.yaml
│ │ ├── scheduler.yaml
│ │ ├── security.yaml
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── defines.php
│ ├── install.php
│ ├── languages/
│ │ ├── ar.yaml
│ │ ├── bg.yaml
│ │ ├── ca.yaml
│ │ ├── cs.yaml
│ │ ├── da.yaml
│ │ ├── de.yaml
│ │ ├── el.yaml
│ │ ├── en.yaml
│ │ ├── eo.yaml
│ │ ├── es.yaml
│ │ ├── et.yaml
│ │ ├── eu.yaml
│ │ ├── fa.yaml
│ │ ├── fi.yaml
│ │ ├── fr.yaml
│ │ ├── gl.yaml
│ │ ├── he.yaml
│ │ ├── hr.yaml
│ │ ├── hu.yaml
│ │ ├── id.yaml
│ │ ├── is.yaml
│ │ ├── it.yaml
│ │ ├── ja.yaml
│ │ ├── ko.yaml
│ │ ├── lt.yaml
│ │ ├── lv.yaml
│ │ ├── mn.yaml
│ │ ├── my.yaml
│ │ ├── nb.yaml
│ │ ├── nl.yaml
│ │ ├── no.yaml
│ │ ├── pl.yaml
│ │ ├── pt.yaml
│ │ ├── ro.yaml
│ │ ├── ru.yaml
│ │ ├── si.yaml
│ │ ├── sk.yaml
│ │ ├── sl.yaml
│ │ ├── sr.yaml
│ │ ├── sv.yaml
│ │ ├── sw.yaml
│ │ ├── th.yaml
│ │ ├── tr.yaml
│ │ ├── uk.yaml
│ │ ├── vi.yaml
│ │ ├── zh-cn.yaml
│ │ ├── zh-tw.yaml
│ │ └── zh.yaml
│ ├── pages/
│ │ └── notfound.md
│ ├── router.php
│ ├── src/
│ │ ├── DOMLettersIterator.php
│ │ ├── DOMWordsIterator.php
│ │ ├── Grav/
│ │ │ ├── Common/
│ │ │ │ ├── Assets/
│ │ │ │ │ ├── BaseAsset.php
│ │ │ │ │ ├── BlockAssets.php
│ │ │ │ │ ├── Css.php
│ │ │ │ │ ├── InlineCss.php
│ │ │ │ │ ├── InlineJs.php
│ │ │ │ │ ├── InlineJsModule.php
│ │ │ │ │ ├── Js.php
│ │ │ │ │ ├── JsModule.php
│ │ │ │ │ ├── Link.php
│ │ │ │ │ ├── Pipeline.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── AssetUtilsTrait.php
│ │ │ │ │ ├── LegacyAssetsTrait.php
│ │ │ │ │ └── TestingAssetsTrait.php
│ │ │ │ ├── Assets.php
│ │ │ │ ├── Backup/
│ │ │ │ │ └── Backups.php
│ │ │ │ ├── Browser.php
│ │ │ │ ├── Cache.php
│ │ │ │ ├── Composer.php
│ │ │ │ ├── Config/
│ │ │ │ │ ├── CompiledBase.php
│ │ │ │ │ ├── CompiledBlueprints.php
│ │ │ │ │ ├── CompiledConfig.php
│ │ │ │ │ ├── CompiledLanguages.php
│ │ │ │ │ ├── Config.php
│ │ │ │ │ ├── ConfigFileFinder.php
│ │ │ │ │ ├── Languages.php
│ │ │ │ │ └── Setup.php
│ │ │ │ ├── Data/
│ │ │ │ │ ├── Blueprint.php
│ │ │ │ │ ├── BlueprintSchema.php
│ │ │ │ │ ├── Blueprints.php
│ │ │ │ │ ├── Data.php
│ │ │ │ │ ├── DataInterface.php
│ │ │ │ │ ├── Validation.php
│ │ │ │ │ └── ValidationException.php
│ │ │ │ ├── Debugger.php
│ │ │ │ ├── Errors/
│ │ │ │ │ ├── BareHandler.php
│ │ │ │ │ ├── Errors.php
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ ├── error.css
│ │ │ │ │ │ └── layout.html.php
│ │ │ │ │ ├── SimplePageHandler.php
│ │ │ │ │ └── SystemFacade.php
│ │ │ │ ├── File/
│ │ │ │ │ ├── CompiledFile.php
│ │ │ │ │ ├── CompiledJsonFile.php
│ │ │ │ │ ├── CompiledMarkdownFile.php
│ │ │ │ │ └── CompiledYamlFile.php
│ │ │ │ ├── Filesystem/
│ │ │ │ │ ├── Archiver.php
│ │ │ │ │ ├── Folder.php
│ │ │ │ │ ├── RecursiveDirectoryFilterIterator.php
│ │ │ │ │ ├── RecursiveFolderFilterIterator.php
│ │ │ │ │ └── ZipArchiver.php
│ │ │ │ ├── Flex/
│ │ │ │ │ ├── FlexCollection.php
│ │ │ │ │ ├── FlexIndex.php
│ │ │ │ │ ├── FlexObject.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ ├── FlexCollectionTrait.php
│ │ │ │ │ │ ├── FlexCommonTrait.php
│ │ │ │ │ │ ├── FlexGravTrait.php
│ │ │ │ │ │ ├── FlexIndexTrait.php
│ │ │ │ │ │ └── FlexObjectTrait.php
│ │ │ │ │ └── Types/
│ │ │ │ │ ├── Generic/
│ │ │ │ │ │ ├── GenericCollection.php
│ │ │ │ │ │ ├── GenericIndex.php
│ │ │ │ │ │ └── GenericObject.php
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── PageCollection.php
│ │ │ │ │ │ ├── PageIndex.php
│ │ │ │ │ │ ├── PageObject.php
│ │ │ │ │ │ ├── Storage/
│ │ │ │ │ │ │ └── PageStorage.php
│ │ │ │ │ │ └── Traits/
│ │ │ │ │ │ ├── PageContentTrait.php
│ │ │ │ │ │ ├── PageLegacyTrait.php
│ │ │ │ │ │ ├── PageRoutableTrait.php
│ │ │ │ │ │ └── PageTranslateTrait.php
│ │ │ │ │ ├── UserGroups/
│ │ │ │ │ │ ├── UserGroupCollection.php
│ │ │ │ │ │ ├── UserGroupIndex.php
│ │ │ │ │ │ └── UserGroupObject.php
│ │ │ │ │ └── Users/
│ │ │ │ │ ├── Storage/
│ │ │ │ │ │ ├── UserFileStorage.php
│ │ │ │ │ │ └── UserFolderStorage.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── UserObjectLegacyTrait.php
│ │ │ │ │ ├── UserCollection.php
│ │ │ │ │ ├── UserIndex.php
│ │ │ │ │ └── UserObject.php
│ │ │ │ ├── Form/
│ │ │ │ │ └── FormFlash.php
│ │ │ │ ├── GPM/
│ │ │ │ │ ├── AbstractCollection.php
│ │ │ │ │ ├── Common/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── CachedCollection.php
│ │ │ │ │ │ └── Package.php
│ │ │ │ │ ├── GPM.php
│ │ │ │ │ ├── Installer.php
│ │ │ │ │ ├── Licenses.php
│ │ │ │ │ ├── Local/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── Package.php
│ │ │ │ │ │ ├── Packages.php
│ │ │ │ │ │ ├── Plugins.php
│ │ │ │ │ │ └── Themes.php
│ │ │ │ │ ├── Remote/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── GravCore.php
│ │ │ │ │ │ ├── Package.php
│ │ │ │ │ │ ├── Packages.php
│ │ │ │ │ │ ├── Plugins.php
│ │ │ │ │ │ └── Themes.php
│ │ │ │ │ ├── Response.php
│ │ │ │ │ └── Upgrader.php
│ │ │ │ ├── Getters.php
│ │ │ │ ├── Grav.php
│ │ │ │ ├── GravTrait.php
│ │ │ │ ├── HTTP/
│ │ │ │ │ ├── Client.php
│ │ │ │ │ └── Response.php
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── Base32.php
│ │ │ │ │ ├── Excerpts.php
│ │ │ │ │ ├── Exif.php
│ │ │ │ │ ├── LogViewer.php
│ │ │ │ │ ├── Truncator.php
│ │ │ │ │ └── YamlLinter.php
│ │ │ │ ├── Inflector.php
│ │ │ │ ├── Iterator.php
│ │ │ │ ├── Language/
│ │ │ │ │ ├── Language.php
│ │ │ │ │ └── LanguageCodes.php
│ │ │ │ ├── Markdown/
│ │ │ │ │ ├── Parsedown.php
│ │ │ │ │ ├── ParsedownExtra.php
│ │ │ │ │ └── ParsedownGravTrait.php
│ │ │ │ ├── Media/
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── AudioMediaInterface.php
│ │ │ │ │ │ ├── ImageManipulateInterface.php
│ │ │ │ │ │ ├── ImageMediaInterface.php
│ │ │ │ │ │ ├── MediaCollectionInterface.php
│ │ │ │ │ │ ├── MediaFileInterface.php
│ │ │ │ │ │ ├── MediaInterface.php
│ │ │ │ │ │ ├── MediaLinkInterface.php
│ │ │ │ │ │ ├── MediaObjectInterface.php
│ │ │ │ │ │ ├── MediaPlayerInterface.php
│ │ │ │ │ │ ├── MediaUploadInterface.php
│ │ │ │ │ │ └── VideoMediaInterface.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── AudioMediaTrait.php
│ │ │ │ │ ├── ImageDecodingTrait.php
│ │ │ │ │ ├── ImageFetchPriorityTrait.php
│ │ │ │ │ ├── ImageLoadingTrait.php
│ │ │ │ │ ├── ImageMediaTrait.php
│ │ │ │ │ ├── MediaFileTrait.php
│ │ │ │ │ ├── MediaObjectTrait.php
│ │ │ │ │ ├── MediaPlayerTrait.php
│ │ │ │ │ ├── MediaTrait.php
│ │ │ │ │ ├── MediaUploadTrait.php
│ │ │ │ │ ├── StaticResizeTrait.php
│ │ │ │ │ ├── ThumbnailMediaTrait.php
│ │ │ │ │ └── VideoMediaTrait.php
│ │ │ │ ├── Page/
│ │ │ │ │ ├── Collection.php
│ │ │ │ │ ├── Header.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── PageCollectionInterface.php
│ │ │ │ │ │ ├── PageContentInterface.php
│ │ │ │ │ │ ├── PageFormInterface.php
│ │ │ │ │ │ ├── PageInterface.php
│ │ │ │ │ │ ├── PageLegacyInterface.php
│ │ │ │ │ │ ├── PageRoutableInterface.php
│ │ │ │ │ │ ├── PageTranslateInterface.php
│ │ │ │ │ │ └── PagesSourceInterface.php
│ │ │ │ │ ├── Markdown/
│ │ │ │ │ │ └── Excerpts.php
│ │ │ │ │ ├── Media.php
│ │ │ │ │ ├── Medium/
│ │ │ │ │ │ ├── AbstractMedia.php
│ │ │ │ │ │ ├── AudioMedium.php
│ │ │ │ │ │ ├── GlobalMedia.php
│ │ │ │ │ │ ├── ImageFile.php
│ │ │ │ │ │ ├── ImageMedium.php
│ │ │ │ │ │ ├── Link.php
│ │ │ │ │ │ ├── Medium.php
│ │ │ │ │ │ ├── MediumFactory.php
│ │ │ │ │ │ ├── ParsedownHtmlTrait.php
│ │ │ │ │ │ ├── RenderableInterface.php
│ │ │ │ │ │ ├── StaticImageMedium.php
│ │ │ │ │ │ ├── StaticResizeTrait.php
│ │ │ │ │ │ ├── ThumbnailImageMedium.php
│ │ │ │ │ │ ├── VectorImageMedium.php
│ │ │ │ │ │ └── VideoMedium.php
│ │ │ │ │ ├── Page.php
│ │ │ │ │ ├── Pages.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── PageFormTrait.php
│ │ │ │ │ └── Types.php
│ │ │ │ ├── Plugin.php
│ │ │ │ ├── Plugins.php
│ │ │ │ ├── Processors/
│ │ │ │ │ ├── AssetsProcessor.php
│ │ │ │ │ ├── BackupsProcessor.php
│ │ │ │ │ ├── DebuggerAssetsProcessor.php
│ │ │ │ │ ├── Events/
│ │ │ │ │ │ └── RequestHandlerEvent.php
│ │ │ │ │ ├── InitializeProcessor.php
│ │ │ │ │ ├── PagesProcessor.php
│ │ │ │ │ ├── PluginsProcessor.php
│ │ │ │ │ ├── ProcessorBase.php
│ │ │ │ │ ├── ProcessorInterface.php
│ │ │ │ │ ├── RenderProcessor.php
│ │ │ │ │ ├── RequestProcessor.php
│ │ │ │ │ ├── SchedulerProcessor.php
│ │ │ │ │ ├── TasksProcessor.php
│ │ │ │ │ ├── ThemesProcessor.php
│ │ │ │ │ └── TwigProcessor.php
│ │ │ │ ├── Scheduler/
│ │ │ │ │ ├── Cron.php
│ │ │ │ │ ├── IntervalTrait.php
│ │ │ │ │ ├── Job.php
│ │ │ │ │ ├── JobHistory.php
│ │ │ │ │ ├── JobQueue.php
│ │ │ │ │ ├── Scheduler.php
│ │ │ │ │ └── SchedulerController.php
│ │ │ │ ├── Security.php
│ │ │ │ ├── Service/
│ │ │ │ │ ├── AccountsServiceProvider.php
│ │ │ │ │ ├── AssetsServiceProvider.php
│ │ │ │ │ ├── BackupsServiceProvider.php
│ │ │ │ │ ├── ConfigServiceProvider.php
│ │ │ │ │ ├── ErrorServiceProvider.php
│ │ │ │ │ ├── FilesystemServiceProvider.php
│ │ │ │ │ ├── FlexServiceProvider.php
│ │ │ │ │ ├── InflectorServiceProvider.php
│ │ │ │ │ ├── LoggerServiceProvider.php
│ │ │ │ │ ├── OutputServiceProvider.php
│ │ │ │ │ ├── PagesServiceProvider.php
│ │ │ │ │ ├── RequestServiceProvider.php
│ │ │ │ │ ├── SchedulerServiceProvider.php
│ │ │ │ │ ├── SessionServiceProvider.php
│ │ │ │ │ ├── StreamsServiceProvider.php
│ │ │ │ │ └── TaskServiceProvider.php
│ │ │ │ ├── Session.php
│ │ │ │ ├── Taxonomy.php
│ │ │ │ ├── Theme.php
│ │ │ │ ├── Themes.php
│ │ │ │ ├── Twig/
│ │ │ │ │ ├── Exception/
│ │ │ │ │ │ └── TwigException.php
│ │ │ │ │ ├── Extension/
│ │ │ │ │ │ ├── FilesystemExtension.php
│ │ │ │ │ │ └── GravExtension.php
│ │ │ │ │ ├── Node/
│ │ │ │ │ │ ├── TwigNodeCache.php
│ │ │ │ │ │ ├── TwigNodeLink.php
│ │ │ │ │ │ ├── TwigNodeMarkdown.php
│ │ │ │ │ │ ├── TwigNodeRender.php
│ │ │ │ │ │ ├── TwigNodeScript.php
│ │ │ │ │ │ ├── TwigNodeStyle.php
│ │ │ │ │ │ ├── TwigNodeSwitch.php
│ │ │ │ │ │ ├── TwigNodeThrow.php
│ │ │ │ │ │ └── TwigNodeTryCatch.php
│ │ │ │ │ ├── TokenParser/
│ │ │ │ │ │ ├── TwigTokenParserCache.php
│ │ │ │ │ │ ├── TwigTokenParserLink.php
│ │ │ │ │ │ ├── TwigTokenParserMarkdown.php
│ │ │ │ │ │ ├── TwigTokenParserRender.php
│ │ │ │ │ │ ├── TwigTokenParserScript.php
│ │ │ │ │ │ ├── TwigTokenParserStyle.php
│ │ │ │ │ │ ├── TwigTokenParserSwitch.php
│ │ │ │ │ │ ├── TwigTokenParserThrow.php
│ │ │ │ │ │ └── TwigTokenParserTryCatch.php
│ │ │ │ │ ├── Twig.php
│ │ │ │ │ ├── TwigClockworkDataSource.php
│ │ │ │ │ ├── TwigClockworkDumper.php
│ │ │ │ │ ├── TwigEnvironment.php
│ │ │ │ │ ├── TwigExtension.php
│ │ │ │ │ └── WriteCacheFileTrait.php
│ │ │ │ ├── Uri.php
│ │ │ │ ├── User/
│ │ │ │ │ ├── Access.php
│ │ │ │ │ ├── Authentication.php
│ │ │ │ │ ├── DataUser/
│ │ │ │ │ │ ├── User.php
│ │ │ │ │ │ └── UserCollection.php
│ │ │ │ │ ├── Group.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── AuthorizeInterface.php
│ │ │ │ │ │ ├── UserCollectionInterface.php
│ │ │ │ │ │ ├── UserGroupInterface.php
│ │ │ │ │ │ └── UserInterface.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── UserTrait.php
│ │ │ │ │ └── User.php
│ │ │ │ ├── Utils.php
│ │ │ │ └── Yaml.php
│ │ │ ├── Console/
│ │ │ │ ├── Application/
│ │ │ │ │ ├── Application.php
│ │ │ │ │ ├── CommandLoader/
│ │ │ │ │ │ └── PluginCommandLoader.php
│ │ │ │ │ ├── GpmApplication.php
│ │ │ │ │ ├── GravApplication.php
│ │ │ │ │ └── PluginApplication.php
│ │ │ │ ├── Cli/
│ │ │ │ │ ├── BackupCommand.php
│ │ │ │ │ ├── CacheCleanupCommand.php
│ │ │ │ │ ├── CleanCommand.php
│ │ │ │ │ ├── ClearCacheCommand.php
│ │ │ │ │ ├── ComposerCommand.php
│ │ │ │ │ ├── InstallCommand.php
│ │ │ │ │ ├── LogViewerCommand.php
│ │ │ │ │ ├── NewProjectCommand.php
│ │ │ │ │ ├── PageSystemValidatorCommand.php
│ │ │ │ │ ├── SandboxCommand.php
│ │ │ │ │ ├── SchedulerCommand.php
│ │ │ │ │ ├── SecurityCommand.php
│ │ │ │ │ ├── ServerCommand.php
│ │ │ │ │ └── YamlLinterCommand.php
│ │ │ │ ├── ConsoleCommand.php
│ │ │ │ ├── ConsoleTrait.php
│ │ │ │ ├── Gpm/
│ │ │ │ │ ├── DirectInstallCommand.php
│ │ │ │ │ ├── IndexCommand.php
│ │ │ │ │ ├── InfoCommand.php
│ │ │ │ │ ├── InstallCommand.php
│ │ │ │ │ ├── SelfupgradeCommand.php
│ │ │ │ │ ├── UninstallCommand.php
│ │ │ │ │ ├── UpdateCommand.php
│ │ │ │ │ └── VersionCommand.php
│ │ │ │ ├── GpmCommand.php
│ │ │ │ ├── GravCommand.php
│ │ │ │ ├── Plugin/
│ │ │ │ │ └── PluginListCommand.php
│ │ │ │ └── TerminalObjects/
│ │ │ │ └── Table.php
│ │ │ ├── Events/
│ │ │ │ ├── BeforeSessionStartEvent.php
│ │ │ │ ├── FlexRegisterEvent.php
│ │ │ │ ├── PageEvent.php
│ │ │ │ ├── PermissionsRegisterEvent.php
│ │ │ │ ├── PluginsLoadedEvent.php
│ │ │ │ ├── SessionStartEvent.php
│ │ │ │ └── TypesEvent.php
│ │ │ ├── Framework/
│ │ │ │ ├── Acl/
│ │ │ │ │ ├── Access.php
│ │ │ │ │ ├── Action.php
│ │ │ │ │ ├── Permissions.php
│ │ │ │ │ ├── PermissionsReader.php
│ │ │ │ │ └── RecursiveActionIterator.php
│ │ │ │ ├── Cache/
│ │ │ │ │ ├── AbstractCache.php
│ │ │ │ │ ├── Adapter/
│ │ │ │ │ │ ├── ChainCache.php
│ │ │ │ │ │ ├── DoctrineCache.php
│ │ │ │ │ │ ├── FileCache.php
│ │ │ │ │ │ ├── MemoryCache.php
│ │ │ │ │ │ └── SessionCache.php
│ │ │ │ │ ├── CacheInterface.php
│ │ │ │ │ ├── CacheTrait.php
│ │ │ │ │ └── Exception/
│ │ │ │ │ ├── CacheException.php
│ │ │ │ │ └── InvalidArgumentException.php
│ │ │ │ ├── Collection/
│ │ │ │ │ ├── AbstractFileCollection.php
│ │ │ │ │ ├── AbstractIndexCollection.php
│ │ │ │ │ ├── AbstractLazyCollection.php
│ │ │ │ │ ├── ArrayCollection.php
│ │ │ │ │ ├── CollectionInterface.php
│ │ │ │ │ ├── FileCollection.php
│ │ │ │ │ └── FileCollectionInterface.php
│ │ │ │ ├── Compat/
│ │ │ │ │ └── Serializable.php
│ │ │ │ ├── ContentBlock/
│ │ │ │ │ ├── ContentBlock.php
│ │ │ │ │ ├── ContentBlockInterface.php
│ │ │ │ │ ├── HtmlBlock.php
│ │ │ │ │ └── HtmlBlockInterface.php
│ │ │ │ ├── Contracts/
│ │ │ │ │ ├── Media/
│ │ │ │ │ │ └── MediaObjectInterface.php
│ │ │ │ │ ├── Object/
│ │ │ │ │ │ └── IdentifierInterface.php
│ │ │ │ │ └── Relationships/
│ │ │ │ │ ├── RelationshipIdentifierInterface.php
│ │ │ │ │ ├── RelationshipInterface.php
│ │ │ │ │ ├── RelationshipsInterface.php
│ │ │ │ │ ├── ToManyRelationshipInterface.php
│ │ │ │ │ └── ToOneRelationshipInterface.php
│ │ │ │ ├── Controller/
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── ControllerResponseTrait.php
│ │ │ │ ├── DI/
│ │ │ │ │ └── Container.php
│ │ │ │ ├── File/
│ │ │ │ │ ├── AbstractFile.php
│ │ │ │ │ ├── CsvFile.php
│ │ │ │ │ ├── DataFile.php
│ │ │ │ │ ├── File.php
│ │ │ │ │ ├── Formatter/
│ │ │ │ │ │ ├── AbstractFormatter.php
│ │ │ │ │ │ ├── CsvFormatter.php
│ │ │ │ │ │ ├── FormatterInterface.php
│ │ │ │ │ │ ├── IniFormatter.php
│ │ │ │ │ │ ├── JsonFormatter.php
│ │ │ │ │ │ ├── MarkdownFormatter.php
│ │ │ │ │ │ ├── SerializeFormatter.php
│ │ │ │ │ │ └── YamlFormatter.php
│ │ │ │ │ ├── IniFile.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FileFormatterInterface.php
│ │ │ │ │ │ └── FileInterface.php
│ │ │ │ │ ├── JsonFile.php
│ │ │ │ │ ├── MarkdownFile.php
│ │ │ │ │ └── YamlFile.php
│ │ │ │ ├── Filesystem/
│ │ │ │ │ ├── Filesystem.php
│ │ │ │ │ └── Interfaces/
│ │ │ │ │ └── FilesystemInterface.php
│ │ │ │ ├── Flex/
│ │ │ │ │ ├── Flex.php
│ │ │ │ │ ├── FlexCollection.php
│ │ │ │ │ ├── FlexDirectory.php
│ │ │ │ │ ├── FlexDirectoryForm.php
│ │ │ │ │ ├── FlexForm.php
│ │ │ │ │ ├── FlexFormFlash.php
│ │ │ │ │ ├── FlexIdentifier.php
│ │ │ │ │ ├── FlexIndex.php
│ │ │ │ │ ├── FlexObject.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FlexAuthorizeInterface.php
│ │ │ │ │ │ ├── FlexCollectionInterface.php
│ │ │ │ │ │ ├── FlexCommonInterface.php
│ │ │ │ │ │ ├── FlexDirectoryFormInterface.php
│ │ │ │ │ │ ├── FlexDirectoryInterface.php
│ │ │ │ │ │ ├── FlexFormInterface.php
│ │ │ │ │ │ ├── FlexIndexInterface.php
│ │ │ │ │ │ ├── FlexInterface.php
│ │ │ │ │ │ ├── FlexObjectFormInterface.php
│ │ │ │ │ │ ├── FlexObjectInterface.php
│ │ │ │ │ │ ├── FlexStorageInterface.php
│ │ │ │ │ │ └── FlexTranslateInterface.php
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── FlexPageCollection.php
│ │ │ │ │ │ ├── FlexPageIndex.php
│ │ │ │ │ │ ├── FlexPageObject.php
│ │ │ │ │ │ └── Traits/
│ │ │ │ │ │ ├── PageAuthorsTrait.php
│ │ │ │ │ │ ├── PageContentTrait.php
│ │ │ │ │ │ ├── PageLegacyTrait.php
│ │ │ │ │ │ ├── PageRoutableTrait.php
│ │ │ │ │ │ └── PageTranslateTrait.php
│ │ │ │ │ ├── Storage/
│ │ │ │ │ │ ├── AbstractFilesystemStorage.php
│ │ │ │ │ │ ├── FileStorage.php
│ │ │ │ │ │ ├── FolderStorage.php
│ │ │ │ │ │ └── SimpleStorage.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── FlexAuthorizeTrait.php
│ │ │ │ │ ├── FlexMediaTrait.php
│ │ │ │ │ ├── FlexRelatedDirectoryTrait.php
│ │ │ │ │ └── FlexRelationshipsTrait.php
│ │ │ │ ├── Form/
│ │ │ │ │ ├── FormFlash.php
│ │ │ │ │ ├── FormFlashFile.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FormFactoryInterface.php
│ │ │ │ │ │ ├── FormFlashInterface.php
│ │ │ │ │ │ └── FormInterface.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── FormTrait.php
│ │ │ │ ├── Interfaces/
│ │ │ │ │ └── RenderInterface.php
│ │ │ │ ├── Logger/
│ │ │ │ │ └── Processors/
│ │ │ │ │ └── UserProcessor.php
│ │ │ │ ├── Media/
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── MediaCollectionInterface.php
│ │ │ │ │ │ ├── MediaInterface.php
│ │ │ │ │ │ ├── MediaManipulationInterface.php
│ │ │ │ │ │ └── MediaObjectInterface.php
│ │ │ │ │ ├── MediaIdentifier.php
│ │ │ │ │ ├── MediaObject.php
│ │ │ │ │ └── UploadedMediaObject.php
│ │ │ │ ├── Mime/
│ │ │ │ │ └── MimeTypes.php
│ │ │ │ ├── Object/
│ │ │ │ │ ├── Access/
│ │ │ │ │ │ ├── ArrayAccessTrait.php
│ │ │ │ │ │ ├── NestedArrayAccessTrait.php
│ │ │ │ │ │ ├── NestedPropertyCollectionTrait.php
│ │ │ │ │ │ ├── NestedPropertyTrait.php
│ │ │ │ │ │ └── OverloadedPropertyTrait.php
│ │ │ │ │ ├── ArrayObject.php
│ │ │ │ │ ├── Base/
│ │ │ │ │ │ ├── ObjectCollectionTrait.php
│ │ │ │ │ │ └── ObjectTrait.php
│ │ │ │ │ ├── Collection/
│ │ │ │ │ │ └── ObjectExpressionVisitor.php
│ │ │ │ │ ├── Identifiers/
│ │ │ │ │ │ └── Identifier.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── NestedObjectCollectionInterface.php
│ │ │ │ │ │ ├── NestedObjectInterface.php
│ │ │ │ │ │ ├── ObjectCollectionInterface.php
│ │ │ │ │ │ └── ObjectInterface.php
│ │ │ │ │ ├── LazyObject.php
│ │ │ │ │ ├── ObjectCollection.php
│ │ │ │ │ ├── ObjectIndex.php
│ │ │ │ │ ├── Property/
│ │ │ │ │ │ ├── ArrayPropertyTrait.php
│ │ │ │ │ │ ├── LazyPropertyTrait.php
│ │ │ │ │ │ ├── MixedPropertyTrait.php
│ │ │ │ │ │ └── ObjectPropertyTrait.php
│ │ │ │ │ └── PropertyObject.php
│ │ │ │ ├── Pagination/
│ │ │ │ │ ├── AbstractPagination.php
│ │ │ │ │ ├── AbstractPaginationPage.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── PaginationInterface.php
│ │ │ │ │ │ └── PaginationPageInterface.php
│ │ │ │ │ ├── Pagination.php
│ │ │ │ │ └── PaginationPage.php
│ │ │ │ ├── Psr7/
│ │ │ │ │ ├── AbstractUri.php
│ │ │ │ │ ├── Request.php
│ │ │ │ │ ├── Response.php
│ │ │ │ │ ├── ServerRequest.php
│ │ │ │ │ ├── Stream.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ ├── MessageDecoratorTrait.php
│ │ │ │ │ │ ├── RequestDecoratorTrait.php
│ │ │ │ │ │ ├── ResponseDecoratorTrait.php
│ │ │ │ │ │ ├── ServerRequestDecoratorTrait.php
│ │ │ │ │ │ ├── StreamDecoratorTrait.php
│ │ │ │ │ │ ├── UploadedFileDecoratorTrait.php
│ │ │ │ │ │ └── UriDecorationTrait.php
│ │ │ │ │ ├── UploadedFile.php
│ │ │ │ │ └── Uri.php
│ │ │ │ ├── Relationships/
│ │ │ │ │ ├── Relationships.php
│ │ │ │ │ ├── ToManyRelationship.php
│ │ │ │ │ ├── ToOneRelationship.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── RelationshipTrait.php
│ │ │ │ ├── RequestHandler/
│ │ │ │ │ ├── Exception/
│ │ │ │ │ │ ├── InvalidArgumentException.php
│ │ │ │ │ │ ├── NotFoundException.php
│ │ │ │ │ │ ├── NotHandledException.php
│ │ │ │ │ │ ├── PageExpiredException.php
│ │ │ │ │ │ └── RequestException.php
│ │ │ │ │ ├── Middlewares/
│ │ │ │ │ │ ├── Exceptions.php
│ │ │ │ │ │ └── MultipartRequestSupport.php
│ │ │ │ │ ├── RequestHandler.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── RequestHandlerTrait.php
│ │ │ │ ├── Route/
│ │ │ │ │ ├── Route.php
│ │ │ │ │ └── RouteFactory.php
│ │ │ │ ├── Session/
│ │ │ │ │ ├── Exceptions/
│ │ │ │ │ │ └── SessionException.php
│ │ │ │ │ ├── Messages.php
│ │ │ │ │ ├── Session.php
│ │ │ │ │ └── SessionInterface.php
│ │ │ │ └── Uri/
│ │ │ │ ├── Uri.php
│ │ │ │ ├── UriFactory.php
│ │ │ │ └── UriPartsFilter.php
│ │ │ └── Installer/
│ │ │ ├── Install.php
│ │ │ ├── InstallException.php
│ │ │ ├── VersionUpdate.php
│ │ │ ├── VersionUpdater.php
│ │ │ ├── Versions.php
│ │ │ ├── YamlUpdater.php
│ │ │ └── updates/
│ │ │ └── 1.7.0_2020-11-20_1.php
│ │ └── Twig/
│ │ └── DeferredExtension/
│ │ ├── DeferredBlockNode.php
│ │ ├── DeferredDeclareNode.php
│ │ ├── DeferredExtension.php
│ │ ├── DeferredInitializeNode.php
│ │ ├── DeferredNode.php
│ │ ├── DeferredNodeVisitor.php
│ │ ├── DeferredNodeVisitorCompat.php
│ │ ├── DeferredResolveNode.php
│ │ └── DeferredTokenParser.php
│ └── templates/
│ ├── default.html.twig
│ ├── external.html.twig
│ ├── flex/
│ │ ├── 404.html.twig
│ │ └── _default/
│ │ ├── collection/
│ │ │ └── debug.html.twig
│ │ └── object/
│ │ └── debug.html.twig
│ ├── modular/
│ │ └── default.html.twig
│ └── partials/
│ ├── messages.html.twig
│ └── metadata.html.twig
├── tests/
│ ├── _bootstrap.php
│ ├── _support/
│ │ ├── AcceptanceTester.php
│ │ ├── FunctionalTester.php
│ │ ├── Helper/
│ │ │ ├── Acceptance.php
│ │ │ ├── Functional.php
│ │ │ └── Unit.php
│ │ └── UnitTester.php
│ ├── acceptance/
│ │ └── _bootstrap.php
│ ├── acceptance.suite.yml
│ ├── fake/
│ │ ├── nested-site/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ ├── 01.item1/
│ │ │ │ ├── 01.item1-1/
│ │ │ │ │ ├── 01.item1-1-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-1-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-1-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item1-2/
│ │ │ │ │ ├── 01.item1-2-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-2-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-2-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item1-3/
│ │ │ │ │ ├── 01.item1-3-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-3-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-3-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 02.item2/
│ │ │ │ ├── 01.item2-1/
│ │ │ │ │ ├── 01.item2-1-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-1-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-1-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item2-2/
│ │ │ │ │ ├── 01.item2-2-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-2-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-2-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item2-3/
│ │ │ │ │ ├── 01.item2-3-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-3-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-3-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ └── 03.item3/
│ │ │ ├── 01.item3-1/
│ │ │ │ ├── 01.item3-1-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-1-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-1-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 02.item3-2/
│ │ │ │ ├── 01.item3-2-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-2-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-2-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 03.item3-3/
│ │ │ │ ├── 01.item3-3-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-3-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-3-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ └── default.md
│ │ ├── simple-site/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ ├── 01.home/
│ │ │ │ └── default.md
│ │ │ ├── 02.blog/
│ │ │ │ ├── blog.md
│ │ │ │ ├── post-one/
│ │ │ │ │ └── item.md
│ │ │ │ └── post-two/
│ │ │ │ └── item.md
│ │ │ ├── 03.about/
│ │ │ │ └── default.md
│ │ │ ├── 04.page-translated/
│ │ │ │ ├── default.en.md
│ │ │ │ └── default.fr.md
│ │ │ └── 05.translatedlong/
│ │ │ └── part2/
│ │ │ ├── default.en.md
│ │ │ └── default.fr.md
│ │ ├── single-page-translated/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ └── 01.simple-page/
│ │ │ ├── default.en.md
│ │ │ └── default.fr.md
│ │ └── single-pages/
│ │ └── 01.simple-page/
│ │ └── default.md
│ ├── functional/
│ │ ├── Grav/
│ │ │ └── Console/
│ │ │ └── DirectInstallCommandTest.php
│ │ └── _bootstrap.php
│ ├── functional.suite.yml
│ ├── phpstan/
│ │ ├── classes/
│ │ │ └── Toolbox/
│ │ │ └── UniformResourceLocatorExtension.php
│ │ ├── extension.neon
│ │ ├── phpstan-bootstrap.php
│ │ ├── phpstan.neon
│ │ ├── plugins-bootstrap.php
│ │ └── plugins.neon
│ ├── unit/
│ │ ├── Grav/
│ │ │ ├── Common/
│ │ │ │ ├── AssetsTest.php
│ │ │ │ ├── BrowserTest.php
│ │ │ │ ├── ComposerTest.php
│ │ │ │ ├── Data/
│ │ │ │ │ └── BlueprintTest.php
│ │ │ │ ├── GPM/
│ │ │ │ │ └── GPMTest.php
│ │ │ │ ├── Helpers/
│ │ │ │ │ └── ExcerptsTest.php
│ │ │ │ ├── InflectorTest.php
│ │ │ │ ├── Language/
│ │ │ │ │ └── LanguageCodesTest.php
│ │ │ │ ├── Markdown/
│ │ │ │ │ └── ParsedownTest.php
│ │ │ │ ├── Page/
│ │ │ │ │ └── PagesTest.php
│ │ │ │ ├── Twig/
│ │ │ │ │ └── Extensions/
│ │ │ │ │ └── GravExtensionTest.php
│ │ │ │ ├── UriTest.php
│ │ │ │ └── UtilsTest.php
│ │ │ ├── Console/
│ │ │ │ └── Gpm/
│ │ │ │ └── InstallCommandTest.php
│ │ │ └── Framework/
│ │ │ ├── File/
│ │ │ │ └── Formatter/
│ │ │ │ └── CsvFormatterTest.php
│ │ │ └── Filesystem/
│ │ │ └── FilesystemTest.php
│ │ ├── _bootstrap.php
│ │ └── data/
│ │ └── blueprints/
│ │ └── strict.yaml
│ └── unit.suite.yml
├── user/
│ ├── accounts/
│ │ └── .gitkeep
│ ├── config/
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── data/
│ │ └── .gitkeep
│ ├── pages/
│ │ ├── 01.home/
│ │ │ └── default.md
│ │ └── 02.typography/
│ │ └── default.md
│ ├── plugins/
│ │ └── .gitkeep
│ └── themes/
│ └── .gitkeep
└── webserver-configs/
├── Caddyfile
├── Caddyfile-0.8.x
├── htaccess.txt
├── lighttpd.conf
├── nginx.conf
└── web.config
================================================
FILE CONTENTS
================================================
================================================
FILE: .dependencies
================================================
git:
problems:
url: https://github.com/getgrav/grav-plugin-problems
path: user/plugins/problems
branch: master
error:
url: https://github.com/getgrav/grav-plugin-error
path: user/plugins/error
branch: master
markdown-notices:
url: https://github.com/getgrav/grav-plugin-markdown-notices
path: user/plugins/markdown-notices
branch: master
quark:
url: https://github.com/getgrav/grav-theme-quark
path: user/themes/quark
branch: master
links:
problems:
src: grav-plugin-problems
path: user/plugins/problems
scm: github
error:
src: grav-plugin-error
path: user/plugins/error
scm: github
markdown-notices:
src: grav-plugin-markdown-notices
path: user/plugins/markdown-notices
scm: github
quark:
src: grav-theme-quark
path: user/themes/quark
scm: github
================================================
FILE: .editorconfig
================================================
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
# 2 space indentation
[*.{yaml,yml,vue,js,css}]
indent_size = 2
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: grav
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: # Replace with a single custom sponsorship URL
================================================
FILE: .github/workflows/build.yaml
================================================
name: Release Builds
on:
release:
types: [published]
permissions: {}
jobs:
build:
permissions:
contents: write # for release creation (svenstaro/upload-release-action)
if: "!github.event.release.prerelease"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.ref }}
- name: Extract Tag
run: echo "PACKAGE_VERSION=${{ github.ref }}" >> $GITHUB_ENV
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.3
extensions: opcache, gd
tools: composer:v2
coverage: none
env:
COMPOSER_TOKEN: ${{ secrets.GLOBAL_TOKEN }}
- name: Install Dependencies
run: |
sudo apt-get -y update -qq < /dev/null > /dev/null
sudo apt-get -y install -qq git zip < /dev/null > /dev/null
- name: Retrieval of Builder Scripts
run: |
# Real Grav URL
curl --silent -H "Authorization: token ${{ secrets.GLOBAL_TOKEN }}" -H "Accept: application/vnd.github.v3.raw" ${{ secrets.BUILD_SCRIPT_URL }} --output build-grav.sh
# Development Local URL
# curl ${{ secrets.BUILD_SCRIPT_URL }} --output build-grav.sh
- name: Grav Builder
run: |
bash ./build-grav.sh
- name: Upload packages to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ env.PACKAGE_VERSION }}
file: ./grav-dist/*.zip
overwrite: true
file_glob: true
slack:
permissions:
actions: read # to list jobs for workflow run (technote-space/workflow-conclusion-action)
name: Slack
needs: build
runs-on: ubuntu-latest
if: always()
steps:
- uses: technote-space/workflow-conclusion-action@v2
- uses: 8398a7/action-slack@v3
with:
status: failure
fields: repo,message,author,action
icon_emoji: ':octocat:'
author_name: 'Github Action Build'
text: '🚚 Automated Build Failure'
env:
GITHUB_TOKEN: ${{ secrets.GLOBAL_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: env.WORKFLOW_CONCLUSION == 'failure'
================================================
FILE: .github/workflows/tests.yaml
================================================
name: PHP Tests
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
unit-tests:
strategy:
matrix:
php: ['8.3', '8.2', '8.1', '8.0', '7.4', '7.3']
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: opcache, gd
tools: composer:v2
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run test suite
run: vendor/bin/codecept run
# slack:
# name: Slack
# needs: unit-tests
# runs-on: ubuntu-latest
# if: always()
# steps:
# - uses: technote-space/workflow-conclusion-action@v2
# - uses: 8398a7/action-slack@v3
# with:
# status: failure
# fields: repo,message,author,action
# icon_emoji: ':octocat:'
# author_name: 'Github Action Tests'
# text: '💥 Automated Test Failure'
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# if: env.WORKFLOW_CONCLUSION == 'failure'
================================================
FILE: .github/workflows/trigger-skeletons.yml
================================================
name: Trigger Skeletons Build
on:
workflow_dispatch:
inputs:
version:
description: 'Which Grav release to use'
required: true
default: 'latest'
admin:
description: 'Create also a package with Admin'
required: true
default: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-latest
env:
WORKFLOW: "build-skeleton.yml"
AUTH: ":${{secrets.GLOBAL_TOKEN}}"
steps:
- uses: actions/checkout@v2
- name: Make it rain ☔️
run: |
SKELETONS=`curl -s "${{secrets.SKELETONS_JSON_LIST}}"`
echo "$SKELETONS" | jq -cr '.[]' | while read SKELETON; do
KEY=$(echo "$SKELETON" | jq -cr 'keys[0]')
VERSION=$(echo "$SKELETON" | jq -cr '.[]')
URL="https://api.github.com/repos/${KEY}/actions/workflows/${WORKFLOW}/dispatches"
curl -X POST \
-u "${AUTH}" \
-H "Accept: application/vnd.github.everest-preview+json" \
-H "Content-Type: application/json" \
-sS \
${URL} \
--data '{ "ref": "develop",
"inputs": {
"tag": "'"$VERSION"'",
"version": "'"$INPUT_VERSION"'",
"admin": "'"$INPUT_ADMIN"'"
}
}' > /dev/null
echo "Dispatched Worfklow for ${KEY}@$VERSION"
done
================================================
FILE: .gitignore
================================================
# Composer
.composer
vendor/*
!*/vendor/*
# Sass
.sass-cache
# Grav Specific
backup/*
!backup/.*
cache/*
!cache/.*
assets/*
!assets/.*
logs/*
!logs/.*
images/*
!images/.*
user/accounts/*
!user/accounts/.*
user/data/*
!user/data/.*
user/plugins/*
!user/plugins/.*
user/themes/*
!user/themes/.*
user/**/config/security.yaml
# Environments
.env
.gravenv
# OS Generated
.DS_Store*
ehthumbs.db
Icon?
Thumbs.db
*.swp
# phpstorm
.idea/*
# testing stuff
tests/_output/*
tests/_support/_generated/*
tests/cache/*
tests/error.log
system/templates/testing/*
/user/config/versions.yaml
/tmp
================================================
FILE: .htaccess
================================================
<IfModule mod_rewrite.c>
RewriteEngine On
## Begin RewriteBase
# If you are getting 500 or 404 errors on subpages, you may have to uncomment the RewriteBase entry
# You should change the '/' to your appropriate subfolder. For example if you have
# your Grav install at the root of your site '/' should work, else it might be something
# along the lines of: RewriteBase /<your_sub_folder>
##
# RewriteBase /
## End - RewriteBase
## Begin - X-Forwarded-Proto
# In some hosted or load balanced environments, SSL negotiation happens upstream.
# In order for Grav to recognize the connection as secure, you need to uncomment
# the following lines.
#
# RewriteCond %{HTTP:X-Forwarded-Proto} https
# RewriteRule .* - [E=HTTPS:on]
#
## End - X-Forwarded-Proto
## Begin - Exploits
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Grav
#
# Block out any script trying to use twig tags in URL.
RewriteCond %{REQUEST_URI} ({{|}}|{%|%}) [OR]
RewriteCond %{QUERY_STRING} ({{|}}|{%25|%25}) [OR]
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Exploits
## Begin - Index
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
## End - Index
## Begin - Security
# Block all direct access for these folders
RewriteRule ^(\.git|cache|bin|logs|backup|webserver-configs|tests)/(.*) error [F]
# Block access to specific file types for these system folders
RewriteRule ^(system|vendor)/(.*)\.(txt|xml|md|html|json|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ error [F]
# Block access to specific file types for these user folders
RewriteRule ^(user)/(.*)\.(txt|md|json|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ error [F]
# Block all direct access to .md files:
RewriteRule \.md$ error [F]
# Block all direct access to files and folders beginning with a dot
RewriteRule (^|/)\.(?!well-known) - [F]
# Block access to specific files in the root folder
RewriteRule ^(LICENSE\.txt|composer\.lock|composer\.json|\.htaccess)$ error [F]
## End - Security
</IfModule>
# Begin - Prevent Browsing and Set Default Resources
Options -Indexes
DirectoryIndex index.php index.html index.htm
# End - Prevent Browsing and Set Default Resources
================================================
FILE: .phan/config.php
================================================
<?php
return [
"target_php_version" => null,
'pretend_newer_core_functions_exist' => true,
'allow_missing_properties' => false,
'null_casts_as_any_type' => false,
'null_casts_as_array' => false,
'array_casts_as_null' => false,
'strict_method_checking' => true,
'quick_mode' => false,
'simplify_ast' => false,
'directory_list' => [
'.',
],
"exclude_analysis_directory_list" => [
'vendor/'
],
'exclude_file_list' => [
'system/src/Grav/Common/Errors/Resources/layout.html.php',
'tests/_support/AcceptanceTester.php',
'tests/_support/FunctionalTester.php',
'tests/_support/UnitTester.php',
],
'autoload_internal_extension_signatures' => [
'memcached' => '.phan/internal_stubs/memcached.phan_php',
'memcache' => '.phan/internal_stubs/memcache.phan_php',
'redis' => '.phan/internal_stubs/Redis.phan_php',
],
'plugins' => [
'AlwaysReturnPlugin',
'UnreachableCodePlugin',
'DuplicateArrayKeyPlugin',
'PregRegexCheckerPlugin',
'PrintfCheckerPlugin',
],
'suppress_issue_types' => [
'PhanUnreferencedUseNormal',
'PhanTypeObjectUnsetDeclaredProperty',
'PhanTraitParentReference',
'PhanTypeInvalidThrowsIsInterface',
'PhanRequiredTraitNotAdded',
'PhanDeprecatedFunction', // Uncomment this to see all the deprecated calls
]
];
================================================
FILE: .phan/internal_stubs/Redis.phan_php
================================================
<?php
/**
* Helper autocomplete for php redis extension
*
* @author Max Kamashev <max.kamashev@gmail.com>
* @link https://github.com/ukko/phpredis-phpdoc
*/
class Redis
{
const AFTER = 'after';
const BEFORE = 'before';
/**
* Options
*/
const OPT_SERIALIZER = 1;
const OPT_PREFIX = 2;
const OPT_READ_TIMEOUT = 3;
const OPT_SCAN = 4;
const OPT_SLAVE_FAILOVER = 5;
/**
* Cluster options
*/
const FAILOVER_NONE = 0;
const FAILOVER_ERROR = 1;
const FAILOVER_DISTRIBUTE = 2;
/**
* SCAN options
*/
const SCAN_NORETRY = 0;
const SCAN_RETRY = 1;
/**
* Serializers
*/
const SERIALIZER_NONE = 0;
const SERIALIZER_PHP = 1;
const SERIALIZER_IGBINARY = 2;
const SERIALIZER_MSGPACK = 3;
const SERIALIZER_JSON = 4;
/**
* Multi
*/
const ATOMIC = 0;
const MULTI = 1;
const PIPELINE = 2;
/**
* Type
*/
const REDIS_NOT_FOUND = 0;
const REDIS_STRING = 1;
const REDIS_SET = 2;
const REDIS_LIST = 3;
const REDIS_ZSET = 4;
const REDIS_HASH = 5;
/**
* Creates a Redis client
*
* @example $redis = new Redis();
*/
public function __construct()
{
}
/**
* Connects to a Redis instance.
*
* @param string $host can be a host, or the path to a unix domain socket
* @param int $port optional
* @param float $timeout value in seconds (optional, default is 0.0 meaning unlimited)
* @param null $reserved should be null if $retryInterval is specified
* @param int $retryInterval retry interval in milliseconds.
* @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited)
*
* @return bool TRUE on success, FALSE on error
*
* @example
* <pre>
* $redis->connect('127.0.0.1', 6379);
* $redis->connect('127.0.0.1'); // port 6379 by default
* $redis->connect('127.0.0.1', 6379, 2.5); // 2.5 sec timeout.
* $redis->connect('/tmp/redis.sock'); // unix domain socket.
* </pre>
*/
public function connect(
$host,
$port = 6379,
$timeout = 0.0,
$reserved = null,
$retryInterval = 0,
$readTimeout = 0.0
) {
}
/**
* Connects to a Redis instance.
*
* @param string $host can be a host, or the path to a unix domain socket
* @param int $port optional
* @param float $timeout value in seconds (optional, default is 0.0 meaning unlimited)
* @param null $reserved should be null if $retry_interval is specified
* @param int $retryInterval retry interval in milliseconds.
* @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited)
*
* @return bool TRUE on success, FALSE on error
*
* @see connect()
* @deprecated use Redis::connect()
*/
public function open(
$host,
$port = 6379,
$timeout = 0.0,
$reserved = null,
$retryInterval = 0,
$readTimeout = 0.0
) {
}
/**
* A method to determine if a phpredis object thinks it's connected to a server
*
* @return bool Returns TRUE if phpredis thinks it's connected and FALSE if not
*/
public function isConnected()
{
}
/**
* Retrieve our host or unix socket that we're connected to
*
* @return string|bool The host or unix socket we're connected to or FALSE if we're not connected
*/
public function getHost()
{
}
/**
* Get the port we're connected to
*
* @return int|bool Returns the port we're connected to or FALSE if we're not connected
*/
public function getPort()
{
}
/**
* Get the database number phpredis is pointed to
*
* @return int|bool Returns the database number (int) phpredis thinks it's pointing to
* or FALSE if we're not connected
*/
public function getDbNum()
{
}
/**
* Get the (write) timeout in use for phpredis
*
* @return float|bool The timeout (DOUBLE) specified in our connect call or FALSE if we're not connected
*/
public function getTimeout()
{
}
/**
* Get the read timeout specified to phpredis or FALSE if we're not connected
*
* @return float|bool Returns the read timeout (which can be set using setOption and Redis::OPT_READ_TIMEOUT)
* or FALSE if we're not connected
*/
public function getReadTimeout()
{
}
/**
* Gets the persistent ID that phpredis is using
*
* @return string|null|bool Returns the persistent id phpredis is using
* (which will only be set if connected with pconnect),
* NULL if we're not using a persistent ID,
* and FALSE if we're not connected
*/
public function getPersistentID()
{
}
/**
* Get the password used to authenticate the phpredis connection
*
* @return string|null|bool Returns the password used to authenticate a phpredis session or NULL if none was used,
* and FALSE if we're not connected
*/
public function getAuth()
{
}
/**
* Connects to a Redis instance or reuse a connection already established with pconnect/popen.
*
* The connection will not be closed on close or end of request until the php process ends.
* So be patient on to many open FD's (specially on redis server side) when using persistent connections on
* many servers connecting to one redis server.
*
* Also more than one persistent connection can be made identified by either host + port + timeout
* or host + persistentId or unix socket + timeout.
*
* This feature is not available in threaded versions. pconnect and popen then working like their non persistent
* equivalents.
*
* @param string $host can be a host, or the path to a unix domain socket
* @param int $port optional
* @param float $timeout value in seconds (optional, default is 0 meaning unlimited)
* @param string $persistentId identity for the requested persistent connection
* @param int $retryInterval retry interval in milliseconds.
* @param float $readTimeout value in seconds (optional, default is 0 meaning unlimited)
*
* @return bool TRUE on success, FALSE on ertcnror.
*
* @example
* <pre>
* $redis->pconnect('127.0.0.1', 6379);
*
* // port 6379 by default - same connection like before
* $redis->pconnect('127.0.0.1');
*
* // 2.5 sec timeout and would be another connection than the two before.
* $redis->pconnect('127.0.0.1', 6379, 2.5);
*
* // x is sent as persistent_id and would be another connection than the three before.
* $redis->pconnect('127.0.0.1', 6379, 2.5, 'x');
*
* // unix domain socket - would be another connection than the four before.
* $redis->pconnect('/tmp/redis.sock');
* </pre>
*/
public function pconnect(
$host,
$port = 6379,
$timeout = 0.0,
$persistentId = null,
$retryInterval = 0,
$readTimeout = 0.0
) {
}
/**
* @param string $host
* @param int $port
* @param float $timeout
* @param string $persistentId
* @param int $retryInterval
* @param float $readTimeout
*
* @return bool
*
* @deprecated use Redis::pconnect()
* @see pconnect()
*/
public function popen(
$host,
$port = 6379,
$timeout = 0.0,
$persistentId = '',
$retryInterval = 0,
$readTimeout = 0.0
) {
}
/**
* Disconnects from the Redis instance.
*
* Note: Closing a persistent connection requires PhpRedis >= 4.2.0
*
* @since >= 4.2 Closing a persistent connection requires PhpRedis
*
* @return bool TRUE on success, FALSE on error
*/
public function close()
{
}
/**
* Swap one Redis database with another atomically
*
* Note: Requires Redis >= 4.0.0
*
* @param int $db1
* @param int $db2
*
* @return bool TRUE on success and FALSE on failure
*
* @link https://redis.io/commands/swapdb
* @since >= 4.0
* @example
* <pre>
* // Swaps DB 0 with DB 1 atomically
* $redis->swapdb(0, 1);
* </pre>
*/
public function swapdb(int $db1, int $db2)
{
}
/**
* Set client option
*
* @param int $option option name
* @param mixed $value option value
*
* @return bool TRUE on success, FALSE on error
*
* @example
* <pre>
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE); // don't serialize data
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP); // use built-in serialize/unserialize
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY); // use igBinary serialize/unserialize
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_MSGPACK); // Use msgpack serialize/unserialize
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON); // Use json serialize/unserialize
*
* $redis->setOption(Redis::OPT_PREFIX, 'myAppName:'); // use custom prefix on all keys
*
* // Options for the SCAN family of commands, indicating whether to abstract
* // empty results from the user. If set to SCAN_NORETRY (the default), phpredis
* // will just issue one SCAN command at a time, sometimes returning an empty
* // array of results. If set to SCAN_RETRY, phpredis will retry the scan command
* // until keys come back OR Redis returns an iterator of zero
* $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_NORETRY);
* $redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
* </pre>
*/
public function setOption($option, $value)
{
}
/**
* Get client option
*
* @param int $option parameter name
*
* @return mixed|null Parameter value
*
* @see setOption()
* @example
* // return option value
* $redis->getOption(Redis::OPT_SERIALIZER);
*/
public function getOption($option)
{
}
/**
* Check the current connection status
*
* @return string STRING: +PONG on success.
* Throws a RedisException object on connectivity error, as described above.
* @throws RedisException
* @link https://redis.io/commands/ping
*/
public function ping()
{
}
/**
* Echo the given string
*
* @param string $message
*
* @return string Returns message
*
* @link https://redis.io/commands/echo
*/
public function echo($message)
{
}
/**
* Get the value related to the specified key
*
* @param string $key
*
* @return string|mixed|bool If key didn't exist, FALSE is returned.
* Otherwise, the value related to this key is returned
*
* @link https://redis.io/commands/get
* @example
* <pre>
* $redis->set('key', 'hello');
* $redis->get('key');
*
* // set and get with serializer
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_JSON);
*
* $redis->set('key', ['asd' => 'as', 'dd' => 123, 'b' => true]);
* var_dump($redis->get('key'));
* // Output:
* array(3) {
* 'asd' => string(2) "as"
* 'dd' => int(123)
* 'b' => bool(true)
* }
* </pre>
*/
public function get($key)
{
}
/**
* Set the string value in argument as value of the key.
*
* @since If you're using Redis >= 2.6.12, you can pass extended options as explained in example
*
* @param string $key
* @param string|mixed $value string if not used serializer
* @param int|array $timeout [optional] Calling setex() is preferred if you want a timeout.<br>
* Since 2.6.12 it also supports different flags inside an array. Example ['NX', 'EX' => 60]<br>
* - EX seconds -- Set the specified expire time, in seconds.<br>
* - PX milliseconds -- Set the specified expire time, in milliseconds.<br>
* - PX milliseconds -- Set the specified expire time, in milliseconds.<br>
* - NX -- Only set the key if it does not already exist.<br>
* - XX -- Only set the key if it already exist.<br>
* <pre>
* // Simple key -> value set
* $redis->set('key', 'value');
*
* // Will redirect, and actually make an SETEX call
* $redis->set('key','value', 10);
*
* // Will set the key, if it doesn't exist, with a ttl of 10 seconds
* $redis->set('key', 'value', ['nx', 'ex' => 10]);
*
* // Will set a key, if it does exist, with a ttl of 1000 miliseconds
* $redis->set('key', 'value', ['xx', 'px' => 1000]);
* </pre>
*
* @return bool TRUE if the command is successful
*
* @link https://redis.io/commands/set
*/
public function set($key, $value, $timeout = null)
{
}
/**
* Set the string value in argument as value of the key, with a time to live.
*
* @param string $key
* @param int $ttl
* @param string|mixed $value
*
* @return bool TRUE if the command is successful
*
* @link https://redis.io/commands/setex
* @example $redis->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.
*/
public function setex($key, $ttl, $value)
{
}
/**
* Set the value and expiration in milliseconds of a key.
*
* @see setex()
* @param string $key
* @param int $ttl, in milliseconds.
* @param string|mixed $value
*
* @return bool TRUE if the command is successful
*
* @link https://redis.io/commands/psetex
* @example $redis->psetex('key', 1000, 'value'); // sets key → value, with 1sec TTL.
*/
public function psetex($key, $ttl, $value)
{
}
/**
* Set the string value in argument as value of the key if the key doesn't already exist in the database.
*
* @param string $key
* @param string|mixed $value
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/setnx
* @example
* <pre>
* $redis->setnx('key', 'value'); // return TRUE
* $redis->setnx('key', 'value'); // return FALSE
* </pre>
*/
public function setnx($key, $value)
{
}
/**
* Remove specified keys.
*
* @param int|string|array $key1 An array of keys, or an undefined number of parameters, each a key: key1 key2 key3 ... keyN
* @param int|string ...$otherKeys
*
* @return int Number of keys deleted
*
* @link https://redis.io/commands/del
* @example
* <pre>
* $redis->set('key1', 'val1');
* $redis->set('key2', 'val2');
* $redis->set('key3', 'val3');
* $redis->set('key4', 'val4');
*
* $redis->del('key1', 'key2'); // return 2
* $redis->del(['key3', 'key4']); // return 2
* </pre>
*/
public function del($key1, ...$otherKeys)
{
}
/**
* @see del()
* @deprecated use Redis::del()
*
* @param string|string[] $key1
* @param string $key2
* @param string $key3
*
* @return int Number of keys deleted
*/
public function delete($key1, $key2 = null, $key3 = null)
{
}
/**
* Delete a key asynchronously in another thread. Otherwise it is just as DEL, but non blocking.
*
* @see del()
* @param string|string[] $key1
* @param string $key2
* @param string $key3
*
* @return int Number of keys unlinked.
*
* @link https://redis.io/commands/unlink
* @example
* <pre>
* $redis->set('key1', 'val1');
* $redis->set('key2', 'val2');
* $redis->set('key3', 'val3');
* $redis->set('key4', 'val4');
* $redis->unlink('key1', 'key2'); // return 2
* $redis->unlink(array('key3', 'key4')); // return 2
* </pre>
*/
public function unlink($key1, $key2 = null, $key3 = null)
{
}
/**
* Enter and exit transactional mode.
*
* @param int $mode Redis::MULTI|Redis::PIPELINE
* Defaults to Redis::MULTI.
* A Redis::MULTI block of commands runs as a single transaction;
* a Redis::PIPELINE block is simply transmitted faster to the server, but without any guarantee of atomicity.
* discard cancels a transaction.
*
* @return Redis returns the Redis instance and enters multi-mode.
* Once in multi-mode, all subsequent method calls return the same object until exec() is called.
*
* @link https://redis.io/commands/multi
* @example
* <pre>
* $ret = $redis->multi()
* ->set('key1', 'val1')
* ->get('key1')
* ->set('key2', 'val2')
* ->get('key2')
* ->exec();
*
* //$ret == array (
* // 0 => TRUE,
* // 1 => 'val1',
* // 2 => TRUE,
* // 3 => 'val2');
* </pre>
*/
public function multi($mode = Redis::MULTI)
{
}
/**
* @return void|array
*
* @see multi()
* @link https://redis.io/commands/exec
*/
public function exec()
{
}
/**
* @see multi()
* @link https://redis.io/commands/discard
*/
public function discard()
{
}
/**
* Watches a key for modifications by another client. If the key is modified between WATCH and EXEC,
* the MULTI/EXEC transaction will fail (return FALSE). unwatch cancels all the watching of all keys by this client.
* @param string|string[] $key a list of keys
*
* @return void
*
* @link https://redis.io/commands/watch
* @example
* <pre>
* $redis->watch('x');
* // long code here during the execution of which other clients could well modify `x`
* $ret = $redis->multi()
* ->incr('x')
* ->exec();
* // $ret = FALSE if x has been modified between the call to WATCH and the call to EXEC.
* </pre>
*/
public function watch($key)
{
}
/**
* @see watch()
* @link https://redis.io/commands/unwatch
*/
public function unwatch()
{
}
/**
* Subscribe to channels.
*
* Warning: this function will probably change in the future.
*
* @param string[] $channels an array of channels to subscribe
* @param string|array $callback either a string or an array($instance, 'method_name').
* The callback function receives 3 parameters: the redis instance, the channel name, and the message.
*
* @return mixed|null Any non-null return value in the callback will be returned to the caller.
*
* @link https://redis.io/commands/subscribe
* @example
* <pre>
* function f($redis, $chan, $msg) {
* switch($chan) {
* case 'chan-1':
* ...
* break;
*
* case 'chan-2':
* ...
* break;
*
* case 'chan-2':
* ...
* break;
* }
* }
*
* $redis->subscribe(array('chan-1', 'chan-2', 'chan-3'), 'f'); // subscribe to 3 chans
* </pre>
*/
public function subscribe($channels, $callback)
{
}
/**
* Subscribe to channels by pattern
*
* @param array $patterns an array of glob-style patterns to subscribe
* @param string|array $callback Either a string or an array with an object and method.
* The callback will get four arguments ($redis, $pattern, $channel, $message)
* @param mixed $chan Any non-null return value in the callback will be returned to the caller
* @param string $msg
*
* @link https://redis.io/commands/psubscribe
* @example
* <pre>
* function psubscribe($redis, $pattern, $chan, $msg) {
* echo "Pattern: $pattern\n";
* echo "Channel: $chan\n";
* echo "Payload: $msg\n";
* }
* </pre>
*/
public function psubscribe($patterns, $callback, $chan, $msg)
{
}
/**
* Publish messages to channels.
*
* Warning: this function will probably change in the future.
*
* @param string $channel a channel to publish to
* @param string $message string
*
* @return int Number of clients that received the message
*
* @link https://redis.io/commands/publish
* @example $redis->publish('chan-1', 'hello, world!'); // send message.
*/
public function publish($channel, $message)
{
}
/**
* A command allowing you to get information on the Redis pub/sub system
*
* @param string $keyword String, which can be: "channels", "numsub", or "numpat"
* @param string|array $argument Optional, variant.
* For the "channels" subcommand, you can pass a string pattern.
* For "numsub" an array of channel names
*
* @return array|int Either an integer or an array.
* - channels Returns an array where the members are the matching channels.
* - numsub Returns a key/value array where the keys are channel names and
* values are their counts.
* - numpat Integer return containing the number active pattern subscriptions
*
* @link https://redis.io/commands/pubsub
* @example
* <pre>
* $redis->pubsub('channels'); // All channels
* $redis->pubsub('channels', '*pattern*'); // Just channels matching your pattern
* $redis->pubsub('numsub', array('chan1', 'chan2')); // Get subscriber counts for 'chan1' and 'chan2'
* $redis->pubsub('numpat'); // Get the number of pattern subscribers
* </pre>
*/
public function pubsub($keyword, $argument)
{
}
/**
* Stop listening for messages posted to the given channels.
*
* @param array $channels an array of channels to usubscribe
*
* @link https://redis.io/commands/unsubscribe
*/
public function unsubscribe($channels = null)
{
}
/**
* Stop listening for messages posted to the given channels.
*
* @param array $patterns an array of glob-style patterns to unsubscribe
*
* @link https://redis.io/commands/punsubscribe
*/
public function punsubscribe($patterns = null)
{
}
/**
* Verify if the specified key/keys exists
*
* This function took a single argument and returned TRUE or FALSE in phpredis versions < 4.0.0.
*
* @since >= 4.0 Returned int, if < 4.0 returned bool
*
* @param string|string[] $key
*
* @return int|bool The number of keys tested that do exist
*
* @link https://redis.io/commands/exists
* @link https://github.com/phpredis/phpredis#exists
* @example
* <pre>
* $redis->exists('key'); // 1
* $redis->exists('NonExistingKey'); // 0
*
* $redis->mset(['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz']);
* $redis->exists(['foo', 'bar', 'baz]); // 3
* $redis->exists('foo', 'bar', 'baz'); // 3
* </pre>
*/
public function exists($key)
{
}
/**
* Increment the number stored at key by one.
*
* @param string $key
*
* @return int the new value
*
* @link https://redis.io/commands/incr
* @example
* <pre>
* $redis->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
* $redis->incr('key1'); // 2
* $redis->incr('key1'); // 3
* $redis->incr('key1'); // 4
* </pre>
*/
public function incr($key)
{
}
/**
* Increment the float value of a key by the given amount
*
* @param string $key
* @param float $increment
*
* @return float
*
* @link https://redis.io/commands/incrbyfloat
* @example
* <pre>
* $redis->set('x', 3);
* $redis->incrByFloat('x', 1.5); // float(4.5)
* $redis->get('x'); // float(4.5)
* </pre>
*/
public function incrByFloat($key, $increment)
{
}
/**
* Increment the number stored at key by one.
* If the second argument is filled, it will be used as the integer value of the increment.
*
* @param string $key key
* @param int $value value that will be added to key (only for incrBy)
*
* @return int the new value
*
* @link https://redis.io/commands/incrby
* @example
* <pre>
* $redis->incr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value 1
* $redis->incr('key1'); // 2
* $redis->incr('key1'); // 3
* $redis->incr('key1'); // 4
* $redis->incrBy('key1', 10); // 14
* </pre>
*/
public function incrBy($key, $value)
{
}
/**
* Decrement the number stored at key by one.
*
* @param string $key
*
* @return int the new value
*
* @link https://redis.io/commands/decr
* @example
* <pre>
* $redis->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
* $redis->decr('key1'); // -2
* $redis->decr('key1'); // -3
* </pre>
*/
public function decr($key)
{
}
/**
* Decrement the number stored at key by one.
* If the second argument is filled, it will be used as the integer value of the decrement.
*
* @param string $key
* @param int $value that will be substracted to key (only for decrBy)
*
* @return int the new value
*
* @link https://redis.io/commands/decrby
* @example
* <pre>
* $redis->decr('key1'); // key1 didn't exists, set to 0 before the increment and now has the value -1
* $redis->decr('key1'); // -2
* $redis->decr('key1'); // -3
* $redis->decrBy('key1', 10); // -13
* </pre>
*/
public function decrBy($key, $value)
{
}
/**
* Adds the string values to the head (left) of the list.
* Creates the list if the key didn't exist.
* If the key exists and is not a list, FALSE is returned.
*
* @param string $key
* @param string|mixed $value1... Variadic list of values to push in key, if dont used serialized, used string
*
* @return int|bool The new length of the list in case of success, FALSE in case of Failure
*
* @link https://redis.io/commands/lpush
* @example
* <pre>
* $redis->lPush('l', 'v1', 'v2', 'v3', 'v4') // int(4)
* var_dump( $redis->lRange('l', 0, -1) );
* // Output:
* // array(4) {
* // [0]=> string(2) "v4"
* // [1]=> string(2) "v3"
* // [2]=> string(2) "v2"
* // [3]=> string(2) "v1"
* // }
* </pre>
*/
public function lPush($key, ...$value1)
{
}
/**
* Adds the string values to the tail (right) of the list.
* Creates the list if the key didn't exist.
* If the key exists and is not a list, FALSE is returned.
*
* @param string $key
* @param string|mixed $value1... Variadic list of values to push in key, if dont used serialized, used string
*
* @return int|bool The new length of the list in case of success, FALSE in case of Failure
*
* @link https://redis.io/commands/rpush
* @example
* <pre>
* $redis->rPush('l', 'v1', 'v2', 'v3', 'v4'); // int(4)
* var_dump( $redis->lRange('l', 0, -1) );
* // Output:
* // array(4) {
* // [0]=> string(2) "v1"
* // [1]=> string(2) "v2"
* // [2]=> string(2) "v3"
* // [3]=> string(2) "v4"
* // }
* </pre>
*/
public function rPush($key, ...$value1)
{
}
/**
* Adds the string value to the head (left) of the list if the list exists.
*
* @param string $key
* @param string|mixed $value String, value to push in key
*
* @return int|bool The new length of the list in case of success, FALSE in case of Failure.
*
* @link https://redis.io/commands/lpushx
* @example
* <pre>
* $redis->del('key1');
* $redis->lPushx('key1', 'A'); // returns 0
* $redis->lPush('key1', 'A'); // returns 1
* $redis->lPushx('key1', 'B'); // returns 2
* $redis->lPushx('key1', 'C'); // returns 3
* // key1 now points to the following list: [ 'A', 'B', 'C' ]
* </pre>
*/
public function lPushx($key, $value)
{
}
/**
* Adds the string value to the tail (right) of the list if the ist exists. FALSE in case of Failure.
*
* @param string $key
* @param string|mixed $value String, value to push in key
*
* @return int|bool The new length of the list in case of success, FALSE in case of Failure.
*
* @link https://redis.io/commands/rpushx
* @example
* <pre>
* $redis->del('key1');
* $redis->rPushx('key1', 'A'); // returns 0
* $redis->rPush('key1', 'A'); // returns 1
* $redis->rPushx('key1', 'B'); // returns 2
* $redis->rPushx('key1', 'C'); // returns 3
* // key1 now points to the following list: [ 'A', 'B', 'C' ]
* </pre>
*/
public function rPushx($key, $value)
{
}
/**
* Returns and removes the first element of the list.
*
* @param string $key
*
* @return mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
*
* @link https://redis.io/commands/lpop
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
* $redis->lPop('key1'); // key1 => [ 'B', 'C' ]
* </pre>
*/
public function lPop($key)
{
}
/**
* Returns and removes the last element of the list.
*
* @param string $key
*
* @return mixed|bool if command executed successfully BOOL FALSE in case of failure (empty list)
*
* @link https://redis.io/commands/rpop
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
* $redis->rPop('key1'); // key1 => [ 'A', 'B' ]
* </pre>
*/
public function rPop($key)
{
}
/**
* Is a blocking lPop primitive. If at least one of the lists contains at least one element,
* the element will be popped from the head of the list and returned to the caller.
* Il all the list identified by the keys passed in arguments are empty, blPop will block
* during the specified timeout until an element is pushed to one of those lists. This element will be popped.
*
* @param string|string[] $keys String array containing the keys of the lists OR variadic list of strings
* @param int $timeout Timeout is always the required final parameter
*
* @return array ['listName', 'element']
*
* @link https://redis.io/commands/blpop
* @example
* <pre>
* // Non blocking feature
* $redis->lPush('key1', 'A');
* $redis->del('key2');
*
* $redis->blPop('key1', 'key2', 10); // array('key1', 'A')
* // OR
* $redis->blPop(['key1', 'key2'], 10); // array('key1', 'A')
*
* $redis->brPop('key1', 'key2', 10); // array('key1', 'A')
* // OR
* $redis->brPop(['key1', 'key2'], 10); // array('key1', 'A')
*
* // Blocking feature
*
* // process 1
* $redis->del('key1');
* $redis->blPop('key1', 10);
* // blocking for 10 seconds
*
* // process 2
* $redis->lPush('key1', 'A');
*
* // process 1
* // array('key1', 'A') is returned
* </pre>
*/
public function blPop($keys, $timeout)
{
}
/**
* Is a blocking rPop primitive. If at least one of the lists contains at least one element,
* the element will be popped from the head of the list and returned to the caller.
* Il all the list identified by the keys passed in arguments are empty, brPop will
* block during the specified timeout until an element is pushed to one of those lists. T
* his element will be popped.
*
* @param string|string[] $keys String array containing the keys of the lists OR variadic list of strings
* @param int $timeout Timeout is always the required final parameter
*
* @return array ['listName', 'element']
*
* @link https://redis.io/commands/brpop
* @example
* <pre>
* // Non blocking feature
* $redis->lPush('key1', 'A');
* $redis->del('key2');
*
* $redis->blPop('key1', 'key2', 10); // array('key1', 'A')
* // OR
* $redis->blPop(array('key1', 'key2'), 10); // array('key1', 'A')
*
* $redis->brPop('key1', 'key2', 10); // array('key1', 'A')
* // OR
* $redis->brPop(array('key1', 'key2'), 10); // array('key1', 'A')
*
* // Blocking feature
*
* // process 1
* $redis->del('key1');
* $redis->blPop('key1', 10);
* // blocking for 10 seconds
*
* // process 2
* $redis->lPush('key1', 'A');
*
* // process 1
* // array('key1', 'A') is returned
* </pre>
*/
public function brPop(array $keys, $timeout)
{
}
/**
* Returns the size of a list identified by Key. If the list didn't exist or is empty,
* the command returns 0. If the data type identified by Key is not a list, the command return FALSE.
*
* @param string $key
*
* @return int|bool The size of the list identified by Key exists.
* bool FALSE if the data type identified by Key is not list
*
* @link https://redis.io/commands/llen
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
* $redis->lLen('key1'); // 3
* $redis->rPop('key1');
* $redis->lLen('key1'); // 2
* </pre>
*/
public function lLen($key)
{
}
/**
* @see lLen()
* @link https://redis.io/commands/llen
* @deprecated use Redis::lLen()
*
* @param string $key
*
* @return int The size of the list identified by Key exists
*/
public function lSize($key)
{
}
/**
* Return the specified element of the list stored at the specified key.
* 0 the first element, 1 the second ... -1 the last element, -2 the penultimate ...
* Return FALSE in case of a bad index or a key that doesn't point to a list.
*
* @param string $key
* @param int $index
*
* @return mixed|bool the element at this index
*
* Bool FALSE if the key identifies a non-string data type, or no value corresponds to this index in the list Key.
*
* @link https://redis.io/commands/lindex
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
* $redis->lIndex('key1', 0); // 'A'
* $redis->lIndex('key1', -1); // 'C'
* $redis->lIndex('key1', 10); // `FALSE`
* </pre>
*/
public function lIndex($key, $index)
{
}
/**
* @see lIndex()
* @link https://redis.io/commands/lindex
* @deprecated use Redis::lIndex()
*
* @param string $key
* @param int $index
* @return mixed|bool the element at this index
*/
public function lGet($key, $index)
{
}
/**
* Set the list at index with the new value.
*
* @param string $key
* @param int $index
* @param string $value
*
* @return bool TRUE if the new value is setted.
* FALSE if the index is out of range, or data type identified by key is not a list.
*
* @link https://redis.io/commands/lset
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C'); // key1 => [ 'A', 'B', 'C' ]
* $redis->lIndex('key1', 0); // 'A'
* $redis->lSet('key1', 0, 'X');
* $redis->lIndex('key1', 0); // 'X'
* </pre>
*/
public function lSet($key, $index, $value)
{
}
/**
* Returns the specified elements of the list stored at the specified key in
* the range [start, end]. start and stop are interpretated as indices: 0 the first element,
* 1 the second ... -1 the last element, -2 the penultimate ...
*
* @param string $key
* @param int $start
* @param int $end
*
* @return array containing the values in specified range.
*
* @link https://redis.io/commands/lrange
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C');
* $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
* </pre>
*/
public function lRange($key, $start, $end)
{
}
/**
* @see lRange()
* @link https://redis.io/commands/lrange
* @deprecated use Redis::lRange()
*
* @param string $key
* @param int $start
* @param int $end
* @return array
*/
public function lGetRange($key, $start, $end)
{
}
/**
* Trims an existing list so that it will contain only a specified range of elements.
*
* @param string $key
* @param int $start
* @param int $stop
*
* @return array|bool Bool return FALSE if the key identify a non-list value
*
* @link https://redis.io/commands/ltrim
* @example
* <pre>
* $redis->rPush('key1', 'A');
* $redis->rPush('key1', 'B');
* $redis->rPush('key1', 'C');
* $redis->lRange('key1', 0, -1); // array('A', 'B', 'C')
* $redis->lTrim('key1', 0, 1);
* $redis->lRange('key1', 0, -1); // array('A', 'B')
* </pre>
*/
public function lTrim($key, $start, $stop)
{
}
/**
* @see lTrim()
* @link https://redis.io/commands/ltrim
* @deprecated use Redis::lTrim()
*
* @param string $key
* @param int $start
* @param int $stop
*/
public function listTrim($key, $start, $stop)
{
}
/**
* Removes the first count occurences of the value element from the list.
* If count is zero, all the matching elements are removed. If count is negative,
* elements are removed from tail to head.
*
* @param string $key
* @param string $value
* @param int $count
*
* @return int|bool the number of elements to remove
* bool FALSE if the value identified by key is not a list.
*
* @link https://redis.io/commands/lrem
* @example
* <pre>
* $redis->lPush('key1', 'A');
* $redis->lPush('key1', 'B');
* $redis->lPush('key1', 'C');
* $redis->lPush('key1', 'A');
* $redis->lPush('key1', 'A');
*
* $redis->lRange('key1', 0, -1); // array('A', 'A', 'C', 'B', 'A')
* $redis->lRem('key1', 'A', 2); // 2
* $redis->lRange('key1', 0, -1); // array('C', 'B', 'A')
* </pre>
*/
public function lRem($key, $value, $count)
{
}
/**
* @see lRem
* @link https://redis.io/commands/lremove
* @deprecated use Redis::lRem()
*
* @param string $key
* @param string $value
* @param int $count
*/
public function lRemove($key, $value, $count)
{
}
/**
* Insert value in the list before or after the pivot value. the parameter options
* specify the position of the insert (before or after). If the list didn't exists,
* or the pivot didn't exists, the value is not inserted.
*
* @param string $key
* @param int $position Redis::BEFORE | Redis::AFTER
* @param string $pivot
* @param string|mixed $value
*
* @return int The number of the elements in the list, -1 if the pivot didn't exists.
*
* @link https://redis.io/commands/linsert
* @example
* <pre>
* $redis->del('key1');
* $redis->lInsert('key1', Redis::AFTER, 'A', 'X'); // 0
*
* $redis->lPush('key1', 'A');
* $redis->lPush('key1', 'B');
* $redis->lPush('key1', 'C');
*
* $redis->lInsert('key1', Redis::BEFORE, 'C', 'X'); // 4
* $redis->lRange('key1', 0, -1); // array('A', 'B', 'X', 'C')
*
* $redis->lInsert('key1', Redis::AFTER, 'C', 'Y'); // 5
* $redis->lRange('key1', 0, -1); // array('A', 'B', 'X', 'C', 'Y')
*
* $redis->lInsert('key1', Redis::AFTER, 'W', 'value'); // -1
* </pre>
*/
public function lInsert($key, $position, $pivot, $value)
{
}
/**
* Adds a values to the set value stored at key.
*
* @param string $key Required key
* @param string|mixed ...$value1 Variadic list of values
*
* @return int|bool The number of elements added to the set.
* If this value is already in the set, FALSE is returned
*
* @link https://redis.io/commands/sadd
* @example
* <pre>
* $redis->sAdd('k', 'v1'); // int(1)
* $redis->sAdd('k', 'v1', 'v2', 'v3'); // int(2)
* </pre>
*/
public function sAdd($key, ...$value1)
{
}
/**
* Removes the specified members from the set value stored at key.
*
* @param string $key
* @param string|mixed ...$member1 Variadic list of members
*
* @return int The number of elements removed from the set
*
* @link https://redis.io/commands/srem
* @example
* <pre>
* var_dump( $redis->sAdd('k', 'v1', 'v2', 'v3') ); // int(3)
* var_dump( $redis->sRem('k', 'v2', 'v3') ); // int(2)
* var_dump( $redis->sMembers('k') );
* //// Output:
* // array(1) {
* // [0]=> string(2) "v1"
* // }
* </pre>
*/
public function sRem($key, ...$member1)
{
}
/**
* @see sRem()
* @link https://redis.io/commands/srem
* @deprecated use Redis::sRem()
*
* @param string $key
* @param string|mixed ...$member1
*/
public function sRemove($key, ...$member1)
{
}
/**
* Moves the specified member from the set at srcKey to the set at dstKey.
*
* @param string $srcKey
* @param string $dstKey
* @param string|mixed $member
*
* @return bool If the operation is successful, return TRUE.
* If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, FALSE is returned.
*
* @link https://redis.io/commands/smove
* @example
* <pre>
* $redis->sAdd('key1' , 'set11');
* $redis->sAdd('key1' , 'set12');
* $redis->sAdd('key1' , 'set13'); // 'key1' => {'set11', 'set12', 'set13'}
* $redis->sAdd('key2' , 'set21');
* $redis->sAdd('key2' , 'set22'); // 'key2' => {'set21', 'set22'}
* $redis->sMove('key1', 'key2', 'set13'); // 'key1' => {'set11', 'set12'}
* // 'key2' => {'set21', 'set22', 'set13'}
* </pre>
*/
public function sMove($srcKey, $dstKey, $member)
{
}
/**
* Checks if value is a member of the set stored at the key key.
*
* @param string $key
* @param string|mixed $value
*
* @return bool TRUE if value is a member of the set at key key, FALSE otherwise
*
* @link https://redis.io/commands/sismember
* @example
* <pre>
* $redis->sAdd('key1' , 'set1');
* $redis->sAdd('key1' , 'set2');
* $redis->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
*
* $redis->sIsMember('key1', 'set1'); // TRUE
* $redis->sIsMember('key1', 'setX'); // FALSE
* </pre>
*/
public function sIsMember($key, $value)
{
}
/**
* @see sIsMember()
* @link https://redis.io/commands/sismember
* @deprecated use Redis::sIsMember()
*
* @param string $key
* @param string|mixed $value
*/
public function sContains($key, $value)
{
}
/**
* Returns the cardinality of the set identified by key.
*
* @param string $key
*
* @return int the cardinality of the set identified by key, 0 if the set doesn't exist.
*
* @link https://redis.io/commands/scard
* @example
* <pre>
* $redis->sAdd('key1' , 'set1');
* $redis->sAdd('key1' , 'set2');
* $redis->sAdd('key1' , 'set3'); // 'key1' => {'set1', 'set2', 'set3'}
* $redis->sCard('key1'); // 3
* $redis->sCard('keyX'); // 0
* </pre>
*/
public function sCard($key)
{
}
/**
* Removes and returns a random element from the set value at Key.
*
* @param string $key
*
* @return string|mixed|bool "popped" value
* bool FALSE if set identified by key is empty or doesn't exist.
*
* @link https://redis.io/commands/spop
* @example
* <pre>
* $redis->sAdd('key1' , 'set1');
* $redis->sAdd('key1' , 'set2');
* $redis->sAdd('key1' , 'set3'); // 'key1' => {'set3', 'set1', 'set2'}
* $redis->sPop('key1'); // 'set1', 'key1' => {'set3', 'set2'}
* $redis->sPop('key1'); // 'set3', 'key1' => {'set2'}
* </pre>
*/
public function sPop($key)
{
}
/**
* Returns a random element(s) from the set value at Key, without removing it.
*
* @param string $key
* @param int $count [optional]
*
* @return string|mixed|array|bool value(s) from the set
* bool FALSE if set identified by key is empty or doesn't exist and count argument isn't passed.
*
* @link https://redis.io/commands/srandmember
* @example
* <pre>
* $redis->sAdd('key1' , 'one');
* $redis->sAdd('key1' , 'two');
* $redis->sAdd('key1' , 'three'); // 'key1' => {'one', 'two', 'three'}
*
* var_dump( $redis->sRandMember('key1') ); // 'key1' => {'one', 'two', 'three'}
*
* // string(5) "three"
*
* var_dump( $redis->sRandMember('key1', 2) ); // 'key1' => {'one', 'two', 'three'}
*
* // array(2) {
* // [0]=> string(2) "one"
* // [1]=> string(2) "three"
* // }
* </pre>
*/
public function sRandMember($key, $count = 1)
{
}
/**
* Returns the members of a set resulting from the intersection of all the sets
* held at the specified keys. If just a single key is specified, then this command
* produces the members of this set. If one of the keys is missing, FALSE is returned.
*
* @param string $key1 keys identifying the different sets on which we will apply the intersection.
* @param string ...$otherKeys variadic list of keys
*
* @return array contain the result of the intersection between those keys
* If the intersection between the different sets is empty, the return value will be empty array.
*
* @link https://redis.io/commands/sinter
* @example
* <pre>
* $redis->sAdd('key1', 'val1');
* $redis->sAdd('key1', 'val2');
* $redis->sAdd('key1', 'val3');
* $redis->sAdd('key1', 'val4');
*
* $redis->sAdd('key2', 'val3');
* $redis->sAdd('key2', 'val4');
*
* $redis->sAdd('key3', 'val3');
* $redis->sAdd('key3', 'val4');
*
* var_dump($redis->sInter('key1', 'key2', 'key3'));
*
* //array(2) {
* // [0]=>
* // string(4) "val4"
* // [1]=>
* // string(4) "val3"
* //}
* </pre>
*/
public function sInter($key1, ...$otherKeys)
{
}
/**
* Performs a sInter command and stores the result in a new set.
*
* @param string $dstKey the key to store the diff into.
* @param string $key1 keys identifying the different sets on which we will apply the intersection.
* @param string ...$otherKeys variadic list of keys
*
* @return int|bool The cardinality of the resulting set, or FALSE in case of a missing key
*
* @link https://redis.io/commands/sinterstore
* @example
* <pre>
* $redis->sAdd('key1', 'val1');
* $redis->sAdd('key1', 'val2');
* $redis->sAdd('key1', 'val3');
* $redis->sAdd('key1', 'val4');
*
* $redis->sAdd('key2', 'val3');
* $redis->sAdd('key2', 'val4');
*
* $redis->sAdd('key3', 'val3');
* $redis->sAdd('key3', 'val4');
*
* var_dump($redis->sInterStore('output', 'key1', 'key2', 'key3'));
* var_dump($redis->sMembers('output'));
*
* //int(2)
* //
* //array(2) {
* // [0]=>
* // string(4) "val4"
* // [1]=>
* // string(4) "val3"
* //}
* </pre>
*/
public function sInterStore($dstKey, $key1, ...$otherKeys)
{
}
/**
* Performs the union between N sets and returns it.
*
* @param string $key1 first key for union
* @param string ...$otherKeys variadic list of keys corresponding to sets in redis
*
* @return array string[] The union of all these sets
*
* @link https://redis.io/commands/sunionstore
* @example
* <pre>
* $redis->sAdd('s0', '1');
* $redis->sAdd('s0', '2');
* $redis->sAdd('s1', '3');
* $redis->sAdd('s1', '1');
* $redis->sAdd('s2', '3');
* $redis->sAdd('s2', '4');
*
* var_dump($redis->sUnion('s0', 's1', 's2'));
*
* array(4) {
* // [0]=>
* // string(1) "3"
* // [1]=>
* // string(1) "4"
* // [2]=>
* // string(1) "1"
* // [3]=>
* // string(1) "2"
* //}
* </pre>
*/
public function sUnion($key1, ...$otherKeys)
{
}
/**
* Performs the same action as sUnion, but stores the result in the first key
*
* @param string $dstKey the key to store the diff into.
* @param string $key1 first key for union
* @param string ...$otherKeys variadic list of keys corresponding to sets in redis
*
* @return int Any number of keys corresponding to sets in redis
*
* @link https://redis.io/commands/sunionstore
* @example
* <pre>
* $redis->del('s0', 's1', 's2');
*
* $redis->sAdd('s0', '1');
* $redis->sAdd('s0', '2');
* $redis->sAdd('s1', '3');
* $redis->sAdd('s1', '1');
* $redis->sAdd('s2', '3');
* $redis->sAdd('s2', '4');
*
* var_dump($redis->sUnionStore('dst', 's0', 's1', 's2'));
* var_dump($redis->sMembers('dst'));
*
* //int(4)
* //array(4) {
* // [0]=>
* // string(1) "3"
* // [1]=>
* // string(1) "4"
* // [2]=>
* // string(1) "1"
* // [3]=>
* // string(1) "2"
* //}
* </pre>
*/
public function sUnionStore($dstKey, $key1, ...$otherKeys)
{
}
/**
* Performs the difference between N sets and returns it.
*
* @param string $key1 first key for diff
* @param string ...$otherKeys variadic list of keys corresponding to sets in redis
*
* @return array string[] The difference of the first set will all the others
*
* @link https://redis.io/commands/sdiff
* @example
* <pre>
* $redis->del('s0', 's1', 's2');
*
* $redis->sAdd('s0', '1');
* $redis->sAdd('s0', '2');
* $redis->sAdd('s0', '3');
* $redis->sAdd('s0', '4');
*
* $redis->sAdd('s1', '1');
* $redis->sAdd('s2', '3');
*
* var_dump($redis->sDiff('s0', 's1', 's2'));
*
* //array(2) {
* // [0]=>
* // string(1) "4"
* // [1]=>
* // string(1) "2"
* //}
* </pre>
*/
public function sDiff($key1, ...$otherKeys)
{
}
/**
* Performs the same action as sDiff, but stores the result in the first key
*
* @param string $dstKey the key to store the diff into.
* @param string $key1 first key for diff
* @param string ...$otherKeys variadic list of keys corresponding to sets in redis
*
* @return int|bool The cardinality of the resulting set, or FALSE in case of a missing key
*
* @link https://redis.io/commands/sdiffstore
* @example
* <pre>
* $redis->del('s0', 's1', 's2');
*
* $redis->sAdd('s0', '1');
* $redis->sAdd('s0', '2');
* $redis->sAdd('s0', '3');
* $redis->sAdd('s0', '4');
*
* $redis->sAdd('s1', '1');
* $redis->sAdd('s2', '3');
*
* var_dump($redis->sDiffStore('dst', 's0', 's1', 's2'));
* var_dump($redis->sMembers('dst'));
*
* //int(2)
* //array(2) {
* // [0]=>
* // string(1) "4"
* // [1]=>
* // string(1) "2"
* //}
* </pre>
*/
public function sDiffStore($dstKey, $key1, ...$otherKeys)
{
}
/**
* Returns the contents of a set.
*
* @param string $key
*
* @return array An array of elements, the contents of the set
*
* @link https://redis.io/commands/smembers
* @example
* <pre>
* $redis->del('s');
* $redis->sAdd('s', 'a');
* $redis->sAdd('s', 'b');
* $redis->sAdd('s', 'a');
* $redis->sAdd('s', 'c');
* var_dump($redis->sMembers('s'));
*
* //array(3) {
* // [0]=>
* // string(1) "c"
* // [1]=>
* // string(1) "a"
* // [2]=>
* // string(1) "b"
* //}
* // The order is random and corresponds to redis' own internal representation of the set structure.
* </pre>
*/
public function sMembers($key)
{
}
/**
* @see sMembers()
* @link https://redis.io/commands/smembers
* @deprecated use Redis::sMembers()
*
* @param string $key
* @return array An array of elements, the contents of the set
*/
public function sGetMembers($key)
{
}
/**
* Scan a set for members
*
* @param string $key The set to search.
* @param int $iterator LONG (reference) to the iterator as we go.
* @param string $pattern String, optional pattern to match against.
* @param int $count How many members to return at a time (Redis might return a different amount)
*
* @return array|bool PHPRedis will return an array of keys or FALSE when we're done iterating
*
* @link https://redis.io/commands/sscan
* @example
* <pre>
* $iterator = null;
* while ($members = $redis->sScan('set', $iterator)) {
* foreach ($members as $member) {
* echo $member . PHP_EOL;
* }
* }
* </pre>
*/
public function sScan($key, &$iterator, $pattern = null, $count = 0)
{
}
/**
* Sets a value and returns the previous entry at that key.
*
* @param string $key
* @param string|mixed $value
*
* @return string|mixed A string (mixed, if used serializer), the previous value located at this key
*
* @link https://redis.io/commands/getset
* @example
* <pre>
* $redis->set('x', '42');
* $exValue = $redis->getSet('x', 'lol'); // return '42', replaces x by 'lol'
* $newValue = $redis->get('x')' // return 'lol'
* </pre>
*/
public function getSet($key, $value)
{
}
/**
* Returns a random key
*
* @return string an existing key in redis
*
* @link https://redis.io/commands/randomkey
* @example
* <pre>
* $key = $redis->randomKey();
* $surprise = $redis->get($key); // who knows what's in there.
* </pre>
*/
public function randomKey()
{
}
/**
* Switches to a given database
*
* @param int $dbIndex
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/select
* @example
* <pre>
* $redis->select(0); // switch to DB 0
* $redis->set('x', '42'); // write 42 to x
* $redis->move('x', 1); // move to DB 1
* $redis->select(1); // switch to DB 1
* $redis->get('x'); // will return 42
* </pre>
*/
public function select($dbIndex)
{
}
/**
* Moves a key to a different database.
*
* @param string $key
* @param int $dbIndex
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/move
* @example
* <pre>
* $redis->select(0); // switch to DB 0
* $redis->set('x', '42'); // write 42 to x
* $redis->move('x', 1); // move to DB 1
* $redis->select(1); // switch to DB 1
* $redis->get('x'); // will return 42
* </pre>
*/
public function move($key, $dbIndex)
{
}
/**
* Renames a key
*
* @param string $srcKey
* @param string $dstKey
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/rename
* @example
* <pre>
* $redis->set('x', '42');
* $redis->rename('x', 'y');
* $redis->get('y'); // → 42
* $redis->get('x'); // → `FALSE`
* </pre>
*/
public function rename($srcKey, $dstKey)
{
}
/**
* @see rename()
* @link https://redis.io/commands/rename
* @deprecated use Redis::rename()
*
* @param string $srcKey
* @param string $dstKey
*/
public function renameKey($srcKey, $dstKey)
{
}
/**
* Renames a key
*
* Same as rename, but will not replace a key if the destination already exists.
* This is the same behaviour as setNx.
*
* @param string $srcKey
* @param string $dstKey
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/renamenx
* @example
* <pre>
* $redis->set('x', '42');
* $redis->rename('x', 'y');
* $redis->get('y'); // → 42
* $redis->get('x'); // → `FALSE`
* </pre>
*/
public function renameNx($srcKey, $dstKey)
{
}
/**
* Sets an expiration date (a timeout) on an item
*
* @param string $key The key that will disappear
* @param int $ttl The key's remaining Time To Live, in seconds
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/expire
* @example
* <pre>
* $redis->set('x', '42');
* $redis->expire('x', 3); // x will disappear in 3 seconds.
* sleep(5); // wait 5 seconds
* $redis->get('x'); // will return `FALSE`, as 'x' has expired.
* </pre>
*/
public function expire($key, $ttl)
{
}
/**
* Sets an expiration date (a timeout in milliseconds) on an item
*
* @param string $key The key that will disappear.
* @param int $ttl The key's remaining Time To Live, in milliseconds
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/pexpire
* @example
* <pre>
* $redis->set('x', '42');
* $redis->pExpire('x', 11500); // x will disappear in 11500 milliseconds.
* $redis->ttl('x'); // 12
* $redis->pttl('x'); // 11500
* </pre>
*/
public function pExpire($key, $ttl)
{
}
/**
* @see expire()
* @link https://redis.io/commands/expire
* @deprecated use Redis::expire()
*
* @param string $key
* @param int $ttl
* @return bool
*/
public function setTimeout($key, $ttl)
{
}
/**
* Sets an expiration date (a timestamp) on an item.
*
* @param string $key The key that will disappear.
* @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time.
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/expireat
* @example
* <pre>
* $redis->set('x', '42');
* $now = time(NULL); // current timestamp
* $redis->expireAt('x', $now + 3); // x will disappear in 3 seconds.
* sleep(5); // wait 5 seconds
* $redis->get('x'); // will return `FALSE`, as 'x' has expired.
* </pre>
*/
public function expireAt($key, $timestamp)
{
}
/**
* Sets an expiration date (a timestamp) on an item. Requires a timestamp in milliseconds
*
* @param string $key The key that will disappear
* @param int $timestamp Unix timestamp. The key's date of death, in seconds from Epoch time
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/pexpireat
* @example
* <pre>
* $redis->set('x', '42');
* $redis->pExpireAt('x', 1555555555005);
* echo $redis->ttl('x'); // 218270121
* echo $redis->pttl('x'); // 218270120575
* </pre>
*/
public function pExpireAt($key, $timestamp)
{
}
/**
* Returns the keys that match a certain pattern.
*
* @param string $pattern pattern, using '*' as a wildcard
*
* @return array string[] The keys that match a certain pattern.
*
* @link https://redis.io/commands/keys
* @example
* <pre>
* $allKeys = $redis->keys('*'); // all keys will match this.
* $keyWithUserPrefix = $redis->keys('user*');
* </pre>
*/
public function keys($pattern)
{
}
/**
* @see keys()
* @deprecated use Redis::keys()
*
* @param string $pattern
* @link https://redis.io/commands/keys
*/
public function getKeys($pattern)
{
}
/**
* Returns the current database's size
*
* @return int DB size, in number of keys
*
* @link https://redis.io/commands/dbsize
* @example
* <pre>
* $count = $redis->dbSize();
* echo "Redis has $count keys\n";
* </pre>
*/
public function dbSize()
{
}
/**
* Authenticate the connection using a password.
* Warning: The password is sent in plain-text over the network.
*
* @param string $password
*
* @return bool TRUE if the connection is authenticated, FALSE otherwise
*
* @link https://redis.io/commands/auth
* @example $redis->auth('foobared');
*/
public function auth($password)
{
}
/**
* Starts the background rewrite of AOF (Append-Only File)
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/bgrewriteaof
* @example $redis->bgrewriteaof();
*/
public function bgrewriteaof()
{
}
/**
* Changes the slave status
* Either host and port, or no parameter to stop being a slave.
*
* @param string $host [optional]
* @param int $port [optional]
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/slaveof
* @example
* <pre>
* $redis->slaveof('10.0.1.7', 6379);
* // ...
* $redis->slaveof();
* </pre>
*/
public function slaveof($host = '127.0.0.1', $port = 6379)
{
}
/**
* Access the Redis slowLog
*
* @param string $operation This can be either GET, LEN, or RESET
* @param int|null $length If executing a SLOWLOG GET command, you can pass an optional length.
*
* @return mixed The return value of SLOWLOG will depend on which operation was performed.
* - SLOWLOG GET: Array of slowLog entries, as provided by Redis
* - SLOGLOG LEN: Integer, the length of the slowLog
* - SLOWLOG RESET: Boolean, depending on success
*
* @example
* <pre>
* // Get ten slowLog entries
* $redis->slowLog('get', 10);
* // Get the default number of slowLog entries
*
* $redis->slowLog('get');
* // Reset our slowLog
* $redis->slowLog('reset');
*
* // Retrieve slowLog length
* $redis->slowLog('len');
* </pre>
*
* @link https://redis.io/commands/slowlog
*/
public function slowLog(string $operation, int $length = null)
{
}
/**
* Describes the object pointed to by a key.
* The information to retrieve (string) and the key (string).
* Info can be one of the following:
* - "encoding"
* - "refcount"
* - "idletime"
*
* @param string $string
* @param string $key
*
* @return string|int|bool for "encoding", int for "refcount" and "idletime", FALSE if the key doesn't exist.
*
* @link https://redis.io/commands/object
* @example
* <pre>
* $redis->lPush('l', 'Hello, world!');
* $redis->object("encoding", "l"); // → ziplist
* $redis->object("refcount", "l"); // → 1
* $redis->object("idletime", "l"); // → 400 (in seconds, with a precision of 10 seconds).
* </pre>
*/
public function object($string = '', $key = '')
{
}
/**
* Performs a synchronous save.
*
* @return bool TRUE in case of success, FALSE in case of failure
* If a save is already running, this command will fail and return FALSE.
*
* @link https://redis.io/commands/save
* @example $redis->save();
*/
public function save()
{
}
/**
* Performs a background save.
*
* @return bool TRUE in case of success, FALSE in case of failure
* If a save is already running, this command will fail and return FALSE
*
* @link https://redis.io/commands/bgsave
* @example $redis->bgSave();
*/
public function bgsave()
{
}
/**
* Returns the timestamp of the last disk save.
*
* @return int timestamp
*
* @link https://redis.io/commands/lastsave
* @example $redis->lastSave();
*/
public function lastSave()
{
}
/**
* Blocks the current client until all the previous write commands are successfully transferred and
* acknowledged by at least the specified number of slaves.
*
* @param int $numSlaves Number of slaves that need to acknowledge previous write commands.
* @param int $timeout Timeout in milliseconds.
*
* @return int The command returns the number of slaves reached by all the writes performed in the
* context of the current connection
*
* @link https://redis.io/commands/wait
* @example $redis->wait(2, 1000);
*/
public function wait($numSlaves, $timeout)
{
}
/**
* Returns the type of data pointed by a given key.
*
* @param string $key
*
* @return int
* Depending on the type of the data pointed by the key,
* this method will return the following value:
* - string: Redis::REDIS_STRING
* - set: Redis::REDIS_SET
* - list: Redis::REDIS_LIST
* - zset: Redis::REDIS_ZSET
* - hash: Redis::REDIS_HASH
* - other: Redis::REDIS_NOT_FOUND
*
* @link https://redis.io/commands/type
* @example $redis->type('key');
*/
public function type($key)
{
}
/**
* Append specified string to the string stored in specified key.
*
* @param string $key
* @param string|mixed $value
*
* @return int Size of the value after the append
*
* @link https://redis.io/commands/append
* @example
* <pre>
* $redis->set('key', 'value1');
* $redis->append('key', 'value2'); // 12
* $redis->get('key'); // 'value1value2'
* </pre>
*/
public function append($key, $value)
{
}
/**
* Return a substring of a larger string
*
* @param string $key
* @param int $start
* @param int $end
*
* @return string the substring
*
* @link https://redis.io/commands/getrange
* @example
* <pre>
* $redis->set('key', 'string value');
* $redis->getRange('key', 0, 5); // 'string'
* $redis->getRange('key', -5, -1); // 'value'
* </pre>
*/
public function getRange($key, $start, $end)
{
}
/**
* Return a substring of a larger string
*
* @deprecated
* @param string $key
* @param int $start
* @param int $end
*/
public function substr($key, $start, $end)
{
}
/**
* Changes a substring of a larger string.
*
* @param string $key
* @param int $offset
* @param string $value
*
* @return int the length of the string after it was modified
*
* @link https://redis.io/commands/setrange
* @example
* <pre>
* $redis->set('key', 'Hello world');
* $redis->setRange('key', 6, "redis"); // returns 11
* $redis->get('key'); // "Hello redis"
* </pre>
*/
public function setRange($key, $offset, $value)
{
}
/**
* Get the length of a string value.
*
* @param string $key
* @return int
*
* @link https://redis.io/commands/strlen
* @example
* <pre>
* $redis->set('key', 'value');
* $redis->strlen('key'); // 5
* </pre>
*/
public function strlen($key)
{
}
/**
* Return the position of the first bit set to 1 or 0 in a string. The position is returned, thinking of the
* string as an array of bits from left to right, where the first byte's most significant bit is at position 0,
* the second byte's most significant bit is at position 8, and so forth.
*
* @param string $key
* @param int $bit
* @param int $start
* @param int $end
*
* @return int The command returns the position of the first bit set to 1 or 0 according to the request.
* If we look for set bits (the bit argument is 1) and the string is empty or composed of just
* zero bytes, -1 is returned. If we look for clear bits (the bit argument is 0) and the string
* only contains bit set to 1, the function returns the first bit not part of the string on the
* right. So if the string is three bytes set to the value 0xff the command BITPOS key 0 will
* return 24, since up to bit 23 all the bits are 1. Basically, the function considers the right
* of the string as padded with zeros if you look for clear bits and specify no range or the
* start argument only. However, this behavior changes if you are looking for clear bits and
* specify a range with both start and end. If no clear bit is found in the specified range, the
* function returns -1 as the user specified a clear range and there are no 0 bits in that range.
*
* @link https://redis.io/commands/bitpos
* @example
* <pre>
* $redis->set('key', '\xff\xff');
* $redis->bitpos('key', 1); // int(0)
* $redis->bitpos('key', 1, 1); // int(8)
* $redis->bitpos('key', 1, 3); // int(-1)
* $redis->bitpos('key', 0); // int(16)
* $redis->bitpos('key', 0, 1); // int(16)
* $redis->bitpos('key', 0, 1, 5); // int(-1)
* </pre>
*/
public function bitpos($key, $bit, $start = 0, $end = null)
{
}
/**
* Return a single bit out of a larger string
*
* @param string $key
* @param int $offset
*
* @return int the bit value (0 or 1)
*
* @link https://redis.io/commands/getbit
* @example
* <pre>
* $redis->set('key', "\x7f"); // this is 0111 1111
* $redis->getBit('key', 0); // 0
* $redis->getBit('key', 1); // 1
* </pre>
*/
public function getBit($key, $offset)
{
}
/**
* Changes a single bit of a string.
*
* @param string $key
* @param int $offset
* @param bool|int $value bool or int (1 or 0)
*
* @return int 0 or 1, the value of the bit before it was set
*
* @link https://redis.io/commands/setbit
* @example
* <pre>
* $redis->set('key', "*"); // ord("*") = 42 = 0x2f = "0010 1010"
* $redis->setBit('key', 5, 1); // returns 0
* $redis->setBit('key', 7, 1); // returns 0
* $redis->get('key'); // chr(0x2f) = "/" = b("0010 1111")
* </pre>
*/
public function setBit($key, $offset, $value)
{
}
/**
* Count bits in a string
*
* @param string $key
*
* @return int The number of bits set to 1 in the value behind the input key
*
* @link https://redis.io/commands/bitcount
* @example
* <pre>
* $redis->set('bit', '345'); // // 11 0011 0011 0100 0011 0101
* var_dump( $redis->bitCount('bit', 0, 0) ); // int(4)
* var_dump( $redis->bitCount('bit', 1, 1) ); // int(3)
* var_dump( $redis->bitCount('bit', 2, 2) ); // int(4)
* var_dump( $redis->bitCount('bit', 0, 2) ); // int(11)
* </pre>
*/
public function bitCount($key)
{
}
/**
* Bitwise operation on multiple keys.
*
* @param string $operation either "AND", "OR", "NOT", "XOR"
* @param string $retKey return key
* @param string $key1 first key
* @param string ...$otherKeys variadic list of keys
*
* @return int The size of the string stored in the destination key
*
* @link https://redis.io/commands/bitop
* @example
* <pre>
* $redis->set('bit1', '1'); // 11 0001
* $redis->set('bit2', '2'); // 11 0010
*
* $redis->bitOp('AND', 'bit', 'bit1', 'bit2'); // bit = 110000
* $redis->bitOp('OR', 'bit', 'bit1', 'bit2'); // bit = 110011
* $redis->bitOp('NOT', 'bit', 'bit1', 'bit2'); // bit = 110011
* $redis->bitOp('XOR', 'bit', 'bit1', 'bit2'); // bit = 11
* </pre>
*/
public function bitOp($operation, $retKey, $key1, ...$otherKeys)
{
}
/**
* Removes all entries from the current database.
*
* @return bool Always TRUE
* @link https://redis.io/commands/flushdb
* @example $redis->flushDB();
*/
public function flushDB()
{
}
/**
* Removes all entries from all databases.
*
* @return bool Always TRUE
*
* @link https://redis.io/commands/flushall
* @example $redis->flushAll();
*/
public function flushAll()
{
}
/**
* Sort
*
* @param string $key
* @param array $option array(key => value, ...) - optional, with the following keys and values:
* - 'by' => 'some_pattern_*',
* - 'limit' => array(0, 1),
* - 'get' => 'some_other_pattern_*' or an array of patterns,
* - 'sort' => 'asc' or 'desc',
* - 'alpha' => TRUE,
* - 'store' => 'external-key'
*
* @return array
* An array of values, or a number corresponding to the number of elements stored if that was used
*
* @link https://redis.io/commands/sort
* @example
* <pre>
* $redis->del('s');
* $redis->sadd('s', 5);
* $redis->sadd('s', 4);
* $redis->sadd('s', 2);
* $redis->sadd('s', 1);
* $redis->sadd('s', 3);
*
* var_dump($redis->sort('s')); // 1,2,3,4,5
* var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
* var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5
* </pre>
*/
public function sort($key, $option = null)
{
}
/**
* Returns an associative array of strings and integers
*
* @param string $option Optional. The option to provide redis.
* SERVER | CLIENTS | MEMORY | PERSISTENCE | STATS | REPLICATION | CPU | CLASTER | KEYSPACE | COMANDSTATS
*
* Returns an associative array of strings and integers, with the following keys:
* - redis_version
* - redis_git_sha1
* - redis_git_dirty
* - arch_bits
* - multiplexing_api
* - process_id
* - uptime_in_seconds
* - uptime_in_days
* - lru_clock
* - used_cpu_sys
* - used_cpu_user
* - used_cpu_sys_children
* - used_cpu_user_children
* - connected_clients
* - connected_slaves
* - client_longest_output_list
* - client_biggest_input_buf
* - blocked_clients
* - used_memory
* - used_memory_human
* - used_memory_peak
* - used_memory_peak_human
* - mem_fragmentation_ratio
* - mem_allocator
* - loading
* - aof_enabled
* - changes_since_last_save
* - bgsave_in_progress
* - last_save_time
* - total_connections_received
* - total_commands_processed
* - expired_keys
* - evicted_keys
* - keyspace_hits
* - keyspace_misses
* - hash_max_zipmap_entries
* - hash_max_zipmap_value
* - pubsub_channels
* - pubsub_patterns
* - latest_fork_usec
* - vm_enabled
* - role
*
* @return string
*
* @link https://redis.io/commands/info
* @example
* <pre>
* $redis->info();
*
* or
*
* $redis->info("COMMANDSTATS"); //Information on the commands that have been run (>=2.6 only)
* $redis->info("CPU"); // just CPU information from Redis INFO
* </pre>
*/
public function info($option = null)
{
}
/**
* Resets the statistics reported by Redis using the INFO command (`info()` function).
* These are the counters that are reset:
* - Keyspace hits
* - Keyspace misses
* - Number of commands processed
* - Number of connections received
* - Number of expired keys
*
* @return bool `TRUE` in case of success, `FALSE` in case of failure.
*
* @example $redis->resetStat();
* @link https://redis.io/commands/config-resetstat
*/
public function resetStat()
{
}
/**
* Returns the time to live left for a given key, in seconds. If the key doesn't exist, FALSE is returned.
*
* @param string $key
*
* @return int|bool the time left to live in seconds
*
* @link https://redis.io/commands/ttl
* @example
* <pre>
* $redis->setex('key', 123, 'test');
* $redis->ttl('key'); // int(123)
* </pre>
*/
public function ttl($key)
{
}
/**
* Returns a time to live left for a given key, in milliseconds.
*
* If the key doesn't exist, FALSE is returned.
*
* @param string $key
*
* @return int|bool the time left to live in milliseconds
*
* @link https://redis.io/commands/pttl
* @example
* <pre>
* $redis->setex('key', 123, 'test');
* $redis->pttl('key'); // int(122999)
* </pre>
*/
public function pttl($key)
{
}
/**
* Remove the expiration timer from a key.
*
* @param string $key
*
* @return bool TRUE if a timeout was removed, FALSE if the key didn’t exist or didn’t have an expiration timer.
*
* @link https://redis.io/commands/persist
* @example $redis->persist('key');
*/
public function persist($key)
{
}
/**
* Sets multiple key-value pairs in one atomic command.
* MSETNX only returns TRUE if all the keys were set (see SETNX).
*
* @param array $array Pairs: array(key => value, ...)
*
* @return bool TRUE in case of success, FALSE in case of failure
*
* @link https://redis.io/commands/mset
* @example
* <pre>
* $redis->mset(array('key0' => 'value0', 'key1' => 'value1'));
* var_dump($redis->get('key0'));
* var_dump($redis->get('key1'));
* // Output:
* // string(6) "value0"
* // string(6) "value1"
* </pre>
*/
public function mset(array $array)
{
}
/**
* Get the values of all the specified keys.
* If one or more keys dont exist, the array will contain FALSE at the position of the key.
*
* @param array $keys Array containing the list of the keys
*
* @return array Array containing the values related to keys in argument
*
* @deprecated use Redis::mGet()
* @example
* <pre>
* $redis->set('key1', 'value1');
* $redis->set('key2', 'value2');
* $redis->set('key3', 'value3');
* $redis->getMultiple(array('key1', 'key2', 'key3')); // array('value1', 'value2', 'value3');
* $redis->getMultiple(array('key0', 'key1', 'key5')); // array(`FALSE`, 'value2', `FALSE`);
* </pre>
*/
public function getMultiple(array $keys)
{
}
/**
* Returns the values of all specified keys.
*
* For every key that does not hold a string value or does not exist,
* the special value false is returned. Because of this, the operation never fails.
*
* @param array $array
*
* @return array
*
* @link https://redis.io/commands/mget
* @example
* <pre>
* $redis->del('x', 'y', 'z', 'h'); // remove x y z
* $redis->mset(array('x' => 'a', 'y' => 'b', 'z' => 'c'));
* $redis->hset('h', 'field', 'value');
* var_dump($redis->mget(array('x', 'y', 'z', 'h')));
* // Output:
* // array(3) {
* // [0]=> string(1) "a"
* // [1]=> string(1) "b"
* // [2]=> string(1) "c"
* // [3]=> bool(false)
* // }
* </pre>
*/
public function mget(array $array)
{
}
/**
* @see mset()
* @param array $array
* @return int 1 (if the keys were set) or 0 (no key was set)
*
* @link https://redis.io/commands/msetnx
*/
public function msetnx(array $array)
{
}
/**
* Pops a value from the tail of a list, and pushes it to the front of another list.
* Also return this value.
*
* @since redis >= 1.1
*
* @param string $srcKey
* @param string $dstKey
*
* @return string|mixed|bool The element that was moved in case of success, FALSE in case of failure.
*
* @link https://redis.io/commands/rpoplpush
* @example
* <pre>
* $redis->del('x', 'y');
*
* $redis->lPush('x', 'abc');
* $redis->lPush('x', 'def');
* $redis->lPush('y', '123');
* $redis->lPush('y', '456');
*
* // move the last of x to the front of y.
* var_dump($redis->rpoplpush('x', 'y'));
* var_dump($redis->lRange('x', 0, -1));
* var_dump($redis->lRange('y', 0, -1));
*
* //Output:
* //
* //string(3) "abc"
* //array(1) {
* // [0]=>
* // string(3) "def"
* //}
* //array(3) {
* // [0]=>
* // string(3) "abc"
* // [1]=>
* // string(3) "456"
* // [2]=>
* // string(3) "123"
* //}
* </pre>
*/
public function rpoplpush($srcKey, $dstKey)
{
}
/**
* A blocking version of rpoplpush, with an integral timeout in the third parameter.
*
* @param string $srcKey
* @param string $dstKey
* @param int $timeout
*
* @return string|mixed|bool The element that was moved in case of success, FALSE in case of timeout
*
* @link https://redis.io/commands/brpoplpush
*/
public function brpoplpush($srcKey, $dstKey, $timeout)
{
}
/**
* Adds the specified member with a given score to the sorted set stored at key
*
* @param string $key Required key
* @param array $options Options if needed
* @param float $score1 Required score
* @param string|mixed $value1 Required value
* @param float $score2 Optional score
* @param string|mixed $value2 Optional value
* @param float $scoreN Optional score
* @param string|mixed $valueN Optional value
*
* @return int Number of values added
*
* @link https://redis.io/commands/zadd
* @example
* <pre>
* <pre>
* $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' ); // int(2)
* $redis->zRem('z', 'v2', 'v3'); // int(2)
* $redis->zAdd('z', ['NX'], 5, 'v5'); // int(1)
* $redis->zAdd('z', ['NX'], 6, 'v5'); // int(0)
* $redis->zAdd('z', 7, 'v6'); // int(1)
* $redis->zAdd('z', 8, 'v6'); // int(0)
*
* var_dump( $redis->zRange('z', 0, -1) );
* // Output:
* // array(4) {
* // [0]=> string(2) "v1"
* // [1]=> string(2) "v4"
* // [2]=> string(2) "v5"
* // [3]=> string(2) "v8"
* // }
*
* var_dump( $redis->zRange('z', 0, -1, true) );
* // Output:
* // array(4) {
* // ["v1"]=> float(1)
* // ["v4"]=> float(4)
* // ["v5"]=> float(5)
* // ["v6"]=> float(8)
* </pre>
* </pre>
*/
public function zAdd($key, $options, $score1, $value1, $score2 = null, $value2 = null, $scoreN = null, $valueN = null)
{
}
/**
* Returns a range of elements from the ordered set stored at the specified key,
* with values in the range [start, end]. start and stop are interpreted as zero-based indices:
* 0 the first element,
* 1 the second ...
* -1 the last element,
* -2 the penultimate ...
*
* @param string $key
* @param int $start
* @param int $end
* @param bool $withscores
*
* @return array Array containing the values in specified range.
*
* @link https://redis.io/commands/zrange
* @example
* <pre>
* $redis->zAdd('key1', 0, 'val0');
* $redis->zAdd('key1', 2, 'val2');
* $redis->zAdd('key1', 10, 'val10');
* $redis->zRange('key1', 0, -1); // array('val0', 'val2', 'val10')
* // with scores
* $redis->zRange('key1', 0, -1, true); // array('val0' => 0, 'val2' => 2, 'val10' => 10)
* </pre>
*/
public function zRange($key, $start, $end, $withscores = null)
{
}
/**
* Deletes a specified member from the ordered set.
*
* @param string $key
* @param string|mixed $member1
* @param string|mixed ...$otherMembers
*
* @return int Number of deleted values
*
* @link https://redis.io/commands/zrem
* @example
* <pre>
* $redis->zAdd('z', 1, 'v1', 2, 'v2', 3, 'v3', 4, 'v4' ); // int(2)
* $redis->zRem('z', 'v2', 'v3'); // int(2)
* var_dump( $redis->zRange('z', 0, -1) );
* //// Output:
* // array(2) {
* // [0]=> string(2) "v1"
* // [1]=> string(2) "v4"
* // }
* </pre>
*/
public function zRem($key, $member1, ...$otherMembers)
{
}
/**
* @see zRem()
* @link https://redis.io/commands/zrem
* @deprecated use Redis::zRem()
*
* @param string $key
* @param string|mixed $member1
* @param string|mixed ...$otherMembers
*
* @return int Number of deleted values
*/
public function zDelete($key, $member1, ...$otherMembers)
{
}
/**
* Returns the elements of the sorted set stored at the specified key in the range [start, end]
* in reverse order. start and stop are interpretated as zero-based indices:
* 0 the first element,
* 1 the second ...
* -1 the last element,
* -2 the penultimate ...
*
* @param string $key
* @param int $start
* @param int $end
* @param bool $withscore
*
* @return array Array containing the values in specified range.
*
* @link https://redis.io/commands/zrevrange
* @example
* <pre>
* $redis->zAdd('key', 0, 'val0');
* $redis->zAdd('key', 2, 'val2');
* $redis->zAdd('key', 10, 'val10');
* $redis->zRevRange('key', 0, -1); // array('val10', 'val2', 'val0')
*
* // with scores
* $redis->zRevRange('key', 0, -1, true); // array('val10' => 10, 'val2' => 2, 'val0' => 0)
* </pre>
*/
public function zRevRange($key, $start, $end, $withscore = null)
{
}
/**
* Returns the elements of the sorted set stored at the specified key which have scores in the
* range [start,end]. Adding a parenthesis before start or end excludes it from the range.
* +inf and -inf are also valid limits.
*
* zRevRangeByScore returns the same items in reverse order, when the start and end parameters are swapped.
*
* @param string $key
* @param int $start
* @param int $end
* @param array $options Two options are available:
* - withscores => TRUE,
* - and limit => array($offset, $count)
*
* @return array Array containing the values in specified range.
*
* @link https://redis.io/commands/zrangebyscore
* @example
* <pre>
* $redis->zAdd('key', 0, 'val0');
* $redis->zAdd('key', 2, 'val2');
* $redis->zAdd('key', 10, 'val10');
* $redis->zRangeByScore('key', 0, 3); // array('val0', 'val2')
* $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE); // array('val0' => 0, 'val2' => 2)
* $redis->zRangeByScore('key', 0, 3, array('limit' => array(1, 1)); // array('val2')
* $redis->zRangeByScore('key', 0, 3, array('withscores' => TRUE, 'limit' => array(1, 1)); // array('val2' => 2)
* </pre>
*/
public function zRangeByScore($key, $start, $end, array $options = array())
{
}
/**
* @see zRangeByScore()
* @param string $key
* @param int $start
* @param int $end
* @param array $options
*
* @return array
*/
public function zRevRangeByScore($key, $start, $end, array $options = array())
{
}
/**
* Returns a lexigraphical range of members in a sorted set, assuming the members have the same score. The
* min and max values are required to start with '(' (exclusive), '[' (inclusive), or be exactly the values
* '-' (negative inf) or '+' (positive inf). The command must be called with either three *or* five
* arguments or will return FALSE.
*
* @param string $key The ZSET you wish to run against.
* @param int $min The minimum alphanumeric value you wish to get.
* @param int $max The maximum alphanumeric value you wish to get.
* @param int $offset Optional argument if you wish to start somewhere other than the first element.
* @param int $limit Optional argument if you wish to limit the number of elements returned.
*
* @return array|bool Array containing the values in the specified range.
*
* @link https://redis.io/commands/zrangebylex
* @example
* <pre>
* foreach (array('a', 'b', 'c', 'd', 'e', 'f', 'g') as $char) {
* $redis->zAdd('key', $char);
* }
*
* $redis->zRangeByLex('key', '-', '[c'); // array('a', 'b', 'c')
* $redis->zRangeByLex('key', '-', '(c'); // array('a', 'b')
* $redis->zRangeByLex('key', '-', '[c'); // array('b', 'c')
* </pre>
*/
public function zRangeByLex($key, $min, $max, $offset = null, $limit = null)
{
}
/**
* @see zRangeByLex()
* @param string $key
* @param int $min
* @param int $max
* @param int $offset
* @param int $limit
*
* @return array
*
* @link https://redis.io/commands/zrevrangebylex
*/
public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null)
{
}
/**
* Returns the number of elements of the sorted set stored at the specified key which have
* scores in the range [start,end]. Adding a parenthesis before start or end excludes it
* from the range. +inf and -inf are also valid limits.
*
* @param string $key
* @param string $start
* @param string $end
*
* @return int the size of a corresponding zRangeByScore
*
* @link https://redis.io/commands/zcount
* @example
* <pre>
* $redis->zAdd('key', 0, 'val0');
* $redis->zAdd('key', 2, 'val2');
* $redis->zAdd('key', 10, 'val10');
* $redis->zCount('key', 0, 3); // 2, corresponding to array('val0', 'val2')
* </pre>
*/
public function zCount($key, $start, $end)
{
}
/**
* Deletes the elements of the sorted set stored at the specified key which have scores in the range [start,end].
*
* @param string $key
* @param float|string $start double or "+inf" or "-inf" string
* @param float|string $end double or "+inf" or "-inf" string
*
* @return int The number of values deleted from the sorted set
*
* @link https://redis.io/commands/zremrangebyscore
* @example
* <pre>
* $redis->zAdd('key', 0, 'val0');
* $redis->zAdd('key', 2, 'val2');
* $redis->zAdd('key', 10, 'val10');
* $redis->zRemRangeByScore('key', 0, 3); // 2
* </pre>
*/
public function zRemRangeByScore($key, $start, $end)
{
}
/**
* @see zRemRangeByScore()
* @deprecated use Redis::zRemRangeByScore()
*
* @param string $key
* @param float $start
* @param float $end
*/
public function zDeleteRangeByScore($key, $start, $end)
{
}
/**
* Deletes the elements of the sorted set stored at the specified key which have rank in the range [start,end].
*
* @param string $key
* @param int $start
* @param int $end
*
* @return int The number of values deleted from the sorted set
*
* @link https://redis.io/commands/zremrangebyrank
* @example
* <pre>
* $redis->zAdd('key', 1, 'one');
* $redis->zAdd('key', 2, 'two');
* $redis->zAdd('key', 3, 'three');
* $redis->zRemRangeByRank('key', 0, 1); // 2
* $redis->zRange('key', 0, -1, array('withscores' => TRUE)); // array('three' => 3)
* </pre>
*/
public function zRemRangeByRank($key, $start, $end)
{
}
/**
* @see zRemRangeByRank()
* @link https://redis.io/commands/zremrangebyscore
* @deprecated use Redis::zRemRangeByRank()
*
* @param string $key
* @param int $start
* @param int $end
*/
public function zDeleteRangeByRank($key, $start, $end)
{
}
/**
* Returns the cardinality of an ordered set.
*
* @param string $key
*
* @return int the set's cardinality
*
* @link https://redis.io/commands/zsize
* @example
* <pre>
* $redis->zAdd('key', 0, 'val0');
* $redis->zAdd('key', 2, 'val2');
* $redis->zAdd('key', 10, 'val10');
* $redis->zCard('key'); // 3
* </pre>
*/
public function zCard($key)
{
}
/**
* @see zCard()
* @deprecated use Redis::zCard()
*
* @param string $key
* @return int
*/
public function zSize($key)
{
}
/**
* Returns the score of a given member in the specified sorted set.
*
* @param string $key
* @param string|mixed $member
*
* @return float|bool false if member or key not exists
*
* @link https://redis.io/commands/zscore
* @example
* <pre>
* $redis->zAdd('key', 2.5, 'val2');
* $redis->zScore('key', 'val2'); // 2.5
* </pre>
*/
public function zScore($key, $member)
{
}
/**
* Returns the rank of a given member in the specified sorted set, starting at 0 for the item
* with the smallest score. zRevRank starts at 0 for the item with the largest score.
*
* @param string $key
* @param string|mixed $member
*
* @return int|bool the item's score, or false if key or member is not exists
*
* @link https://redis.io/commands/zrank
* @example
* <pre>
* $redis->del('z');
* $redis->zAdd('key', 1, 'one');
* $redis->zAdd('key', 2, 'two');
* $redis->zRank('key', 'one'); // 0
* $redis->zRank('key', 'two'); // 1
* $redis->zRevRank('key', 'one'); // 1
* $redis->zRevRank('key', 'two'); // 0
* </pre>
*/
public function zRank($key, $member)
{
}
/**
* @see zRank()
* @param string $key
* @param string|mixed $member
*
* @return int|bool the item's score, false - if key or member is not exists
*
* @link https://redis.io/commands/zrevrank
*/
public function zRevRank($key, $member)
{
}
/**
* Increments the score of a member from a sorted set by a given amount.
*
* @param string $key
* @param float $value (double) value that will be added to the member's score
* @param string $member
*
* @return float the new value
*
* @link https://redis.io/commands/zincrby
* @example
* <pre>
* $redis->del('key');
* $redis->zIncrBy('key', 2.5, 'member1'); // key or member1 didn't exist, so member1's score is to 0
* // before the increment and now has the value 2.5
* $redis->zIncrBy('key', 1, 'member1'); // 3.5
* </pre>
*/
public function zIncrBy($key, $value, $member)
{
}
/**
* Creates an union of sorted sets given in second argument.
* The result of the union will be stored in the sorted set defined by the first argument.
* The third optionnel argument defines weights to apply to the sorted sets in input.
* In this case, the weights will be multiplied by the score of each element in the sorted set
* before applying the aggregation. The forth argument defines the AGGREGATE option which
* specify how the results of the union are aggregated.
*
* @param string $output
* @param array $zSetKeys
* @param array $weights
* @param string $aggregateFunction Either "SUM", "MIN", or "MAX": defines the behaviour to use on
* duplicate entries during the zUnionStore
*
* @return int The number of values in the new sorted set
*
* @link https://redis.io/commands/zunionstore
* @example
* <pre>
* $redis->del('k1');
* $redis->del('k2');
* $redis->del('k3');
* $redis->del('ko1');
* $redis->del('ko2');
* $redis->del('ko3');
*
* $redis->zAdd('k1', 0, 'val0');
* $redis->zAdd('k1', 1, 'val1');
*
* $redis->zAdd('k2', 2, 'val2');
* $redis->zAdd('k2', 3, 'val3');
*
* $redis->zUnionStore('ko1', array('k1', 'k2')); // 4, 'ko1' => array('val0', 'val1', 'val2', 'val3')
*
* // Weighted zUnionStore
* $redis->zUnionStore('ko2', array('k1', 'k2'), array(1, 1)); // 4, 'ko2' => array('val0', 'val1', 'val2', 'val3')
* $redis->zUnionStore('ko3', array('k1', 'k2'), array(5, 1)); // 4, 'ko3' => array('val0', 'val2', 'val3', 'val1')
* </pre>
*/
public function zUnionStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM')
{
}
/**
* @see zUnionStore
* @deprecated use Redis::zUnionStore()
*
* @param string $Output
* @param array $ZSetKeys
* @param array|null $Weights
* @param string $aggregateFunction
*/
public function zUnion($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM')
{
}
/**
* Creates an intersection of sorted sets given in second argument.
* The result of the union will be stored in the sorted set defined by the first argument.
* The third optional argument defines weights to apply to the sorted sets in input.
* In this case, the weights will be multiplied by the score of each element in the sorted set
* before applying the aggregation. The forth argument defines the AGGREGATE option which
* specify how the results of the union are aggregated.
*
* @param string $output
* @param array $zSetKeys
* @param array $weights
* @param string $aggregateFunction Either "SUM", "MIN", or "MAX":
* defines the behaviour to use on duplicate entries during the zInterStore.
*
* @return int The number of values in the new sorted set.
*
* @link https://redis.io/commands/zinterstore
* @example
* <pre>
* $redis->del('k1');
* $redis->del('k2');
* $redis->del('k3');
*
* $redis->del('ko1');
* $redis->del('ko2');
* $redis->del('ko3');
* $redis->del('ko4');
*
* $redis->zAdd('k1', 0, 'val0');
* $redis->zAdd('k1', 1, 'val1');
* $redis->zAdd('k1', 3, 'val3');
*
* $redis->zAdd('k2', 2, 'val1');
* $redis->zAdd('k2', 3, 'val3');
*
* $redis->zInterStore('ko1', array('k1', 'k2')); // 2, 'ko1' => array('val1', 'val3')
* $redis->zInterStore('ko2', array('k1', 'k2'), array(1, 1)); // 2, 'ko2' => array('val1', 'val3')
*
* // Weighted zInterStore
* $redis->zInterStore('ko3', array('k1', 'k2'), array(1, 5), 'min'); // 2, 'ko3' => array('val1', 'val3')
* $redis->zInterStore('ko4', array('k1', 'k2'), array(1, 5), 'max'); // 2, 'ko4' => array('val3', 'val1')
* </pre>
*/
public function zInterStore($output, $zSetKeys, array $weights = null, $aggregateFunction = 'SUM')
{
}
/**
* @see zInterStore
* @deprecated use Redis::zInterStore()
*
* @param $Output
* @param $ZSetKeys
* @param array|null $Weights
* @param string $aggregateFunction
*/
public function zInter($Output, $ZSetKeys, array $Weights = null, $aggregateFunction = 'SUM')
{
}
/**
* Scan a sorted set for members, with optional pattern and count
*
* @param string $key String, the set to scan.
* @param int $iterator Long (reference), initialized to NULL.
* @param string $pattern String (optional), the pattern to match.
* @param int $count How many keys to return per iteration (Redis might return a different number).
*
* @return array|bool PHPRedis will return matching keys from Redis, or FALSE when iteration is complete
*
* @link https://redis.io/commands/zscan
* @example
* <pre>
* $iterator = null;
* while ($members = $redis-zscan('zset', $iterator)) {
* foreach ($members as $member => $score) {
* echo $member . ' => ' . $score . PHP_EOL;
* }
* }
* </pre>
*/
public function zScan($key, &$iterator, $pattern = null, $count = 0)
{
}
/**
* Block until Redis can pop the highest or lowest scoring members from one or more ZSETs.
* There are two commands (BZPOPMIN and BZPOPMAX for popping the lowest and highest scoring elements respectively.)
*
* @param string|array $key1
* @param string|array $key2 ...
* @param int $timeout
*
* @return array Either an array with the key member and score of the higest or lowest element or an empty array
* if the timeout was reached without an element to pop.
*
* @since >= 5.0
* @link https://redis.io/commands/bzpopmax
* @example
* <pre>
* // Wait up to 5 seconds to pop the *lowest* scoring member from sets `zs1` and `zs2`.
* $redis->bzPopMin(['zs1', 'zs2'], 5);
* $redis->bzPopMin('zs1', 'zs2', 5);
*
* // Wait up to 5 seconds to pop the *highest* scoring member from sets `zs1` and `zs2`
* $redis->bzPopMax(['zs1', 'zs2'], 5);
* $redis->bzPopMax('zs1', 'zs2', 5);
* </pre>
*/
public function bzPopMax($key1, $key2, $timeout)
{
}
/**
* @param string|array $key1
* @param string|array $key2 ...
* @param int $timeout
*
* @return array Either an array with the key member and score of the higest or lowest element or an empty array
* if the timeout was reached without an element to pop.
*
* @see bzPopMax
* @since >= 5.0
* @link https://redis.io/commands/bzpopmin
*/
public function bzPopMin($key1, $key2, $timeout)
{
}
/**
* Adds a value to the hash stored at key. If this value is already in the hash, FALSE is returned.
*
* @param string $key
* @param string $hashKey
* @param string $value
*
* @return int|bool
* - 1 if value didn't exist and was added successfully,
* - 0 if the value was already present and was replaced, FALSE if there was an error.
*
* @link https://redis.io/commands/hset
* @example
* <pre>
* $redis->del('h')
* $redis->hSet('h', 'key1', 'hello'); // 1, 'key1' => 'hello' in the hash at "h"
* $redis->hGet('h', 'key1'); // returns "hello"
*
* $redis->hSet('h', 'key1', 'plop'); // 0, value was replaced.
* $redis->hGet('h', 'key1'); // returns "plop"
* </pre>
*/
public function hSet($key, $hashKey, $value)
{
}
/**
* Adds a value to the hash stored at key only if this field isn't already in the hash.
*
* @param string $key
* @param string $hashKey
* @param string $value
*
* @return bool TRUE if the field was set, FALSE if it was already present.
*
* @link https://redis.io/commands/hsetnx
* @example
* <pre>
* $redis->del('h')
* $redis->hSetNx('h', 'key1', 'hello'); // TRUE, 'key1' => 'hello' in the hash at "h"
* $redis->hSetNx('h', 'key1', 'world'); // FALSE, 'key1' => 'hello' in the hash at "h". No change since the field
* wasn't replaced.
* </pre>
*/
public function hSetNx($key, $hashKey, $value)
{
}
/**
* Gets a value from the hash stored at key.
* If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
*
* @param string $key
* @param string $hashKey
*
* @return string The value, if the command executed successfully BOOL FALSE in case of failure
*
* @link https://redis.io/commands/hget
*/
public function hGet($key, $hashKey)
{
}
/**
* Returns the length of a hash, in number of items
*
* @param string $key
*
* @return int|false the number of items in a hash, FALSE if the key doesn't exist or isn't a hash
*
* @link https://redis.io/commands/hlen
* @example
* <pre>
* $redis->del('h')
* $redis->hSet('h', 'key1', 'hello');
* $redis->hSet('h', 'key2', 'plop');
* $redis->hLen('h'); // returns 2
* </pre>
*/
public function hLen($key)
{
}
/**
* Removes a values from the hash stored at key.
* If the hash table doesn't exist, or the key doesn't exist, FALSE is returned.
*
* @param string $key
* @param string $hashKey1
* @param string ...$otherHashKeys
*
* @return int|false Number of deleted fields
*
* @link https://redis.io/commands/hdel
* @example
* <pre>
* $redis->hMSet('h',
* array(
* 'f1' => 'v1',
* 'f2' => 'v2',
* 'f3' => 'v3',
* 'f4' => 'v4',
* ));
*
* var_dump( $redis->hDel('h', 'f1') ); // int(1)
* var_dump( $redis->hDel('h', 'f2', 'f3') ); // int(2)
* s
* var_dump( $redis->hGetAll('h') );
* //// Output:
* // array(1) {
* // ["f4"]=> string(2) "v4"
* // }
* </pre>
*/
public function hDel($key, $hashKey1, ...$otherHashKeys)
{
}
/**
* Returns the keys in a hash, as an array of strings.
*
* @param string $key
*
* @return array An array of elements, the keys of the hash. This works like PHP's array_keys().
*
* @link https://redis.io/commands/hkeys
* @example
* <pre>
* $redis->del('h');
* $redis->hSet('h', 'a', 'x');
* $redis->hSet('h', 'b', 'y');
* $redis->hSet('h', 'c', 'z');
* $redis->hSet('h', 'd', 't');
* var_dump($redis->hKeys('h'));
*
* // Output:
* // array(4) {
* // [0]=>
* // string(1) "a"
* // [1]=>
* // string(1) "b"
* // [2]=>
* // string(1) "c"
* // [3]=>
* // string(1) "d"
* // }
* // The order is random and corresponds to redis' own internal representation of the set structure.
* </pre>
*/
public function hKeys($key)
{
}
/**
* Returns the values in a hash, as an array of strings.
*
* @param string $key
*
* @return array An array of elements, the values of the hash. This works like PHP's array_values().
*
* @link https://redis.io/commands/hvals
* @example
* <pre>
* $redis->del('h');
* $redis->hSet('h', 'a', 'x');
* $redis->hSet('h', 'b', 'y');
* $redis->hSet('h', 'c', 'z');
* $redis->hSet('h', 'd', 't');
* var_dump($redis->hVals('h'));
*
* // Output
* // array(4) {
* // [0]=>
* // string(1) "x"
* // [1]=>
* // string(1) "y"
* // [2]=>
* // string(1) "z"
* // [3]=>
* // string(1) "t"
* // }
* // The order is random and corresponds to redis' own internal representation of the set structure.
* </pre>
*/
public function hVals($key)
{
}
/**
* Returns the whole hash, as an array of strings indexed by strings.
*
* @param string $key
*
* @return array An array of elements, the contents of the hash.
*
* @link https://redis.io/commands/hgetall
* @example
* <pre>
* $redis->del('h');
* $redis->hSet('h', 'a', 'x');
* $redis->hSet('h', 'b', 'y');
* $redis->hSet('h', 'c', 'z');
* $redis->hSet('h', 'd', 't');
* var_dump($redis->hGetAll('h'));
*
* // Output:
* // array(4) {
* // ["a"]=>
* // string(1) "x"
* // ["b"]=>
* // string(1) "y"
* // ["c"]=>
* // string(1) "z"
* // ["d"]=>
* // string(1) "t"
* // }
* // The order is random and corresponds to redis' own internal representation of the set structure.
* </pre>
*/
public function hGetAll($key)
{
}
/**
* Verify if the specified member exists in a key.
*
* @param string $key
* @param string $hashKey
*
* @return bool If the member exists in the hash table, return TRUE, otherwise return FALSE.
*
* @link https://redis.io/commands/hexists
* @example
* <pre>
* $redis->hSet('h', 'a', 'x');
* $redis->hExists('h', 'a'); // TRUE
* $redis->hExists('h', 'NonExistingKey'); // FALSE
* </pre>
*/
public function hExists($key, $hashKey)
{
}
/**
* Increments the value of a member from a hash by a given amount.
*
* @param string $key
* @param string $hashKey
* @param int $value (integer) value that will be added to the member's value
*
* @return int the new value
*
* @link https://redis.io/commands/hincrby
* @example
* <pre>
* $redis->del('h');
* $redis->hIncrBy('h', 'x', 2); // returns 2: h[x] = 2 now.
* $redis->hIncrBy('h', 'x', 1); // h[x] ← 2 + 1. Returns 3
* </pre>
*/
public function hIncrBy($key, $hashKey, $value)
{
}
/**
* Increment the float value of a hash field by the given amount
*
* @param string $key
* @param string $field
* @param float $increment
*
* @return float
*
* @link https://redis.io/commands/hincrbyfloat
* @example
* <pre>
* $redis = new Redis();
* $redis->connect('127.0.0.1');
* $redis->hset('h', 'float', 3);
* $redis->hset('h', 'int', 3);
* var_dump( $redis->hIncrByFloat('h', 'float', 1.5) ); // float(4.5)
*
* var_dump( $redis->hGetAll('h') );
*
* // Output
* array(2) {
* ["float"]=>
* string(3) "4.5"
* ["int"]=>
* string(1) "3"
* }
* </pre>
*/
public function hIncrByFloat($key, $field, $increment)
{
}
/**
* Fills in a whole hash. Non-string values are converted to string, using the standard (string) cast.
* NULL values are stored as empty strings
*
* @param string $key
* @param array $hashKeys key → value array
*
* @return bool
*
* @link https://redis.io/commands/hmset
* @example
* <pre>
* $redis->del('user:1');
* $redis->hMSet('user:1', array('name' => 'Joe', 'salary' => 2000));
* $redis->hIncrBy('user:1', 'salary', 100); // Joe earns 100 more now.
* </pre>
*/
public function hMSet($key, $hashKeys)
{
}
/**
* Retirieve the values associated to the specified fields in the hash.
*
* @param string $key
* @param array $hashKeys
*
* @return array Array An array of elements, the values of the specified fields in the hash,
* with the hash keys as array keys.
*
* @link https://redis.io/commands/hmget
* @example
* <pre>
* $redis->del('h');
* $redis->hSet('h', 'field1', 'value1');
* $redis->hSet('h', 'field2', 'value2');
* $redis->hmGet('h', array('field1', 'field2')); // returns array('field1' => 'value1', 'field2' => 'value2')
* </pre>
*/
public function hMGet($key, $hashKeys)
{
}
/**
* Scan a HASH value for members, with an optional pattern and count.
*
* @param string $key
* @param int $iterator
* @param string $pattern Optional pattern to match against.
* @param int $count How many keys to return in a go (only a sugestion to Redis).
*
* @return array An array of members that match our pattern.
*
* @link https://redis.io/commands/hscan
* @example
* <pre>
* // $iterator = null;
* // while($elements = $redis->hscan('hash', $iterator)) {
* // foreach($elements as $key => $value) {
* // echo $key . ' => ' . $value . PHP_EOL;
* // }
* // }
* </pre>
*/
public function hScan($key, &$iterator, $pattern = null, $count = 0)
{
}
/**
* Get the string length of the value associated with field in the hash stored at key
*
* @param string $key
* @param string $field
*
* @return int the string length of the value associated with field, or zero when field is not present in the hash
* or key does not exist at all.
*
* @link https://redis.io/commands/hstrlen
* @since >= 3.2
*/
public function hStrLen(string $key, string $field)
{
}
/**
* Add one or more geospatial items to the specified key.
* This function must be called with at least one longitude, latitude, member triplet.
*
* @param string $key
* @param float $longitude
* @param float $latitude
* @param string $member
*
* @return int The number of elements added to the geospatial key
*
* @link https://redis.io/commands/geoadd
* @since >=3.2
*
* @example
* <pre>
* $redis->del("myplaces");
*
* // Since the key will be new, $result will be 2
* $result = $redis->geoAdd(
* "myplaces",
* -122.431, 37.773, "San Francisco",
* -157.858, 21.315, "Honolulu"
* ); // 2
* </pre>
*/
public function geoadd($key, $longitude, $latitude, $member)
{
}
/**
* Retrieve Geohash strings for one or more elements of a geospatial index.
* @param string $key
* @param string ...$member variadic list of members
*
* @return array One or more Redis Geohash encoded strings
*
* @link https://redis.io/commands/geohash
* @since >=3.2
*
* @example
* <pre>
* $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
* $hashes = $redis->geoHash("hawaii", "Honolulu", "Maui");
* var_dump($hashes);
* // Output: array(2) {
* // [0]=>
* // string(11) "87z9pyek3y0"
* // [1]=>
* // string(11) "8e8y6d5jps0"
* // }
* </pre>
*/
public function geohash($key, ...$member)
{
}
/**
* Return longitude, latitude positions for each requested member.
*
* @param string $key
* @param string $member
* @return array One or more longitude/latitude positions
*
* @link https://redis.io/commands/geopos
* @since >=3.2
*
* @example
* <pre>
* $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
* $positions = $redis->geoPos("hawaii", "Honolulu", "Maui");
* var_dump($positions);
*
* // Output:
* array(2) {
* [0]=> array(2) {
* [0]=> string(22) "-157.85800248384475708"
* [1]=> string(19) "21.3060004581273077"
* }
* [1]=> array(2) {
* [0]=> string(22) "-156.33099943399429321"
* [1]=> string(20) "20.79799924753607598"
* }
* }
* </pre>
*/
public function geopos(string $key, string $member)
{
}
/**
* Return the distance between two members in a geospatial set.
*
* If units are passed it must be one of the following values:
* - 'm' => Meters
* - 'km' => Kilometers
* - 'mi' => Miles
* - 'ft' => Feet
*
* @param string $key
* @param string $member1
* @param string $member2
* @param string|null $unit
*
* @return float The distance between the two passed members in the units requested (meters by default)
*
* @link https://redis.io/commands/geodist
* @since >=3.2
*
* @example
* <pre>
* $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
*
* $meters = $redis->geoDist("hawaii", "Honolulu", "Maui");
* $kilometers = $redis->geoDist("hawaii", "Honolulu", "Maui", 'km');
* $miles = $redis->geoDist("hawaii", "Honolulu", "Maui", 'mi');
* $feet = $redis->geoDist("hawaii", "Honolulu", "Maui", 'ft');
*
* echo "Distance between Honolulu and Maui:\n";
* echo " meters : $meters\n";
* echo " kilometers: $kilometers\n";
* echo " miles : $miles\n";
* echo " feet : $feet\n";
*
* // Bad unit
* $inches = $redis->geoDist("hawaii", "Honolulu", "Maui", 'in');
* echo "Invalid unit returned:\n";
* var_dump($inches);
*
* // Output
* Distance between Honolulu and Maui:
* meters : 168275.204
* kilometers: 168.2752
* miles : 104.5616
* feet : 552084.0028
* Invalid unit returned:
* bool(false)
* </pre>
*/
public function geodist($key, $member1, $member2, $unit = null)
{
}
/**
* Return members of a set with geospatial information that are within the radius specified by the caller.
*
* @param $key
* @param $longitude
* @param $latitude
* @param $radius
* @param $unit
* @param array|null $options
* <pre>
* |Key |Value |Description |
* |------------|---------------|---------------------------------------------------|
* |COUNT |integer > 0 |Limit how many results are returned |
* | |WITHCOORD |Return longitude and latitude of matching members |
* | |WITHDIST |Return the distance from the center |
* | |WITHHASH |Return the raw geohash-encoded score |
* | |ASC |Sort results in ascending order |
* | |DESC |Sort results in descending order |
* |STORE |key |Store results in key |
* |STOREDIST |key |Store the results as distances in key |
* </pre>
* Note: It doesn't make sense to pass both ASC and DESC options but if both are passed
* the last one passed will be used.
* Note: When using STORE[DIST] in Redis Cluster, the store key must has to the same slot as
* the query key or you will get a CROSSLOT error.
* @return mixed When no STORE option is passed, this function returns an array of results.
* If it is passed this function returns the number of stored entries.
*
* @link https://redis.io/commands/georadius
* @since >= 3.2
* @example
* <pre>
* // Add some cities
* $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
*
* echo "Within 300 miles of Honolulu:\n";
* var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi'));
*
* echo "\nWithin 300 miles of Honolulu with distances:\n";
* $options = ['WITHDIST'];
* var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
*
* echo "\nFirst result within 300 miles of Honolulu with distances:\n";
* $options['count'] = 1;
* var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
*
* echo "\nFirst result within 300 miles of Honolulu with distances in descending sort order:\n";
* $options[] = 'DESC';
* var_dump($redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options));
*
* // Output
* Within 300 miles of Honolulu:
* array(2) {
* [0]=> string(8) "Honolulu"
* [1]=> string(4) "Maui"
* }
*
* Within 300 miles of Honolulu with distances:
* array(2) {
* [0]=>
* array(2) {
* [0]=>
* string(8) "Honolulu"
* [1]=>
* string(6) "0.0002"
* }
* [1]=>
* array(2) {
* [0]=>
* string(4) "Maui"
* [1]=>
* string(8) "104.5615"
* }
* }
*
* First result within 300 miles of Honolulu with distances:
* array(1) {
* [0]=>
* array(2) {
* [0]=>
* string(8) "Honolulu"
* [1]=>
* string(6) "0.0002"
* }
* }
*
* First result within 300 miles of Honolulu with distances in descending sort order:
* array(1) {
* [0]=>
* array(2) {
* [0]=>
* string(4) "Maui"
* [1]=>
* string(8) "104.5615"
* }
* }
* </pre>
*/
public function georadius($key, $longitude, $latitude, $radius, $unit, array $options = null)
{
}
/**
* This method is identical to geoRadius except that instead of passing a longitude and latitude as the "source"
* you pass an existing member in the geospatial set
*
* @param string $key
* @param string $member
* @param $radius
* @param $units
* @param array|null $options see georadius
*
* @return array The zero or more entries that are close enough to the member given the distance and radius specified
*
* @link https://redis.io/commands/georadiusbymember
* @since >= 3.2
* @see georadius
* @example
* <pre>
* $redis->geoAdd("hawaii", -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui");
*
* echo "Within 300 miles of Honolulu:\n";
* var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi'));
*
* echo "\nFirst match within 300 miles of Honolulu:\n";
* var_dump($redis->geoRadiusByMember("hawaii", "Honolulu", 300, 'mi', ['count' => 1]));
*
* // Output
* Within 300 miles of Honolulu:
* array(2) {
* [0]=> string(8) "Honolulu"
* [1]=> string(4) "Maui"
* }
*
* First match within 300 miles of Honolulu:
* array(1) {
* [0]=> string(8) "Honolulu"
* }
* </pre>
*/
public function georadiusbymember($key, $member, $radius, $units, array $options = null)
{
}
/**
* Get or Set the redis config keys.
*
* @param string $operation either `GET` or `SET`
* @param string $key for `SET`, glob-pattern for `GET`
* @param string|mixed $value optional string (only for `SET`)
*
* @return array Associative array for `GET`, key -> value
*
* @link https://redis.io/commands/config-get
* @example
* <pre>
* $redis->config("GET", "*max-*-entries*");
* $redis->config("SET", "dir", "/var/run/redis/dumps/");
* </pre>
*/
public function config($operation, $key, $value)
{
}
/**
* Evaluate a LUA script serverside
*
* @param string $script
* @param array $args
* @param int $numKeys
*
* @return mixed What is returned depends on what the LUA script itself returns, which could be a scalar value
* (int/string), or an array. Arrays that are returned can also contain other arrays, if that's how it was set up in
* your LUA script. If there is an error executing the LUA script, the getLastError() function can tell you the
* message that came back from Redis (e.g. compile error).
*
* @link https://redis.io/commands/eval
* @example
* <pre>
* $redis->eval("return 1"); // Returns an integer: 1
* $redis->eval("return {1,2,3}"); // Returns Array(1,2,3)
* $redis->del('mylist');
* $redis->rpush('mylist','a');
* $redis->rpush('mylist','b');
* $redis->rpush('mylist','c');
* // Nested response: Array(1,2,3,Array('a','b','c'));
* $redis->eval("return {1,2,3,redis.call('lrange','mylist',0,-1)}}");
* </pre>
*/
public function eval($script, $args = array(), $numKeys = 0)
{
}
/**
* @see eval()
* @deprecated use Redis::eval()
*
* @param string $script
* @param array $args
* @param int $numKeys
* @return mixed @see eval()
*/
public function evaluate($script, $args = array(), $numKeys = 0)
{
}
/**
* Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.
* In order to run this command Redis will have to have already loaded the script, either by running it or via
* the SCRIPT LOAD command.
*
* @param string $scriptSha
* @param array $args
* @param int $numKeys
*
* @return mixed @see eval()
*
* @see eval()
* @link https://redis.io/commands/evalsha
* @example
* <pre>
* $script = 'return 1';
* $sha = $redis->script('load', $script);
* $redis->evalSha($sha); // Returns 1
* </pre>
*/
public function evalSha($scriptSha, $args = array(), $numKeys = 0)
{
}
/**
* @see evalSha()
* @deprecated use Redis::evalSha()
*
* @param string $scriptSha
* @param array $args
* @param int $numKeys
*/
public function evaluateSha($scriptSha, $args = array(), $numKeys = 0)
{
}
/**
* Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
* @param string $command load | flush | kill | exists
* @param string $script
*
* @return mixed
*
* @link https://redis.io/commands/script-load
* @link https://redis.io/commands/script-kill
* @link https://redis.io/commands/script-flush
* @link https://redis.io/commands/script-exists
* @example
* <pre>
* $redis->script('load', $script);
* $redis->script('flush');
* $redis->script('kill');
* $redis->script('exists', $script1, [$script2, $script3, ...]);
* </pre>
*
* SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
* SCRIPT FLUSH should always return TRUE
* SCRIPT KILL will return true if a script was able to be killed and false if not
* SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
*/
public function script($command, $script)
{
}
/**
* The last error message (if any)
*
* @return string|null A string with the last returned script based error message, or NULL if there is no error
*
* @example
* <pre>
* $redis->eval('this-is-not-lua');
* $err = $redis->getLastError();
* // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
* </pre>
*/
public function getLastError()
{
}
/**
* Clear the last error message
*
* @return bool true
*
* @example
* <pre>
* $redis->set('x', 'a');
* $redis->incr('x');
* $err = $redis->getLastError();
* // "ERR value is not an integer or out of range"
* $redis->clearLastError();
* $err = $redis->getLastError();
* // NULL
* </pre>
*/
public function clearLastError()
{
}
/**
* Issue the CLIENT command with various arguments.
* The Redis CLIENT command can be used in four ways:
* - CLIENT LIST
* - CLIENT GETNAME
* - CLIENT SETNAME [name]
* - CLIENT KILL [ip:port]
*
* @param string $command
* @param string $value
* @return mixed This will vary depending on which client command was executed:
* - CLIENT LIST will return an array of arrays with client information.
* - CLIENT GETNAME will return the client name or false if none has been set
* - CLIENT SETNAME will return true if it can be set and false if not
* - CLIENT KILL will return true if the client can be killed, and false if not
*
* Note: phpredis will attempt to reconnect so you can actually kill your own connection but may not notice losing it!
*
* @link https://redis.io/commands/client-list
* @link https://redis.io/commands/client-getname
* @link https://redis.io/commands/client-setname
* @link https://redis.io/commands/client-kill
*
* @example
* <pre>
* $redis->client('list'); // Get a list of clients
* $redis->client('getname'); // Get the name of the current connection
* $redis->client('setname', 'somename'); // Set the name of the current connection
* $redis->client('kill', <ip:port>); // Kill the process at ip:port
* </pre>
*/
public function client($command, $value = '')
{
}
/**
* A utility method to prefix the value with the prefix setting for phpredis.
*
* @param mixed $value The value you wish to prefix
*
* @return string If a prefix is set up, the value now prefixed.
* If there is no prefix, the value will be returned unchanged.
*
* @example
* <pre>
* $redis->setOption(Redis::OPT_PREFIX, 'my-prefix:');
* $redis->_prefix('my-value'); // Will return 'my-prefix:my-value'
* </pre>
*/
public function _prefix($value)
{
}
/**
* A utility method to unserialize data with whatever serializer is set up. If there is no serializer set, the
* value will be returned unchanged. If there is a serializer set up, and the data passed in is malformed, an
* exception will be thrown. This can be useful if phpredis is serializing values, and you return something from
* redis in a LUA script that is serialized.
*
* @param string $value The value to be unserialized
*
* @return mixed
* @example
* <pre>
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
* $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
* </pre>
*/
public function _unserialize($value)
{
}
/**
* A utility method to serialize values manually. This method allows you to serialize a value with whatever
* serializer is configured, manually. This can be useful for serialization/unserialization of data going in
* and out of EVAL commands as phpredis can't automatically do this itself. Note that if no serializer is
* set, phpredis will change Array values to 'Array', and Objects to 'Object'.
*
* @param mixed $value The value to be serialized.
*
* @return mixed
* @example
* <pre>
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
* $redis->_serialize("foo"); // returns "foo"
* $redis->_serialize(Array()); // Returns "Array"
* $redis->_serialize(new stdClass()); // Returns "Object"
*
* $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
* $redis->_serialize("foo"); // Returns 's:3:"foo";'
* </pre>
*/
public function _serialize($value)
{
}
/**
* Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.
* The data that comes out of DUMP is a binary representation of the key as Redis stores it.
* @param string $key
*
* @return string|bool The Redis encoded value of the key, or FALSE if the key doesn't exist
*
* @link https://redis.io/commands/dump
* @example
* <pre>
* $redis->set('foo', 'bar');
* $val = $redis->dump('foo'); // $val will be the Redis encoded key value
* </pre>
*/
public function dump($key)
{
}
/**
* Restore a key from the result of a DUMP operation.
*
* @param string $key The key name
* @param int $ttl How long the key should live (if zero, no expire will be set on the key)
* @param string $value (binary). The Redis encoded key value (from DUMP)
*
* @return bool
*
* @link https://redis.io/commands/restore
* @example
* <pre>
* $redis->set('foo', 'bar');
* $val = $redis->dump('foo');
* $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
* </pre>
*/
public function restore($key, $ttl, $value)
{
}
/**
* Migrates a key to a different Redis instance.
*
* @param string $host The destination host
* @param int $port The TCP port to connect to.
* @param string $key The key to migrate.
* @param int $db The target DB.
* @param int $timeout The maximum amount of time given to this transfer.
* @param bool $copy Should we send the COPY flag to redis.
* @param bool $replace Should we send the REPLACE flag to redis.
*
* @return bool
*
* @link https://redis.io/commands/migrate
* @example
* <pre>
* $redis->migrate('backup', 6379, 'foo', 0, 3600);
* </pre>
*/
public function migrate($host, $port, $key, $db, $timeout, $copy = false, $replace = false)
{
}
/**
* Return the current Redis server time.
*
* @return array If successfull, the time will come back as an associative array with element zero being the
* unix timestamp, and element one being microseconds.
*
* @link https://redis.io/commands/time
* @example
* <pre>
* var_dump( $redis->time() );
* // array(2) {
* // [0] => string(10) "1342364352"
* // [1] => string(6) "253002"
* // }
* </pre>
*/
public function time()
{
}
/**
* Scan the keyspace for keys
*
* @param int $iterator Iterator, initialized to NULL.
* @param string $pattern Pattern to match.
* @param int $count Count of keys per iteration (only a suggestion to Redis).
*
* @return array|bool This function will return an array of keys or FALSE if there are no more keys.
*
* @link https://redis.io/commands/scan
* @example
* <pre>
* $iterator = null;
* while(false !== ($keys = $redis->scan($iterator))) {
* foreach($keys as $key) {
* echo $key . PHP_EOL;
* }
* }
* </pre>
*/
public function scan(&$iterator, $pattern = null, $count = 0)
{
}
/**
* Adds all the element arguments to the HyperLogLog data structure stored at the key.
*
* @param string $key
* @param array $elements
*
* @return bool
*
* @link https://redis.io/commands/pfadd
* @example $redis->pfAdd('key', array('elem1', 'elem2'))
*/
public function pfAdd($key, array $elements)
{
}
/**
* When called with a single key, returns the approximated cardinality computed by the HyperLogLog data
* structure stored at the specified variable, which is 0 if the variable does not exist.
*
* @param string|array $key
*
* @return int
*
* @link https://redis.io/commands/pfcount
* @example
* <pre>
* $redis->pfAdd('key1', array('elem1', 'elem2'));
* $redis->pfAdd('key2', array('elem3', 'elem2'));
* $redis->pfCount('key1'); // int(2)
* $redis->pfCount(array('key1', 'key2')); // int(3)
*/
public function pfCount($key)
{
}
/**
* Merge multiple HyperLogLog values into an unique value that will approximate the cardinality
* of the union of the observed Sets of the source HyperLogLog structures.
*
* @param string $destKey
* @param array $sourceKeys
*
* @return bool
*
* @link https://redis.io/commands/pfmerge
* @example
* <pre>
* $redis->pfAdd('key1', array('elem1', 'elem2'));
* $redis->pfAdd('key2', array('elem3', 'elem2'));
* $redis->pfMerge('key3', array('key1', 'key2'));
* $redis->pfCount('key3'); // int(3)
*/
public function pfMerge($destKey, array $sourceKeys)
{
}
/**
* Send arbitrary things to the redis server.
*
* @param string $command Required command to send to the server.
* @param mixed $arguments Optional variable amount of arguments to send to the server.
*
* @return mixed
*
* @example
* <pre>
* $redis->rawCommand('SET', 'key', 'value'); // bool(true)
* $redis->rawCommand('GET", 'key'); // string(5) "value"
* </pre>
*/
public function rawCommand($command, $arguments)
{
}
/**
* Detect whether we're in ATOMIC/MULTI/PIPELINE mode.
*
* @return int Either Redis::ATOMIC, Redis::MULTI or Redis::PIPELINE
*
* @example $redis->getMode();
*/
public function getMode()
{
}
/**
* Acknowledge one or more messages on behalf of a consumer group.
*
* @param string $stream
* @param string $group
* @param array $messages
*
* @return int The number of messages Redis reports as acknowledged.
*
* @link https://redis.io/commands/xack
* @example
* <pre>
* $redis->xAck('stream', 'group1', ['1530063064286-0', '1530063064286-1']);
* </pre>
*/
public function xAck($stream, $group, $messages)
{
}
/**
* Add a message to a stream
*
* @param string $key
* @param string $id
* @param array $messages
* @param int $maxLen
* @param bool $isApproximate
*
* @return string The added message ID.
*
* @link https://redis.io/commands/xadd
* @example
* <pre>
* $redis->xAdd('mystream', "*", ['field' => 'value']);
* $redis->xAdd('mystream', "*", ['field' => 'value'], 10);
* $redis->xAdd('mystream', "*", ['field' => 'value'], 10, true);
* </pre>
*/
public function xAdd($key, $id, $messages, $maxLen = 0, $isApproximate = false)
{
}
/**
* Claim ownership of one or more pending messages
*
* @param string $key
* @param string $group
* @param string $consumer
* @param int $minIdleTime
* @param array $ids
* @param array $options ['IDLE' => $value, 'TIME' => $value, 'RETRYCOUNT' => $value, 'FORCE', 'JUSTID']
*
* @return array Either an array of message IDs along with corresponding data, or just an array of IDs
* (if the 'JUSTID' option was passed).
*
* @link https://redis.io/commands/xclaim
* @example
* <pre>
* $ids = ['1530113681011-0', '1530113681011-1', '1530113681011-2'];
*
* // Without any options
* $redis->xClaim('mystream', 'group1', 'myconsumer1', 0, $ids);
*
* // With options
* $redis->xClaim(
* 'mystream', 'group1', 'myconsumer2', 0, $ids,
* [
* 'IDLE' => time() * 1000,
* 'RETRYCOUNT' => 5,
* 'FORCE',
* 'JUSTID'
* ]
* );
* </pre>
*/
public function xClaim($key, $group, $consumer, $minIdleTime, $ids, $options = [])
{
}
/**
* Delete one or more messages from a stream
*
* @param string $key
* @param array $ids
*
* @return int The number of messages removed
*
* @link https://redis.io/commands/xdel
* @example
* <pre>
* $redis->xDel('mystream', ['1530115304877-0', '1530115305731-0']);
* </pre>
*/
public function xDel($key, $ids)
{
}
/**
* @param string $operation e.g.: 'HELP', 'SETID', 'DELGROUP', 'CREATE', 'DELCONSUMER'
* @param string $key
* @param string $group
* @param string $msgId
* @param bool $mkStream
*
* @return mixed This command returns different types depending on the specific XGROUP command executed.
*
* @link https://redis.io/commands/xgroup
* @example
* <pre>
* $redis->xGroup('CREATE', 'mystream', 'mygroup', 0);
* $redis->xGroup('CREATE', 'mystream', 'mygroup', 0, true); // create stream
* $redis->xGroup('DESTROY', 'mystream', 'mygroup');
* </pre>
*/
public function xGroup($operation, $key, $group, $msgId = '', $mkStream = false)
{
}
/**
* Get information about a stream or consumer groups
*
* @param string $operation e.g.: 'CONSUMERS', 'GROUPS', 'STREAM', 'HELP'
* @param string $stream
* @param string $group
*
* @return mixed This command returns different types depending on which subcommand is used.
*
* @link https://redis.io/commands/xinfo
* @example
* <pre>
* $redis->xInfo('STREAM', 'mystream');
* </pre>
*/
public function xInfo($operation, $stream, $group)
{
}
/**
* Get the length of a given stream.
*
* @param string $stream
*
* @return int The number of messages in the stream.
*
* @link https://redis.io/commands/xlen
* @example
* <pre>
* $redis->xLen('mystream');
* </pre>
*/
public function xLen($stream)
{
}
/**
* Get information about pending messages in a given stream
*
* @param string $stream
* @param string $group
* @param string $start
* @param string $end
* @param int $count
* @param string $consumer
*
* @return array Information about the pending messages, in various forms depending on
* the specific invocation of XPENDING.
*
* @link https://redis.io/commands/xpending
* @example
* <pre>
* $redis->xPending('mystream', 'mygroup');
* $redis->xPending('mystream', 'mygroup', '-', '+', 1, 'consumer-1');
* </pre>
*/
public function xPending($stream, $group, $start = null, $end = null, $count = null, $consumer = null)
{
}
/**
* Get a range of messages from a given stream
*
* @param string $stream
* @param string $start
* @param string $end
* @param int $count
*
* @return array The messages in the stream within the requested range.
*
* @link https://redis.io/commands/xrange
* @example
* <pre>
* // Get everything in this stream
* $redis->xRange('mystream', '-', '+');
* // Only the first two messages
* $redis->xRange('mystream', '-', '+', 2);
* </pre>
*/
public function xRange($stream, $start, $end, $count = null)
{
}
/**
* Read data from one or more streams and only return IDs greater than sent in the command.
*
* @param array $streams
* @param int|string $count
* @param int|string $block
*
* @return array The messages in the stream newer than the IDs passed to Redis (if any)
*
* @link https://redis.io/commands/xread
* @example
* <pre>
* $redis->xRead(['stream1' => '1535222584555-0', 'stream2' => '1535222584555-0']);
* </pre>
*/
public function xRead($streams, $count = null, $block = null)
{
}
/**
* This method is similar to xRead except that it supports reading messages for a specific consumer group.
*
* @param string $group
* @param string $consumer
* @param array $streams
* @param int|null $count
* @param int|null $block
*
* @return array The messages delivered to this consumer group (if any).
*
* @link https://redis.io/commands/xreadgroup
* @example
* <pre>
* // Consume messages for 'mygroup', 'consumer1'
* $redis->xReadGroup('mygroup', 'consumer1', ['s1' => 0, 's2' => 0]);
* // Read a single message as 'consumer2' for up to a second until a message arrives.
* $redis->xReadGroup('mygroup', 'consumer2', ['s1' => 0, 's2' => 0], 1, 1000);
* </pre>
*/
public function xReadGroup($group, $consumer, $streams, $count = null, $block = null)
{
}
/**
* This is identical to xRange except the results come back in reverse order.
* Also note that Redis reverses the order of "start" and "end".
*
* @param string $stream
* @param string $end
* @param string $start
* @param int $count
*
* @return array The messages in the range specified
*
* @link https://redis.io/commands/xrevrange
* @example
* <pre>
* $redis->xRevRange('mystream', '+', '-');
* </pre>
*/
public function xRevRange($stream, $end, $start, $count = null)
{
}
/**
* Trim the stream length to a given maximum.
* If the "approximate" flag is pasesed, Redis will use your size as a hint but only trim trees in whole nodes
* (this is more efficient)
*
* @param string $stream
* @param int $maxLen
* @param bool $isApproximate
*
* @return int The number of messages trimed from the stream.
*
* @link https://redis.io/commands/xtrim
* @example
* <pre>
* // Trim to exactly 100 messages
* $redis->xTrim('mystream', 100);
* // Let Redis approximate the trimming
* $redis->xTrim('mystream', 100, true);
* </pre>
*/
public function xTrim($stream, $maxLen, $isApproximate)
{
}
/**
* Adds a values to the set value stored at key.
*
* @param string $key Required key
* @param array $values Required values
*
* @return int|bool The number of elements added to the set.
* If this value is already in the set, FALSE is returned
*
* @link https://redis.io/commands/sadd
* @link https://github.com/phpredis/phpredis/commit/3491b188e0022f75b938738f7542603c7aae9077
* @since phpredis 2.2.8
* @example
* <pre>
* $redis->sAddArray('k', array('v1')); // boolean
* $redis->sAddArray('k', array('v1', 'v2', 'v3')); // boolean
* </pre>
*/
public function sAddArray($key, array $values)
{
}
}
class RedisException extends Exception
{
}
/**
* @mixin \Redis
*/
class RedisArray
{
/**
* Constructor
*
* @param string|array $hosts Name of the redis array from redis.ini or array of hosts to construct the array with
* @param array $opts Array of options
*
* @link https://github.com/nicolasff/phpredis/blob/master/arrays.markdown
*/
public function __construct($hosts, array $opts = null)
{
}
/**
* @return array list of hosts for the selected array
*/
public function _hosts()
{
}
/**
* @return string the name of the function used to extract key parts during consistent hashing
*/
public function _function()
{
}
/**
* @param string $key The key for which you want to lookup the host
*
* @return string the host to be used for a certain key
*/
public function _target($key)
{
}
/**
* Use this function when a new node is added and keys need to be rehashed.
*/
public function _rehash()
{
}
/**
* Returns an associative array of strings and integers, with the following keys:
* - redis_version
* - redis_git_sha1
* - redis_git_dirty
* - redis_build_id
* - redis_mode
* - os
* - arch_bits
* - multiplexing_api
* - atomicvar_api
* - gcc_version
* - process_id
* - run_id
* - tcp_port
* - uptime_in_seconds
* - uptime_in_days
* - hz
* - lru_clock
* - executable
* - config_file
* - connected_clients
* - client_longest_output_list
* - client_biggest_input_buf
* - blocked_clients
* - used_memory
* - used_memory_human
* - used_memory_rss
* - used_memory_rss_human
* - used_memory_peak
* - used_memory_peak_human
* - used_memory_peak_perc
* - used_memory_peak
* - used_memory_overhead
* - used_memory_startup
* - used_memory_dataset
* - used_memory_dataset_perc
* - total_system_memory
* - total_system_memory_human
* - used_memory_lua
* - used_memory_lua_human
* - maxmemory
* - maxmemory_human
* - maxmemory_policy
* - mem_fragmentation_ratio
* - mem_allocator
* - active_defrag_running
* - lazyfree_pending_objects
* - mem_fragmentation_ratio
* - loading
* - rdb_changes_since_last_save
* - rdb_bgsave_in_progress
* - rdb_last_save_time
* - rdb_last_bgsave_status
* - rdb_last_bgsave_time_sec
* - rdb_current_bgsave_time_sec
* - rdb_last_cow_size
* - aof_enabled
* - aof_rewrite_in_progress
* - aof_rewrite_scheduled
* - aof_last_rewrite_time_sec
* - aof_current_rewrite_time_sec
* - aof_last_bgrewrite_status
* - aof_last_write_status
* - aof_last_cow_size
* - changes_since_last_save
* - aof_current_size
* - aof_base_size
* - aof_pending_rewrite
* - aof_buffer_length
* - aof_rewrite_buffer_length
* - aof_pending_bio_fsync
* - aof_delayed_fsync
* - loading_start_time
* - loading_total_bytes
* - loading_loaded_bytes
* - loading_loaded_perc
* - loading_eta_seconds
* - total_connections_received
* - total_commands_processed
* - instantaneous_ops_per_sec
* - total_net_input_bytes
* - total_net_output_bytes
* - instantaneous_input_kbps
* - instantaneous_output_kbps
* - rejected_connections
* - maxclients
* - sync_full
* - sync_partial_ok
* - sync_partial_err
* - expired_keys
* - evicted_keys
* - keyspace_hits
* - keyspace_misses
* - pubsub_channels
* - pubsub_patterns
* - latest_fork_usec
* - migrate_cached_sockets
* - slave_expires_tracked_keys
* - active_defrag_hits
* - active_defrag_misses
* - active_defrag_key_hits
* - active_defrag_key_misses
* - role
* - master_replid
* - master_replid2
* - master_repl_offset
* - second_repl_offset
* - repl_backlog_active
* - repl_backlog_size
* - repl_backlog_first_byte_offset
* - repl_backlog_histlen
* - master_host
* - master_port
* - master_link_status
* - master_last_io_seconds_ago
* - master_sync_in_progress
* - slave_repl_offset
* - slave_priority
* - slave_read_only
* - master_sync_left_bytes
* - master_sync_last_io_seconds_ago
* - master_link_down_since_seconds
* - connected_slaves
* - min-slaves-to-write
* - min-replicas-to-write
* - min_slaves_good_slaves
* - used_cpu_sys
* - used_cpu_user
* - used_cpu_sys_children
* - used_cpu_user_children
* - cluster_enabled
*
* @link https://redis.io/commands/info
* @return array
* @example
* <pre>
* $redis->info();
* </pre>
*/
public function info() {
}
}
================================================
FILE: .phan/internal_stubs/memcache.phan_php
================================================
<?php
// Start of memcache v.3.0.8
class MemcachePool {
/**
* (PECL memcache >= 0.2.0)<br/>
* Open memcached server connection
* @link https://php.net/manual/en/memcache.connect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like <em>unix:///path/to/memcached.sock</em>
* to use UNIX domain sockets, in this case <b>port</b> must also
* be set to <em>0</em>.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections. Set this
* parameter to <em>0</em> when using UNIX domain sockets.
* </p>
* <p>
* Please note: <b>port</b> defaults to
* {@link https://php.net/manual/ru/memcache.ini.php#ini.memcache.default-port memcache.default_port}
* if not specified. For this reason it is wise to specify the port
* explicitly in this method call.
* </p>
* @param int $timeout [optional] <p>Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.</p>
* @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
*/
public function connect ($host, $port, $timeout = 1) {}
/**
* (PECL memcache >= 2.0.0)<br/>
* Add a memcached server to connection pool
* @link https://php.net/manual/en/memcache.addserver.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like unix:///path/to/memcached.sock
* to use UNIX domain sockets, in this case <i>port</i> must also
* be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* Set this
* parameter to 0 when using UNIX domain sockets.
* </p>
* <p>
* Please note: <i>port</i> defaults to
* memcache.default_port
* if not specified. For this reason it is wise to specify the port
* explicitly in this method call.
* </p>
* @param bool $persistent [optional] <p>
* Controls the use of a persistent connection. Default to <b>TRUE</b>.
* </p>
* @param int $weight [optional] <p>
* Number of buckets to create for this server which in turn control its
* probability of it being selected. The probability is relative to the
* total weight of all servers.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think
* twice before changing the default value of 1 second - you can lose all
* the advantages of caching if your connection is too slow.
* </p>
* @param int $retry_interval [optional] <p>
* Controls how often a failed server will be retried, the default value
* is 15 seconds. Setting this parameter to -1 disables automatic retry.
* Neither this nor the <i>persistent</i> parameter has any
* effect when the extension is loaded dynamically via <b>dl</b>.
* </p>
* <p>
* Each failed connection struct has its own timeout and before it has expired
* the struct will be skipped when selecting backends to serve a request. Once
* expired the connection will be successfully reconnected or marked as failed
* for another <i>retry_interval</i> seconds. The typical
* effect is that each web server child will retry the connection about every
* <i>retry_interval</i> seconds when serving a page.
* </p>
* @param bool $status [optional] <p>
* Controls if the server should be flagged as online. Setting this parameter
* to <b>FALSE</b> and <i>retry_interval</i> to -1 allows a failed
* server to be kept in the pool so as not to affect the key distribution
* algorithm. Requests for this server will then failover or fail immediately
* depending on the <i>memcache.allow_failover</i> setting.
* Default to <b>TRUE</b>, meaning the server should be considered online.
* </p>
* @param callable $failure_callback [optional] <p>
* Allows the user to specify a callback function to run upon encountering an
* error. The callback is run before failover is attempted. The function takes
* two parameters, the hostname and port of the failed server.
* </p>
* @param int $timeoutms [optional] <p>
* </p>
* @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function addServer ($host, $port = 11211, $persistent = true, $weight = null, $timeout = 1, $retry_interval = 15, $status = true, callable $failure_callback = null, $timeoutms = null) {}
/**
* (PECL memcache >= 2.1.0)<br/>
* Changes server parameters and status at runtime
* @link https://secure.php.net/manual/en/memcache.setserverparams.php
* @param string $host <p>Point to the host where memcached is listening for connections.</p.
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.
* </p>
* @param int $retry_interval [optional] <p>
* Controls how often a failed server will be retried, the default value
* is 15 seconds. Setting this parameter to -1 disables automatic retry.
* Neither this nor the <b>persistent</b> parameter has any
* effect when the extension is loaded dynamically via {@link https://secure.php.net/manual/en/function.dl.php dl()}.
* </p>
* @param bool $status [optional] <p>
* Controls if the server should be flagged as online. Setting this parameter
* to <b>FALSE</b> and <b>retry_interval</b> to -1 allows a failed
* server to be kept in the pool so as not to affect the key distribution
* algorithm. Requests for this server will then failover or fail immediately
* depending on the <b>memcache.allow_failover</b> setting.
* Default to <b>TRUE</b>, meaning the server should be considered online.
* </p>
* @param callable $failure_callback [optional] <p>
* Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted.
* The function takes two parameters, the hostname and port of the failed server.
* </p>
* @return bool <p>Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.</p>
*/
public function setServerParams ($host, $port = 11211, $timeout = 1, $retry_interval = 15, $status = true, callable $failure_callback = null) {}
/**
*
*/
public function setFailureCallback () {}
/**
* (PECL memcache >= 2.1.0)<br/>
* Returns server status
* @link https://php.net/manual/en/memcache.getserverstatus.php
* @param string $host Point to the host where memcached is listening for connections.
* @param int $port Point to the port where memcached is listening for connections.
* @return int Returns a the servers status. 0 if server is failed, non-zero otherwise
*/
public function getServerStatus ($host, $port = 11211) {}
/**
*
*/
public function findServer () {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Return version of the server
* @link https://php.net/manual/en/memcache.getversion.php
* @return string|false Returns a string of server version number or <b>FALSE</b> on failure.
*/
public function getVersion () {}
/**
* (PECL memcache >= 2.0.0)<br/>
* Add an item to the server. If the key already exists, the value will not be added and <b>FALSE</b> will be returned.
* @link https://php.net/manual/en/memcache.add.php
* @param string $key The key that will be associated with the item.
* @param mixed $var The variable to store. Strings and integers are stored as is, other types are stored serialized.
* @param int $flag [optional] <p>
* Use <b>MEMCACHE_COMPRESSED</b> to store the item
* compressed (uses zlib).
* </p>
* @param int $expire [optional] <p>Expiration time of the item.
* If it's equal to zero, the item will never expire.
* You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).</p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure. Returns <b>FALSE</b> if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().
*/
public function add ($key , $var, $flag = null, $expire = null) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Stores an item var with key on the memcached server. Parameter expire is expiration time in seconds.
* If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time,
* it could be deleted from the cache to make place for other items).
* You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).
* @link https://php.net/manual/en/memcache.set.php
* @param string $key The key that will be associated with the item.
* @param mixed $var The variable to store. Strings and integers are stored as is, other types are stored serialized.
* @param int $flag [optional] Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).
* @param int $expire [optional] Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function set ($key, $var, $flag = null, $expire = null) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Replace value of the existing item
* @link https://php.net/manual/en/memcache.replace.php
* @param string $key <p>The key that will be associated with the item.</p>
* @param mixed $var <p>The variable to store. Strings and integers are stored as is, other types are stored serialized.</p>
* @param int $flag [optional] <p>Use <b>MEMCACHE_COMPRESSED</b> to store the item compressed (uses zlib).</p>
* @param int $expire [optional] <p>Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).</p>
* @return bool Returns TRUE on success or FALSE on failure.
*/
public function replace ($key, $var, $flag = null, $expire = null) {}
public function cas () {}
public function append () {}
/**
* @return string
*/
public function prepend () {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Retrieve item from the server
* @link https://php.net/manual/en/memcache.get.php
* @param string|array $key <p>
* The key or array of keys to fetch.
* </p>
* @param int|array $flags [optional] <p>
* If present, flags fetched along with the values will be written to this parameter. These
* flags are the same as the ones given to for example {@link https://php.net/manual/en/memcache.set.php Memcache::set()}.
* The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate
* compression and serialization status).
* </p>
* @return string|array|false <p>
* Returns the string associated with the <b>key</b> or
* an array of found key-value pairs when <b>key</b> is an {@link https://php.net/manual/en/language.types.array.php array}.
* Returns <b>FALSE</b> on failure, <b>key</b> is not found or
* <b>key</b> is an empty {@link https://php.net/manual/en/language.types.array.php array}.
* </p>
*/
public function get ($key, &$flags = null) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Delete item from the server
* https://secure.php.net/manual/ru/memcache.delete.php
* @param $key string The key associated with the item to delete.
* @param $timeout int [optional] This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function delete ($key, $timeout = 0 ) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Get statistics of the server
* @link https://php.net/manual/ru/memcache.getstats.php
* @param string $type [optional] <p>
* The type of statistics to fetch.
* Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}.
* According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".</p>
* @param int $slabid [optional] <p>
* Used in conjunction with <b>type</b> set to
* cachedump to identify the slab to dump from. The cachedump
* command ties up the server and is strictly to be used for
* debugging purposes.
* </p>
* @param int $limit [optional] <p>
* Used in conjunction with <b>type</b> set to cachedump to limit the number of entries to dump.
* </p>
* @return array|false Returns an associative array of server statistics or <b>FALSE</b> on failure.
*/
public function getStats ($type = null, $slabid = null, $limit = 100) {}
/**
* (PECL memcache >= 2.0.0)<br/>
* Get statistics from all servers in pool
* @link https://php.net/manual/en/memcache.getextendedstats.php
* @param string $type [optional] <p>The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".</p>
* @param int $slabid [optional] <p>
* Used in conjunction with <b>type</b> set to
* cachedump to identify the slab to dump from. The cachedump
* command ties up the server and is strictly to be used for
* debugging purposes.
* </p>
* @param int $limit Used in conjunction with type set to cachedump to limit the number of entries to dump.
* @return array|false Returns a two-dimensional associative array of server statistics or <b>FALSE</b>
* Returns a two-dimensional associative array of server statistics or <b>FALSE</b>
* on failure.
*/
public function getExtendedStats ($type = null, $slabid = null, $limit = 100) {}
/**
* (PECL memcache >= 2.0.0)<br/>
* Enable automatic compression of large values
* @link https://php.net/manual/en/memcache.setcompressthreshold.php
* @param int $thresold <p>Controls the minimum value length before attempting to compress automatically.</p>
* @param float $min_saving [optional] <p>Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.</p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function setCompressThreshold ($thresold, $min_saving = 0.2) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Increment item's value
* @link https://php.net/manual/en/memcache.increment.php
* @param $key string Key of the item to increment.
* @param $value int [optional] increment the item by <b>value</b>
* @return int|false Returns new items value on success or <b>FALSE</b> on failure.
*/
public function increment ($key, $value = 1) {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Decrement item's value
* @link https://php.net/manual/en/memcache.decrement.php
* @param $key string Key of the item do decrement.
* @param $value int Decrement the item by <b>value</b>.
* @return int|false Returns item's new value on success or <b>FALSE</b> on failure.
*/
public function decrement ($key, $value = 1) {}
/**
* (PECL memcache >= 0.4.0)<br/>
* Close memcached server connection
* @link https://php.net/manual/en/memcache.close.php
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function close () {}
/**
* (PECL memcache >= 1.0.0)<br/>
* Flush all existing items at the server
* @link https://php.net/manual/en/memcache.flush.php
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
public function flush () {}
}
/**
* Represents a connection to a set of memcache servers.
* @link https://php.net/manual/en/class.memcache.php
*/
class Memcache extends MemcachePool {
/**
* (PECL memcache >= 0.4.0)<br/>
* Open memcached server persistent connection
* @link https://php.net/manual/en/memcache.pconnect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections. This parameter
* may also specify other transports like unix:///path/to/memcached.sock
* to use UNIX domain sockets, in this case <i>port</i> must also
* be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections. Set this
* parameter to 0 when using UNIX domain sockets.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon. Think
* twice before changing the default value of 1 second - you can lose all
* the advantages of caching if your connection is too slow.
* </p>
* @return mixed a Memcache object or <b>FALSE</b> on failure.
*/
public function pconnect ($host, $port, $timeout = 1) {}
}
// string $host [, int $port [, int $timeout ]]
/**
* (PECL memcache >= 0.2.0)</br>
* Memcache::connect — Open memcached server connection
* @link https://php.net/manual/en/memcache.connect.php
* @param string $host <p>
* Point to the host where memcached is listening for connections.
* This parameter may also specify other transports like
* unix:///path/to/memcached.sock to use UNIX domain sockets,
* in this case port must also be set to 0.
* </p>
* @param int $port [optional] <p>
* Point to the port where memcached is listening for connections.
* Set this parameter to 0 when using UNIX domain sockets.
* Note: port defaults to memcache.default_port if not specified.
* For this reason it is wise to specify the port explicitly in this method call.
* </p>
* @param int $timeout [optional] <p>
* Value in seconds which will be used for connecting to the daemon.
* </p>
* @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
function memcache_connect ($host, $port, $timeout = 1) {}
/**
* (PECL memcache >= 0.4.0)
* Memcache::pconnect — Open memcached server persistent connection
*
* @link https://php.net/manual/en/memcache.pconnect.php#example-5242
* @param $host
* @param null $port
* @param int $timeout
* @return Memcache
*/
function memcache_pconnect ($host, $port=null, $timeout=1) {}
function memcache_add_server () {}
function memcache_set_server_params () {}
function memcache_set_failure_callback () {}
function memcache_get_server_status () {}
function memcache_get_version () {}
function memcache_add () {}
function memcache_set () {}
function memcache_replace () {}
function memcache_cas () {}
function memcache_append () {}
function memcache_prepend () {}
function memcache_get () {}
function memcache_delete () {}
/**
* (PECL memcache >= 0.2.0)<br/>
* Turn debug output on/off
* @link https://php.net/manual/en/function.memcache-debug.php
* @param bool $on_off <p>
* Turns debug output on if equals to <b>TRUE</b>.
* Turns debug output off if equals to <b>FALSE</b>.
* </p>
* @return bool <b>TRUE</b> if PHP was built with --enable-debug option, otherwise
* returns <b>FALSE</b>.
*/
function memcache_debug ($on_off) {}
function memcache_get_stats () {}
function memcache_get_extended_stats () {}
function memcache_set_compress_threshold () {}
function memcache_increment () {}
function memcache_decrement () {}
function memcache_close () {}
function memcache_flush () {}
define ('MEMCACHE_COMPRESSED', 2);
define ('MEMCACHE_USER1', 65536);
define ('MEMCACHE_USER2', 131072);
define ('MEMCACHE_USER3', 262144);
define ('MEMCACHE_USER4', 524288);
define ('MEMCACHE_HAVE_SESSION', 1);
// End of memcache v.3.0.8
?>
================================================
FILE: .phan/internal_stubs/memcached.phan_php
================================================
<?php
// Start of memcached v.3.0.4
/**
* Represents a connection to a set of memcached servers.
* @link https://php.net/manual/en/class.memcached.php
*/
class Memcached {
/**
* <p>Enables or disables payload compression. When enabled,
* item values longer than a certain threshold (currently 100 bytes) will be
* compressed during storage and decompressed during retrieval
* transparently.</p>
* <p>Type: boolean, default: <b>TRUE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_COMPRESSION = -1001;
const OPT_COMPRESSION_TYPE = -1004;
/**
* <p>This can be used to create a "domain" for your item keys. The value
* specified here will be prefixed to each of the keys. It cannot be
* longer than 128 characters and will reduce the
* maximum available key size. The prefix is applied only to the item keys,
* not to the server keys.</p>
* <p>Type: string, default: "".</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_PREFIX_KEY = -1002;
/**
* <p>
* Specifies the serializer to use for serializing non-scalar values.
* The valid serializers are <b>Memcached::SERIALIZER_PHP</b>
* or <b>Memcached::SERIALIZER_IGBINARY</b>. The latter is
* supported only when memcached is configured with
* --enable-memcached-igbinary option and the
* igbinary extension is loaded.
* </p>
* <p>Type: integer, default: <b>Memcached::SERIALIZER_PHP</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_SERIALIZER = -1003;
/**
* <p>Indicates whether igbinary serializer support is available.</p>
* <p>Type: boolean.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HAVE_IGBINARY = 0;
/**
* <p>Indicates whether JSON serializer support is available.</p>
* <p>Type: boolean.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HAVE_JSON = 0;
const HAVE_SESSION = 1;
const HAVE_SASL = 0;
/**
* <p>Specifies the hashing algorithm used for the item keys. The valid
* values are supplied via <b>Memcached::HASH_*</b> constants.
* Each hash algorithm has its advantages and its disadvantages. Go with the
* default if you don't know or don't care.</p>
* <p>Type: integer, default: <b>Memcached::HASH_DEFAULT</b></p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_HASH = 2;
/**
* <p>The default (Jenkins one-at-a-time) item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_DEFAULT = 0;
/**
* <p>MD5 item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_MD5 = 1;
/**
* <p>CRC item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_CRC = 2;
/**
* <p>FNV1_64 item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_FNV1_64 = 3;
/**
* <p>FNV1_64A item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_FNV1A_64 = 4;
/**
* <p>FNV1_32 item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_FNV1_32 = 5;
/**
* <p>FNV1_32A item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_FNV1A_32 = 6;
/**
* <p>Hsieh item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_HSIEH = 7;
/**
* <p>Murmur item key hashing algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const HASH_MURMUR = 8;
/**
* <p>Specifies the method of distributing item keys to the servers.
* Currently supported methods are modulo and consistent hashing. Consistent
* hashing delivers better distribution and allows servers to be added to
* the cluster with minimal cache losses.</p>
* <p>Type: integer, default: <b>Memcached::DISTRIBUTION_MODULA.</b></p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_DISTRIBUTION = 9;
/**
* <p>Modulo-based key distribution algorithm.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const DISTRIBUTION_MODULA = 0;
/**
* <p>Consistent hashing key distribution algorithm (based on libketama).</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const DISTRIBUTION_CONSISTENT = 1;
const DISTRIBUTION_VIRTUAL_BUCKET = 6;
/**
* <p>Enables or disables compatibility with libketama-like behavior. When
* enabled, the item key hashing algorithm is set to MD5 and distribution is
* set to be weighted consistent hashing distribution. This is useful
* because other libketama-based clients (Python, Ruby, etc.) with the same
* server configuration will be able to access the keys transparently.
* </p>
* <p>
* It is highly recommended to enable this option if you want to use
* consistent hashing, and it may be enabled by default in future
* releases.
* </p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_LIBKETAMA_COMPATIBLE = 16;
const OPT_LIBKETAMA_HASH = 17;
const OPT_TCP_KEEPALIVE = 32;
/**
* <p>Enables or disables buffered I/O. Enabling buffered I/O causes
* storage commands to "buffer" instead of being sent. Any action that
* retrieves data causes this buffer to be sent to the remote connection.
* Quitting the connection or closing down the connection will also cause
* the buffered data to be pushed to the remote connection.</p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_BUFFER_WRITES = 10;
/**
* <p>Enable the use of the binary protocol. Please note that you cannot
* toggle this option on an open connection.</p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_BINARY_PROTOCOL = 18;
/**
* <p>Enables or disables asynchronous I/O. This is the fastest transport
* available for storage functions.</p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_NO_BLOCK = 0;
/**
* <p>Enables or disables the no-delay feature for connecting sockets (may
* be faster in some environments).</p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_TCP_NODELAY = 1;
/**
* <p>The maximum socket send buffer in bytes.</p>
* <p>Type: integer, default: varies by platform/kernel
* configuration.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_SOCKET_SEND_SIZE = 4;
/**
* <p>The maximum socket receive buffer in bytes.</p>
* <p>Type: integer, default: varies by platform/kernel
* configuration.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_SOCKET_RECV_SIZE = 5;
/**
* <p>In non-blocking mode this set the value of the timeout during socket
* connection, in milliseconds.</p>
* <p>Type: integer, default: 1000.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_CONNECT_TIMEOUT = 14;
/**
* <p>The amount of time, in seconds, to wait until retrying a failed
* connection attempt.</p>
* <p>Type: integer, default: 0.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_RETRY_TIMEOUT = 15;
/**
* <p>Socket sending timeout, in microseconds. In cases where you cannot
* use non-blocking I/O this will allow you to still have timeouts on the
* sending of data.</p>
* <p>Type: integer, default: 0.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_SEND_TIMEOUT = 19;
/**
* <p>Socket reading timeout, in microseconds. In cases where you cannot
* use non-blocking I/O this will allow you to still have timeouts on the
* reading of data.</p>
* <p>Type: integer, default: 0.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_RECV_TIMEOUT = 20;
/**
* <p>Timeout for connection polling, in milliseconds.</p>
* <p>Type: integer, default: 1000.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_POLL_TIMEOUT = 8;
/**
* <p>Enables or disables caching of DNS lookups.</p>
* <p>Type: boolean, default: <b>FALSE</b>.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_CACHE_LOOKUPS = 6;
/**
* <p>Specifies the failure limit for server connection attempts. The
* server will be removed after this many continuous connection
* failures.</p>
* <p>Type: integer, default: 0.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const OPT_SERVER_FAILURE_LIMIT = 21;
const OPT_AUTO_EJECT_HOSTS = 28;
const OPT_HASH_WITH_PREFIX_KEY = 25;
const OPT_NOREPLY = 26;
const OPT_SORT_HOSTS = 12;
const OPT_VERIFY_KEY = 13;
const OPT_USE_UDP = 27;
const OPT_NUMBER_OF_REPLICAS = 29;
const OPT_RANDOMIZE_REPLICA_READ = 30;
const OPT_CORK = 31;
const OPT_REMOVE_FAILED_SERVERS = 35;
const OPT_DEAD_TIMEOUT = 36;
const OPT_SERVER_TIMEOUT_LIMIT = 37;
const OPT_MAX = 38;
const OPT_IO_BYTES_WATERMARK = 23;
const OPT_IO_KEY_PREFETCH = 24;
const OPT_IO_MSG_WATERMARK = 22;
const OPT_LOAD_FROM_FILE = 34;
const OPT_SUPPORT_CAS = 7;
const OPT_TCP_KEEPIDLE = 33;
const OPT_USER_DATA = 11;
/**
* <p>The operation was successful.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const RES_SUCCESS = 0;
/**
* <p>The operation failed in some fashion.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const RES_FAILURE = 1;
/**
* <p>DNS lookup failed.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const RES_HOST_LOOKUP_FAILURE = 2;
/**
* <p>Failed to read network data.</p>
* @link https://php.net/manual/en/memcached.constants.php
*/
const RES_UNKNOWN_READ_FAILURE = 7;
/**
* <p>Bad command in memcached protocol.</p>
* @link https://php.net/manual/en/memcached.constants.php
gitextract_duyide40/
├── .dependencies
├── .editorconfig
├── .github/
│ ├── FUNDING.yml
│ └── workflows/
│ ├── build.yaml
│ ├── tests.yaml
│ └── trigger-skeletons.yml
├── .gitignore
├── .htaccess
├── .phan/
│ ├── config.php
│ └── internal_stubs/
│ ├── Redis.phan_php
│ ├── memcache.phan_php
│ └── memcached.phan_php
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── SECURITY.md
├── assets/
│ └── .gitkeep
├── backup/
│ └── .gitkeep
├── bin/
│ ├── composer.phar
│ ├── gpm
│ ├── grav
│ └── plugin
├── cache/
│ └── .gitkeep
├── codeception.yml
├── composer.json
├── images/
│ └── .gitkeep
├── index.php
├── logs/
│ └── .gitkeep
├── now.json
├── robots.txt
├── system/
│ ├── assets/
│ │ ├── debugger/
│ │ │ ├── clockwork.css
│ │ │ ├── clockwork.js
│ │ │ └── phpdebugbar.css
│ │ └── whoops.css
│ ├── blueprints/
│ │ ├── config/
│ │ │ ├── backups.yaml
│ │ │ ├── media.yaml
│ │ │ ├── scheduler.yaml
│ │ │ ├── security.yaml
│ │ │ ├── site.yaml
│ │ │ ├── streams.yaml
│ │ │ └── system.yaml
│ │ ├── flex/
│ │ │ ├── accounts.yaml
│ │ │ ├── configure/
│ │ │ │ └── compat.yaml
│ │ │ ├── pages.yaml
│ │ │ ├── shared/
│ │ │ │ └── configure.yaml
│ │ │ ├── user-accounts.yaml
│ │ │ └── user-groups.yaml
│ │ ├── pages/
│ │ │ ├── default.yaml
│ │ │ ├── external.yaml
│ │ │ ├── modular.yaml
│ │ │ ├── partials/
│ │ │ │ └── security.yaml
│ │ │ └── root.yaml
│ │ └── user/
│ │ ├── account.yaml
│ │ ├── account_new.yaml
│ │ ├── group.yaml
│ │ └── group_new.yaml
│ ├── config/
│ │ ├── backups.yaml
│ │ ├── media.yaml
│ │ ├── mime.yaml
│ │ ├── permissions.yaml
│ │ ├── scheduler.yaml
│ │ ├── security.yaml
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── defines.php
│ ├── install.php
│ ├── languages/
│ │ ├── ar.yaml
│ │ ├── bg.yaml
│ │ ├── ca.yaml
│ │ ├── cs.yaml
│ │ ├── da.yaml
│ │ ├── de.yaml
│ │ ├── el.yaml
│ │ ├── en.yaml
│ │ ├── eo.yaml
│ │ ├── es.yaml
│ │ ├── et.yaml
│ │ ├── eu.yaml
│ │ ├── fa.yaml
│ │ ├── fi.yaml
│ │ ├── fr.yaml
│ │ ├── gl.yaml
│ │ ├── he.yaml
│ │ ├── hr.yaml
│ │ ├── hu.yaml
│ │ ├── id.yaml
│ │ ├── is.yaml
│ │ ├── it.yaml
│ │ ├── ja.yaml
│ │ ├── ko.yaml
│ │ ├── lt.yaml
│ │ ├── lv.yaml
│ │ ├── mn.yaml
│ │ ├── my.yaml
│ │ ├── nb.yaml
│ │ ├── nl.yaml
│ │ ├── no.yaml
│ │ ├── pl.yaml
│ │ ├── pt.yaml
│ │ ├── ro.yaml
│ │ ├── ru.yaml
│ │ ├── si.yaml
│ │ ├── sk.yaml
│ │ ├── sl.yaml
│ │ ├── sr.yaml
│ │ ├── sv.yaml
│ │ ├── sw.yaml
│ │ ├── th.yaml
│ │ ├── tr.yaml
│ │ ├── uk.yaml
│ │ ├── vi.yaml
│ │ ├── zh-cn.yaml
│ │ ├── zh-tw.yaml
│ │ └── zh.yaml
│ ├── pages/
│ │ └── notfound.md
│ ├── router.php
│ ├── src/
│ │ ├── DOMLettersIterator.php
│ │ ├── DOMWordsIterator.php
│ │ ├── Grav/
│ │ │ ├── Common/
│ │ │ │ ├── Assets/
│ │ │ │ │ ├── BaseAsset.php
│ │ │ │ │ ├── BlockAssets.php
│ │ │ │ │ ├── Css.php
│ │ │ │ │ ├── InlineCss.php
│ │ │ │ │ ├── InlineJs.php
│ │ │ │ │ ├── InlineJsModule.php
│ │ │ │ │ ├── Js.php
│ │ │ │ │ ├── JsModule.php
│ │ │ │ │ ├── Link.php
│ │ │ │ │ ├── Pipeline.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── AssetUtilsTrait.php
│ │ │ │ │ ├── LegacyAssetsTrait.php
│ │ │ │ │ └── TestingAssetsTrait.php
│ │ │ │ ├── Assets.php
│ │ │ │ ├── Backup/
│ │ │ │ │ └── Backups.php
│ │ │ │ ├── Browser.php
│ │ │ │ ├── Cache.php
│ │ │ │ ├── Composer.php
│ │ │ │ ├── Config/
│ │ │ │ │ ├── CompiledBase.php
│ │ │ │ │ ├── CompiledBlueprints.php
│ │ │ │ │ ├── CompiledConfig.php
│ │ │ │ │ ├── CompiledLanguages.php
│ │ │ │ │ ├── Config.php
│ │ │ │ │ ├── ConfigFileFinder.php
│ │ │ │ │ ├── Languages.php
│ │ │ │ │ └── Setup.php
│ │ │ │ ├── Data/
│ │ │ │ │ ├── Blueprint.php
│ │ │ │ │ ├── BlueprintSchema.php
│ │ │ │ │ ├── Blueprints.php
│ │ │ │ │ ├── Data.php
│ │ │ │ │ ├── DataInterface.php
│ │ │ │ │ ├── Validation.php
│ │ │ │ │ └── ValidationException.php
│ │ │ │ ├── Debugger.php
│ │ │ │ ├── Errors/
│ │ │ │ │ ├── BareHandler.php
│ │ │ │ │ ├── Errors.php
│ │ │ │ │ ├── Resources/
│ │ │ │ │ │ ├── error.css
│ │ │ │ │ │ └── layout.html.php
│ │ │ │ │ ├── SimplePageHandler.php
│ │ │ │ │ └── SystemFacade.php
│ │ │ │ ├── File/
│ │ │ │ │ ├── CompiledFile.php
│ │ │ │ │ ├── CompiledJsonFile.php
│ │ │ │ │ ├── CompiledMarkdownFile.php
│ │ │ │ │ └── CompiledYamlFile.php
│ │ │ │ ├── Filesystem/
│ │ │ │ │ ├── Archiver.php
│ │ │ │ │ ├── Folder.php
│ │ │ │ │ ├── RecursiveDirectoryFilterIterator.php
│ │ │ │ │ ├── RecursiveFolderFilterIterator.php
│ │ │ │ │ └── ZipArchiver.php
│ │ │ │ ├── Flex/
│ │ │ │ │ ├── FlexCollection.php
│ │ │ │ │ ├── FlexIndex.php
│ │ │ │ │ ├── FlexObject.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ ├── FlexCollectionTrait.php
│ │ │ │ │ │ ├── FlexCommonTrait.php
│ │ │ │ │ │ ├── FlexGravTrait.php
│ │ │ │ │ │ ├── FlexIndexTrait.php
│ │ │ │ │ │ └── FlexObjectTrait.php
│ │ │ │ │ └── Types/
│ │ │ │ │ ├── Generic/
│ │ │ │ │ │ ├── GenericCollection.php
│ │ │ │ │ │ ├── GenericIndex.php
│ │ │ │ │ │ └── GenericObject.php
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── PageCollection.php
│ │ │ │ │ │ ├── PageIndex.php
│ │ │ │ │ │ ├── PageObject.php
│ │ │ │ │ │ ├── Storage/
│ │ │ │ │ │ │ └── PageStorage.php
│ │ │ │ │ │ └── Traits/
│ │ │ │ │ │ ├── PageContentTrait.php
│ │ │ │ │ │ ├── PageLegacyTrait.php
│ │ │ │ │ │ ├── PageRoutableTrait.php
│ │ │ │ │ │ └── PageTranslateTrait.php
│ │ │ │ │ ├── UserGroups/
│ │ │ │ │ │ ├── UserGroupCollection.php
│ │ │ │ │ │ ├── UserGroupIndex.php
│ │ │ │ │ │ └── UserGroupObject.php
│ │ │ │ │ └── Users/
│ │ │ │ │ ├── Storage/
│ │ │ │ │ │ ├── UserFileStorage.php
│ │ │ │ │ │ └── UserFolderStorage.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── UserObjectLegacyTrait.php
│ │ │ │ │ ├── UserCollection.php
│ │ │ │ │ ├── UserIndex.php
│ │ │ │ │ └── UserObject.php
│ │ │ │ ├── Form/
│ │ │ │ │ └── FormFlash.php
│ │ │ │ ├── GPM/
│ │ │ │ │ ├── AbstractCollection.php
│ │ │ │ │ ├── Common/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── CachedCollection.php
│ │ │ │ │ │ └── Package.php
│ │ │ │ │ ├── GPM.php
│ │ │ │ │ ├── Installer.php
│ │ │ │ │ ├── Licenses.php
│ │ │ │ │ ├── Local/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── Package.php
│ │ │ │ │ │ ├── Packages.php
│ │ │ │ │ │ ├── Plugins.php
│ │ │ │ │ │ └── Themes.php
│ │ │ │ │ ├── Remote/
│ │ │ │ │ │ ├── AbstractPackageCollection.php
│ │ │ │ │ │ ├── GravCore.php
│ │ │ │ │ │ ├── Package.php
│ │ │ │ │ │ ├── Packages.php
│ │ │ │ │ │ ├── Plugins.php
│ │ │ │ │ │ └── Themes.php
│ │ │ │ │ ├── Response.php
│ │ │ │ │ └── Upgrader.php
│ │ │ │ ├── Getters.php
│ │ │ │ ├── Grav.php
│ │ │ │ ├── GravTrait.php
│ │ │ │ ├── HTTP/
│ │ │ │ │ ├── Client.php
│ │ │ │ │ └── Response.php
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── Base32.php
│ │ │ │ │ ├── Excerpts.php
│ │ │ │ │ ├── Exif.php
│ │ │ │ │ ├── LogViewer.php
│ │ │ │ │ ├── Truncator.php
│ │ │ │ │ └── YamlLinter.php
│ │ │ │ ├── Inflector.php
│ │ │ │ ├── Iterator.php
│ │ │ │ ├── Language/
│ │ │ │ │ ├── Language.php
│ │ │ │ │ └── LanguageCodes.php
│ │ │ │ ├── Markdown/
│ │ │ │ │ ├── Parsedown.php
│ │ │ │ │ ├── ParsedownExtra.php
│ │ │ │ │ └── ParsedownGravTrait.php
│ │ │ │ ├── Media/
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── AudioMediaInterface.php
│ │ │ │ │ │ ├── ImageManipulateInterface.php
│ │ │ │ │ │ ├── ImageMediaInterface.php
│ │ │ │ │ │ ├── MediaCollectionInterface.php
│ │ │ │ │ │ ├── MediaFileInterface.php
│ │ │ │ │ │ ├── MediaInterface.php
│ │ │ │ │ │ ├── MediaLinkInterface.php
│ │ │ │ │ │ ├── MediaObjectInterface.php
│ │ │ │ │ │ ├── MediaPlayerInterface.php
│ │ │ │ │ │ ├── MediaUploadInterface.php
│ │ │ │ │ │ └── VideoMediaInterface.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── AudioMediaTrait.php
│ │ │ │ │ ├── ImageDecodingTrait.php
│ │ │ │ │ ├── ImageFetchPriorityTrait.php
│ │ │ │ │ ├── ImageLoadingTrait.php
│ │ │ │ │ ├── ImageMediaTrait.php
│ │ │ │ │ ├── MediaFileTrait.php
│ │ │ │ │ ├── MediaObjectTrait.php
│ │ │ │ │ ├── MediaPlayerTrait.php
│ │ │ │ │ ├── MediaTrait.php
│ │ │ │ │ ├── MediaUploadTrait.php
│ │ │ │ │ ├── StaticResizeTrait.php
│ │ │ │ │ ├── ThumbnailMediaTrait.php
│ │ │ │ │ └── VideoMediaTrait.php
│ │ │ │ ├── Page/
│ │ │ │ │ ├── Collection.php
│ │ │ │ │ ├── Header.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── PageCollectionInterface.php
│ │ │ │ │ │ ├── PageContentInterface.php
│ │ │ │ │ │ ├── PageFormInterface.php
│ │ │ │ │ │ ├── PageInterface.php
│ │ │ │ │ │ ├── PageLegacyInterface.php
│ │ │ │ │ │ ├── PageRoutableInterface.php
│ │ │ │ │ │ ├── PageTranslateInterface.php
│ │ │ │ │ │ └── PagesSourceInterface.php
│ │ │ │ │ ├── Markdown/
│ │ │ │ │ │ └── Excerpts.php
│ │ │ │ │ ├── Media.php
│ │ │ │ │ ├── Medium/
│ │ │ │ │ │ ├── AbstractMedia.php
│ │ │ │ │ │ ├── AudioMedium.php
│ │ │ │ │ │ ├── GlobalMedia.php
│ │ │ │ │ │ ├── ImageFile.php
│ │ │ │ │ │ ├── ImageMedium.php
│ │ │ │ │ │ ├── Link.php
│ │ │ │ │ │ ├── Medium.php
│ │ │ │ │ │ ├── MediumFactory.php
│ │ │ │ │ │ ├── ParsedownHtmlTrait.php
│ │ │ │ │ │ ├── RenderableInterface.php
│ │ │ │ │ │ ├── StaticImageMedium.php
│ │ │ │ │ │ ├── StaticResizeTrait.php
│ │ │ │ │ │ ├── ThumbnailImageMedium.php
│ │ │ │ │ │ ├── VectorImageMedium.php
│ │ │ │ │ │ └── VideoMedium.php
│ │ │ │ │ ├── Page.php
│ │ │ │ │ ├── Pages.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── PageFormTrait.php
│ │ │ │ │ └── Types.php
│ │ │ │ ├── Plugin.php
│ │ │ │ ├── Plugins.php
│ │ │ │ ├── Processors/
│ │ │ │ │ ├── AssetsProcessor.php
│ │ │ │ │ ├── BackupsProcessor.php
│ │ │ │ │ ├── DebuggerAssetsProcessor.php
│ │ │ │ │ ├── Events/
│ │ │ │ │ │ └── RequestHandlerEvent.php
│ │ │ │ │ ├── InitializeProcessor.php
│ │ │ │ │ ├── PagesProcessor.php
│ │ │ │ │ ├── PluginsProcessor.php
│ │ │ │ │ ├── ProcessorBase.php
│ │ │ │ │ ├── ProcessorInterface.php
│ │ │ │ │ ├── RenderProcessor.php
│ │ │ │ │ ├── RequestProcessor.php
│ │ │ │ │ ├── SchedulerProcessor.php
│ │ │ │ │ ├── TasksProcessor.php
│ │ │ │ │ ├── ThemesProcessor.php
│ │ │ │ │ └── TwigProcessor.php
│ │ │ │ ├── Scheduler/
│ │ │ │ │ ├── Cron.php
│ │ │ │ │ ├── IntervalTrait.php
│ │ │ │ │ ├── Job.php
│ │ │ │ │ ├── JobHistory.php
│ │ │ │ │ ├── JobQueue.php
│ │ │ │ │ ├── Scheduler.php
│ │ │ │ │ └── SchedulerController.php
│ │ │ │ ├── Security.php
│ │ │ │ ├── Service/
│ │ │ │ │ ├── AccountsServiceProvider.php
│ │ │ │ │ ├── AssetsServiceProvider.php
│ │ │ │ │ ├── BackupsServiceProvider.php
│ │ │ │ │ ├── ConfigServiceProvider.php
│ │ │ │ │ ├── ErrorServiceProvider.php
│ │ │ │ │ ├── FilesystemServiceProvider.php
│ │ │ │ │ ├── FlexServiceProvider.php
│ │ │ │ │ ├── InflectorServiceProvider.php
│ │ │ │ │ ├── LoggerServiceProvider.php
│ │ │ │ │ ├── OutputServiceProvider.php
│ │ │ │ │ ├── PagesServiceProvider.php
│ │ │ │ │ ├── RequestServiceProvider.php
│ │ │ │ │ ├── SchedulerServiceProvider.php
│ │ │ │ │ ├── SessionServiceProvider.php
│ │ │ │ │ ├── StreamsServiceProvider.php
│ │ │ │ │ └── TaskServiceProvider.php
│ │ │ │ ├── Session.php
│ │ │ │ ├── Taxonomy.php
│ │ │ │ ├── Theme.php
│ │ │ │ ├── Themes.php
│ │ │ │ ├── Twig/
│ │ │ │ │ ├── Exception/
│ │ │ │ │ │ └── TwigException.php
│ │ │ │ │ ├── Extension/
│ │ │ │ │ │ ├── FilesystemExtension.php
│ │ │ │ │ │ └── GravExtension.php
│ │ │ │ │ ├── Node/
│ │ │ │ │ │ ├── TwigNodeCache.php
│ │ │ │ │ │ ├── TwigNodeLink.php
│ │ │ │ │ │ ├── TwigNodeMarkdown.php
│ │ │ │ │ │ ├── TwigNodeRender.php
│ │ │ │ │ │ ├── TwigNodeScript.php
│ │ │ │ │ │ ├── TwigNodeStyle.php
│ │ │ │ │ │ ├── TwigNodeSwitch.php
│ │ │ │ │ │ ├── TwigNodeThrow.php
│ │ │ │ │ │ └── TwigNodeTryCatch.php
│ │ │ │ │ ├── TokenParser/
│ │ │ │ │ │ ├── TwigTokenParserCache.php
│ │ │ │ │ │ ├── TwigTokenParserLink.php
│ │ │ │ │ │ ├── TwigTokenParserMarkdown.php
│ │ │ │ │ │ ├── TwigTokenParserRender.php
│ │ │ │ │ │ ├── TwigTokenParserScript.php
│ │ │ │ │ │ ├── TwigTokenParserStyle.php
│ │ │ │ │ │ ├── TwigTokenParserSwitch.php
│ │ │ │ │ │ ├── TwigTokenParserThrow.php
│ │ │ │ │ │ └── TwigTokenParserTryCatch.php
│ │ │ │ │ ├── Twig.php
│ │ │ │ │ ├── TwigClockworkDataSource.php
│ │ │ │ │ ├── TwigClockworkDumper.php
│ │ │ │ │ ├── TwigEnvironment.php
│ │ │ │ │ ├── TwigExtension.php
│ │ │ │ │ └── WriteCacheFileTrait.php
│ │ │ │ ├── Uri.php
│ │ │ │ ├── User/
│ │ │ │ │ ├── Access.php
│ │ │ │ │ ├── Authentication.php
│ │ │ │ │ ├── DataUser/
│ │ │ │ │ │ ├── User.php
│ │ │ │ │ │ └── UserCollection.php
│ │ │ │ │ ├── Group.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── AuthorizeInterface.php
│ │ │ │ │ │ ├── UserCollectionInterface.php
│ │ │ │ │ │ ├── UserGroupInterface.php
│ │ │ │ │ │ └── UserInterface.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ └── UserTrait.php
│ │ │ │ │ └── User.php
│ │ │ │ ├── Utils.php
│ │ │ │ └── Yaml.php
│ │ │ ├── Console/
│ │ │ │ ├── Application/
│ │ │ │ │ ├── Application.php
│ │ │ │ │ ├── CommandLoader/
│ │ │ │ │ │ └── PluginCommandLoader.php
│ │ │ │ │ ├── GpmApplication.php
│ │ │ │ │ ├── GravApplication.php
│ │ │ │ │ └── PluginApplication.php
│ │ │ │ ├── Cli/
│ │ │ │ │ ├── BackupCommand.php
│ │ │ │ │ ├── CacheCleanupCommand.php
│ │ │ │ │ ├── CleanCommand.php
│ │ │ │ │ ├── ClearCacheCommand.php
│ │ │ │ │ ├── ComposerCommand.php
│ │ │ │ │ ├── InstallCommand.php
│ │ │ │ │ ├── LogViewerCommand.php
│ │ │ │ │ ├── NewProjectCommand.php
│ │ │ │ │ ├── PageSystemValidatorCommand.php
│ │ │ │ │ ├── SandboxCommand.php
│ │ │ │ │ ├── SchedulerCommand.php
│ │ │ │ │ ├── SecurityCommand.php
│ │ │ │ │ ├── ServerCommand.php
│ │ │ │ │ └── YamlLinterCommand.php
│ │ │ │ ├── ConsoleCommand.php
│ │ │ │ ├── ConsoleTrait.php
│ │ │ │ ├── Gpm/
│ │ │ │ │ ├── DirectInstallCommand.php
│ │ │ │ │ ├── IndexCommand.php
│ │ │ │ │ ├── InfoCommand.php
│ │ │ │ │ ├── InstallCommand.php
│ │ │ │ │ ├── SelfupgradeCommand.php
│ │ │ │ │ ├── UninstallCommand.php
│ │ │ │ │ ├── UpdateCommand.php
│ │ │ │ │ └── VersionCommand.php
│ │ │ │ ├── GpmCommand.php
│ │ │ │ ├── GravCommand.php
│ │ │ │ ├── Plugin/
│ │ │ │ │ └── PluginListCommand.php
│ │ │ │ └── TerminalObjects/
│ │ │ │ └── Table.php
│ │ │ ├── Events/
│ │ │ │ ├── BeforeSessionStartEvent.php
│ │ │ │ ├── FlexRegisterEvent.php
│ │ │ │ ├── PageEvent.php
│ │ │ │ ├── PermissionsRegisterEvent.php
│ │ │ │ ├── PluginsLoadedEvent.php
│ │ │ │ ├── SessionStartEvent.php
│ │ │ │ └── TypesEvent.php
│ │ │ ├── Framework/
│ │ │ │ ├── Acl/
│ │ │ │ │ ├── Access.php
│ │ │ │ │ ├── Action.php
│ │ │ │ │ ├── Permissions.php
│ │ │ │ │ ├── PermissionsReader.php
│ │ │ │ │ └── RecursiveActionIterator.php
│ │ │ │ ├── Cache/
│ │ │ │ │ ├── AbstractCache.php
│ │ │ │ │ ├── Adapter/
│ │ │ │ │ │ ├── ChainCache.php
│ │ │ │ │ │ ├── DoctrineCache.php
│ │ │ │ │ │ ├── FileCache.php
│ │ │ │ │ │ ├── MemoryCache.php
│ │ │ │ │ │ └── SessionCache.php
│ │ │ │ │ ├── CacheInterface.php
│ │ │ │ │ ├── CacheTrait.php
│ │ │ │ │ └── Exception/
│ │ │ │ │ ├── CacheException.php
│ │ │ │ │ └── InvalidArgumentException.php
│ │ │ │ ├── Collection/
│ │ │ │ │ ├── AbstractFileCollection.php
│ │ │ │ │ ├── AbstractIndexCollection.php
│ │ │ │ │ ├── AbstractLazyCollection.php
│ │ │ │ │ ├── ArrayCollection.php
│ │ │ │ │ ├── CollectionInterface.php
│ │ │ │ │ ├── FileCollection.php
│ │ │ │ │ └── FileCollectionInterface.php
│ │ │ │ ├── Compat/
│ │ │ │ │ └── Serializable.php
│ │ │ │ ├── ContentBlock/
│ │ │ │ │ ├── ContentBlock.php
│ │ │ │ │ ├── ContentBlockInterface.php
│ │ │ │ │ ├── HtmlBlock.php
│ │ │ │ │ └── HtmlBlockInterface.php
│ │ │ │ ├── Contracts/
│ │ │ │ │ ├── Media/
│ │ │ │ │ │ └── MediaObjectInterface.php
│ │ │ │ │ ├── Object/
│ │ │ │ │ │ └── IdentifierInterface.php
│ │ │ │ │ └── Relationships/
│ │ │ │ │ ├── RelationshipIdentifierInterface.php
│ │ │ │ │ ├── RelationshipInterface.php
│ │ │ │ │ ├── RelationshipsInterface.php
│ │ │ │ │ ├── ToManyRelationshipInterface.php
│ │ │ │ │ └── ToOneRelationshipInterface.php
│ │ │ │ ├── Controller/
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── ControllerResponseTrait.php
│ │ │ │ ├── DI/
│ │ │ │ │ └── Container.php
│ │ │ │ ├── File/
│ │ │ │ │ ├── AbstractFile.php
│ │ │ │ │ ├── CsvFile.php
│ │ │ │ │ ├── DataFile.php
│ │ │ │ │ ├── File.php
│ │ │ │ │ ├── Formatter/
│ │ │ │ │ │ ├── AbstractFormatter.php
│ │ │ │ │ │ ├── CsvFormatter.php
│ │ │ │ │ │ ├── FormatterInterface.php
│ │ │ │ │ │ ├── IniFormatter.php
│ │ │ │ │ │ ├── JsonFormatter.php
│ │ │ │ │ │ ├── MarkdownFormatter.php
│ │ │ │ │ │ ├── SerializeFormatter.php
│ │ │ │ │ │ └── YamlFormatter.php
│ │ │ │ │ ├── IniFile.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FileFormatterInterface.php
│ │ │ │ │ │ └── FileInterface.php
│ │ │ │ │ ├── JsonFile.php
│ │ │ │ │ ├── MarkdownFile.php
│ │ │ │ │ └── YamlFile.php
│ │ │ │ ├── Filesystem/
│ │ │ │ │ ├── Filesystem.php
│ │ │ │ │ └── Interfaces/
│ │ │ │ │ └── FilesystemInterface.php
│ │ │ │ ├── Flex/
│ │ │ │ │ ├── Flex.php
│ │ │ │ │ ├── FlexCollection.php
│ │ │ │ │ ├── FlexDirectory.php
│ │ │ │ │ ├── FlexDirectoryForm.php
│ │ │ │ │ ├── FlexForm.php
│ │ │ │ │ ├── FlexFormFlash.php
│ │ │ │ │ ├── FlexIdentifier.php
│ │ │ │ │ ├── FlexIndex.php
│ │ │ │ │ ├── FlexObject.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FlexAuthorizeInterface.php
│ │ │ │ │ │ ├── FlexCollectionInterface.php
│ │ │ │ │ │ ├── FlexCommonInterface.php
│ │ │ │ │ │ ├── FlexDirectoryFormInterface.php
│ │ │ │ │ │ ├── FlexDirectoryInterface.php
│ │ │ │ │ │ ├── FlexFormInterface.php
│ │ │ │ │ │ ├── FlexIndexInterface.php
│ │ │ │ │ │ ├── FlexInterface.php
│ │ │ │ │ │ ├── FlexObjectFormInterface.php
│ │ │ │ │ │ ├── FlexObjectInterface.php
│ │ │ │ │ │ ├── FlexStorageInterface.php
│ │ │ │ │ │ └── FlexTranslateInterface.php
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── FlexPageCollection.php
│ │ │ │ │ │ ├── FlexPageIndex.php
│ │ │ │ │ │ ├── FlexPageObject.php
│ │ │ │ │ │ └── Traits/
│ │ │ │ │ │ ├── PageAuthorsTrait.php
│ │ │ │ │ │ ├── PageContentTrait.php
│ │ │ │ │ │ ├── PageLegacyTrait.php
│ │ │ │ │ │ ├── PageRoutableTrait.php
│ │ │ │ │ │ └── PageTranslateTrait.php
│ │ │ │ │ ├── Storage/
│ │ │ │ │ │ ├── AbstractFilesystemStorage.php
│ │ │ │ │ │ ├── FileStorage.php
│ │ │ │ │ │ ├── FolderStorage.php
│ │ │ │ │ │ └── SimpleStorage.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ ├── FlexAuthorizeTrait.php
│ │ │ │ │ ├── FlexMediaTrait.php
│ │ │ │ │ ├── FlexRelatedDirectoryTrait.php
│ │ │ │ │ └── FlexRelationshipsTrait.php
│ │ │ │ ├── Form/
│ │ │ │ │ ├── FormFlash.php
│ │ │ │ │ ├── FormFlashFile.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── FormFactoryInterface.php
│ │ │ │ │ │ ├── FormFlashInterface.php
│ │ │ │ │ │ └── FormInterface.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── FormTrait.php
│ │ │ │ ├── Interfaces/
│ │ │ │ │ └── RenderInterface.php
│ │ │ │ ├── Logger/
│ │ │ │ │ └── Processors/
│ │ │ │ │ └── UserProcessor.php
│ │ │ │ ├── Media/
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── MediaCollectionInterface.php
│ │ │ │ │ │ ├── MediaInterface.php
│ │ │ │ │ │ ├── MediaManipulationInterface.php
│ │ │ │ │ │ └── MediaObjectInterface.php
│ │ │ │ │ ├── MediaIdentifier.php
│ │ │ │ │ ├── MediaObject.php
│ │ │ │ │ └── UploadedMediaObject.php
│ │ │ │ ├── Mime/
│ │ │ │ │ └── MimeTypes.php
│ │ │ │ ├── Object/
│ │ │ │ │ ├── Access/
│ │ │ │ │ │ ├── ArrayAccessTrait.php
│ │ │ │ │ │ ├── NestedArrayAccessTrait.php
│ │ │ │ │ │ ├── NestedPropertyCollectionTrait.php
│ │ │ │ │ │ ├── NestedPropertyTrait.php
│ │ │ │ │ │ └── OverloadedPropertyTrait.php
│ │ │ │ │ ├── ArrayObject.php
│ │ │ │ │ ├── Base/
│ │ │ │ │ │ ├── ObjectCollectionTrait.php
│ │ │ │ │ │ └── ObjectTrait.php
│ │ │ │ │ ├── Collection/
│ │ │ │ │ │ └── ObjectExpressionVisitor.php
│ │ │ │ │ ├── Identifiers/
│ │ │ │ │ │ └── Identifier.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── NestedObjectCollectionInterface.php
│ │ │ │ │ │ ├── NestedObjectInterface.php
│ │ │ │ │ │ ├── ObjectCollectionInterface.php
│ │ │ │ │ │ └── ObjectInterface.php
│ │ │ │ │ ├── LazyObject.php
│ │ │ │ │ ├── ObjectCollection.php
│ │ │ │ │ ├── ObjectIndex.php
│ │ │ │ │ ├── Property/
│ │ │ │ │ │ ├── ArrayPropertyTrait.php
│ │ │ │ │ │ ├── LazyPropertyTrait.php
│ │ │ │ │ │ ├── MixedPropertyTrait.php
│ │ │ │ │ │ └── ObjectPropertyTrait.php
│ │ │ │ │ └── PropertyObject.php
│ │ │ │ ├── Pagination/
│ │ │ │ │ ├── AbstractPagination.php
│ │ │ │ │ ├── AbstractPaginationPage.php
│ │ │ │ │ ├── Interfaces/
│ │ │ │ │ │ ├── PaginationInterface.php
│ │ │ │ │ │ └── PaginationPageInterface.php
│ │ │ │ │ ├── Pagination.php
│ │ │ │ │ └── PaginationPage.php
│ │ │ │ ├── Psr7/
│ │ │ │ │ ├── AbstractUri.php
│ │ │ │ │ ├── Request.php
│ │ │ │ │ ├── Response.php
│ │ │ │ │ ├── ServerRequest.php
│ │ │ │ │ ├── Stream.php
│ │ │ │ │ ├── Traits/
│ │ │ │ │ │ ├── MessageDecoratorTrait.php
│ │ │ │ │ │ ├── RequestDecoratorTrait.php
│ │ │ │ │ │ ├── ResponseDecoratorTrait.php
│ │ │ │ │ │ ├── ServerRequestDecoratorTrait.php
│ │ │ │ │ │ ├── StreamDecoratorTrait.php
│ │ │ │ │ │ ├── UploadedFileDecoratorTrait.php
│ │ │ │ │ │ └── UriDecorationTrait.php
│ │ │ │ │ ├── UploadedFile.php
│ │ │ │ │ └── Uri.php
│ │ │ │ ├── Relationships/
│ │ │ │ │ ├── Relationships.php
│ │ │ │ │ ├── ToManyRelationship.php
│ │ │ │ │ ├── ToOneRelationship.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── RelationshipTrait.php
│ │ │ │ ├── RequestHandler/
│ │ │ │ │ ├── Exception/
│ │ │ │ │ │ ├── InvalidArgumentException.php
│ │ │ │ │ │ ├── NotFoundException.php
│ │ │ │ │ │ ├── NotHandledException.php
│ │ │ │ │ │ ├── PageExpiredException.php
│ │ │ │ │ │ └── RequestException.php
│ │ │ │ │ ├── Middlewares/
│ │ │ │ │ │ ├── Exceptions.php
│ │ │ │ │ │ └── MultipartRequestSupport.php
│ │ │ │ │ ├── RequestHandler.php
│ │ │ │ │ └── Traits/
│ │ │ │ │ └── RequestHandlerTrait.php
│ │ │ │ ├── Route/
│ │ │ │ │ ├── Route.php
│ │ │ │ │ └── RouteFactory.php
│ │ │ │ ├── Session/
│ │ │ │ │ ├── Exceptions/
│ │ │ │ │ │ └── SessionException.php
│ │ │ │ │ ├── Messages.php
│ │ │ │ │ ├── Session.php
│ │ │ │ │ └── SessionInterface.php
│ │ │ │ └── Uri/
│ │ │ │ ├── Uri.php
│ │ │ │ ├── UriFactory.php
│ │ │ │ └── UriPartsFilter.php
│ │ │ └── Installer/
│ │ │ ├── Install.php
│ │ │ ├── InstallException.php
│ │ │ ├── VersionUpdate.php
│ │ │ ├── VersionUpdater.php
│ │ │ ├── Versions.php
│ │ │ ├── YamlUpdater.php
│ │ │ └── updates/
│ │ │ └── 1.7.0_2020-11-20_1.php
│ │ └── Twig/
│ │ └── DeferredExtension/
│ │ ├── DeferredBlockNode.php
│ │ ├── DeferredDeclareNode.php
│ │ ├── DeferredExtension.php
│ │ ├── DeferredInitializeNode.php
│ │ ├── DeferredNode.php
│ │ ├── DeferredNodeVisitor.php
│ │ ├── DeferredNodeVisitorCompat.php
│ │ ├── DeferredResolveNode.php
│ │ └── DeferredTokenParser.php
│ └── templates/
│ ├── default.html.twig
│ ├── external.html.twig
│ ├── flex/
│ │ ├── 404.html.twig
│ │ └── _default/
│ │ ├── collection/
│ │ │ └── debug.html.twig
│ │ └── object/
│ │ └── debug.html.twig
│ ├── modular/
│ │ └── default.html.twig
│ └── partials/
│ ├── messages.html.twig
│ └── metadata.html.twig
├── tests/
│ ├── _bootstrap.php
│ ├── _support/
│ │ ├── AcceptanceTester.php
│ │ ├── FunctionalTester.php
│ │ ├── Helper/
│ │ │ ├── Acceptance.php
│ │ │ ├── Functional.php
│ │ │ └── Unit.php
│ │ └── UnitTester.php
│ ├── acceptance/
│ │ └── _bootstrap.php
│ ├── acceptance.suite.yml
│ ├── fake/
│ │ ├── nested-site/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ ├── 01.item1/
│ │ │ │ ├── 01.item1-1/
│ │ │ │ │ ├── 01.item1-1-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-1-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-1-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item1-2/
│ │ │ │ │ ├── 01.item1-2-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-2-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-2-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item1-3/
│ │ │ │ │ ├── 01.item1-3-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item1-3-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item1-3-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 02.item2/
│ │ │ │ ├── 01.item2-1/
│ │ │ │ │ ├── 01.item2-1-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-1-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-1-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item2-2/
│ │ │ │ │ ├── 01.item2-2-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-2-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-2-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item2-3/
│ │ │ │ │ ├── 01.item2-3-1/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 02.item2-3-2/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ ├── 03.item2-3-3/
│ │ │ │ │ │ └── default.md
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ └── 03.item3/
│ │ │ ├── 01.item3-1/
│ │ │ │ ├── 01.item3-1-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-1-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-1-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 02.item3-2/
│ │ │ │ ├── 01.item3-2-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-2-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-2-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ ├── 03.item3-3/
│ │ │ │ ├── 01.item3-3-1/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 02.item3-3-2/
│ │ │ │ │ └── default.md
│ │ │ │ ├── 03.item3-3-3/
│ │ │ │ │ └── default.md
│ │ │ │ └── default.md
│ │ │ └── default.md
│ │ ├── simple-site/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ ├── 01.home/
│ │ │ │ └── default.md
│ │ │ ├── 02.blog/
│ │ │ │ ├── blog.md
│ │ │ │ ├── post-one/
│ │ │ │ │ └── item.md
│ │ │ │ └── post-two/
│ │ │ │ └── item.md
│ │ │ ├── 03.about/
│ │ │ │ └── default.md
│ │ │ ├── 04.page-translated/
│ │ │ │ ├── default.en.md
│ │ │ │ └── default.fr.md
│ │ │ └── 05.translatedlong/
│ │ │ └── part2/
│ │ │ ├── default.en.md
│ │ │ └── default.fr.md
│ │ ├── single-page-translated/
│ │ │ └── user/
│ │ │ └── pages/
│ │ │ └── 01.simple-page/
│ │ │ ├── default.en.md
│ │ │ └── default.fr.md
│ │ └── single-pages/
│ │ └── 01.simple-page/
│ │ └── default.md
│ ├── functional/
│ │ ├── Grav/
│ │ │ └── Console/
│ │ │ └── DirectInstallCommandTest.php
│ │ └── _bootstrap.php
│ ├── functional.suite.yml
│ ├── phpstan/
│ │ ├── classes/
│ │ │ └── Toolbox/
│ │ │ └── UniformResourceLocatorExtension.php
│ │ ├── extension.neon
│ │ ├── phpstan-bootstrap.php
│ │ ├── phpstan.neon
│ │ ├── plugins-bootstrap.php
│ │ └── plugins.neon
│ ├── unit/
│ │ ├── Grav/
│ │ │ ├── Common/
│ │ │ │ ├── AssetsTest.php
│ │ │ │ ├── BrowserTest.php
│ │ │ │ ├── ComposerTest.php
│ │ │ │ ├── Data/
│ │ │ │ │ └── BlueprintTest.php
│ │ │ │ ├── GPM/
│ │ │ │ │ └── GPMTest.php
│ │ │ │ ├── Helpers/
│ │ │ │ │ └── ExcerptsTest.php
│ │ │ │ ├── InflectorTest.php
│ │ │ │ ├── Language/
│ │ │ │ │ └── LanguageCodesTest.php
│ │ │ │ ├── Markdown/
│ │ │ │ │ └── ParsedownTest.php
│ │ │ │ ├── Page/
│ │ │ │ │ └── PagesTest.php
│ │ │ │ ├── Twig/
│ │ │ │ │ └── Extensions/
│ │ │ │ │ └── GravExtensionTest.php
│ │ │ │ ├── UriTest.php
│ │ │ │ └── UtilsTest.php
│ │ │ ├── Console/
│ │ │ │ └── Gpm/
│ │ │ │ └── InstallCommandTest.php
│ │ │ └── Framework/
│ │ │ ├── File/
│ │ │ │ └── Formatter/
│ │ │ │ └── CsvFormatterTest.php
│ │ │ └── Filesystem/
│ │ │ └── FilesystemTest.php
│ │ ├── _bootstrap.php
│ │ └── data/
│ │ └── blueprints/
│ │ └── strict.yaml
│ └── unit.suite.yml
├── user/
│ ├── accounts/
│ │ └── .gitkeep
│ ├── config/
│ │ ├── site.yaml
│ │ └── system.yaml
│ ├── data/
│ │ └── .gitkeep
│ ├── pages/
│ │ ├── 01.home/
│ │ │ └── default.md
│ │ └── 02.typography/
│ │ └── default.md
│ ├── plugins/
│ │ └── .gitkeep
│ └── themes/
│ └── .gitkeep
└── webserver-configs/
├── Caddyfile
├── Caddyfile-0.8.x
├── htaccess.txt
├── lighttpd.conf
├── nginx.conf
└── web.config
Showing preview only (461K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5263 symbols across 508 files)
FILE: system/src/DOMLettersIterator.php
class DOMLettersIterator (line 22) | final class DOMLettersIterator implements Iterator
method __construct (line 40) | public function __construct(DOMNode $el)
method currentTextPosition (line 60) | public function currentTextPosition(): array
method currentElement (line 70) | public function currentElement(): ?DOMElement
method key (line 80) | public function key(): ?int
method next (line 88) | public function next(): void
method current (line 136) | public function current(): ?string
method valid (line 147) | public function valid(): bool
method rewind (line 155) | public function rewind(): void
FILE: system/src/DOMWordsIterator.php
class DOMWordsIterator (line 21) | final class DOMWordsIterator implements Iterator
method __construct (line 39) | public function __construct(DOMNode $el)
method currentWordPosition (line 59) | public function currentWordPosition(): array
method currentElement (line 69) | public function currentElement(): ?DOMElement
method key (line 81) | public function key(): ?int
method next (line 89) | public function next(): void
method current (line 134) | public function current(): ?string
method valid (line 144) | public function valid(): bool
method rewind (line 149) | public function rewind(): void
FILE: system/src/Grav/Common/Assets.php
class Assets (line 28) | class Assets extends PropertyObject
method init (line 117) | public function init()
method config (line 148) | public function config(array $config)
method add (line 175) | public function add($asset)
method addType (line 231) | protected function addType($collection, $type, $asset, $options)
method addLink (line 306) | public function addLink($asset)
method addCss (line 316) | public function addCss($asset)
method addInlineCss (line 326) | public function addInlineCss($asset)
method addJs (line 336) | public function addJs($asset)
method addInlineJs (line 346) | public function addInlineJs($asset)
method addJsModule (line 356) | public function addJsModule($asset)
method addInlineJsModule (line 366) | public function addInlineJsModule($asset)
method registerCollection (line 379) | public function registerCollection($collectionName, array $assets, $ov...
method filterAssets (line 395) | protected function filterAssets($assets, $key, $value, $sort = false)
method sortAssets (line 433) | protected function sortAssets($assets)
method render (line 448) | public function render($type, $group = 'head', $attributes = [])
method css (line 496) | public function css($group = 'head', $attributes = [], $include_link =...
method link (line 516) | public function link($group = 'head', $attributes = [])
method js (line 528) | public function js($group = 'head', $attributes = [], $include_js_modu...
method jsModule (line 546) | public function jsModule($group = 'head', $attributes = [])
method all (line 556) | public function all($group = 'head', $attributes = [])
method isValidType (line 569) | protected function isValidType($type)
method getBaseType (line 578) | protected function getBaseType($type)
FILE: system/src/Grav/Common/Assets/BaseAsset.php
class BaseAsset (line 25) | abstract class BaseAsset extends PropertyObject
method render (line 66) | abstract function render();
method __construct (line 73) | public function __construct(array $elements = [], ?string $key = null)
method init (line 94) | public function init($asset, $options)
method getAsset (line 158) | public function getAsset()
method getRemote (line 166) | public function getRemote()
method setPosition (line 175) | public function setPosition($position)
method integrityHash (line 188) | public static function integrityHash($input)
method buildLocalLink (line 238) | protected function buildLocalLink($asset)
method jsonSerialize (line 252) | #[\ReturnTypeWillChange]
method cssRewrite (line 266) | protected function cssRewrite($file, $dir, $local)
method jsRewrite (line 279) | protected function jsRewrite($file, $dir, $local)
FILE: system/src/Grav/Common/Assets/BlockAssets.php
class BlockAssets (line 21) | class BlockAssets
method registerAssets (line 27) | public static function registerAssets(HtmlBlock $block): void
method registerFrameworks (line 61) | protected static function registerFrameworks(Assets $assets, array $li...
method registerStyles (line 73) | protected static function registerStyles(Assets $assets, array $groups...
method registerScripts (line 112) | protected static function registerScripts(Assets $assets, array $group...
method registerLinks (line 158) | protected static function registerLinks(Assets $assets, array $groups)...
method registerHtml (line 179) | protected static function registerHtml(Assets $assets, array $groups):...
method getRelativeUrl (line 191) | protected static function getRelativeUrl($url, $pipeline)
FILE: system/src/Grav/Common/Assets/Css.php
class Css (line 18) | class Css extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 43) | public function render()
FILE: system/src/Grav/Common/Assets/InlineCss.php
class InlineCss (line 18) | class InlineCss extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 40) | public function render()
FILE: system/src/Grav/Common/Assets/InlineJs.php
class InlineJs (line 18) | class InlineJs extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 40) | public function render()
FILE: system/src/Grav/Common/Assets/InlineJsModule.php
class InlineJsModule (line 18) | class InlineJsModule extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 41) | public function render()
FILE: system/src/Grav/Common/Assets/Js.php
class Js (line 18) | class Js extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 39) | public function render()
FILE: system/src/Grav/Common/Assets/JsModule.php
class JsModule (line 18) | class JsModule extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 40) | public function render()
FILE: system/src/Grav/Common/Assets/Link.php
class Link (line 18) | class Link extends BaseAsset
method __construct (line 25) | public function __construct(array $elements = [], ?string $key = null)
method render (line 39) | public function render()
FILE: system/src/Grav/Common/Assets/Pipeline.php
class Pipeline (line 28) | class Pipeline extends PropertyObject
method __construct (line 81) | public function __construct(array $elements = [], ?string $key = null)
method renderCss (line 114) | public function renderCss($assets, $group, $attributes = [])
method renderJs (line 176) | public function renderJs($assets, $group, $attributes = [], $type = se...
method renderJs_Module (line 238) | public function renderJs_Module($assets, $group, $attributes = [])
method cssRewrite (line 252) | protected function cssRewrite($file, $dir, $local)
method jsRewrite (line 299) | protected function jsRewrite($file, $dir, $local)
method shouldMinify (line 331) | private function shouldMinify($type = 'css')
FILE: system/src/Grav/Common/Assets/Traits/AssetUtilsTrait.php
type AssetUtilsTrait (line 23) | trait AssetUtilsTrait
method isRemoteLink (line 49) | public static function isRemoteLink($link)
method gatherLinks (line 68) | protected function gatherLinks(array $assets, int $type = self::CSS_AS...
method moveImports (line 134) | protected function moveImports($file)
method renderAttributes (line 155) | protected function renderAttributes()
method renderQueryString (line 190) | protected function renderQueryString($asset = null)
FILE: system/src/Grav/Common/Assets/Traits/LegacyAssetsTrait.php
type LegacyAssetsTrait (line 21) | trait LegacyAssetsTrait
method unifyLegacyArguments (line 28) | protected function unifyLegacyArguments($args, $type = Assets::CSS_TYPE)
method createArgumentsFromLegacy (line 89) | protected function createArgumentsFromLegacy(array $args, array $defau...
method addAsyncJs (line 114) | public function addAsyncJs($asset, $priority = 10, $pipeline = true, $...
method addDeferJs (line 131) | public function addDeferJs($asset, $priority = 10, $pipeline = true, $...
FILE: system/src/Grav/Common/Assets/Traits/TestingAssetsTrait.php
type TestingAssetsTrait (line 23) | trait TestingAssetsTrait
method exists (line 31) | public function exists($asset)
method getCollections (line 41) | public function getCollections()
method setCollection (line 52) | public function setCollection($collections)
method getCss (line 67) | public function getCss($key = null)
method getJs (line 86) | public function getJs($key = null)
method setCss (line 103) | public function setCss($css)
method setJs (line 116) | public function setJs($js)
method removeCss (line 129) | public function removeCss($key)
method removeJs (line 145) | public function removeJs($key)
method setCssPipeline (line 161) | public function setCssPipeline($value)
method setJsPipeline (line 174) | public function setJsPipeline($value)
method reset (line 186) | public function reset()
method resetJs (line 202) | public function resetJs()
method resetCss (line 214) | public function resetCss()
method setTimestamp (line 226) | public function setTimestamp($value)
method getTimestamp (line 237) | public function getTimestamp($include_join = true)
method addDir (line 253) | public function addDir($directory, $pattern = self::DEFAULT_REGEX)
method addDirJs (line 311) | public function addDirJs($directory)
method addDirCss (line 322) | public function addDirCss($directory)
method rglob (line 335) | protected function rglob($directory, $pattern, $ltrim = null)
FILE: system/src/Grav/Common/Backup/Backups.php
class Backups (line 36) | class Backups
method init (line 51) | public function init()
method setup (line 65) | public function setup()
method onSchedulerInitialized (line 78) | public function onSchedulerInitialized(Event $event)
method getBackupDownloadUrl (line 109) | public function getBackupDownloadUrl($backup, $base_url)
method getBackupProfiles (line 124) | public static function getBackupProfiles()
method getPurgeConfig (line 132) | public static function getPurgeConfig()
method getBackupNames (line 140) | public function getBackupNames()
method getTotalBackupsSize (line 148) | public static function getTotalBackupsSize()
method getAvailableBackups (line 159) | public static function getAvailableBackups($force = false)
method backup (line 201) | public static function backup($id = 0, callable $status = null)
method purge (line 278) | public static function purge()
method convertExclude (line 320) | protected static function convertExclude($exclude)
FILE: system/src/Grav/Common/Browser.php
class Browser (line 18) | class Browser
method __construct (line 26) | public function __construct()
method getBrowser (line 59) | public function getBrowser()
method getPlatform (line 97) | public function getPlatform()
method getLongVersion (line 107) | public function getLongVersion()
method getVersion (line 117) | public function getVersion()
method isHuman (line 129) | public function isHuman()
method isTrackable (line 149) | public function isTrackable(): bool
FILE: system/src/Grav/Common/Cache.php
class Cache (line 38) | class Cache extends Getters
method __construct (line 117) | public function __construct(Grav $grav)
method init (line 128) | public function init(Grav $grav)
method getSimpleCache (line 158) | public function getSimpleCache()
method purgeOldCache (line 177) | public function purgeOldCache()
method setEnabled (line 253) | public function setEnabled($enabled)
method getEnabled (line 263) | public function getEnabled()
method getCacheStatus (line 273) | public function getCacheStatus()
method getCacheDriver (line 285) | public function getCacheDriver()
method fetch (line 393) | public function fetch($id)
method save (line 409) | public function save($id, $data, $lifetime = null)
method delete (line 425) | public function delete($id)
method deleteAll (line 439) | public function deleteAll()
method contains (line 454) | public function contains($id)
method getKey (line 468) | public function getKey()
method setKey (line 479) | public function setKey($key)
method clearCache (line 491) | public static function clearCache($remove = 'standard')
method invalidateCache (line 594) | public static function invalidateCache()
method setLifetime (line 617) | public function setLifetime($future)
method getLifetime (line 635) | public function getLifetime()
method getDriverName (line 649) | public function getDriverName()
method getDriverSetting (line 659) | public function getDriverSetting()
method isVolatileDriver (line 670) | public function isVolatileDriver($setting)
method purgeJob (line 682) | public static function purgeJob($echo = false)
method clearJob (line 704) | public static function clearJob($type)
method onSchedulerInitialized (line 716) | public function onSchedulerInitialized(Event $event)
FILE: system/src/Grav/Common/Composer.php
class Composer (line 18) | class Composer
method getComposerLocation (line 28) | public static function getComposerLocation()
method getComposerExecutor (line 50) | public static function getComposerExecutor()
FILE: system/src/Grav/Common/Config/CompiledBase.php
class CompiledBase (line 23) | abstract class CompiledBase
method __construct (line 55) | public function __construct($cacheFolder, array $files, $path)
method name (line 72) | public function name($name = null)
method modified (line 86) | public function modified()
method timestamp (line 95) | public function timestamp()
method load (line 105) | public function load()
method checksum (line 126) | public function checksum()
method createFilename (line 138) | protected function createFilename()
method createObject (line 149) | abstract protected function createObject(array $data = []);
method finalizeObject (line 156) | abstract protected function finalizeObject();
method loadFile (line 165) | abstract protected function loadFile($name, $filename);
method loadFiles (line 173) | protected function loadFiles()
method loadCompiledFile (line 196) | protected function loadCompiledFile($filename)
method saveCompiledFile (line 231) | protected function saveCompiledFile($filename)
method getState (line 265) | protected function getState()
FILE: system/src/Grav/Common/Config/CompiledBlueprints.php
class CompiledBlueprints (line 20) | class CompiledBlueprints extends CompiledBase
method __construct (line 28) | public function __construct($cacheFolder, array $files, $path)
method checksum (line 42) | public function checksum()
method createObject (line 56) | protected function createObject(array $data = [])
method getTypes (line 66) | protected function getTypes()
method finalizeObject (line 76) | protected function finalizeObject()
method loadFile (line 87) | protected function loadFile($name, $files)
method loadFiles (line 101) | protected function loadFiles()
method getState (line 127) | protected function getState()
FILE: system/src/Grav/Common/Config/CompiledConfig.php
class CompiledConfig (line 19) | class CompiledConfig extends CompiledBase
method __construct (line 33) | public function __construct($cacheFolder, array $files, $path)
method setBlueprints (line 46) | public function setBlueprints(callable $blueprints)
method load (line 57) | public function load($withDefaults = false)
method createObject (line 70) | protected function createObject(array $data = [])
method finalizeObject (line 85) | protected function finalizeObject()
method modified (line 96) | public function modified()
method loadFile (line 108) | protected function loadFile($name, $filename)
FILE: system/src/Grav/Common/Config/CompiledLanguages.php
class CompiledLanguages (line 18) | class CompiledLanguages extends CompiledBase
method __construct (line 26) | public function __construct($cacheFolder, array $files, $path)
method createObject (line 39) | protected function createObject(array $data = [])
method finalizeObject (line 49) | protected function finalizeObject()
method modified (line 61) | public function modified()
method loadFile (line 73) | protected function loadFile($name, $filename)
FILE: system/src/Grav/Common/Config/Config.php
class Config (line 23) | class Config extends Data
method key (line 40) | public function key()
method checksum (line 53) | public function checksum($checksum = null)
method modified (line 66) | public function modified($modified = null)
method timestamp (line 79) | public function timestamp($timestamp = null)
method reload (line 91) | public function reload()
method debug (line 116) | public function debug()
method init (line 130) | public function init()
method getLanguages (line 150) | public function getLanguages()
FILE: system/src/Grav/Common/Config/ConfigFileFinder.php
class ConfigFileFinder (line 20) | class ConfigFileFinder
method setBase (line 29) | public function setBase($base)
method locateFiles (line 44) | public function locateFiles(array $paths, $pattern = '|\.yaml$|', $lev...
method getFiles (line 62) | public function getFiles(array $paths, $pattern = '|\.yaml$|', $levels...
method listFiles (line 84) | public function listFiles(array $paths, $pattern = '|\.yaml$|', $level...
method locateFileInFolder (line 103) | public function locateFileInFolder($filename, array $folders)
method locateInFolders (line 120) | public function locateInFolders(array $folders, $filename = null)
method locateFile (line 139) | public function locateFile(array $paths, $name, $ext = '.yaml')
method detectRecursive (line 168) | protected function detectRecursive($folder, $pattern, $levels)
method detectInFolder (line 206) | protected function detectInFolder($folder, $lookup = null)
method detectAll (line 244) | protected function detectAll($folder, $pattern, $levels)
FILE: system/src/Grav/Common/Config/Languages.php
class Languages (line 19) | class Languages extends Data
method checksum (line 34) | public function checksum($checksum = null)
method modified (line 47) | public function modified($modified = null)
method timestamp (line 60) | public function timestamp($timestamp = null)
method reformat (line 72) | public function reformat()
method mergeRecursive (line 84) | public function mergeRecursive(array $data)
method flattenByLang (line 93) | public function flattenByLang($lang)
method unflatten (line 103) | public function unflatten($array)
FILE: system/src/Grav/Common/Config/Setup.php
class Setup (line 28) | class Setup extends Data
method __construct (line 167) | public function __construct($container)
method init (line 264) | public function init()
method initializeLocator (line 306) | public function initializeLocator(UniformResourceLocator $locator)
method getStreams (line 333) | public function getStreams()
method check (line 355) | protected function check(UniformResourceLocator $locator)
FILE: system/src/Grav/Common/Data/Blueprint.php
class Blueprint (line 32) | class Blueprint extends BlueprintForm
method __clone (line 55) | public function __clone()
method setScope (line 66) | public function setScope($scope)
method setObject (line 75) | public function setObject($object)
method setTypes (line 86) | public function setTypes(array $types)
method getDefaultValue (line 100) | public function getDefaultValue(string $name)
method getDefaults (line 125) | public function getDefaults()
method init (line 141) | public function init()
method extend (line 193) | public function extend($extends, $append = false)
method embed (line 209) | public function embed($name, $value, $separator = '/', $append = false)
method mergeData (line 227) | public function mergeData(array $data1, array $data2, $name = null, $s...
method processForm (line 241) | public function processForm(array $data, array $toggles = [])
method extra (line 255) | public function extra(array $data, $prefix = '')
method validate (line 270) | public function validate(array $data, array $options = [])
method filter (line 285) | public function filter(array $data, bool $missingValuesAsNull = false,...
method flattenData (line 301) | public function flattenData(array $data, bool $includeAll = false, str...
method schema (line 314) | public function schema()
method addDynamicHandler (line 326) | public function addDynamicHandler(string $name, callable $callable): void
method initInternals (line 336) | protected function initInternals()
method loadFile (line 357) | protected function loadFile($filename)
method getFiles (line 371) | protected function getFiles($path, $context = null)
method dynamicData (line 426) | protected function dynamicData(array &$field, $property, array &$call)
method dynamicConfig (line 468) | protected function dynamicConfig(array &$field, $property, array &$call)
method dynamicSecurity (line 502) | protected function dynamicSecurity(array &$field, $property, array &$c...
method resolveActions (line 528) | protected function resolveActions(?UserInterface $user, array $actions...
method dynamicScope (line 556) | protected function dynamicScope(array &$field, $property, array &$call)
method addPropertyRecursive (line 580) | public static function addPropertyRecursive(array &$field, $property, ...
FILE: system/src/Grav/Common/Data/BlueprintSchema.php
class BlueprintSchema (line 25) | class BlueprintSchema extends BlueprintSchemaBase implements ExportInter...
method getTypes (line 45) | public function getTypes()
method getType (line 54) | public function getType($name)
method getNestedRules (line 63) | public function getNestedRules(string $name)
method validate (line 76) | public function validate(array $data, array $options = [])
method processForm (line 95) | public function processForm(array $data, array $toggles = [])
method filter (line 108) | public function filter(array $data, $missingValuesAsNull = false, $kee...
method flattenData (line 123) | public function flattenData(array $data, bool $includeAll = false, str...
method flattenArray (line 150) | protected function flattenArray(array $data, array $rules, string $pre...
method validateArray (line 181) | protected function validateArray(array $data, array $rules, bool $stri...
method filterArray (line 263) | protected function filterArray(array $data, array $rules, string $pare...
method buildIgnoreNested (line 319) | protected function buildIgnoreNested(array $nested, $parent = '')
method processFormRecursive (line 345) | protected function processFormRecursive(?array $data, array $toggles, ...
method checkRequired (line 402) | protected function checkRequired(array $data, array $fields)
method dynamicConfig (line 450) | protected function dynamicConfig(array &$field, $property, array &$call)
FILE: system/src/Grav/Common/Data/Blueprints.php
class Blueprints (line 23) | class Blueprints
method __construct (line 35) | public function __construct($search = 'blueprints://')
method get (line 47) | public function get($type)
method types (line 62) | public function types()
method loadFile (line 98) | protected function loadFile($name)
FILE: system/src/Grav/Common/Data/Data.php
class Data (line 30) | class Data implements DataInterface, ArrayAccess, \Countable, JsonSerial...
method __construct (line 52) | public function __construct(array $items = [], $blueprints = null)
method setKeepEmptyValues (line 64) | public function setKeepEmptyValues(bool $value)
method setMissingValuesAsNull (line 75) | public function setMissingValuesAsNull(bool $value)
method value (line 92) | public function value($name, $default = null, $separator = '.')
method join (line 106) | public function join($name, $value, $separator = '.')
method getDefaults (line 135) | public function getDefaults()
method joinDefaults (line 148) | public function joinDefaults($name, $value, $separator = '.')
method getJoined (line 173) | public function getJoined($name, $value, $separator = '.')
method merge (line 203) | public function merge(array $data)
method setDefaults (line 216) | public function setDefaults(array $data)
method validate (line 229) | public function validate()
method filter (line 239) | public function filter()
method extra (line 255) | public function extra()
method blueprints (line 265) | public function blueprints()
method save (line 284) | public function save()
method exists (line 299) | public function exists()
method raw (line 313) | public function raw()
method file (line 326) | public function file(FileInterface $storage = null)
method jsonSerialize (line 338) | #[\ReturnTypeWillChange]
FILE: system/src/Grav/Common/Data/DataInterface.php
type DataInterface (line 19) | interface DataInterface
method value (line 31) | public function value($name, $default = null, $separator = '.');
method merge (line 39) | public function merge(array $data);
method blueprints (line 46) | public function blueprints();
method validate (line 54) | public function validate();
method filter (line 61) | public function filter();
method extra (line 68) | public function extra();
method save (line 75) | public function save();
method file (line 83) | public function file(FileInterface $storage = null);
FILE: system/src/Grav/Common/Data/Validation.php
class Validation (line 35) | class Validation
method validate (line 44) | public static function validate($value, array $field)
method checkSafety (line 107) | public static function checkSafety($value, array $field)
method authorize (line 167) | public static function authorize($action, UserInterface $user = null)
method filter (line 195) | public static function filter($value, array $field)
method typeText (line 231) | public static function typeText($value, array $params, array $field)
method filterText (line 276) | protected static function filterText($value, array $params, array $field)
method filterCheckbox (line 297) | protected static function filterCheckbox($value, array $params, array ...
method filterCommaList (line 311) | protected static function filterCommaList($value, array $params, array...
method typeCommaList (line 322) | public static function typeCommaList($value, array $params, array $field)
method filterLines (line 337) | protected static function filterLines($value, array $params, array $fi...
method filterLower (line 347) | protected static function filterLower($value, array $params)
method filterUpper (line 357) | protected static function filterUpper($value, array $params)
method typeTextarea (line 371) | public static function typeTextarea($value, array $params, array $field)
method typePassword (line 388) | public static function typePassword($value, array $params, array $field)
method typeHidden (line 405) | public static function typeHidden($value, array $params, array $field)
method typeCheckboxes (line 418) | public static function typeCheckboxes($value, array $params, array $fi...
method filterCheckboxes (line 432) | protected static function filterCheckboxes($value, array $params, arra...
method typeCheckbox (line 445) | public static function typeCheckbox($value, array $params, array $field)
method typeRadio (line 461) | public static function typeRadio($value, array $params, array $field)
method typeToggle (line 474) | public static function typeToggle($value, array $params, array $field)
method typeFile (line 491) | public static function typeFile($value, array $params, array $field)
method filterFile (line 502) | protected static function filterFile($value, array $params, array $field)
method typeSelect (line 515) | public static function typeSelect($value, array $params, array $field)
method typeNumber (line 528) | public static function typeNumber($value, array $params, array $field)
method filterNumber (line 568) | protected static function filterNumber($value, array $params, array $f...
method filterDateTime (line 579) | protected static function filterDateTime($value, array $params, array ...
method typeRange (line 597) | public static function typeRange($value, array $params, array $field)
method filterRange (line 608) | protected static function filterRange($value, array $params, array $fi...
method typeColor (line 621) | public static function typeColor($value, array $params, array $field)
method typeEmail (line 634) | public static function typeEmail($value, array $params, array $field)
method typeUrl (line 663) | public static function typeUrl($value, array $params, array $field)
method typeDatetime (line 680) | public static function typeDatetime($value, array $params, array $field)
method typeDatetimeLocal (line 705) | public static function typeDatetimeLocal($value, array $params, array ...
method typeDate (line 718) | public static function typeDate($value, array $params, array $field)
method typeTime (line 735) | public static function typeTime($value, array $params, array $field)
method typeMonth (line 752) | public static function typeMonth($value, array $params, array $field)
method typeWeek (line 769) | public static function typeWeek($value, array $params, array $field)
method typeArray (line 786) | public static function typeArray($value, array $params, array $field)
method filterFlatten_array (line 839) | protected static function filterFlatten_array($value, $params, $field)
method filterArray (line 852) | protected static function filterArray($value, $params, $field)
method arrayFilterRecurse (line 896) | protected static function arrayFilterRecurse(array $values, array $par...
method typeList (line 962) | public static function typeList($value, array $params, array $field)
method filterList (line 987) | protected static function filterList($value, array $params, array $field)
method filterYaml (line 997) | public static function filterYaml($value, $params)
method typeIgnore (line 1014) | public static function typeIgnore($value, array $params, array $field)
method filterIgnore (line 1025) | public static function filterIgnore($value, array $params, array $field)
method typeUnset (line 1038) | public static function typeUnset($value, array $params, array $field)
method filterUnset (line 1049) | public static function filterUnset($value, array $params, array $field)
method validateRequired (line 1061) | public static function validateRequired($value, $params)
method validatePattern (line 1075) | public static function validatePattern($value, $params)
method validateAlpha (line 1087) | public static function validateAlpha($value, $params)
method validateAlnum (line 1097) | public static function validateAlnum($value, $params)
method typeBool (line 1107) | public static function typeBool($value, $params)
method validateBool (line 1117) | public static function validateBool($value, $params)
method filterBool (line 1127) | protected static function filterBool($value, $params)
method validateDigit (line 1137) | public static function validateDigit($value, $params)
method validateFloat (line 1147) | public static function validateFloat($value, $params)
method filterFloat (line 1157) | protected static function filterFloat($value, $params)
method validateHex (line 1167) | public static function validateHex($value, $params)
method typeInt (line 1180) | public static function typeInt($value, array $params, array $field)
method validateInt (line 1192) | public static function validateInt($value, $params)
method filterInt (line 1202) | protected static function filterInt($value, $params)
method validateArray (line 1212) | public static function validateArray($value, $params)
method filterItem_List (line 1222) | public static function filterItem_List($value, $params)
method validateJson (line 1234) | public static function validateJson($value, $params)
FILE: system/src/Grav/Common/Data/ValidationException.php
class ValidationException (line 20) | class ValidationException extends RuntimeException implements JsonSerial...
method setMessages (line 30) | public function setMessages(array $messages = [])
method setSimpleMessage (line 47) | public function setSimpleMessage(bool $escape = true): void
method getMessages (line 58) | public function getMessages(): array
method jsonSerialize (line 63) | public function jsonSerialize(): array
FILE: system/src/Grav/Common/Debugger.php
class Debugger (line 63) | class Debugger
method __construct (line 99) | public function __construct()
method getClockwork (line 118) | public function getClockwork(): ?Clockwork
method init (line 129) | public function init()
method finalize (line 220) | public function finalize(): void
method logRequest (line 250) | public function logRequest(ServerRequestInterface $request, ResponseIn...
method debuggerRequest (line 288) | public function debuggerRequest(RequestInterface $request): Response
method addMeasures (line 341) | protected function addMeasures(): void
method enabled (line 374) | public function enabled($state = null)
method addAssets (line 388) | public function addAssets()
method getCaller (line 444) | public function getCaller($limit = 2)
method addCollector (line 458) | public function addCollector($collector)
method getCollector (line 474) | public function getCollector($name)
method render (line 488) | public function render()
method sendDataInHeaders (line 511) | public function sendDataInHeaders()
method getData (line 527) | public function getData()
method profile (line 547) | public function profile(callable $callable, string $message = null)
method addTwigProfiler (line 556) | public function addTwigProfiler(Environment $twig): void
method startProfiling (line 571) | public function startProfiling(): void
method stopProfiling (line 588) | public function stopProfiling(string $message = null): ?array
method buildProfilerTimings (line 619) | protected function buildProfilerTimings(array $timings): array
method parseProfilerCall (line 661) | protected function parseProfilerCall(?string $call)
method startTimer (line 698) | public function startTimer($name, $description = null)
method stopTimer (line 711) | public function stopTimer($name)
method addMessage (line 729) | public function addMessage($message, $label = 'info', $isString = true)
method addEvent (line 779) | public function addEvent(string $name, $event, EventDispatcherInterfac...
method addException (line 807) | public function addException(Throwable $e)
method setErrorHandler (line 829) | public function setErrorHandler()
method deprecatedErrorHandler (line 843) | public function deprecatedErrorHandler($errno, $errstr, $errfile, $err...
method getDeprecations (line 1045) | protected function getDeprecations(): array
method addDeprecations (line 1064) | protected function addDeprecations()
method getDepracatedMessage (line 1086) | protected function getDepracatedMessage($deprecated)
method getFunction (line 1127) | protected function getFunction($trace)
method resolveCallable (line 1140) | protected function resolveCallable(callable $callable)
FILE: system/src/Grav/Common/Errors/BareHandler.php
class BareHandler (line 18) | class BareHandler extends Handler
method handle (line 23) | public function handle()
FILE: system/src/Grav/Common/Errors/Errors.php
class Errors (line 24) | class Errors
method resetHandlers (line 29) | public function resetHandlers()
FILE: system/src/Grav/Common/Errors/SimplePageHandler.php
class SimplePageHandler (line 23) | class SimplePageHandler extends Handler
method __construct (line 30) | public function __construct()
method handle (line 39) | public function handle()
method getResource (line 74) | protected function getResource($resource)
method addResourcePath (line 104) | public function addResourcePath($path)
method getResourcePaths (line 118) | public function getResourcePaths()
FILE: system/src/Grav/Common/Errors/SystemFacade.php
class SystemFacade (line 16) | class SystemFacade extends \Whoops\Util\SystemFacade
method registerShutdownFunction (line 25) | public function registerShutdownFunction(callable $function)
method handleShutdown (line 36) | public function handleShutdown()
method setHttpResponseCode (line 53) | public function setHttpResponseCode($httpCode)
FILE: system/src/Grav/Common/File/CompiledFile.php
type CompiledFile (line 26) | trait CompiledFile
method content (line 34) | public function content($var = null)
method save (line 118) | public function save($data = null)
method __sleep (line 175) | public function __sleep()
method __wakeup (line 189) | public function __wakeup()
FILE: system/src/Grav/Common/File/CompiledJsonFile.php
class CompiledJsonFile (line 18) | class CompiledJsonFile extends JsonFile
method decode (line 29) | protected function decode($var, $assoc = true)
FILE: system/src/Grav/Common/File/CompiledMarkdownFile.php
class CompiledMarkdownFile (line 18) | class CompiledMarkdownFile extends MarkdownFile
FILE: system/src/Grav/Common/File/CompiledYamlFile.php
class CompiledYamlFile (line 18) | class CompiledYamlFile extends YamlFile
FILE: system/src/Grav/Common/Filesystem/Archiver.php
class Archiver (line 22) | abstract class Archiver
method create (line 37) | public static function create($compression)
method setArchive (line 50) | public function setArchive($archive_file)
method setOptions (line 61) | public function setOptions($options)
method compress (line 78) | abstract public function compress($folder, callable $status = null);
method extract (line 85) | abstract public function extract($destination, callable $status = null);
method addEmptyFolders (line 92) | abstract public function addEmptyFolders($folders, callable $status = ...
method getArchiveFiles (line 98) | protected function getArchiveFiles($rootPath)
FILE: system/src/Grav/Common/Filesystem/Folder.php
class Folder (line 29) | abstract class Folder
method lastModifiedFolder (line 37) | public static function lastModifiedFolder(array $paths): int
method lastModifiedFile (line 75) | public static function lastModifiedFile(array $paths, $extensions = 'm...
method hashAllFiles (line 117) | public static function hashAllFiles(array $paths): string
method getRelativePath (line 151) | public static function getRelativePath($path, $base = GRAV_ROOT)
method getRelativePathDotDot (line 171) | public static function getRelativePathDotDot($path, $base)
method shift (line 208) | public static function shift(&$path)
method all (line 225) | public static function all($path, array $params = [])
method copy (line 317) | public static function copy($source, $target, $ignore = null)
method move (line 368) | public static function move($source, $target)
method delete (line 416) | public static function delete($target, $include_target = true)
method mkdir (line 445) | public static function mkdir($folder)
method create (line 455) | public static function create($folder)
method rcopy (line 481) | public static function rcopy($src, $dest)
method countChildren (line 515) | public static function countChildren($directory)
method doDelete (line 531) | protected static function doDelete($folder, $include_target = true)
FILE: system/src/Grav/Common/Filesystem/RecursiveDirectoryFilterIterator.php
class RecursiveDirectoryFilterIterator (line 21) | class RecursiveDirectoryFilterIterator extends RecursiveFilterIterator
method __construct (line 38) | public function __construct(RecursiveIterator $iterator, $root, $ignor...
method accept (line 52) | public function accept() :bool
method matchesPattern (line 87) | protected function matchesPattern($filename, $patterns)
method getChildren (line 112) | public function getChildren() :RecursiveFilterIterator
FILE: system/src/Grav/Common/Filesystem/RecursiveFolderFilterIterator.php
class RecursiveFolderFilterIterator (line 21) | class RecursiveFolderFilterIterator extends \RecursiveFilterIterator
method __construct (line 32) | public function __construct(RecursiveIterator $iterator, $ignore_folde...
method accept (line 48) | public function accept() :bool
FILE: system/src/Grav/Common/Filesystem/ZipArchiver.php
class ZipArchiver (line 22) | class ZipArchiver extends Archiver
method extract (line 29) | public function extract($destination, callable $status = null)
method compress (line 54) | public function compress($source, callable $status = null)
method addEmptyFolders (line 121) | public function addEmptyFolders($folders, callable $status = null)
FILE: system/src/Grav/Common/Flex/FlexCollection.php
class FlexCollection (line 24) | abstract class FlexCollection extends \Grav\Framework\Flex\FlexCollection
FILE: system/src/Grav/Common/Flex/FlexIndex.php
class FlexIndex (line 25) | abstract class FlexIndex extends \Grav\Framework\Flex\FlexIndex
FILE: system/src/Grav/Common/Flex/FlexObject.php
class FlexObject (line 25) | abstract class FlexObject extends \Grav\Framework\Flex\FlexObject implem...
method getFormValue (line 35) | public function getFormValue(string $name, $default = null, string $se...
method prepareStorage (line 57) | public function prepareStorage(): array
FILE: system/src/Grav/Common/Flex/Traits/FlexCollectionTrait.php
type FlexCollectionTrait (line 20) | trait FlexCollectionTrait
method triggerEvent (line 29) | public function triggerEvent(string $name, $event = null)
FILE: system/src/Grav/Common/Flex/Traits/FlexCommonTrait.php
type FlexCommonTrait (line 26) | trait FlexCommonTrait
method getTemplate (line 34) | protected function getTemplate($layout)
method getTemplatePaths (line 52) | abstract protected function getTemplatePaths(string $layout): array;
method getContainer (line 53) | abstract protected function getContainer(): Grav;
FILE: system/src/Grav/Common/Flex/Traits/FlexGravTrait.php
type FlexGravTrait (line 21) | trait FlexGravTrait
method getContainer (line 26) | protected function getContainer(): Grav
method getFlexContainer (line 34) | protected function getFlexContainer(): Flex
method getActiveUser (line 47) | protected function getActiveUser(): ?UserInterface
method isAdminSite (line 60) | protected function isAdminSite(): bool
method getAuthorizeScope (line 70) | protected function getAuthorizeScope(): string
FILE: system/src/Grav/Common/Flex/Traits/FlexIndexTrait.php
type FlexIndexTrait (line 18) | trait FlexIndexTrait
FILE: system/src/Grav/Common/Flex/Traits/FlexObjectTrait.php
type FlexObjectTrait (line 20) | trait FlexObjectTrait
method triggerEvent (line 29) | public function triggerEvent(string $name, $event = null)
FILE: system/src/Grav/Common/Flex/Types/Generic/GenericCollection.php
class GenericCollection (line 22) | class GenericCollection extends FlexCollection
FILE: system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php
class GenericIndex (line 22) | class GenericIndex extends FlexIndex
FILE: system/src/Grav/Common/Flex/Types/Generic/GenericObject.php
class GenericObject (line 20) | class GenericObject extends FlexObject
FILE: system/src/Grav/Common/Flex/Types/Pages/PageCollection.php
class PageCollection (line 53) | class PageCollection extends FlexPageCollection implements PageCollectio...
method getCachedMethods (line 64) | public static function getCachedMethods(): array
method getRoot (line 111) | public function getRoot()
method getParams (line 121) | public function getParams(): array
method setParams (line 132) | public function setParams(array $params)
method params (line 144) | public function params(): array
method addPage (line 155) | public function addPage(PageInterface $page)
method merge (line 175) | public function merge(PageCollectionInterface $collection)
method intersect (line 187) | public function intersect(PageCollectionInterface $collection)
method setCurrent (line 195) | public function setCurrent(string $path): void
method prev (line 206) | public function prev()
method nth (line 221) | public function nth($key)
method random (line 233) | public function random($num = 1)
method append (line 245) | public function append($items)
method batch (line 257) | public function batch($size): array
method order (line 279) | public function order($by, $dir = 'asc', $manual = null, $sort_flags =...
method buildSort (line 301) | protected function buildSort($order_by = 'default', $order_dir = 'asc'...
method all (line 431) | public function all()
method dateRange (line 449) | public function dateRange($startDate = null, $endDate = null, $field =...
method visible (line 476) | public function visible()
method nonVisible (line 494) | public function nonVisible()
method pages (line 512) | public function pages()
method modules (line 534) | public function modules()
method modular (line 556) | public function modular()
method nonModular (line 567) | public function nonModular()
method published (line 578) | public function published()
method nonPublished (line 596) | public function nonPublished()
method routable (line 614) | public function routable()
method nonRoutable (line 632) | public function nonRoutable()
method ofType (line 651) | public function ofType($type)
method ofOneOfTheseTypes (line 670) | public function ofOneOfTheseTypes($types)
method ofOneOfTheseAccessLevels (line 689) | public function ofOneOfTheseAccessLevels($accessLevels)
method withOrdered (line 731) | public function withOrdered(bool $bool = true)
method withModules (line 743) | public function withModules(bool $bool = true)
method withPages (line 755) | public function withPages(bool $bool = true)
method withTranslation (line 769) | public function withTranslation(bool $bool = true, string $languageCod...
method withTranslated (line 781) | public function withTranslated(string $languageCode = null, bool $fall...
method filterBy (line 803) | public function filterBy(array $filters, bool $recursive = false)
method toExtendedArray (line 816) | public function toExtendedArray(): array
method getLevelListing (line 832) | public function getLevelListing(array $options): array
FILE: system/src/Grav/Common/Flex/Types/Pages/PageIndex.php
class PageIndex (line 51) | class PageIndex extends FlexPageIndex implements PageCollectionInterface
method __construct (line 69) | public function __construct(array $entries = [], FlexDirectory $direct...
method loadEntriesFromStorage (line 84) | public static function loadEntriesFromStorage(FlexStorageInterface $st...
method get (line 109) | public function get($key)
method getRoot (line 132) | public function getRoot()
method withTranslated (line 184) | public function withTranslated(string $languageCode = null, bool $fall...
method getLanguage (line 199) | public function getLanguage(): ?string
method getParams (line 209) | public function getParams(): array
method getParam (line 220) | public function getParam(string $name)
method setParams (line 231) | public function setParams(array $params)
method setParam (line 245) | public function setParam(string $name, $value)
method params (line 257) | public function params(): array
method getCacheKey (line 266) | public function getCacheKey(): string
method filterBy (line 288) | public function filterBy(array $filters, bool $recursive = false)
method filterByParent (line 345) | protected function filterByParent(array $filters)
method getLevelListing (line 357) | public function getLevelListing(array $options): array
method createFrom (line 416) | protected function createFrom(array $entries, string $keyField = null)
method translateEntries (line 431) | protected function translateEntries(array $entries, string $lang, bool...
method getLanguageTemplates (line 472) | protected function getLanguageTemplates(string $key): array
method getFallbackLanguages (line 496) | protected function getFallbackLanguages(string $languageCode = null, b...
method getLevelListingRecurse (line 519) | protected function getLevelListingRecurse(array $options): array
method getListingActions (line 743) | protected function getListingActions(PageObject $object, UserInterface...
method getIndexFile (line 765) | protected static function getIndexFile(FlexStorageInterface $storage)
method jsDate (line 784) | private function jsDate(int $timestamp = null): ?string
method addPage (line 803) | public function addPage(PageInterface $page)
method copy (line 815) | public function copy()
method merge (line 828) | public function merge(PageCollectionInterface $collection)
method intersect (line 841) | public function intersect(PageCollectionInterface $collection)
method batch (line 853) | public function batch($size)
method remove (line 866) | public function remove($key)
method order (line 881) | public function order($by, $dir = 'asc', $manual = null, $sort_flags =...
method isFirst (line 895) | public function isFirst($path): bool
method isLast (line 910) | public function isLast($path): bool
method prevSibling (line 925) | public function prevSibling($path)
method nextSibling (line 940) | public function nextSibling($path)
method adjacentSibling (line 956) | public function adjacentSibling($path, $direction = 1)
method currentPosition (line 970) | public function currentPosition($path): ?int
method dateRange (line 991) | public function dateRange($startDate = null, $endDate = null, $field =...
method all (line 1004) | public function all()
method visible (line 1015) | public function visible()
method nonVisible (line 1028) | public function nonVisible()
method pages (line 1041) | public function pages()
method modules (line 1054) | public function modules()
method modular (line 1067) | public function modular()
method nonModular (line 1078) | public function nonModular()
method published (line 1089) | public function published()
method nonPublished (line 1102) | public function nonPublished()
method routable (line 1115) | public function routable()
method nonRoutable (line 1128) | public function nonRoutable()
method ofType (line 1142) | public function ofType($type)
method ofOneOfTheseTypes (line 1156) | public function ofOneOfTheseTypes($types)
method ofOneOfTheseAccessLevels (line 1170) | public function ofOneOfTheseAccessLevels($accessLevels)
method toArray (line 1182) | public function toArray()
method toExtendedArray (line 1193) | public function toExtendedArray()
FILE: system/src/Grav/Common/Flex/Types/Pages/PageObject.php
class PageObject (line 55) | class PageObject extends FlexPageObject
method getCachedMethods (line 75) | public static function getCachedMethods(): array
method initialize (line 88) | public function initialize(): void
method getRoute (line 100) | public function getRoute($query = []): ?Route
method getFormValue (line 132) | public function getFormValue(string $name, $default = null, string $se...
method getCacheKey (line 166) | public function getCacheKey(): string
method onBeforeSave (line 182) | protected function onBeforeSave(array $variables)
method onSave (line 241) | protected function onSave(array $variables): array
method onAfterSave (line 256) | protected function onAfterSave(array $variables): void
method check (line 264) | public function check(UserInterface $user = null): void
method save (line 283) | public function save($reorder = true)
method delete (line 318) | public function delete()
method move (line 339) | public function move(PageInterface $parent)
method isAuthorizedOverride (line 359) | protected function isAuthorizedOverride(UserInterface $user, string $a...
method isMoved (line 377) | protected function isMoved(): bool
method reorderSiblings (line 392) | protected function reorderSiblings(array $ordering)
method full_order (line 491) | public function full_order(): string
method doGetBlueprint (line 502) | protected function doGetBlueprint(string $name = ''): Blueprint
method getLevelListing (line 546) | public function getLevelListing(array $options): array
method filterBy (line 587) | public function filterBy(array $filters, bool $recursive = false): bool
method exists (line 655) | public function exists(): bool
method __debugInfo (line 663) | public function __debugInfo(): array
method filterElements (line 677) | protected function filterElements(array &$elements, bool $extended = f...
method prepareStorage (line 720) | public function prepareStorage(): array
FILE: system/src/Grav/Common/Flex/Types/Pages/Storage/PageStorage.php
class PageStorage (line 33) | class PageStorage extends FolderStorage
method initOptions (line 56) | protected function initOptions(array $options): void
method parseKey (line 79) | public function parseKey(string $key, bool $variations = true): array
method readFrontmatter (line 101) | public function readFrontmatter(string $key): string
method readRaw (line 125) | public function readRaw(string $key): string
method buildStorageKey (line 146) | public function buildStorageKey(array $keys, bool $includeParams = tru...
method buildStorageKeyParams (line 168) | public function buildStorageKeyParams(array $keys): string
method buildFolder (line 183) | public function buildFolder(array $keys): string
method buildFilename (line 192) | public function buildFilename(array $keys): string
method buildFilepath (line 209) | public function buildFilepath(array $keys): string
method extractKeysFromRow (line 222) | public function extractKeysFromRow(array $row, bool $setDefaultLang = ...
method extractKeysFromStorageKey (line 272) | public function extractKeysFromStorageKey(string $key): array
method parseParams (line 307) | protected function parseParams(string $key, string $params): array
method prepareRow (line 333) | protected function prepareRow(array &$row): void
method loadRow (line 343) | protected function loadRow(string $key): ?array
method saveRow (line 365) | protected function saveRow(string $key, array $row): array
method canDeleteFolder (line 485) | protected function canDeleteFolder(string $key): bool
method getKeyFromPath (line 507) | protected function getKeyFromPath(string $path): string
method buildIndex (line 521) | protected function buildIndex(): array
method getObjectMeta (line 533) | protected function getObjectMeta(string $key, bool $reload = false): a...
method getIndexMeta (line 639) | protected function getIndexMeta(): array
method getNewKey (line 696) | protected function getNewKey(): string
FILE: system/src/Grav/Common/Flex/Types/Pages/Traits/PageContentTrait.php
type PageContentTrait (line 19) | trait PageContentTrait
method id (line 24) | public function id($var = null): string
method date (line 44) | public function date($var = null): int
method isPage (line 69) | public function isPage(bool $bool = true): bool
FILE: system/src/Grav/Common/Flex/Types/Pages/Traits/PageLegacyTrait.php
type PageLegacyTrait (line 28) | trait PageLegacyTrait
method children (line 35) | public function children()
method isFirst (line 53) | public function isFirst(): bool
method isLast (line 74) | public function isLast(): bool
method adjacentSibling (line 96) | public function adjacentSibling($direction = 1)
method ancestor (line 121) | public function ancestor($lookup = null)
method getInheritedParams (line 139) | protected function getInheritedParams($field): array
method find (line 165) | public function find($url, $all = false)
method collection (line 185) | public function collection($params = 'content', $pagination = true)
method evaluate (line 214) | public function evaluate($value, $only_published = true)
FILE: system/src/Grav/Common/Flex/Types/Pages/Traits/PageRoutableTrait.php
type PageRoutableTrait (line 26) | trait PageRoutableTrait
method parent (line 35) | public function parent(PageInterface $var = null)
method currentPosition (line 66) | public function currentPosition(): ?int
method active (line 83) | public function active(): bool
method activeChild (line 98) | public function activeChild(): bool
FILE: system/src/Grav/Common/Flex/Types/Pages/Traits/PageTranslateTrait.php
type PageTranslateTrait (line 24) | trait PageTranslateTrait
method translatedLanguages (line 32) | public function translatedLanguages($onlyPublished = false): array
FILE: system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php
class UserGroupCollection (line 22) | class UserGroupCollection extends FlexCollection
method getCachedMethods (line 27) | public static function getCachedMethods(): array
method authorize (line 41) | public function authorize(string $action, string $scope = null): ?bool
FILE: system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php
class UserGroupIndex (line 22) | class UserGroupIndex extends FlexIndex
FILE: system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php
class UserGroupObject (line 28) | class UserGroupObject extends FlexObject implements UserGroupInterface
method getCachedMethods (line 38) | public static function getCachedMethods(): array
method getTitle (line 48) | public function getTitle(): string
method authorize (line 60) | public function authorize(string $action, string $scope = null): ?bool
method groupNames (line 78) | public static function groupNames(): array
method getAccess (line 93) | protected function getAccess(): Access
method offsetLoad_access (line 106) | protected function offsetLoad_access($value): array
method offsetPrepare_access (line 121) | protected function offsetPrepare_access($value): array
method offsetSerialize_access (line 130) | protected function offsetSerialize_access(?array $value): ?array
FILE: system/src/Grav/Common/Flex/Types/Users/Storage/UserFileStorage.php
class UserFileStorage (line 20) | class UserFileStorage extends FileStorage
method getMediaPath (line 26) | public function getMediaPath(string $key = null): ?string
method prepareRow (line 37) | protected function prepareRow(array &$row): void
FILE: system/src/Grav/Common/Flex/Types/Users/Storage/UserFolderStorage.php
class UserFolderStorage (line 20) | class UserFolderStorage extends FolderStorage
method prepareRow (line 27) | protected function prepareRow(array &$row): void
FILE: system/src/Grav/Common/Flex/Types/Users/Traits/UserObjectLegacyTrait.php
type UserObjectLegacyTrait (line 22) | trait UserObjectLegacyTrait
method merge (line 31) | public function merge(array $data)
method getAvatarMedia (line 46) | public function getAvatarMedia()
method avatarUrl (line 59) | public function avatarUrl()
method authorise (line 74) | public function authorise($action)
method count (line 87) | #[\ReturnTypeWillChange]
FILE: system/src/Grav/Common/Flex/Types/Users/UserCollection.php
class UserCollection (line 25) | class UserCollection extends FlexCollection implements UserCollectionInt...
method getCachedMethods (line 30) | public static function getCachedMethods(): array
method load (line 45) | public function load($username): UserInterface
method find (line 80) | public function find($query, $fields = ['username', 'email']): UserInt...
method delete (line 110) | public function delete($username): bool
method filterUsername (line 126) | protected function filterUsername(string $key): string
FILE: system/src/Grav/Common/Flex/Types/Users/UserIndex.php
class UserIndex (line 31) | class UserIndex extends FlexIndex implements UserCollectionInterface
method loadEntriesFromStorage (line 39) | public static function loadEntriesFromStorage(FlexStorageInterface $st...
method updateObjectMeta (line 65) | public static function updateObjectMeta(array &$meta, array $data, Fle...
method load (line 81) | public function load($username): UserInterface
method delete (line 115) | public function delete($username): bool
method find (line 134) | public function find($query, $fields = ['username', 'email']): UserInt...
method filterUsername (line 167) | protected static function filterUsername(string $key, FlexStorageInter...
method getIndexFile (line 176) | protected static function getIndexFile(FlexStorageInterface $storage)
method onChanges (line 192) | protected static function onChanges(array $entries, array $added, arra...
FILE: system/src/Grav/Common/Flex/Types/Users/UserObject.php
class UserObject (line 74) | class UserObject extends FlexObject implements UserInterface, Countable
method getCachedMethods (line 105) | public static function getCachedMethods(): array
method __construct (line 126) | public function __construct(array $elements, $key, FlexDirectory $dire...
method __clone (line 150) | public function __clone()
method onPrepareRegistration (line 161) | public function onPrepareRegistration(): void
method getContentEditor (line 180) | public function getContentEditor(): string
method get (line 195) | public function get($name, $default = null, $separator = null)
method set (line 210) | public function set($name, $value, $separator = null)
method undef (line 226) | public function undef($name, $separator = null)
method def (line 243) | public function def($name, $default = null, $separator = null)
method isMyself (line 254) | public function isMyself(?UserInterface $user = null): bool
method authorize (line 273) | public function authorize(string $action, string $scope = null): ?bool
method getProperty (line 332) | public function getProperty($property, $default = null)
method getRoles (line 347) | public function getRoles(): UserGroupIndex
method toArray (line 357) | public function toArray()
method toYaml (line 374) | public function toYaml($inline = 5, $indent = 2)
method toJson (line 386) | public function toJson()
method join (line 402) | public function join($name, $value, $separator = null)
method getDefaults (line 432) | public function getDefaults()
method joinDefaults (line 445) | public function joinDefaults($name, $value, $separator = null)
method getJoined (line 470) | public function getJoined($name, $value, $separator = null)
method setDefaults (line 499) | public function setDefaults(array $data)
method validate (line 512) | public function validate()
method filter (line 523) | public function filter()
method extra (line 535) | public function extra()
method raw (line 547) | public function raw()
method file (line 560) | public function file(FileInterface $storage = null)
method isValid (line 572) | public function isValid(): bool
method save (line 582) | public function save()
method prepareStorage (line 630) | public function prepareStorage(): array
method getMedia (line 643) | public function getMedia()
method getMediaFolder (line 667) | public function getMediaFolder(): ?string
method initRelationship (line 685) | public function initRelationship(string $name)
method updateRelationships (line 705) | protected function updateRelationships(): bool
method updateAvatarRelationship (line 732) | protected function updateAvatarRelationship(ToOneRelationshipInterface...
method doGetBlueprint (line 759) | protected function doGetBlueprint(string $name = ''): Blueprint
method isAuthorizedOverride (line 782) | protected function isAuthorizedOverride(UserInterface $user, string $a...
method getAvatarFile (line 805) | protected function getAvatarFile(): ?string
method getOriginalMedia (line 822) | protected function getOriginalMedia()
method setUpdatedMedia (line 836) | protected function setUpdatedMedia(array $files): void
method saveUpdatedMedia (line 920) | protected function saveUpdatedMedia(): void
method doSerialize (line 971) | protected function doSerialize(): array
method getUserGroups (line 984) | protected function getUserGroups()
method getGroups (line 1006) | protected function getGroups()
method getAccess (line 1020) | protected function getAccess(): Access
method offsetLoad_access (line 1033) | protected function offsetLoad_access($value): array
method offsetPrepare_access (line 1046) | protected function offsetPrepare_access($value): array
method offsetSerialize_access (line 1055) | protected function offsetSerialize_access(?array $value): ?array
FILE: system/src/Grav/Common/Form/FormFlash.php
class FormFlash (line 21) | class FormFlash extends FrameworkFormFlash
method getLegacyFiles (line 27) | public function getLegacyFiles(): array
method uploadFile (line 52) | public function uploadFile(string $field, string $filename, array $upl...
method cropFile (line 84) | public function cropFile(string $field, string $filename, array $uploa...
FILE: system/src/Grav/Common/GPM/AbstractCollection.php
class AbstractCollection (line 18) | abstract class AbstractCollection extends Iterator
method toJson (line 23) | public function toJson()
method toArray (line 31) | public function toArray()
FILE: system/src/Grav/Common/GPM/Common/AbstractPackageCollection.php
class AbstractPackageCollection (line 18) | abstract class AbstractPackageCollection extends Iterator
method toJson (line 26) | public function toJson()
method toArray (line 40) | public function toArray()
FILE: system/src/Grav/Common/GPM/Common/CachedCollection.php
class CachedCollection (line 18) | class CachedCollection extends Iterator
method __construct (line 28) | public function __construct($items)
FILE: system/src/Grav/Common/GPM/Common/Package.php
class Package (line 17) | class Package
method __construct (line 27) | public function __construct(Data $package, $type = null)
method getData (line 39) | public function getData()
method __get (line 48) | #[\ReturnTypeWillChange]
method __set (line 59) | #[\ReturnTypeWillChange]
method __isset (line 69) | #[\ReturnTypeWillChange]
method __toString (line 78) | #[\ReturnTypeWillChange]
method toJson (line 87) | public function toJson()
method toArray (line 95) | public function toArray()
FILE: system/src/Grav/Common/GPM/GPM.php
class GPM (line 32) | class GPM extends Iterator
method __construct (line 60) | public function __construct($refresh = false, $callback = null)
method __get (line 78) | #[\ReturnTypeWillChange]
method __isset (line 95) | #[\ReturnTypeWillChange]
method getInstalled (line 111) | public function getInstalled()
method getInstallable (line 122) | public function getInstallable($list_type_installed = ['plugins' => tr...
method countInstalled (line 143) | public function countInstalled()
method getInstalledPackage (line 156) | public function getInstalledPackage($slug)
method getInstalledPlugin (line 167) | public function getInstalledPlugin($slug)
method getInstalledPlugins (line 176) | public function getInstalledPlugins()
method isPluginEnabled (line 188) | public function isPluginEnabled($slug): bool
method isPluginInstalled (line 201) | public function isPluginInstalled($slug): bool
method isPluginInstalledAsSymlink (line 210) | public function isPluginInstalledAsSymlink($slug)
method getInstalledTheme (line 223) | public function getInstalledTheme($slug)
method getInstalledThemes (line 233) | public function getInstalledThemes()
method isThemeEnabled (line 244) | public function isThemeEnabled($slug): bool
method isThemeInstalled (line 259) | public function isThemeInstalled($slug): bool
method countUpdates (line 269) | public function countUpdates()
method getUpdatable (line 282) | public function getUpdatable($list_type_update = ['plugins' => true, '...
method getUpdatablePlugins (line 304) | public function getUpdatablePlugins()
method getLatestVersionOfPackage (line 347) | public function getLatestVersionOfPackage($package_name)
method isUpdatable (line 374) | public function isUpdatable($slug)
method isPluginUpdatable (line 385) | public function isPluginUpdatable($plugin)
method getUpdatableThemes (line 396) | public function getUpdatableThemes()
method isThemeUpdatable (line 439) | public function isThemeUpdatable($theme)
method getReleaseType (line 450) | public function getReleaseType($package_name)
method isStableRelease (line 477) | public function isStableRelease($package_name)
method isTestingRelease (line 488) | public function isTestingRelease($package_name)
method getRepositoryPlugin (line 502) | public function getRepositoryPlugin($slug)
method getRepositoryPlugins (line 514) | public function getRepositoryPlugins()
method getRepositoryTheme (line 525) | public function getRepositoryTheme($slug)
method getRepositoryThemes (line 537) | public function getRepositoryThemes()
method getRepository (line 548) | public function getRepository()
method getGrav (line 564) | public function getGrav()
method findPackage (line 582) | public function findPackage($search, $ignore_exception = false)
method downloadPackage (line 628) | public static function downloadPackage($package_file, $tmp)
method copyPackage (line 659) | public static function copyPackage($package_file, $tmp)
method getPackageType (line 679) | public static function getPackageType($source)
method getPackageName (line 728) | public static function getPackageName($source)
method getBlueprints (line 751) | public static function getBlueprints($source)
method getInstallPath (line 772) | public static function getInstallPath($type, $name)
method findPackages (line 792) | public function findPackages($searches = [])
method getPackagesThatDependOnPackage (line 846) | public function getPackagesThatDependOnPackage($slug)
method getVersionOfDependencyRequiredByPackage (line 877) | public function getVersionOfDependencyRequiredByPackage($package_slug,...
method checkNoOtherPackageNeedsThisDependencyInALowerVersion (line 899) | public function checkNoOtherPackageNeedsThisDependencyInALowerVersion(...
method checkPackagesCanBeInstalled (line 933) | public function checkPackagesCanBeInstalled($packages_names_list)
method getDependencies (line 953) | public function getDependencies($packages)
method checkNoOtherPackageNeedsTheseDependenciesInALowerVersion (line 1070) | public function checkNoOtherPackageNeedsTheseDependenciesInALowerVersi...
method firstVersionIsLower (line 1086) | private function firstVersionIsLower($firstVersion, $secondVersion)
method calculateMergedDependenciesOfPackage (line 1098) | private function calculateMergedDependenciesOfPackage($packageName, $d...
method calculateMergedDependenciesOfPackages (line 1172) | public function calculateMergedDependenciesOfPackages($packages)
method calculateVersionNumberFromDependencyVersion (line 1195) | public function calculateVersionNumberFromDependencyVersion($version)
method versionFormatIsNextSignificantRelease (line 1221) | public function versionFormatIsNextSignificantRelease($version): bool
method versionFormatIsEqualOrHigher (line 1234) | public function versionFormatIsEqualOrHigher($version): bool
method checkNextSignificantReleasesAreCompatible (line 1251) | public function checkNextSignificantReleasesAreCompatible($version1, $...
FILE: system/src/Grav/Common/GPM/Installer.php
class Installer (line 26) | class Installer
method install (line 80) | public static function install($zip, $destination, $options = [], $ext...
method unZip (line 176) | public static function unZip($zip_file, $destination)
method loadInstaller (line 217) | private static function loadInstaller($installer_file_folder, $is_inst...
method moveInstall (line 265) | public static function moveInstall($source_path, $install_path)
method copyInstall (line 281) | public static function copyInstall($source_path, $install_path)
method sophisticatedInstall (line 299) | public static function sophisticatedInstall($source_path, $install_pat...
method uninstall (line 351) | public static function uninstall($path, $options = [])
method isValidDestination (line 392) | public static function isValidDestination($destination, $exclude = [])
method isGravInstance (line 420) | public static function isGravInstance($target)
method getMessage (line 441) | public static function getMessage()
method lastErrorMsg (line 451) | public static function lastErrorMsg()
method lastErrorCode (line 542) | public static function lastErrorCode()
method setError (line 553) | public static function setError($error)
FILE: system/src/Grav/Common/GPM/Licenses.php
class Licenses (line 22) | class Licenses
method set (line 36) | public static function set($slug, $license)
method get (line 68) | public static function get($slug = null)
method validate (line 90) | public static function validate($license = null)
method getLicenseFile (line 104) | public static function getLicenseFile()
FILE: system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php
class AbstractPackageCollection (line 18) | abstract class AbstractPackageCollection extends BaseCollection
method __construct (line 25) | public function __construct($items)
FILE: system/src/Grav/Common/GPM/Local/Package.php
class Package (line 20) | class Package extends BasePackage
method __construct (line 30) | public function __construct(Data $package, $package_type = null)
method isEnabled (line 47) | public function isEnabled()
FILE: system/src/Grav/Common/GPM/Local/Packages.php
class Packages (line 18) | class Packages extends CachedCollection
method __construct (line 20) | public function __construct()
FILE: system/src/Grav/Common/GPM/Local/Plugins.php
class Plugins (line 18) | class Plugins extends AbstractPackageCollection
method __construct (line 26) | public function __construct()
FILE: system/src/Grav/Common/GPM/Local/Themes.php
class Themes (line 18) | class Themes extends AbstractPackageCollection
method __construct (line 26) | public function __construct()
FILE: system/src/Grav/Common/GPM/Remote/AbstractPackageCollection.php
class AbstractPackageCollection (line 22) | class AbstractPackageCollection extends BaseCollection
method __construct (line 41) | public function __construct($repository = null, $refresh = false, $cal...
method fetch (line 71) | public function fetch($refresh = false, $callback = null)
FILE: system/src/Grav/Common/GPM/Remote/GravCore.php
class GravCore (line 20) | class GravCore extends AbstractPackageCollection
method __construct (line 39) | public function __construct($refresh = false, $callback = null)
method getAssets (line 66) | public function getAssets()
method getChangelog (line 77) | public function getChangelog($diff = null)
method getDate (line 102) | public function getDate()
method isUpdatable (line 112) | public function isUpdatable()
method getVersion (line 122) | public function getVersion()
method getMinPHPVersion (line 132) | public function getMinPHPVersion()
method isSymlink (line 147) | public function isSymlink()
FILE: system/src/Grav/Common/GPM/Remote/Package.php
class Package (line 19) | class Package extends BasePackage implements \JsonSerializable
method __construct (line 26) | public function __construct($package, $package_type = null)
method jsonSerialize (line 35) | #[\ReturnTypeWillChange]
method getChangelog (line 47) | public function getChangelog($diff = null)
FILE: system/src/Grav/Common/GPM/Remote/Packages.php
class Packages (line 18) | class Packages extends CachedCollection
method __construct (line 25) | public function __construct($refresh = false, $callback = null)
FILE: system/src/Grav/Common/GPM/Remote/Plugins.php
class Plugins (line 16) | class Plugins extends AbstractPackageCollection
method __construct (line 28) | public function __construct($refresh = false, $callback = null)
FILE: system/src/Grav/Common/GPM/Remote/Themes.php
class Themes (line 16) | class Themes extends AbstractPackageCollection
method __construct (line 28) | public function __construct($refresh = false, $callback = null)
FILE: system/src/Grav/Common/GPM/Upgrader.php
class Upgrader (line 20) | class Upgrader
method __construct (line 35) | public function __construct($refresh = false, $callback = null)
method getReleaseDate (line 45) | public function getReleaseDate()
method getLocalVersion (line 55) | public function getLocalVersion()
method getRemoteVersion (line 65) | public function getRemoteVersion()
method getAssets (line 75) | public function getAssets()
method getChangelog (line 86) | public function getChangelog($diff = null)
method meetsRequirements (line 96) | public function meetsRequirements()
method minPHPVersion (line 110) | public function minPHPVersion()
method isUpgradable (line 124) | public function isUpgradable()
method isSymlink (line 134) | public function isSymlink()
FILE: system/src/Grav/Common/Getters.php
class Getters (line 20) | abstract class Getters implements ArrayAccess, Countable
method __set (line 31) | #[\ReturnTypeWillChange]
method __get (line 43) | #[\ReturnTypeWillChange]
method __isset (line 55) | #[\ReturnTypeWillChange]
method __unset (line 66) | #[\ReturnTypeWillChange]
method offsetExists (line 76) | #[\ReturnTypeWillChange]
method offsetGet (line 92) | #[\ReturnTypeWillChange]
method offsetSet (line 108) | #[\ReturnTypeWillChange]
method offsetUnset (line 122) | #[\ReturnTypeWillChange]
method count (line 136) | #[\ReturnTypeWillChange]
method toArray (line 152) | public function toArray()
FILE: system/src/Grav/Common/Grav.php
class Grav (line 77) | class Grav extends Container
method resetInstance (line 144) | public static function resetInstance(): void
method instance (line 158) | public static function instance(array $values = [])
method getVersion (line 184) | public function getVersion(): string
method isSetup (line 192) | public function isSetup(): bool
method setup (line 203) | public function setup(string $environment = null)
method initializeCli (line 239) | public function initializeCli()
method process (line 251) | public function process(): void
method cleanOutputBuffers (line 356) | public function cleanOutputBuffers(): void
method close (line 374) | public function close(ResponseInterface $response): void
method exit (line 424) | public function exit(ResponseInterface $response): void
method redirect (line 438) | public function redirect($route, $code = null): void
method getRedirectResponse (line 452) | public function getRedirectResponse($route, $code = null): ResponseInt...
method redirectLangSafe (line 510) | public function redirectLangSafe($route, $code = null): void
method header (line 525) | public function header(ResponseInterface $response = null): void
method setLocale (line 550) | public function setLocale(): void
method dispatchEvent (line 565) | public function dispatchEvent($event)
method fireEvent (line 588) | public function fireEvent($eventName, Event $event = null)
method shutdown (line 611) | public function shutdown(): void
method __call (line 675) | #[\ReturnTypeWillChange]
method measureTime (line 691) | public function measureTime(string $timerId, string $timerTitle, calla...
method load (line 707) | protected static function load(array $values)
method registerServices (line 731) | protected function registerServices(): void
method fallbackUrl (line 750) | public function fallbackUrl($path)
FILE: system/src/Grav/Common/GravTrait.php
type GravTrait (line 15) | trait GravTrait
method getGrav (line 24) | public static function getGrav()
FILE: system/src/Grav/Common/HTTP/Client.php
class Client (line 19) | class Client
method getClient (line 28) | public static function getClient(array $overrides = [], int $connectio...
method getOptions (line 66) | public static function getOptions(): HttpOptions
method progress (line 112) | public static function progress(int $bytes_transferred, int $filesize,...
FILE: system/src/Grav/Common/HTTP/Response.php
class Response (line 33) | class Response
method get (line 44) | public static function get(string $uri = '', array $overrides = [], ca...
method request (line 61) | public static function request(string $method, string $uri, array $ove...
method isRemote (line 90) | public static function isRemote($file): bool
FILE: system/src/Grav/Common/Helpers/Base32.php
class Base32 (line 21) | class Base32
method encode (line 45) | public static function encode($bytes)
method decode (line 87) | public static function decode($base32)
FILE: system/src/Grav/Common/Helpers/Excerpts.php
class Excerpts (line 24) | class Excerpts
method processImageHtml (line 33) | public static function processImageHtml($html, PageInterface $page = n...
method processLinkHtml (line 64) | public static function processLinkHtml($html, PageInterface $page = null)
method getExcerptFromHtml (line 87) | public static function getExcerptFromHtml($html, $tag)
method getHtmlFromExcerpt (line 128) | public static function getHtmlFromExcerpt($excerpt)
method processLinkExcerpt (line 161) | public static function processLinkExcerpt($excerpt, PageInterface $pag...
method processImageExcerpt (line 175) | public static function processImageExcerpt(array $excerpt, PageInterfa...
method processMediaActions (line 190) | public static function processMediaActions($medium, $url, PageInterfac...
FILE: system/src/Grav/Common/Helpers/Exif.php
class Exif (line 21) | class Exif
method __construct (line 30) | public function __construct()
method getReader (line 44) | public function getReader()
FILE: system/src/Grav/Common/Helpers/LogViewer.php
class LogViewer (line 23) | class LogViewer
method objectTail (line 36) | public function objectTail($filepath, $lines = 1, $desc = true)
method tail (line 56) | public function tail($filepath, $lines = 1)
method levelColor (line 107) | public static function levelColor($level)
method parse (line 128) | public function parse($line)
method parseTrace (line 169) | public static function parseTrace($trace, $rows = 10)
FILE: system/src/Grav/Common/Helpers/Truncator.php
class Truncator (line 30) | class Truncator
method truncateWords (line 40) | public static function truncateWords($html, $limit = 0, $ellipsis = '')
method truncateLetters (line 96) | public static function truncateLetters($html, $limit = 0, $ellipsis = '')
method htmlToDomDocument (line 140) | public static function htmlToDomDocument($html)
method removeProceedingNodes (line 167) | private static function removeProceedingNodes($domNode, $topNode)
method getCleanedHTML (line 197) | private static function getCleanedHTML(DOMDocument $doc, DOMNode $cont...
method insertEllipsis (line 217) | private static function insertEllipsis($domNode, $ellipsis)
method truncate (line 246) | public function truncate(
FILE: system/src/Grav/Common/Helpers/YamlLinter.php
class YamlLinter (line 26) | class YamlLinter
method lint (line 32) | public static function lint(string $folder = null)
method lintPages (line 46) | public static function lintPages()
method lintConfig (line 54) | public static function lintConfig()
method lintBlueprints (line 62) | public static function lintBlueprints()
method recurseFolder (line 79) | public static function recurseFolder($path, $extensions = '(md|yaml)')
method extractYaml (line 110) | protected static function extractYaml($path)
FILE: system/src/Grav/Common/Inflector.php
class Inflector (line 22) | class Inflector
method init (line 40) | public static function init()
method pluralize (line 63) | public static function pluralize($word, $count = 2)
method singularize (line 108) | public static function singularize($word, $count = 1)
method titleize (line 162) | public static function titleize($word, $uppercase = '')
method camelize (line 187) | public static function camelize($word)
method underscorize (line 203) | public static function underscorize($word)
method hyphenize (line 223) | public static function hyphenize($word)
method humanize (line 251) | public static function humanize($word, $uppercase = '')
method variablize (line 270) | public static function variablize($word)
method tableize (line 288) | public static function tableize($class_name)
method classify (line 304) | public static function classify($table_name)
method ordinalize (line 317) | public static function ordinalize($number)
method monthize (line 347) | public static function monthize($days)
FILE: system/src/Grav/Common/Iterator.php
class Iterator (line 27) | class Iterator implements \ArrayAccess, \Iterator, \Countable, \Serializ...
method __call (line 41) | #[\ReturnTypeWillChange]
method __clone (line 50) | #[\ReturnTypeWillChange]
method __toString (line 65) | #[\ReturnTypeWillChange]
method remove (line 77) | public function remove($key)
method prev (line 87) | public function prev()
method nth (line 98) | public function nth($key)
method first (line 110) | public function first()
method last (line 122) | public function last()
method reverse (line 134) | public function reverse()
method indexOf (line 146) | public function indexOf($needle)
method shuffle (line 162) | public function shuffle()
method slice (line 184) | public function slice($offset, $length = null)
method random (line 197) | public function random($num = 1)
method append (line 215) | public function append($items)
method filter (line 233) | public function filter(callable $callback = null)
method sort (line 253) | public function sort(callable $callback = null, $desc = false)
FILE: system/src/Grav/Common/Language/Language.php
class Language (line 27) | class Language
method __construct (line 57) | public function __construct(Grav $grav)
method init (line 78) | public function init()
method enabled (line 104) | public function enabled()
method isDebug (line 114) | public function isDebug(): bool
method getLanguages (line 124) | public function getLanguages()
method setLanguages (line 135) | public function setLanguages($langs)
method getAvailable (line 148) | public function getAvailable($delimiter = null)
method getLanguage (line 166) | public function getLanguage()
method getDefault (line 176) | public function getDefault()
method setDefault (line 187) | public function setDefault($lang)
method getActive (line 204) | public function getActive()
method setActive (line 215) | public function setActive($lang)
method setActiveFromUri (line 237) | public function setActiveFromUri($uri)
method getLanguageURLPrefix (line 307) | public function getLanguageURLPrefix($lang = null)
method isIncludeDefaultLanguage (line 327) | public function isIncludeDefaultLanguage($lang = null)
method isLanguageInUrl (line 346) | public function isLanguageInUrl()
method getPageExtensions (line 357) | public function getPageExtensions($fileExtension = null)
method getFallbackPageExtensions (line 381) | public function getFallbackPageExtensions(string $fileExtension = null...
method resetFallbackPageExtensions (line 419) | public function resetFallbackPageExtensions()
method getFallbackLanguages (line 434) | public function getFallbackLanguages(string $languageCode = null, bool...
method validate (line 497) | public function validate($lang)
method translate (line 512) | public function translate($args, array $languages = null, $array_suppo...
method translateArray (line 559) | public function translateArray($key, $index, $languages = null, $html_...
method getTranslation (line 593) | public function getTranslation($lang, $key, $array_support = false)
method getBrowserLanguages (line 614) | public function getBrowserLanguages($accept_langs = [])
method getLanguageCode (line 651) | public function getLanguageCode($code, $type = 'name')
method __debugInfo (line 659) | #[\ReturnTypeWillChange]
method getTranslatedLanguages (line 671) | protected function getTranslatedLanguages(): array
FILE: system/src/Grav/Common/Language/LanguageCodes.php
class LanguageCodes (line 16) | class LanguageCodes
method getName (line 168) | public static function getName($code)
method getNativeName (line 177) | public static function getNativeName($code)
method getOrientation (line 194) | public static function getOrientation($code)
method isRtl (line 203) | public static function isRtl($code)
method getNames (line 212) | public static function getNames(array $keys)
method get (line 228) | public static function get($code, $type)
method getList (line 237) | public static function getList($native = true)
FILE: system/src/Grav/Common/Markdown/Parsedown.php
class Parsedown (line 19) | class Parsedown extends \Parsedown
method __construct (line 30) | public function __construct($excerpts = null, $defaults = null)
FILE: system/src/Grav/Common/Markdown/ParsedownExtra.php
class ParsedownExtra (line 20) | class ParsedownExtra extends \ParsedownExtra
method __construct (line 31) | public function __construct($excerpts = null, $defaults = null)
FILE: system/src/Grav/Common/Markdown/ParsedownGravTrait.php
type ParsedownGravTrait (line 22) | trait ParsedownGravTrait
method init (line 44) | protected function init($excerpts = null, $defaults = null)
method getExcerpts (line 81) | public function getExcerpts()
method addBlockType (line 96) | public function addBlockType($type, $tag, $continuable = false, $compl...
method addInlineType (line 128) | public function addInlineType($type, $tag, $index = null)
method isBlockContinuable (line 147) | protected function isBlockContinuable($Type)
method isBlockCompletable (line 161) | protected function isBlockCompletable($Type)
method elementToHtml (line 176) | public function elementToHtml(array $Element)
method setSpecialChars (line 187) | public function setSpecialChars($special_chars)
method blockTwigTag (line 200) | protected function blockTwigTag($line)
method inlineSpecialCharacter (line 213) | protected function inlineSpecialCharacter($excerpt)
method inlineImage (line 236) | protected function inlineImage($excerpt)
method inlineLink (line 262) | protected function inlineLink($excerpt)
method __call (line 293) | #[\ReturnTypeWillChange]
method __set (line 310) | public function __set($name, $value)
FILE: system/src/Grav/Common/Media/Interfaces/AudioMediaInterface.php
type AudioMediaInterface (line 15) | interface AudioMediaInterface extends MediaObjectInterface, MediaPlayerI...
method controlsList (line 24) | public function controlsList($controlsList);
FILE: system/src/Grav/Common/Media/Interfaces/ImageManipulateInterface.php
type ImageManipulateInterface (line 15) | interface ImageManipulateInterface
method setImagePrettyName (line 22) | public function setImagePrettyName($name);
method getImagePrettyName (line 27) | public function getImagePrettyName();
method cache (line 34) | public function cache();
method derivatives (line 46) | public function derivatives($min_width, $max_width = 2500, $step = 200);
method clearAlternatives (line 51) | public function clearAlternatives();
method quality (line 59) | public function quality($quality = null);
method format (line 67) | public function format($format);
method sizes (line 75) | public function sizes($sizes = null);
method width (line 89) | public function width($value = 'auto');
method height (line 103) | public function height($value = 'auto');
method higherQualityAlternative (line 119) | public function higherQualityAlternative();
FILE: system/src/Grav/Common/Media/Interfaces/ImageMediaInterface.php
type ImageMediaInterface (line 15) | interface ImageMediaInterface extends MediaObjectInterface
FILE: system/src/Grav/Common/Media/Interfaces/MediaCollectionInterface.php
type MediaCollectionInterface (line 19) | interface MediaCollectionInterface extends \Grav\Framework\Media\Interfa...
method getPath (line 26) | public function getPath();
method setPath (line 32) | public function setPath(?string $path);
method get (line 40) | public function get($filename);
method all (line 47) | public function all();
method images (line 54) | public function images();
method videos (line 61) | public function videos();
method audios (line 68) | public function audios();
method files (line 75) | public function files();
method setTimestamps (line 83) | public function setTimestamps($timestamp = null);
method add (line 90) | public function add($name, $file);
method createFromFile (line 99) | public function createFromFile($file, array $params = []);
method createFromArray (line 108) | public function createFromArray(array $items = [], Blueprint $blueprin...
method getImageFileObject (line 114) | public function getImageFileObject(MediaObjectInterface $mediaObject):...
FILE: system/src/Grav/Common/Media/Interfaces/MediaFileInterface.php
type MediaFileInterface (line 15) | interface MediaFileInterface extends MediaObjectInterface
method exists (line 22) | public function exists();
method modified (line 29) | public function modified();
method size (line 36) | public function size();
method path (line 44) | public function path($reset = true);
method relativePath (line 52) | public function relativePath($reset = true);
FILE: system/src/Grav/Common/Media/Interfaces/MediaInterface.php
type MediaInterface (line 15) | interface MediaInterface extends \Grav\Framework\Media\Interfaces\MediaI...
FILE: system/src/Grav/Common/Media/Interfaces/MediaLinkInterface.php
type MediaLinkInterface (line 15) | interface MediaLinkInterface
FILE: system/src/Grav/Common/Media/Interfaces/MediaObjectInterface.php
type MediaObjectInterface (line 22) | interface MediaObjectInterface extends \Grav\Framework\Media\Interfaces\...
method copy (line 29) | public function copy();
method meta (line 36) | public function meta();
method setTimestamp (line 44) | public function setTimestamp($timestamp = null);
method metadata (line 51) | public function metadata();
method addMetaFile (line 58) | public function addMetaFile($filepath);
method addAlternative (line 66) | public function addAlternative($ratio, MediaObjectInterface $alternati...
method getAlternatives (line 74) | public function getAlternatives(bool $withDerived = true): array;
method __toString (line 81) | public function __toString();
method querystring (line 90) | public function querystring($querystring = null, $withQuestionmark = t...
method urlQuerystring (line 98) | public function urlQuerystring($url);
method urlHash (line 107) | public function urlHash($hash = null, $withHash = true);
method parsedownElement (line 119) | public function parsedownElement($title = null, $alt = null, $class = ...
method reset (line 126) | public function reset();
method attribute (line 135) | public function attribute($attribute = null, $value = '');
method display (line 143) | public function display($mode = 'source');
method thumbnailExists (line 151) | public function thumbnailExists($type = 'page');
method thumbnail (line 159) | public function thumbnail($type = 'auto');
method link (line 168) | public function link($reset = true, array $attributes = []);
method lightbox (line 178) | public function lightbox($width = null, $height = null, $reset = true);
method classes (line 186) | public function classes();
method id (line 195) | public function id($id);
method style (line 204) | public function style($style);
method __call (line 213) | #[\ReturnTypeWillChange]
method set (line 226) | public function set($name, $value, $separator = null);
FILE: system/src/Grav/Common/Media/Interfaces/MediaPlayerInterface.php
type MediaPlayerInterface (line 15) | interface MediaPlayerInterface extends MediaObjectInterface
method controls (line 23) | public function controls($status = true);
method loop (line 31) | public function loop($status = false);
method autoplay (line 39) | public function autoplay($status = false);
method muted (line 47) | public function muted($status = false);
method preload (line 55) | public function preload($preload = null);
FILE: system/src/Grav/Common/Media/Interfaces/MediaUploadInterface.php
type MediaUploadInterface (line 18) | interface MediaUploadInterface
method checkUploadedFile (line 35) | public function checkUploadedFile(UploadedFileInterface $uploadedFile,...
method copyUploadedFile (line 54) | public function copyUploadedFile(UploadedFileInterface $uploadedFile, ...
method deleteFile (line 63) | public function deleteFile(string $filename, array $settings = null): ...
method renameFile (line 72) | public function renameFile(string $from, string $to, array $settings =...
FILE: system/src/Grav/Common/Media/Interfaces/VideoMediaInterface.php
type VideoMediaInterface (line 15) | interface VideoMediaInterface extends MediaObjectInterface, MediaPlayerI...
method poster (line 23) | public function poster($urlImage);
method playsinline (line 31) | public function playsinline($status = false);
FILE: system/src/Grav/Common/Media/Traits/AudioMediaTrait.php
type AudioMediaTrait (line 16) | trait AudioMediaTrait
method controlsList (line 28) | public function controlsList($controlsList)
method sourceParsedownElement (line 43) | protected function sourceParsedownElement(array $attributes, $reset = ...
FILE: system/src/Grav/Common/Media/Traits/ImageDecodingTrait.php
type ImageDecodingTrait (line 18) | trait ImageDecodingTrait
method decoding (line 26) | public function decoding($value = null)
FILE: system/src/Grav/Common/Media/Traits/ImageFetchPriorityTrait.php
type ImageFetchPriorityTrait (line 18) | trait ImageFetchPriorityTrait
method fetchpriority (line 26) | public function fetchpriority($value = null)
FILE: system/src/Grav/Common/Media/Traits/ImageLoadingTrait.php
type ImageLoadingTrait (line 18) | trait ImageLoadingTrait
method loading (line 26) | public function loading($value = null)
FILE: system/src/Grav/Common/Media/Traits/ImageMediaTrait.php
type ImageMediaTrait (line 27) | trait ImageMediaTrait
method setImagePrettyName (line 82) | public function setImagePrettyName($name)
method getImagePrettyName (line 93) | public function getImagePrettyName()
method cache (line 111) | public function cache()
method derivatives (line 130) | public function derivatives($min_width, $max_width = 2500, $step = 200)
method clearAlternatives (line 197) | public function clearAlternatives()
method quality (line 208) | public function quality($quality = null)
method format (line 229) | public function format($format)
method sizes (line 246) | public function sizes($sizes = null)
method width (line 269) | public function width($value = 'auto')
method height (line 292) | public function height($value = 'auto')
method filter (line 309) | public function filter($filter = 'image.filters.default')
method higherQualityAlternative (line 326) | public function higherQualityAlternative()
method image (line 349) | protected function image()
method saveImage (line 394) | protected function saveImage()
FILE: system/src/Grav/Common/Media/Traits/MediaFileTrait.php
type MediaFileTrait (line 19) | trait MediaFileTrait
method exists (line 26) | public function exists()
method modified (line 38) | public function modified()
method size (line 53) | public function size()
method path (line 69) | public function path($reset = true)
method relativePath (line 84) | public function relativePath($reset = true)
method url (line 108) | public function url($reset = true)
method urlQuerystring (line 126) | abstract public function urlQuerystring($url);
method reset (line 133) | abstract public function reset();
method getGrav (line 138) | abstract protected function getGrav(): Grav;
FILE: system/src/Grav/Common/Media/Traits/MediaObjectTrait.php
type MediaObjectTrait (line 30) | trait MediaObjectTrait
method copy (line 67) | public function copy()
method meta (line 77) | public function meta()
method setTimestamp (line 88) | public function setTimestamp($timestamp = null)
method metadata (line 106) | public function metadata()
method addMetaFile (line 116) | abstract public function addMetaFile($filepath);
method addAlternative (line 124) | public function addAlternative($ratio, MediaObjectInterface $alternative)
method getAlternatives (line 140) | public function getAlternatives(bool $withDerived = true): array
method __toString (line 159) | #[\ReturnTypeWillChange]
method querystring (line 169) | public function querystring($querystring = null, $withQuestionmark = t...
method urlQuerystring (line 198) | public function urlQuerystring($url)
method urlHash (line 215) | public function urlHash($hash = null, $withHash = true)
method parsedownElement (line 236) | public function parsedownElement($title = null, $alt = null, $class = ...
method reset (line 318) | public function reset()
method attribute (line 332) | public function attribute($attribute = null, $value = '')
method display (line 347) | public function display($mode = 'source')
method thumbnailExists (line 369) | public function thumbnailExists($type = 'page')
method thumbnail (line 382) | public function thumbnail($type = 'auto')
method url (line 403) | abstract public function url($reset = true);
method link (line 412) | public function link($reset = true, array $attributes = [])
method lightbox (line 435) | public function lightbox($width = null, $height = null, $reset = true)
method classes (line 453) | public function classes()
method id (line 470) | public function id($id)
method style (line 486) | public function style($style)
method __call (line 500) | #[\ReturnTypeWillChange]
method sourceParsedownElement (line 528) | protected function sourceParsedownElement(array $attributes, $reset = ...
method textParsedownElement (line 540) | protected function textParsedownElement(array $attributes, $reset = true)
method getThumbnail (line 566) | protected function getThumbnail()
method get (line 601) | abstract public function get($name, $default = null, $separator = null);
method set (line 613) | abstract public function set($name, $value, $separator = null);
method createThumbnail (line 618) | abstract protected function createThumbnail($thumb);
method createLink (line 624) | abstract protected function createLink(array $attributes);
method getItems (line 629) | abstract protected function getItems(): array;
FILE: system/src/Grav/Common/Media/Traits/MediaPlayerTrait.php
type MediaPlayerTrait (line 17) | trait MediaPlayerTrait
method controls (line 25) | public function controls($status = true)
method loop (line 42) | public function loop($status = false)
method autoplay (line 59) | public function autoplay($status = false)
method muted (line 76) | public function muted($status = false)
method preload (line 93) | public function preload($preload = null)
method resetPlayer (line 109) | public function resetPlayer()
FILE: system/src/Grav/Common/Media/Traits/MediaTrait.php
type MediaTrait (line 24) | trait MediaTrait
method getMediaFolder (line 36) | abstract public function getMediaFolder();
method getMediaOrder (line 43) | public function getMediaOrder()
method getMediaUri (line 53) | public function getMediaUri()
method getMedia (line 79) | public function getMedia()
method setMedia (line 105) | protected function setMedia(MediaCollectionInterface $media)
method freeMedia (line 119) | protected function freeMedia()
method clearMediaCache (line 129) | protected function clearMediaCache()
method getMediaCache (line 141) | protected function getMediaCache()
method getCacheKey (line 152) | abstract protected function getCacheKey(): string;
FILE: system/src/Grav/Common/Media/Traits/MediaUploadTrait.php
type MediaUploadTrait (line 34) | trait MediaUploadTrait
method createFromUploadedFile (line 54) | public function createFromUploadedFile(UploadedFileInterface $uploaded...
method checkUploadedFile (line 74) | public function checkUploadedFile(UploadedFileInterface $uploadedFile,...
method checkFileMetadata (line 118) | public function checkFileMetadata(array $metadata, string $filename = ...
method copyUploadedFile (line 255) | public function copyUploadedFile(UploadedFileInterface $uploadedFile, ...
method deleteFile (line 332) | public function deleteFile(string $filename, array $settings = null): ...
method renameFile (line 374) | public function renameFile(string $from, string $to, array $settings =...
method doMoveUploadedFile (line 414) | protected function doMoveUploadedFile(UploadedFileInterface $uploadedF...
method getUploadSettings (line 437) | public function getUploadSettings(?array $settings = null): array
method doCopy (line 449) | protected function doCopy(string $src, string $dst, string $path): void
method doRename (line 474) | protected function doRename(string $from, string $to, string $path): void
method doRemove (line 521) | protected function doRemove(string $filename, string $path): void
method doSaveMetadata (line 589) | protected function doSaveMetadata(array $metadata, string $filename, s...
method doRemoveMetadata (line 609) | protected function doRemoveMetadata(string $filename, string $path): void
method doSanitizeSvg (line 634) | protected function doSanitizeSvg(string $filename, string $path): void
method doAddUploadedMedium (line 654) | protected function doAddUploadedMedium(string $name, string $filename,...
method translate (line 666) | protected function translate(string $string): string
method getPath (line 671) | abstract protected function getPath(): ?string;
method getGrav (line 673) | abstract protected function getGrav(): Grav;
method getConfig (line 675) | abstract protected function getConfig(): Config;
method getLanguage (line 677) | abstract protected function getLanguage(): Language;
method clearCache (line 679) | abstract protected function clearCache(): void;
FILE: system/src/Grav/Common/Media/Traits/StaticResizeTrait.php
type StaticResizeTrait (line 16) | trait StaticResizeTrait
method resize (line 25) | public function resize($width = null, $height = null)
FILE: system/src/Grav/Common/Media/Traits/ThumbnailMediaTrait.php
type ThumbnailMediaTrait (line 22) | trait ThumbnailMediaTrait
method srcset (line 36) | public function srcset($reset = true)
method parsedownElement (line 51) | public function parsedownElement($title = null, $alt = null, $class = ...
method html (line 66) | public function html($title = null, $alt = null, $class = null, $id = ...
method display (line 78) | public function display($mode = 'source')
method thumbnail (line 90) | public function thumbnail($type = 'auto')
method link (line 104) | public function link($reset = true, array $attributes = [])
method lightbox (line 117) | public function lightbox($width = null, $height = null, $reset = true)
method bubble (line 130) | protected function bubble($method, array $arguments = [], $testLinked ...
FILE: system/src/Grav/Common/Media/Traits/VideoMediaTrait.php
type VideoMediaTrait (line 16) | trait VideoMediaTrait
method poster (line 27) | public function poster($urlImage)
method playsinline (line 40) | public function playsinline($status = false)
method sourceParsedownElement (line 58) | protected function sourceParsedownElement(array $attributes, $reset = ...
FILE: system/src/Grav/Common/Page/Collection.php
class Collection (line 32) | class Collection extends Iterator implements PageCollectionInterface
method __construct (line 46) | public function __construct($items = [], array $params = [], Pages $pa...
method params (line 59) | public function params()
method setParams (line 70) | public function setParams(array $params)
method addPage (line 83) | public function addPage(PageInterface $page)
method add (line 97) | public function add($path, $slug)
method copy (line 110) | public function copy()
method merge (line 122) | public function merge(PageCollectionInterface $collection)
method intersect (line 137) | public function intersect(PageCollectionInterface $collection)
method setCurrent (line 152) | public function setCurrent(string $path): void
method current (line 166) | #[\ReturnTypeWillChange]
method key (line 179) | #[\ReturnTypeWillChange]
method offsetGet (line 193) | #[\ReturnTypeWillChange]
method batch (line 205) | public function batch($size)
method remove (line 224) | public function remove($key = null)
method order (line 249) | public function order($by, $dir = 'asc', $manual = null, $sort_flags =...
method isFirst (line 262) | public function isFirst($path): bool
method isLast (line 273) | public function isLast($path): bool
method prevSibling (line 285) | public function prevSibling($path)
method nextSibling (line 297) | public function nextSibling($path)
method adjacentSibling (line 309) | public function adjacentSibling($path, $direction = 1)
method currentPosition (line 329) | public function currentPosition($path): ?int
method dateRange (line 348) | public function dateRange($startDate = null, $endDate = null, $field =...
method visible (line 377) | public function visible()
method nonVisible (line 397) | public function nonVisible()
method pages (line 417) | public function pages()
method modules (line 437) | public function modules()
method nonModular (line 457) | public function nonModular()
method modular (line 469) | public function modular()
method translated (line 482) | public function translated()
method nonTranslated (line 503) | public function nonTranslated()
method published (line 523) | public function published()
method nonPublished (line 543) | public function nonPublished()
method routable (line 563) | public function routable()
method nonRoutable (line 585) | public function nonRoutable()
method ofType (line 606) | public function ofType($type)
method ofOneOfTheseTypes (line 628) | public function ofOneOfTheseTypes($types)
method ofOneOfTheseAccessLevels (line 650) | public function ofOneOfTheseAccessLevels($accessLevels)
method toExtendedArray (line 698) | public function toExtendedArray()
FILE: system/src/Grav/Common/Page/Header.php
class Header (line 23) | class Header implements ArrayAccess, ExportInterface, JsonSerializable
method jsonSerialize (line 33) | #[\ReturnTypeWillChange]
FILE: system/src/Grav/Common/Page/Interfaces/PageCollectionInterface.php
type PageCollectionInterface (line 28) | interface PageCollectionInterface extends Traversable, ArrayAccess, Coun...
method params (line 35) | public function params();
method setParams (line 43) | public function setParams(array $params);
method addPage (line 51) | public function addPage(PageInterface $page);
method copy (line 68) | public function copy();
method merge (line 78) | public function merge(PageCollectionInterface $collection);
method intersect (line 87) | public function intersect(PageCollectionInterface $collection);
method batch (line 96) | public function batch($size);
method order (line 118) | public function order($by, $dir = 'asc', $manual = null, $sort_flags =...
method isFirst (line 126) | public function isFirst($path): bool;
method isLast (line 134) | public function isLast($path): bool;
method prevSibling (line 143) | public function prevSibling($path);
method nextSibling (line 152) | public function nextSibling($path);
method adjacentSibling (line 162) | public function adjacentSibling($path, $direction = 1);
method currentPosition (line 170) | public function currentPosition($path): ?int;
method dateRange (line 185) | public function dateRange($startDate = null, $endDate = null, $field =...
method visible (line 193) | public function visible();
method nonVisible (line 201) | public function nonVisible();
method pages (line 209) | public function pages();
method modules (line 217) | public function modules();
method modular (line 226) | public function modular();
method nonModular (line 235) | public function nonModular();
method published (line 243) | public function published();
method nonPublished (line 251) | public function nonPublished();
method routable (line 259) | public function routable();
method nonRoutable (line 267) | public function nonRoutable();
method ofType (line 276) | public function ofType($type);
method ofOneOfTheseTypes (line 285) | public function ofOneOfTheseTypes($types);
method ofOneOfTheseAccessLevels (line 294) | public function ofOneOfTheseAccessLevels($accessLevels);
method toArray (line 301) | public function toArray();
method toExtendedArray (line 309) | public function toExtendedArray();
FILE: system/src/Grav/Common/Page/Interfaces/PageContentInterface.php
type PageContentInterface (line 19) | interface PageContentInterface
method header (line 27) | public function header($var = null);
method summary (line 36) | public function summary($size = null, $textOnly = false);
method setSummary (line 43) | public function setSummary($summary);
method content (line 51) | public function content($var = null);
method getRawContent (line 58) | public function getRawContent();
method setRawContent (line 65) | public function setRawContent($content);
method rawMarkdown (line 73) | public function rawMarkdown($var = null);
method value (line 82) | public function value($name, $default = null);
method media (line 90) | public function media($var = null);
method title (line 98) | public function title($var = null);
method menu (line 107) | public function menu($var = null);
method visible (line 115) | public function visible($var = null);
method published (line 123) | public function published($var = null);
method publishDate (line 131) | public function publishDate($var = null);
method unpublishDate (line 139) | public function unpublishDate($var = null);
method process (line 148) | public function process($var = null);
method slug (line 157) | public function slug($var = null);
method order (line 165) | public function order($var = null);
method id (line 173) | public function id($var = null);
method modified (line 181) | public function modified($var = null);
method lastModified (line 189) | public function lastModified($var = null);
method folder (line 197) | public function folder($var = null);
method date (line 205) | public function date($var = null);
method dateformat (line 214) | public function dateformat($var = null);
method taxonomy (line 222) | public function taxonomy($var = null);
method shouldProcess (line 230) | public function shouldProcess($process);
method isModule (line 237) | public function isModule(): bool;
method isPage (line 244) | public function isPage();
method isDir (line 251) | public function isDir();
method exists (line 258) | public function exists();
method getBlueprint (line 266) | public function getBlueprint(string $name = '');
FILE: system/src/Grav/Common/Page/Interfaces/PageFormInterface.php
type PageFormInterface (line 8) | interface PageFormInterface
method addForms (line 25) | public function addForms(array $new/*, $override = true*/);
method forms (line 32) | public function forms();
FILE: system/src/Grav/Common/Page/Interfaces/PageInterface.php
type PageInterface (line 17) | interface PageInterface extends
FILE: system/src/Grav/Common/Page/Interfaces/PageLegacyInterface.php
type PageLegacyInterface (line 15) | interface PageLegacyInterface
method init (line 24) | public function init(SplFileInfo $file, $extension = null);
method raw (line 32) | public function raw($var = null);
method frontmatter (line 40) | public function frontmatter($var = null);
method modifyHeader (line 48) | public function modifyHeader($key, $value);
method httpResponseCode (line 53) | public function httpResponseCode();
method httpHeaders (line 58) | public function httpHeaders();
method contentMeta (line 65) | public function contentMeta();
method addContentMeta (line 73) | public function addContentMeta($name, $value);
method getContentMeta (line 81) | public function getContentMeta($name = null);
method setContentMeta (line 89) | public function setContentMeta($content_meta);
method cachePageContent (line 94) | public function cachePageContent();
method file (line 101) | public function file();
method save (line 108) | public function save($reorder = true);
method move (line 118) | public function move(PageInterface $parent);
method copy (line 129) | public function copy(PageInterface $parent);
method blueprints (line 136) | public function blueprints();
method blueprintName (line 143) | public function blueprintName();
method validate (line 150) | public function validate();
method filter (line 155) | public function filter();
method extra (line 162) | public function extra();
method toArray (line 169) | public function toArray();
method toYaml (line 176) | public function toYaml();
method toJson (line 183) | public function toJson();
method forms (line 190) | public function forms();
method addForms (line 195) | public function addForms(array $new);
method name (line 203) | public function name($var = null);
method childType (line 210) | public function childType();
method template (line 219) | public function template($var = null);
method templateFormat (line 228) | public function templateFormat($var = null);
method extension (line 236) | public function extension($var = null);
method expires (line 244) | public function expires($var = null);
method cacheControl (line 253) | public function cacheControl($var = null);
method ssl (line 259) | public function ssl($var = null);
method debugger (line 266) | public function debugger();
method metadata (line 275) | public function metadata($var = null);
method eTag (line 283) | public function eTag($var = null): bool;
method filePath (line 291) | public function filePath($var = null);
method filePathClean (line 298) | public function filePathClean();
method orderDir (line 307) | public function orderDir($var = null);
method orderBy (line 321) | public function orderBy($var = null);
method orderManual (line 330) | public function orderManual($var = null);
method maxCount (line 340) | public function maxCount($var = null);
method modular (line 349) | public function modular($var = null);
method modularTwig (line 358) | public function modularTwig($var = null);
method children (line 365) | public function children();
method isFirst (line 372) | public function isFirst();
method isLast (line 379) | public function isLast();
method prevSibling (line 386) | public function prevSibling();
method nextSibling (line 393) | public function nextSibling();
method adjacentSibling (line 401) | public function adjacentSibling($direction = 1);
method ancestor (line 409) | public function ancestor($lookup = null);
method inherited (line 418) | public function inherited($field);
method inheritedField (line 427) | public function inheritedField($field);
method find (line 436) | public function find($url, $all = false);
method collection (line 446) | public function collection($params = 'content', $pagination = true);
method evaluate (line 453) | public function evaluate($value, $only_published = true);
method folderExists (line 460) | public function folderExists();
method getOriginal (line 467) | public function getOriginal();
method getAction (line 474) | public function getAction();
FILE: system/src/Grav/Common/Page/Interfaces/PageRoutableInterface.php
type PageRoutableInterface (line 8) | interface PageRoutableInterface
method urlExtension (line 16) | public function urlExtension();
method routable (line 26) | public function routable($var = null);
method link (line 34) | public function link($include_host = false);
method permalink (line 40) | public function permalink();
method canonical (line 48) | public function canonical($include_lang = true);
method url (line 59) | public function url($include_host = false, $canonical = false, $includ...
method route (line 68) | public function route($var = null);
method unsetRouteSlug (line 73) | public function unsetRouteSlug();
method rawRoute (line 81) | public function rawRoute($var = null);
method routeAliases (line 89) | public function routeAliases($var = null);
method routeCanonical (line 98) | public function routeCanonical($var = null);
method redirect (line 106) | public function redirect($var = null);
method relativePagePath (line 111) | public function relativePagePath();
method path (line 120) | public function path($var = null);
method folder (line 128) | public function folder($var = null);
method parent (line 136) | public function parent(PageInterface $var = null);
method topParent (line 143) | public function topParent();
method currentPosition (line 150) | public function currentPosition();
method active (line 157) | public function active();
method activeChild (line 165) | public function activeChild();
method home (line 172) | public function home();
method root (line 179) | public function root();
FILE: system/src/Grav/Common/Page/Interfaces/PageTranslateInterface.php
type PageTranslateInterface (line 8) | interface PageTranslateInterface
method translated (line 13) | public function translated(): bool;
method translatedLanguages (line 21) | public function translatedLanguages($onlyPublished = false);
method untranslatedLanguages (line 29) | public function untranslatedLanguages($includeUnpublished = false);
method language (line 37) | public function language($var = null);
FILE: system/src/Grav/Common/Page/Interfaces/PagesSourceInterface.php
type PagesSourceInterface (line 16) | interface PagesSourceInterface // extends \Iterator
method getTimestamp (line 23) | public function getTimestamp(): int;
method getChecksum (line 30) | public function getChecksum(): string;
method has (line 38) | public function has(string $route): bool;
method get (line 46) | public function get(string $route): ?PageInterface;
method getChildren (line 55) | public function getChildren(string $route, array $options = null): array;
FILE: system/src/Grav/Common/Page/Markdown/Excerpts.php
class Excerpts (line 33) | class Excerpts
method __construct (line 45) | public function __construct(PageInterface $page = null, array $config ...
method getPage (line 65) | public function getPage(): ?PageInterface
method getConfig (line 73) | public function getConfig(): array
method fireInitializedEvent (line 82) | public function fireInitializedEvent($markdown): void
method processLinkExcerpt (line 96) | public function processLinkExcerpt(array $excerpt, string $type = 'lin...
method processImageExcerpt (line 186) | public function processImageExcerpt(array $excerpt): array
method processMediaActions (line 262) | public function processMediaActions($medium, $url)
method parseUrl (line 321) | protected function parseUrl(string $url)
FILE: system/src/Grav/Common/Page/Media.php
class Media (line 28) | class Media extends AbstractMedia
method __construct (line 41) | public function __construct($path, array $media_order = null, $load = ...
method __wakeup (line 55) | public function __wakeup()
method getRawRoute (line 68) | public function getRawRoute(): ?string
method getRoute (line 88) | public function getRoute(): ?string
method offsetExists (line 107) | #[\ReturnTypeWillChange]
method offsetGet (line 117) | #[\ReturnTypeWillChange]
method init (line 128) | protected function init()
method path (line 282) | public function path(): ?string
FILE: system/src/Grav/Common/Page/Medium/AbstractMedia.php
class AbstractMedia (line 34) | abstract class AbstractMedia implements ExportInterface, MediaCollection...
method getPath (line 62) | public function getPath(): ?string
method setPath (line 71) | public function setPath(?string $path): void
method get (line 82) | public function get($filename)
method __invoke (line 93) | #[\ReturnTypeWillChange]
method setTimestamps (line 105) | public function setTimestamps($timestamp = null)
method all (line 119) | public function all()
method images (line 131) | public function images()
method videos (line 143) | public function videos()
method audios (line 155) | public function audios()
method files (line 167) | public function files()
method add (line 179) | public function add($name, $file)
method hide (line 206) | public function hide($name)
method createFromFile (line 220) | public function createFromFile($file, array $params = [])
method createFromArray (line 232) | public function createFromArray(array $items = [], Blueprint $blueprin...
method getImageFileObject (line 241) | public function getImageFileObject(MediaObjectInterface $mediaObject):...
method orderMedia (line 252) | protected function orderMedia($media)
method fileExists (line 275) | protected function fileExists(string $filename, string $destination): ...
method getFileParts (line 286) | protected function getFileParts($filename)
method getGrav (line 323) | protected function getGrav(): Grav
method getConfig (line 328) | protected function getConfig(): Config
method getLanguage (line 333) | protected function getLanguage(): Language
method clearCache (line 338) | protected function clearCache(): void
FILE: system/src/Grav/Common/Page/Medium/AudioMedium.php
class AudioMedium (line 19) | class AudioMedium extends Medium implements AudioMediaInterface
method reset (line 28) | public function reset()
FILE: system/src/Grav/Common/Page/Medium/GlobalMedia.php
class GlobalMedia (line 22) | class GlobalMedia extends AbstractMedia
method getInstance (line 27) | public static function getInstance(): self
method getPath (line 41) | public function getPath(): ?string
method offsetExists (line 50) | #[\ReturnTypeWillChange]
method offsetGet (line 60) | #[\ReturnTypeWillChange]
method resolveStream (line 70) | protected function resolveStream($filename)
method addMedium (line 85) | protected function addMedium($stream)
FILE: system/src/Grav/Common/Page/Medium/ImageFile.php
class ImageFile (line 32) | class ImageFile extends Image
method __construct (line 41) | public function __construct($originalFile = null, $width = null, $heig...
method __destruct (line 60) | #[\ReturnTypeWillChange]
method clearOperations (line 74) | public function clearOperations()
method cacheFile (line 88) | public function cacheFile($type = 'jpg', $quality = 80, $actual = fals...
method getHash (line 165) | public function getHash($type = 'guess', $quality = 80, $extras = [])
method generateHash (line 181) | public function generateHash($type = 'guess', $quality = 80, $extras =...
method fixOrientation (line 199) | public function fixOrientation()
FILE: system/src/Grav/Common/Page/Medium/ImageMedium.php
class ImageMedium (line 31) | class ImageMedium extends Medium implements ImageMediaInterface, ImageMa...
method __construct (line 49) | public function __construct($items = [], Blueprint $blueprint = null)
method getMeta (line 85) | public function getMeta(): array
method __destruct (line 96) | #[\ReturnTypeWillChange]
method __clone (line 105) | #[\ReturnTypeWillChange]
method reset (line 120) | public function reset()
method addMetaFile (line 151) | public function addMetaFile($filepath)
method path (line 167) | public function path($reset = true)
method url (line 184) | public function url($reset = true)
method srcset (line 217) | public function srcset($reset = true)
method sourceParsedownElement (line 243) | public function sourceParsedownElement(array $attributes, $reset = true)
method link (line 280) | public function link($reset = true, array $attributes = [])
method lightbox (line 299) | public function lightbox($width = null, $height = null, $reset = true)
method autoSizes (line 316) | public function autoSizes($enabled = 'true')
method aspectRatio (line 327) | public function aspectRatio($enabled = 'true')
method retinaScale (line 338) | public function retinaScale($scale = 1)
method watermark (line 351) | public function watermark($image = null, $position = null, $scale = null)
method cropZoom (line 417) | public function cropZoom()
method addFrame (line 429) | public function addFrame(int $border = 10, string $color = '0x000000')
method __call (line 462) | #[\ReturnTypeWillChange]
FILE: system/src/Grav/Common/Page/Medium/Link.php
class Link (line 25) | class Link implements RenderableInterface, MediaLinkInterface
method __construct (line 39) | public function __construct(array $attributes, MediaObjectInterface $m...
method parsedownElement (line 63) | public function parsedownElement($title = null, $alt = null, $class = ...
method __call (line 82) | #[\ReturnTypeWillChange]
FILE: system/src/Grav/Common/Page/Medium/Medium.php
class Medium (line 34) | class Medium extends Data implements RenderableInterface, MediaFileInter...
method __construct (line 46) | public function __construct($items = [], Blueprint $blueprint = null)
method __clone (line 67) | #[\ReturnTypeWillChange]
method addMetaFile (line 78) | public function addMetaFile($filepath)
method getMeta (line 87) | public function getMeta(): array
method __toString (line 101) | #[\ReturnTypeWillChange]
method createThumbnail (line 111) | protected function createThumbnail($thumb)
method createLink (line 120) | protected function createLink(array $attributes)
method getGrav (line 128) | protected function getGrav(): Grav
method getItems (line 136) | protected function getItems(): array
FILE: system/src/Grav/Common/Page/Medium/MediumFactory.php
class MediumFactory (line 26) | class MediumFactory
method fromFile (line 35) | public static function fromFile($file, array $params = [])
method fromUploadedFile (line 93) | public static function fromUploadedFile(UploadedFileInterface $uploade...
method fromArray (line 153) | public static function fromArray(array $items = [], Blueprint $bluepri...
method scaledFromMedium (line 183) | public static function scaledFromMedium($medium, $from, $to)
FILE: system/src/Grav/Common/Page/Medium/ParsedownHtmlTrait.php
type ParsedownHtmlTrait (line 19) | trait ParsedownHtmlTrait
method html (line 34) | public function html($title = null, $alt = null, $class = null, $id = ...
FILE: system/src/Grav/Common/Page/Medium/RenderableInterface.php
type RenderableInterface (line 16) | interface RenderableInterface
method html (line 28) | public function html($title = null, $alt = null, $class = null, $id = ...
method parsedownElement (line 40) | public function parsedownElement($title = null, $alt = null, $class = ...
FILE: system/src/Grav/Common/Page/Medium/StaticImageMedium.php
class StaticImageMedium (line 20) | class StaticImageMedium extends Medium implements ImageMediaInterface
method sourceParsedownElement (line 32) | protected function sourceParsedownElement(array $attributes, $reset = ...
method higherQualityAlternative (line 44) | public function higherQualityAlternative()
FILE: system/src/Grav/Common/Page/Medium/StaticResizeTrait.php
type StaticResizeTrait (line 21) | trait StaticResizeTrait
FILE: system/src/Grav/Common/Page/Medium/ThumbnailImageMedium.php
class ThumbnailImageMedium (line 18) | class ThumbnailImageMedium extends ImageMedium
FILE: system/src/Grav/Common/Page/Medium/VectorImageMedium.php
class VectorImageMedium (line 19) | class VectorImageMedium extends StaticImageMedium
method __construct (line 27) | public function __construct($items = [], Blueprint $blueprint = null)
FILE: system/src/Grav/Common/Page/Medium/VideoMedium.php
class VideoMedium (line 19) | class VideoMedium extends Medium implements VideoMediaInterface
method reset (line 28) | public function reset()
FILE: system/src/Grav/Common/Page/Page.php
class Page (line 50) | class Page implements PageInterface
method __construct (line 168) | public function __construct()
method init (line 185) | public function init(SplFileInfo $file, $extension = null)
method __clone (line 221) | #[\ReturnTypeWillChange]
method initialize (line 231) | public function initialize(): void
method processFrontmatter (line 244) | protected function processFrontmatter()
method translatedLanguages (line 267) | public function translatedLanguages($onlyPublished = false)
method untranslatedLanguages (line 319) | public function untranslatedLanguages($includeUnpublished = false)
method raw (line 338) | public function raw($var = null)
method frontmatter (line 366) | public function frontmatter($var = null)
method header (line 393) | public function header($var = null)
method language (line 557) | public function language($var = null)
method modifyHeader (line 572) | public function modifyHeader($key, $value)
method httpResponseCode (line 580) | public function httpResponseCode()
method httpHeaders (line 588) | public function httpHeaders()
method summary (line 653) | public function summary($size = null, $textOnly = false)
method setSummary (line 722) | public function setSummary($summary)
method content (line 733) | public function content($var = null)
method contentMeta (line 863) | public function contentMeta()
method addContentMeta (line 878) | public function addContentMeta($name, $value)
method getContentMeta (line 890) | public function getContentMeta($name = null)
method setContentMeta (line 906) | public function setContentMeta($content_meta)
method processMarkdown (line 917) | protected function processMarkdown(bool $keepTwig = false)
method processTwig (line 983) | private function processTwig()
method cachePageContent (line 995) | public function cachePageContent()
method getRawContent (line 1008) | public function getRawContent()
method setRawContent (line 1019) | public function setRawContent($content)
method value (line 1031) | public function value($name, $default = null)
method rawMarkdown (line 1114) | public function rawMarkdown($var = null)
method translated (line 1127) | public function translated(): bool
method file (line 1137) | public function file()
method save (line 1151) | public function save($reorder = true)
method move (line 1188) | public function move(PageInterface $parent)
method copy (line 1231) | public function copy(PageInterface $parent)
method blueprints (line 1244) | public function blueprints()
method getBlueprint (line 1274) | public function getBlueprint(string $name = '')
method blueprintName (line 1284) | public function blueprintName()
method validate (line 1302) | public function validate()
method filter (line 1313) | public function filter()
method extra (line 1327) | public function extra()
method toArray (line 1339) | public function toArray()
method toYaml (line 1352) | public function toYaml()
method toJson (line 1362) | public function toJson()
method getCacheKey (line 1370) | public function getCacheKey(): string
method media (line 1381) | public function media($var = null)
method getMediaFolder (line 1398) | public function getMediaFolder()
method getMediaOrder (line 1408) | public function getMediaOrder()
method name (line 1421) | public function name($var = null)
method childType (line 1435) | public function childType()
method template (line 1447) | public function template($var = null)
method templateFormat (line 1466) | public function templateFormat($var = null)
method extension (line 1485) | public function extension($var = null)
method urlExtension (line 1503) | public function urlExtension()
method expires (line 1523) | public function expires($var = null)
method cacheControl (line 1539) | public function cacheControl($var = null)
method title (line 1554) | public function title($var = null)
method menu (line 1573) | public function menu($var = null)
method visible (line 1591) | public function visible($var = null)
method published (line 1616) | public function published($var = null)
method publishDate (line 1636) | public function publishDate($var = null)
method unpublishDate (line 1651) | public function unpublishDate($var = null)
method routable (line 1668) | public function routable($var = null)
method ssl (line 1681) | public function ssl($var = null)
method process (line 1697) | public function process($var = null)
method debugger (line 1711) | public function debugger()
method metadata (line 1723) | public function metadata($var = null)
method resetMetadata (line 1804) | public function resetMetadata()
method slug (line 1816) | public function slug($var = null)
method order (line 1835) | public function order($var = null)
method link (line 1855) | public function link($include_host = false)
method permalink (line 1864) | public function permalink()
method canonical (line 1875) | public function canonical($include_lang = true)
method url (line 1889) | public function url($include_host = false, $canonical = false, $includ...
method route (line 1934) | public function route($var = null)
method unsetRouteSlug (line 1969) | public function unsetRouteSlug()
method rawRoute (line 1980) | public function rawRoute($var = null)
method routeAliases (line 2004) | public function routeAliases($var = null)
method routeCanonical (line 2024) | public function routeCanonical($var = null)
method id (line 2043) | public function id($var = null)
method modified (line 2065) | public function modified($var = null)
method redirect (line 2080) | public function redirect($var = null)
method eTag (line 2095) | public function eTag($var = null): bool
method lastModified (line 2113) | public function lastModified($var = null)
method filePath (line 2131) | public function filePath($var = null)
method filePathClean (line 2150) | public function filePathClean()
method relativePagePath (line 2160) | public function relativePagePath()
method path (line 2172) | public function path($var = null)
method folder (line 2190) | public function folder($var = null)
method date (line 2205) | public function date($var = null)
method dateformat (line 2225) | public function dateformat($var = null)
method orderDir (line 2241) | public function orderDir($var = null)
method orderBy (line 2268) | public function orderBy($var = null)
method orderManual (line 2286) | public function orderManual($var = null)
method maxCount (line 2305) | public function maxCount($var = null)
method taxonomy (line 2327) | public function taxonomy($var = null)
method modular (line 2351) | public function modular($var = null)
method modularTwig (line 2365) | public function modularTwig($var = null)
method shouldProcess (line 2387) | public function shouldProcess($process)
method parent (line 2398) | public function parent(PageInterface $var = null)
method topParent (line 2417) | public function topParent()
method children (line 2438) | public function children()
method isFirst (line 2452) | public function isFirst()
method isLast (line 2468) | public function isLast()
method prevSibling (line 2484) | public function prevSibling()
method nextSibling (line 2494) | public function nextSibling()
method adjacentSibling (line 2505) | public function adjacentSibling($direction = 1)
method currentPosition (line 2521) | public function currentPosition()
method active (line 2537) | public function active()
method activeChild (line 2551) | public function activeChild()
method home (line 2581) | public function home()
method root (line 2593) | public function root()
method ancestor (line 2604) | public function ancestor($lookup = null)
method inherited (line 2619) | public function inherited($field)
method inheritedField (line 2636) | public function inheritedField($field)
method getInheritedParams (line 2649) | protected function getInheritedParams($field)
method find (line 2672) | public function find($url, $all = false)
method collection (line 2689) | public function collection($params = 'content', $pagination = true)
method evaluate (line 2715) | public function evaluate($value, $only_published = true)
method isPage (line 2739) | public function isPage()
method isDir (line 2753) | public function isDir()
method isModule (line 2761) | public function isModule(): bool
method exists (line 2771) | public function exists()
method folderExists (line 2783) | public function folderExists()
method cleanPath (line 2794) | protected function cleanPath($path)
method doReorder (line 2809) | protected function doReorder($new_order)
method doRelocation (line 2859) | protected function doRelocation()
method setPublishState (line 2884) | protected function setPublishState()
method adjustRouteCase (line 2909) | protected function adjustRouteCase($route)
method getOriginal (line 2921) | public function getOriginal()
method getAction (line 2931) | public function getAction()
FILE: system/src/Grav/Common/Page/Pages.php
class Pages (line 56) | class Pages
method __construct (line 112) | public function __construct(Grav $grav)
method getDirectory (line 120) | public function getDirectory(): ?FlexDirectory
method disablePages (line 128) | public function disablePages(): void
method enablePages (line 136) | public function enablePages(): void
method base (line 151) | public function base($path = null)
method baseRoute (line 169) | public function baseRoute($lang = null)
method route (line 194) | public function route($route = '/', $lang = null)
method referrerRoute (line 214) | public function referrerRoute(?string &$langCode, string $route = '/')...
method baseUrl (line 263) | public function baseUrl($lang = null, $absolute = null)
method homeUrl (line 284) | public function homeUrl($lang = null, $absolute = null)
method url (line 298) | public function url($route = '/', $lang = null, $absolute = null)
method setCheckMethod (line 311) | public function setCheckMethod($method): void
method register (line 319) | public function register(): void
method reset (line 333) | public function reset(): void
method init (line 343) | public function init(): void
method lastModified (line 382) | public function lastModified($modified = null)
method instances (line 396) | public function instances()
method routes (line 414) | public function routes()
method addPage (line 425) | public function addPage(PageInterface $page, $route = null): void
method getCollection (line 449) | public function getCollection(array $params = [], array $context = [])
method evaluate (line 648) | protected function evaluate($value, PageInterface $self = null)
method sort (line 771) | public function sort(PageInterface $page, $order_by = null, $order_dir...
method sortCollection (line 813) | public function sortCollection(Collection $collection, $orderBy, $orde...
method get (line 841) | public function get($path)
method children (line 898) | public function children($path)
method ancestor (line 912) | public function ancestor($route, $path = null)
method inherited (line 937) | public function inherited($route, $field = null)
method find (line 961) | public function find($route, $all = false)
method findSiteBasedRoute (line 991) | protected function findSiteBasedRoute($route)
method dispatch (line 1037) | public function dispatch($route, $all = false, $redirect = true)
method root (line 1113) | public function root()
method blueprints (line 1133) | public function blueprints($type)
method all (line 1159) | public function all(PageInterface $current = null)
method parentsRawRoutes (line 1182) | public static function parentsRawRoutes()
method getParents (line 1195) | private static function getParents($rawRoutes)
method getList (line 1233) | public function getList(PageInterface $current = null, $level = 0, $ra...
method getTypes (line 1278) | public static function getTypes()
method types (line 1356) | public static function types()
method modularTypes (line 1368) | public static function modularTypes()
method pageTypes (line 1381) | public static function pageTypes($type = null)
method accessLevels (line 1408) | public function accessLevels()
method parents (line 1437) | public static function parents()
method getHomeRoute (line 1449) | public static function getHomeRoute()
method resetHomeRoute (line 1491) | public static function resetHomeRoute()
method initFlexPages (line 1498) | protected function initFlexPages(): void
method buildPages (line 1546) | protected function buildPages(): void
method buildFlexPages (line 1560) | protected function buildFlexPages(FlexDirectory $directory): void
method buildRootPage (line 1682) | protected function buildRootPage()
method buildRegularPages (line 1708) | protected function buildRegularPages(): void
method getPagesPaths (line 1768) | protected function getPagesPaths(): array
method resetPages (line 1790) | public function resetPages(array $pages_dirs): void
method recurse (line 1821) | protected function recurse(string $directory, PageInterface $parent = ...
method buildRoutes (line 1985) | protected function buildRoutes(): void
method buildSort (line 2071) | protected function buildSort($path, array $pages, $order_by = 'default...
method arrayShuffle (line 2215) | protected function arrayShuffle(array $list): array
method getVersion (line 2231) | protected function getVersion(): string
method getPagesCacheId (line 2244) | public function getPagesCacheId(): ?string
method getSimplePagesHash (line 2254) | public function getSimplePagesHash(): ?string
FILE: system/src/Grav/Common/Page/Traits/PageFormTrait.php
type PageFormTrait (line 13) | trait PageFormTrait
method getForms (line 25) | public function getForms(): array
method addForms (line 71) | public function addForms(array $new, $override = true)
method forms (line 92) | public function forms(): array
method normalizeForm (line 103) | protected function normalizeForm($form, $name = null, array $rules = [...
method header (line 124) | abstract public function header($var = null);
method slug (line 125) | abstract public function slug($var = null);
FILE: system/src/Grav/Common/Page/Types.php
class Types (line 29) | class Types implements \ArrayAccess, \Iterator, \Countable
method register (line 43) | public function register($type, $blueprint = null)
method init (line 63) | public function init()
method scanBlueprints (line 78) | public function scanBlueprints($uri)
method scanTemplates (line 93) | public function scanTemplates($uri)
method pageSelect (line 124) | public function pageSelect()
method modularSelect (line 141) | public function modularSelect()
method findBlueprints (line 159) | private function findBlueprints($uri)
FILE: system/src/Grav/Common/Plugin.php
class Plugin (line 31) | class Plugin implements EventSubscriberInterface, ArrayAccess
method getSubscribedEvents (line 54) | public static function getSubscribedEvents()
method __construct (line 75) | public function __construct($name, Grav $grav, Config $config = null)
method getAutoloader (line 89) | final public function getAutoloader(): ?ClassLoader
method setAutoloader (line 98) | final public function setAutoloader(?ClassLoader $loader): void
method setConfig (line 107) | public function setConfig(Config $config)
method config (line 119) | public function config()
method isAdmin (line 129) | public function isAdmin()
method isCli (line 139) | public function isCli()
method isPluginActiveAdmin (line 150) | protected function isPluginActiveAdmin($plugin_route)
method enable (line 172) | protected function enable(array $events)
method getPriority (line 195) | private function getPriority($params, $eventName)
method disable (line 206) | protected function disable(array $events)
method offsetExists (line 230) | #[\ReturnTypeWillChange]
method offsetGet (line 248) | #[\ReturnTypeWillChange]
method offsetSet (line 267) | #[\ReturnTypeWillChange]
method offsetUnset (line 279) | #[\ReturnTypeWillChange]
method __debugInfo (line 288) | public function __debugInfo(): array
method parseLinks (line 310) | protected function parseLinks($content, $function, $internal_regex = '...
method mergeConfig (line 333) | protected function mergeConfig(PageInterface $page, $deep = false, $pa...
method mergeArrays (line 378) | private function mergeArrays($deep, $array1, $array2)
method saveConfig (line 396) | public static function saveConfig($name)
method inheritedConfigOption (line 417) | public static function inheritedConfigOption(string $plugin, string $v...
method getBlueprint (line 446) | public function getBlueprint()
method loadBlueprint (line 461) | protected function loadBlueprint()
FILE: system/src/Grav/Common/Plugins.php
class Plugins (line 29) | class Plugins extends Iterator
method __construct (line 40) | public function __construct()
method setup (line 71) | public function setup()
method init (line 125) | public function init()
method add (line 168) | public function add($plugin)
method __debugInfo (line 178) | public function __debugInfo(): array
method getPlugins (line 190) | public static function getPlugins(): array
method getPlugin (line 207) | public static function getPlugin(string $name)
method all (line 219) | public static function all()
method get (line 257) | public static function get($name)
method loadPlugin (line 286) | protected function loadPlugin($name)
FILE: system/src/Grav/Common/Processors/AssetsProcessor.php
class AssetsProcessor (line 20) | class AssetsProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/BackupsProcessor.php
class BackupsProcessor (line 20) | class BackupsProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php
class DebuggerAssetsProcessor (line 20) | class DebuggerAssetsProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/Events/RequestHandlerEvent.php
class RequestHandlerEvent (line 23) | class RequestHandlerEvent extends Event
method getRequest (line 28) | public function getRequest(): ServerRequestInterface
method getRoute (line 36) | public function getRoute(): Route
method getHandler (line 44) | public function getHandler(): RequestHandler
method getResponse (line 52) | public function getResponse(): ?ResponseInterface
method setResponse (line 61) | public function setResponse(ResponseInterface $response): self
method addMiddleware (line 74) | public function addMiddleware(string $name, MiddlewareInterface $middl...
FILE: system/src/Grav/Common/Processors/InitializeProcessor.php
class InitializeProcessor (line 39) | class InitializeProcessor extends ProcessorBase
method initializeCli (line 53) | public static function initializeCli(Grav $grav)
method process (line 68) | public function process(ServerRequestInterface $request, RequestHandle...
method processCli (line 137) | public function processCli(): void
method initializeConfig (line 168) | protected function initializeConfig(): Config
method initializeLogger (line 240) | protected function initializeLogger(Config $config): Logger
method initializeErrors (line 270) | protected function initializeErrors(): Errors
method initializeDebugger (line 289) | protected function initializeDebugger(): Debugger
method handleDebuggerRequest (line 309) | protected function handleDebuggerRequest(Debugger $debugger, ServerReq...
method initializeOutputBuffering (line 338) | protected function initializeOutputBuffering(Config $config): void
method initializeLocale (line 355) | protected function initializeLocale(Config $config): void
method initializePlugins (line 371) | protected function initializePlugins(): Plugins
method initializePages (line 386) | protected function initializePages(Config $config): Pages
method initializeUri (line 405) | protected function initializeUri(Config $config): void
method handleRedirectRequest (line 418) | protected function handleRedirectRequest(RequestInterface $request, in...
method initializeSession (line 440) | protected function initializeSession(Config $config): void
FILE: system/src/Grav/Common/Processors/PagesProcessor.php
class PagesProcessor (line 26) | class PagesProcessor extends ProcessorBase
method process (line 38) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/PluginsProcessor.php
class PluginsProcessor (line 20) | class PluginsProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/ProcessorBase.php
class ProcessorBase (line 19) | abstract class ProcessorBase implements ProcessorInterface
method __construct (line 33) | public function __construct(Grav $container)
method startTimer (line 42) | protected function startTimer($id = null, $title = null): void
method stopTimer (line 52) | protected function stopTimer($id = null): void
method addMessage (line 64) | protected function addMessage($message, $label = 'info', $isString = t...
FILE: system/src/Grav/Common/Processors/ProcessorInterface.php
type ProcessorInterface (line 18) | interface ProcessorInterface extends MiddlewareInterface
FILE: system/src/Grav/Common/Processors/RenderProcessor.php
class RenderProcessor (line 23) | class RenderProcessor extends ProcessorBase
method process (line 35) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/RequestProcessor.php
class RequestProcessor (line 23) | class RequestProcessor extends ProcessorBase
method process (line 35) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/SchedulerProcessor.php
class SchedulerProcessor (line 21) | class SchedulerProcessor extends ProcessorBase
method process (line 33) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/TasksProcessor.php
class TasksProcessor (line 21) | class TasksProcessor extends ProcessorBase
method process (line 33) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/ThemesProcessor.php
class ThemesProcessor (line 20) | class ThemesProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Processors/TwigProcessor.php
class TwigProcessor (line 20) | class TwigProcessor extends ProcessorBase
method process (line 32) | public function process(ServerRequestInterface $request, RequestHandle...
FILE: system/src/Grav/Common/Scheduler/Cron.php
class Cron (line 57) | class Cron
method __construct (line 141) | public function __construct($cron = null)
method getCron (line 151) | public function getCron()
method getText (line 166) | public function getText($lang)
method getType (line 224) | public function getType()
method setCron (line 261) | public function setCron($cron)
method getCronMinutes (line 285) | public function getCronMinutes()
method getCronHours (line 293) | public function getCronHours()
method getCronDaysOfMonth (line 301) | public function getCronDaysOfMonth()
method getCronMonths (line 309) | public function getCronMonths()
method getCronDaysOfWeek (line 317) | public function getCronDaysOfWeek()
method getMinutes (line 325) | public function getMinutes()
method getHours (line 333) | public function getHours()
method getDaysOfMonth (line 341) | public function getDaysOfMonth()
method getMonths (line 349) | public function getMonths()
method getDaysOfWeek (line 357) | public function getDaysOfWeek()
method setMinutes (line 366) | public function setMinutes($minutes)
method setHours (line 377) | public function setHours($hours)
method setMonths (line 388) | public function setMonths($months)
method setDaysOfWeek (line 399) | public function setDaysOfWeek($dow)
method setDaysOfMonth (line 410) | public function setDaysOfMonth($dom)
method parseDate (line 426) | protected function parseDate($date, &$min, &$hour, &$day, &$month, &$w...
method matchExact (line 449) | public function matchExact($date)
method matchWithMargin (line 467) | public function matchWithMargin($date, $minuteBefore = 0, $minuteAfter...
method arrayToCron (line 496) | protected function arrayToCron($array)
method cronToArray (line 525) | protected function cronToArray($string, $min, $max)
FILE: system/src/Grav/Common/Scheduler/IntervalTrait.php
type IntervalTrait (line 20) | trait IntervalTrait
method at (line 28) | public function at($expression)
method everyMinute (line 41) | public function everyMinute()
method hourly (line 52) | public function hourly($minute = 0)
method daily (line 66) | public function daily($hour = 0, $minute = 0)
method weekly (line 86) | public function weekly($weekday = 0, $hour = 0, $minute = 0)
method monthly (line 107) | public function monthly($month = '*', $day = 1, $hour = 0, $minute = 0)
method sunday (line 126) | public function sunday($hour = 0, $minute = 0)
method monday (line 138) | public function monday($hour = 0, $minute = 0)
method tuesday (line 150) | public function tuesday($hour = 0, $minute = 0)
method wednesday (line 162) | public function wednesday($hour = 0, $minute = 0)
method thursday (line 174) | public function thursday($hour = 0, $minute = 0)
method friday (line 186) | public function friday($hour = 0, $minute = 0)
method saturday (line 198) | public function saturday($hour = 0, $minute = 0)
method january (line 211) | public function january($day = 1, $hour = 0, $minute = 0)
method february (line 224) | public function february($day = 1, $hour = 0, $minute = 0)
method march (line 237) | public function march($day = 1, $hour = 0, $minute = 0)
method april (line 250) | public function april($day = 1, $hour = 0, $minute = 0)
method may (line 263) | public function may($day = 1, $hour = 0, $minute = 0)
method june (line 276) | public function june($day = 1, $hour = 0, $minute = 0)
method july (line 289) | public function july($day = 1, $hour = 0, $minute = 0)
method august (line 302) | public function august($day = 1, $hour = 0, $minute = 0)
method september (line 315) | public function september($day = 1, $hour = 0, $minute = 0)
method october (line 328) | public function october($day = 1, $hour = 0, $minute = 0)
method november (line 341) | public function november($day = 1, $hour = 0, $minute = 0)
method december (line 354) | public function december($day = 1, $hour = 0, $minute = 0)
method validateCronSequence (line 369) | private function validateCronSequence($minute = null, $hour = null, $d...
method validateCronRange (line 388) | private function validateCronRange($value, $min, $max)
FILE: system/src/Grav/Common/Scheduler/Job.php
class Job (line 30) | class Job
method __construct (line 122) | public function __construct($command, $args = [], $id = null)
method getCommand (line 149) | public function getCommand()
method getAt (line 159) | public function getAt()
method getEnabled (line 169) | public function getEnabled()
method getArguments (line 179) | public function getArguments()
method getRawArguments (line 193) | public function getRawArguments()
method getCronExpression (line 201) | public function getCronExpression()
method isSuccessful (line 211) | public function isSuccessful()
method getId (line 221) | public function getId()
method isDue (line 235) | public function isDue(DateTime $date = null)
method isOverlapping (line 252) | public function isOverlapping()
method inForeground (line 264) | public function inForeground()
method backlink (line 277) | public function backlink($link = null)
method runInBackground (line 291) | public function runInBackground()
method onlyOne (line 306) | public function onlyOne($tempDir = null, callable $whenOverlapping = n...
method configure (line 332) | public function configure(array $config = [])
method when (line 348) | public function when(callable $fn)
method run (line 360) | public function run()
method finalize (line 418) | public function finalize()
method postRun (line 444) | private function postRun()
method createLockFile (line 472) | private function createLockFile($content = null)
method removeLockFile (line 487) | private function removeLockFile()
method exec (line 500) | private function exec()
method output (line 525) | public function output($filename, $append = false)
method getOutput (line 538) | public function getOutput()
method email (line 551) | public function email($email)
method emailOutput (line 569) | private function emailOutput()
method before (line 593) | public function before(callable $fn)
method then (line 612) | public function then(callable $fn, $runInBackground = false)
method maxAttempts (line 631) | public function maxAttempts(int $attempts): self
method getMaxAttempts (line 642) | public function getMaxAttempts(): int
method retryDelay (line 654) | public function retryDelay(int $seconds, string $strategy = 'exponenti...
method getRetryCount (line 666) | public function getRetryCount(): int
method timeout (line 677) | public function timeout(int $seconds): self
method priority (line 689) | public function priority(string $priority): self
method getPriority (line 703) | public function getPriority(): string
method dependsOn (line 714) | public function dependsOn(string $jobId): self
method chain (line 727) | public function chain(Job $job, bool $onlyOnSuccess = true): self
method withMetadata (line 743) | public function withMetadata(string $key, $value): self
method withTags (line 755) | public function withTags(array $tags): self
method onSuccess (line 767) | public function onSuccess(callable $callback): self
method onFailure (line 779) | public function onFailure(callable $callback): self
method onRetry (line 791) | public function onRetry(callable $callback): self
method runWithRetry (line 802) | public function runWithRetry(): bool
method getExecutionTime (line 871) | public function getExecutionTime(): float
method getMetadata (line 882) | public function getMetadata(string $key = null)
method getTags (line 896) | public function getTags(): array
method hasTag (line 907) | public function hasTag(string $tag): bool
method setQueueId (line 918) | public function setQueueId(string $queueId): self
method getQueueId (line 929) | public function getQueueId(): ?string
method getProcess (line 939) | public function getProcess(): ?Process
method calculateRetryDelay (line 950) | protected function calculateRetryDelay(int $attempt): int
method checkDependencies (line 964) | protected function checkDependencies(): bool
method runChainedJobs (line 982) | protected function runChainedJobs(bool $success): void
method toArray (line 1003) | public function toArray(): array
method fromArray (line 1031) | public static function fromArray(array $data): self
FILE: system/src/Grav/Common/Scheduler/JobHistory.php
class JobHistory (line 22) | class JobHistory
method __construct (line 39) | public function __construct(string $historyPath, int $retentionDays = 30)
method logExecution (line 57) | public function logExecution(Job $job, array $metadata = []): string
method captureOutput (line 96) | protected function captureOutput(Job $job): array
method storeEntry (line 119) | protected function storeEntry(array $entry): void
method storeJobHistory (line 137) | protected function storeJobHistory(string $jobId, array $entry): void
method getJobHistory (line 164) | public function getJobHistory(string $jobId, int $limit = 50): array
method getHistoryRange (line 192) | public function getHistoryRange(DateTime $startDate, DateTime $endDate...
method getJobStatistics (line 223) | public function getJobStatistics(string $jobId, int $days = 7): array
method getGlobalStatistics (line 289) | public function getGlobalStatistics(int $days = 7): array
method searchHistory (line 331) | public function searchHistory(array $criteria): array
method cleanOldHistory (line 398) | public function cleanOldHistory(): int
method exportToCsv (line 426) | public function exportToCsv(array $history, string $filename): bool
FILE: system/src/Grav/Common/Scheduler/JobQueue.php
class JobQueue (line 20) | class JobQueue
method __construct (line 38) | public function __construct(string $queuePath)
method initializeDirectories (line 52) | protected function initializeDirectories(): void
method push (line 75) | public function push(Job $job, string $priority = self::PRIORITY_NORMA...
method pushDelayed (line 110) | public function pushDelayed(Job $job, \DateTime $scheduledFor, string ...
method pop (line 129) | public function pop(): ?Job
method popWithId (line 196) | public function popWithId(): ?array
method complete (line 269) | public function complete(string $queueId): void
method fail (line 284) | public function fail(string $queueId, string $error = ''): void
method size (line 312) | public function size(): int
method isEmpty (line 322) | public function isEmpty(): bool
method getStatistics (line 332) | public function getStatistics(): array
method generateQueueId (line 348) | protected function generateQueueId(Job $job): string
method writeQueueItem (line 360) | protected function writeQueueItem(array $item, string $directory): void
method getQueueItem (line 374) | protected function getQueueItem(string $queueId, string $directory): ?...
method deleteQueueItem (line 393) | protected function deleteQueueItem(string $queueId, string $directory)...
method moveQueueItem (line 410) | protected function moveQueueItem(string $queueId, string $fromDir, str...
method getPendingItems (line 425) | protected function getPendingItems(): array
method getItemsInDirectory (line 436) | protected function getItemsInDirectory(string $directory): array
method reconstructJob (line 460) | protected function reconstructJob(array $item): ?Job
method calculateRetryTime (line 491) | protected function calculateRetryTime(int $attempts): string
method cleanupCompleted (line 504) | protected function cleanupCompleted(): void
method countCompletedToday (line 524) | protected function countCompletedToday(): int
method lock (line 547) | protected function lock(): bool
method unlock (line 582) | protected function unlock(): void
FILE: system/src/Grav/Common/Scheduler/Scheduler.php
class Scheduler (line 30) | class Scheduler
method __construct (line 90) | public function __construct()
method loadSavedJobs (line 113) | public function loadSavedJobs()
method getQueuedJobs (line 170) | public function getQueuedJobs($all = false)
method getJobQueue (line 191) | public function getJobQueue(): ?JobQueue
method getAllJobs (line 201) | public function getAllJobs()
method getJob (line 214) | public function getJob($jobid)
method addFunction (line 233) | public function addFunction(callable $fn, $args = [], $id = null)
method addCommand (line 249) | public function addCommand($command, $args = [], $id = null)
method run (line 263) | public function run(DateTime $runTime = null, $force = false)
method resetRun (line 376) | public function resetRun()
method getVerboseOutput (line 392) | public function getVerboseOutput($type = 'text')
method clearJobs (line 411) | public function clearJobs()
method getCronCommand (line 423) | public function getCronCommand()
method getSchedulerCommand (line 434) | public function getSchedulerCommand($php = null)
method isCrontabSetup (line 451) | public function isCrontabSetup()
method getJobStates (line 481) | public function getJobStates()
method saveJobStates (line 491) | private function saveJobStates()
method whoami (line 515) | public function whoami()
method initializeModernFeatures (line 534) | protected function initializeModernFeatures($locator): void
method getQueue (line 574) | public function getQueue(): ?JobQueue
method initializeLogger (line 585) | protected function initializeLogger($locator): void
method getLogger (line 599) | public function getLogger(): ?Logger
method isWebhookEnabled (line 609) | public function isWebhookEnabled(): bool
method isWebhookPluginReady (line 625) | public function isWebhookPluginReady(): bool
method getActiveTriggers (line 636) | public function getActiveTriggers(): array
method queueJob (line 659) | private function queueJob(Job $job)
method addSchedulerVerboseOutput (line 672) | private function addSchedulerVerboseOutput($string)
method pushExecutedJob (line 686) | private function pushExecutedJob(Job $job)
method pushFailedJob (line 706) | private function pushFailedJob(Job $job)
method processJobsWithWorkers (line 725) | protected function processJobsWithWorkers(): void
method processQueuedJobs (line 835) | protected function processQueuedJobs(): void
method executeJob (line 857) | protected function executeJob(Job $job, ?string $queueId = null): void
method saveJobState (line 922) | protected function saveJobState(Job $job): void
method saveJobHistory (line 957) | protected function saveJobHistory(): void
method updateLastRun (line 986) | protected function updateLastRun(): void
method getHealthStatus (line 997) | public function getHealthStatus(): array
method processWebhookTrigger (line 1074) | public function processWebhookTrigger($token = null, $jobId = null): a...
FILE: system/src/Grav/Common/Scheduler/SchedulerController.php
class SchedulerController (line 22) | class SchedulerController
method __construct (line 35) | public function __construct(Grav $grav)
method health (line 55) | public function health(ServerRequestInterface $request): ResponseInter...
method webhook (line 76) | public function webhook(ServerRequestInterface $request): ResponseInte...
method statistics (line 110) | public function statistics(ServerRequestInterface $request): ResponseI...
method adminStatus (line 129) | public function adminStatus(ServerRequestInterface $request): Response...
method formatHealthStatus (line 154) | protected function formatHealthStatus(array $health): string
method formatTriggers (line 216) | protected function formatTriggers(array $triggers): string
method jsonResponse (line 258) | protected function jsonResponse(array $data, int $statusCode = 200): R...
FILE: system/src/Grav/Common/Security.php
class Security (line 26) | class Security
method detectXssFromSvgFile (line 33) | public static function detectXssFromSvgFile(string $filepath, array $o...
method sanitizeSvgString (line 50) | public static function sanitizeSvgString(string $svg): string
method sanitizeSVG (line 69) | public static function sanitizeSVG(string $file): void
method detectXssFromPages (line 98) | public static function detectXssFromPages(Pages $pages, $route = true,...
method detectXssFromArray (line 148) | public static function detectXssFromArray(array $array, string $prefix...
method detectXss (line 179) | public static function detectXss($string, array $options = null): ?string
method getXssDefaults (line 255) | public static function getXssDefaults(): array
method cleanDangerousTwig (line 267) | public static function cleanDangerousTwig(string $string): string
FILE: system/src/Grav/Common/Service/AccountsServiceProvider.php
class AccountsServiceProvider (line 36) | class AccountsServiceProvider implements ServiceProviderInterface
method register (line 42) | public function register(Container $container)
method initialize (line 88) | protected function initialize(Container $container): string
method regularAccounts (line 139) | protected function regularAccounts(Container $container)
method flexAccounts (line 149) | protected function flexAccounts(Container $container)
FILE: system/src/Grav/Common/Service/AssetsServiceProvider.php
class AssetsServiceProvider (line 20) | class AssetsServiceProvider implements ServiceProviderInterface
method register (line 26) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/BackupsServiceProvider.php
class BackupsServiceProvider (line 20) | class BackupsServiceProvider implements ServiceProviderInterface
method register (line 26) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/ConfigServiceProvider.php
class ConfigServiceProvider (line 30) | class ConfigServiceProvider implements ServiceProviderInterface
method register (line 36) | public function register(Container $container)
method blueprints (line 86) | public static function blueprints(Container $container)
method load (line 113) | public static function load(Container $container)
method languages (line 146) | public static function languages(Container $container)
method pluginFolderPaths (line 182) | protected static function pluginFolderPaths($plugins, $folder_path)
FILE: system/src/Grav/Common/Service/ErrorServiceProvider.php
class ErrorServiceProvider (line 20) | class ErrorServiceProvider implements ServiceProviderInterface
method register (line 26) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/FilesystemServiceProvider.php
class FilesystemServiceProvider (line 20) | class FilesystemServiceProvider implements ServiceProviderInterface
method register (line 26) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/FlexServiceProvider.php
class FlexServiceProvider (line 27) | class FlexServiceProvider implements ServiceProviderInterface
method register (line 33) | public function register(Container $container)
method getFlexAccountsStorage (line 87) | private function getFlexAccountsStorage(Config $config): array
FILE: system/src/Grav/Common/Service/InflectorServiceProvider.php
class InflectorServiceProvider (line 20) | class InflectorServiceProvider implements ServiceProviderInterface
method register (line 26) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/LoggerServiceProvider.php
class LoggerServiceProvider (line 22) | class LoggerServiceProvider implements ServiceProviderInterface
method register (line 28) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/OutputServiceProvider.php
class OutputServiceProvider (line 21) | class OutputServiceProvider implements ServiceProviderInterface
method register (line 27) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/PagesServiceProvider.php
class PagesServiceProvider (line 27) | class PagesServiceProvider implements ServiceProviderInterface
method register (line 33) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/RequestServiceProvider.php
class RequestServiceProvider (line 30) | class RequestServiceProvider implements ServiceProviderInterface
method register (line 36) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/SchedulerServiceProvider.php
class SchedulerServiceProvider (line 22) | class SchedulerServiceProvider implements ServiceProviderInterface
method register (line 28) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/SessionServiceProvider.php
class SessionServiceProvider (line 25) | class SessionServiceProvider implements ServiceProviderInterface
method register (line 31) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/StreamsServiceProvider.php
class StreamsServiceProvider (line 24) | class StreamsServiceProvider implements ServiceProviderInterface
method register (line 30) | public function register(Container $container)
FILE: system/src/Grav/Common/Service/TaskServiceProvider.php
class TaskServiceProvider (line 21) | class TaskServiceProvider implements ServiceProviderInterface
method register (line 27) | public function register(Container $container)
FILE: system/src/Grav/Common/Session.php
class Session (line 23) | class Session extends \Grav\Framework\Session\Session
method instance (line 32) | public static function instance()
method init (line 46) | public function init()
method setAutoStart (line 59) | public function setAutoStart($auto)
method all (line 72) | public function all()
method started (line 85) | public function started()
method setFlashObject (line 99) | public function setFlashObject($name, $object)
method getFlashObject (line 112) | public function getFlashObject($name)
method setFlashCookieObject (line 155) | public function setFlashCookieObject($name, $object, $time = 60)
method getFlashCookieObject (line 169) | public function getFlashCookieObject($name)
method onBeforeSessionStart (line 184) | protected function onBeforeSessionStart(): void
method onSessionStart (line 195) | protected function onSessionStart(): void
FILE: system/src/Grav/Common/Taxonomy.php
class Taxonomy (line 35) | class Taxonomy
method __construct (line 49) | public function __construct(Grav $grav)
method addTaxonomy (line 63) | public function addTaxonomy(PageInterface $page, $page_taxonomy = null)
method iterateTaxonomy (line 103) | public function iterateTaxonomy(PageInterface $page, string $taxonomy,...
method findTaxonomy (line 127) | public function findTaxonomy($taxonomies, $operator = 'and')
method taxonomy (line 159) | public function taxonomy($var = null)
method getTaxonomyItemKeys (line 176) | public function getTaxonomyItemKeys($taxonomy)
FILE: system/src/Grav/Common/Theme.php
class Theme (line 20) | class Theme extends Plugin
method __construct (line 29) | public function __construct(Grav $grav, Config $config, $name)
method config (line 39) | public function config()
method saveConfig (line 50) | public static function saveConfig($name)
method loadBlueprint (line 76) | protected function loadBlueprint()
FILE: system/src/Grav/Common/Themes.php
class Themes (line 32) | class Themes extends Iterator
method __construct (line 46) | public function __construct(Grav $grav)
method init (line 60) | public function init()
method initTheme (line 72) | public function initTheme()
method all (line 123) | public function all()
method get (line 169) | public function get($name)
method current (line 211) | public function current()
method load (line 221) | public function load()
method configure (line 277) | public function configure()
method loadConfiguration (line 331) | protected function loadConfiguration($name, Config $config)
method loadLanguages (line 344) | protected function loadLanguages(Config $config)
method autoloadTheme (line 377) | protected function autoloadTheme($class)
FILE: system/src/Grav/Common/Twig/Exception/TwigException.php
class TwigException (line 19) | class TwigException extends RuntimeException
FILE: system/src/Grav/Common/Twig/Extension/FilesystemExtension.php
class FilesystemExtension (line 23) | class FilesystemExtension extends AbstractExtension
method __construct (line 28) | public function __construct()
method getFilters (line 36) | public function getFilters()
method getFunctions (line 70) | public function getFunctions()
method file_exists (line 103) | public function file_exists($filename): bool
method fileatime (line 116) | public function fileatime($filename)
method filectime (line 129) | public function filectime($filename)
method filemtime (line 142) | public function filemtime($filename)
method filesize (line 155) | public function filesize($filename)
method filetype (line 168) | public function filetype($filename)
method is_dir (line 181) | public function is_dir($filename): bool
method is_file (line 194) | public function is_file($filename): bool
method is_link (line 207) | public function is_link($filename): bool
method is_readable (line 220) | public function is_readable($filename): bool
method is_writable (line 233) | public function is_writable($filename): bool
method lstat (line 246) | public function lstat($filename)
method getimagesize (line 259) | public function getimagesize($filename)
method exif_read_data (line 275) | public function exif_read_data($filename, ?string $required_sections =...
method exif_imagetype (line 288) | public function exif_imagetype($filename)
method hash_file (line 303) | public function hash_file(string $algo, string $filename, bool $binary...
method hash_hmac_file (line 319) | public function hash_hmac_file(string $algo, string $filename, string ...
method md5_file (line 333) | public function md5_file($filename, bool $binary = false)
method sha1_file (line 347) | public function sha1_file($filename, bool $binary = false)
method get_meta_tags (line 360) | public function get_meta_tags($filename)
method pathinfo (line 374) | public function pathinfo($path, $flags = null)
method checkFilename (line 383) | private function checkFilename($filename): bool
FILE: system/src/Grav/Common/Twig/Extension/GravExtension.php
class GravExtension (line 73) | class GravExtension extends AbstractExtension implements GlobalsInterface
method __construct (line 85) | public function __construct()
method getGlobals (line 97) | public function getGlobals(): array
method getFilters (line 109) | public function getFilters(): array
method getFunctions (line 186) | public function getFunctions(): array
method getTokenParsers (line 265) | public function getTokenParsers(): array
method print_r (line 284) | public function print_r($var)
method fieldNameFilter (line 295) | public function fieldNameFilter($str)
method fieldParentFilter (line 308) | public function fieldParentFilter($str)
method safeEmailFilter (line 322) | public function safeEmailFilter($str)
method randomizeFilter (line 350) | public function randomizeFilter($original, $offset = 0)
method modulusFilter (line 384) | public function modulusFilter($number, $divider, $items = null)
method inflectorFilter (line 417) | public function inflectorFilter($action, $data, $count = null)
method md5Filter (line 445) | public function md5Filter($str)
method base32EncodeFilter (line 456) | public function base32EncodeFilter($str)
method base32DecodeFilter (line 467) | public function base32DecodeFilter($str)
method base64EncodeFilter (line 478) | public function base64EncodeFilter($str)
method base64DecodeFilter (line 489) | public function base64DecodeFilter($str)
method sortByKeyFilter (line 503) | public function sortByKeyFilter($input, $filter, $direction = SORT_ASC...
method ksortFilter (line 514) | public function ksortFilter($array)
method chunkSplitFilter (line 532) | public function chunkSplitFilter($value, $chars, $split = '-')
method containsFilter (line 545) | public function containsFilter($haystack, $needle)
method niceCronFilter (line 560) | public function niceCronFilter($at)
method replaceLastFilter (line 572) | public function replaceLastFilter($str, $search, $replace)
method cronFunc (line 587) | public function cronFunc($at)
method nicetimeFunc (line 600) | public function nicetimeFunc($date, $long_strings = true, $show_tense ...
method xssFunc (line 696) | public function xssFunc($data)
method uniqueId (line 719) | public function uniqueId(int $length = 9, array $options = ['prefix' =...
method absoluteUrlFilter (line 728) | public function absoluteUrlFilter($string)
method markdownFunction (line 742) | public function markdownFunction($context, $string, $block = true)
method startsWithFilter (line 753) | public function startsWithFilter($haystack, $needle)
method endsWithFilter (line 763) | public function endsWithFilter($haystack, $needle)
method definedDefaultFilter (line 773) | public function definedDefaultFilter($value, $default = null)
method rtrimFilter (line 783) | public function rtrimFilter($value, $chars = null)
method ltrimFilter (line 793) | public function ltrimFilter($value, $chars = null)
method stringFilter (line 804) | public function stringFilter($value)
method intFilter (line 826) | public function intFilter($input)
method boolFilter (line 837) | public function boolFilter($input)
method floatFilter (line 848) | public function floatFilter($input)
method arrayFilter (line 859) | public function arrayFilter($input)
method yamlFilter (line 884) | public function yamlFilter($value, $inline = null, $indent = null): st...
method translate (line 893) | public function translate(Environment $twig, ...$args)
method translateLanguage (line 935) | public function translateLanguage($args, array $languages = null, $arr...
method translateArray (line 949) | public function translateArray($key, $index, $lang = null)
method repeatFunc (line 965) | public function repeatFunc($input, $multiplier)
method urlFunc (line 980) | public function urlFunc($input, $domain = false, $failGracefully = false)
method evaluateTwigFunc (line 992) | public function evaluateTwigFunc($context, $twig)
method evaluateStringFunc (line 1011) | public function evaluateStringFunc($context, $string)
method dump (line 1023) | public function dump(Environment $env, $context)
method gistFunc (line 1059) | public function gistFunc($id, $file = false)
method randomStringFunc (line 1074) | public function randomStringFunc($count = 5)
method padFilter (line 1088) | public static function padFilter($input, $pad_length, $pad_string = ' ...
method arrayKeyValueFunc (line 1102) | public function arrayKeyValueFunc($key, $val, $current_array = null)
method arrayIntersectFunc (line 1120) | public function arrayIntersectFunc($array1, $array2)
method translateFunc (line 1134) | public function translateFunc()
method authorize (line 1150) | public function authorize($action)
method nonceFieldFunc (line 1203) | public function nonceFieldFunc($action, $nonceParamName = 'nonce')
method jsonDecodeFilter (line 1219) | public function jsonDecodeFilter($str, $assoc = false, $depth = 512, $...
method getCookie (line 1233) | public function getCookie($key)
method regexReplace (line 1253) | public function regexReplace($subject, $pattern, $replace, $limit = -1)
method regexFilter (line 1266) | public function regexFilter($array, $regex, $flags = 0)
method regexMatch (line 1280) | public function regexMatch($subject, $pattern, $flags = 0, $offset = 0)
method regexSplit (line 1298) | public function regexSplit($subject, $pattern, $limit = -1, $flags = 0)
method redirectFunc (line 1310) | public function redirectFunc($url, $statusCode = 303)
method rangeFunc (line 1325) | public function rangeFunc($start = 0, $end = 100, $step = 1)
method isAjaxFunc (line 1336) | public function isAjaxFunc()
method exifFunc (line 1350) | public function exifFunc($image, $raw = false)
method readFileFunc (line 1384) | public function readFileFunc($filepath)
method mediaDirFunc (line 1406) | public function mediaDirFunc($media_dir)
method vardumpFunc (line 1428) | public function vardumpFunc($var)
method niceFilesizeFunc (line 1439) | public function niceFilesizeFunc($bytes)
method niceNumberFunc (line 1450) | public function niceNumberFunc($n)
method themeVarFunc (line 1498) | public function themeVarFunc($context, $var, $default = null, $page = ...
method pageHeaderVarFunc (line 1535) | public function pageHeaderVarFunc($context, $var, $pages = null)
method bodyClassFunc (line 1553) | public function bodyClassFunc($context, $classes)
method svgImageFunction (line 1578) | public static function svgImageFunction($path, $classes = null, $strip...
method yamlEncodeFilter (line 1628) | public function yamlEncodeFilter($data, $inline = 10)
method yamlDecodeFilter (line 1649) | public function yamlDecodeFilter($data)
method getTypeFunc (line 1660) | public function getTypeFunc($var)
method ofTypeFunc (line 1673) | public function ofTypeFunc($var, $typeTest = null, $className = null)
method filterFunc (line 1716) | function filterFunc(Environment $env, $array, $arrow)
method mapFunc (line 1732) | function mapFunc(Environment $env, $array, $arrow)
method reduceFunc (line 1748) | function reduceFunc(Environment $env, $array, $arrow)
FILE: system/src/Grav/Common/Twig/Node/TwigNodeCache.php
class TwigNodeCache (line 21) | class TwigNodeCache extends Node implements NodeOutputInterface
method __construct (line 30) | public function __construct(Node $body, ?AbstractExpression $key, ?Abs...
method compile (line 45) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeLink.php
class TwigNodeLink (line 22) | class TwigNodeLink extends Node implements NodeCaptureInterface
method __construct (line 37) | public function __construct(?string $rel, ?AbstractExpression $file, ?...
method compile (line 52) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeMarkdown.php
class TwigNodeMarkdown (line 20) | class TwigNodeMarkdown extends Node implements NodeOutputInterface
method __construct (line 28) | public function __construct(Node $body, $lineno, $tag = 'markdown')
method compile (line 39) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeRender.php
class TwigNodeRender (line 22) | class TwigNodeRender extends Node implements NodeCaptureInterface
method __construct (line 34) | public function __construct(AbstractExpression $object, ?AbstractExpre...
method compile (line 49) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeScript.php
class TwigNodeScript (line 22) | class TwigNodeScript extends Node implements NodeCaptureInterface
method __construct (line 38) | public function __construct(?Node $body, ?string $type, ?AbstractExpre...
method compile (line 53) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeStyle.php
class TwigNodeStyle (line 22) | class TwigNodeStyle extends Node implements NodeCaptureInterface
method __construct (line 37) | public function __construct(?Node $body, ?AbstractExpression $file, ?A...
method compile (line 52) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php
class TwigNodeSwitch (line 19) | class TwigNodeSwitch extends Node
method __construct (line 29) | public function __construct(Node $value, Node $cases, Node $default = ...
method compile (line 43) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeThrow.php
class TwigNodeThrow (line 20) | class TwigNodeThrow extends Node
method __construct (line 29) | public function __construct($code, Node $message, $lineno = 0, $tag = ...
method compile (line 41) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php
class TwigNodeTryCatch (line 20) | class TwigNodeTryCatch extends Node
method __construct (line 29) | public function __construct(Node $try, Node $catch = null, $lineno = 0...
method compile (line 44) | public function compile(Compiler $compiler): void
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserCache.php
class TwigTokenParserCache (line 30) | class TwigTokenParserCache extends AbstractTokenParser
method parse (line 32) | public function parse(Token $token)
method decideCacheEnd (line 65) | public function decideCacheEnd(Token $token): bool
method getTag (line 70) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserLink.php
class TwigTokenParserLink (line 23) | class TwigTokenParserLink extends AbstractTokenParser
method parse (line 50) | public function parse(Token $token)
method parseArguments (line 63) | protected function parseArguments(Token $token): array
method getTag (line 105) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserMarkdown.php
class TwigTokenParserMarkdown (line 27) | class TwigTokenParserMarkdown extends AbstractTokenParser
method parse (line 34) | public function parse(Token $token)
method decideMarkdownEnd (line 48) | public function decideMarkdownEnd(Token $token): bool
method getTag (line 55) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserRender.php
class TwigTokenParserRender (line 22) | class TwigTokenParserRender extends AbstractTokenParser
method parse (line 30) | public function parse(Token $token)
method parseArguments (line 43) | protected function parseArguments(Token $token): array
method getTag (line 70) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php
class TwigTokenParserScript (line 33) | class TwigTokenParserScript extends AbstractTokenParser
method parse (line 42) | public function parse(Token $token)
method parseArguments (line 62) | protected function parseArguments(Token $token): array
method decideBlockEnd (line 118) | public function decideBlockEnd(Token $token): bool
method getTag (line 128) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php
class TwigTokenParserStyle (line 26) | class TwigTokenParserStyle extends AbstractTokenParser
method parse (line 35) | public function parse(Token $token)
method parseArguments (line 55) | protected function parseArguments(Token $token): array
method decideBlockEnd (line 105) | public function decideBlockEnd(Token $token): bool
method getTag (line 115) | public function getTag(): string
FILE: system/src/Grav/Common/Twig/TokenParser/TwigTokenParserSwitch.php
class TwigTokenParserSwitch (line 31) | class TwigTokenParserSwitch extends AbstractTokenParser
method parse (line 38) | public function parse(Token
Condensed preview — 717 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,119K chars).
[
{
"path": ".dependencies",
"chars": 972,
"preview": "git:\n problems:\n url: https://github.com/getgrav/grav-plugin-problems\n path: user/plugins/problems\n "
},
{
"path": ".editorconfig",
"chars": 348,
"preview": "# EditorConfig is awesome: http://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\n# Unix-style newlines with"
},
{
"path": ".github/FUNDING.yml",
"chars": 392,
"preview": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [u"
},
{
"path": ".github/workflows/build.yaml",
"chars": 2310,
"preview": "name: Release Builds\n\non:\n release:\n types: [published]\n\npermissions: {}\n\njobs:\n build:\n permissions:\n cont"
},
{
"path": ".github/workflows/tests.yaml",
"chars": 1876,
"preview": "name: PHP Tests\n\non:\n push:\n branches: [ develop ]\n pull_request:\n branches: [ develop ]\n\npermissions:\n content"
},
{
"path": ".github/workflows/trigger-skeletons.yml",
"chars": 1504,
"preview": "name: Trigger Skeletons Build\n\non:\n workflow_dispatch:\n inputs:\n version:\n description: 'Which Grav rele"
},
{
"path": ".gitignore",
"chars": 585,
"preview": "# Composer\n.composer\nvendor/*\n!*/vendor/*\n\n# Sass\n.sass-cache\n\n# Grav Specific\nbackup/*\n!backup/.*\ncache/*\n!cache/.*\nass"
},
{
"path": ".htaccess",
"chars": 3208,
"preview": "<IfModule mod_rewrite.c>\n\nRewriteEngine On\n\n## Begin RewriteBase\n# If you are getting 500 or 404 errors on subpages, you"
},
{
"path": ".phan/config.php",
"chars": 1458,
"preview": "<?php\nreturn [\n \"target_php_version\" => null,\n 'pretend_newer_core_functions_exist' => true,\n 'allow_missing_pr"
},
{
"path": ".phan/internal_stubs/Redis.phan_php",
"chars": 154512,
"preview": "<?php\n\n/**\n * Helper autocomplete for php redis extension\n *\n * @author Max Kamashev <max.kamashev@gmail.com>\n * @link "
},
{
"path": ".phan/internal_stubs/memcache.phan_php",
"chars": 21051,
"preview": "<?php\n\n// Start of memcache v.3.0.8\n\nclass MemcachePool {\n\n /**\n * (PECL memcache >= 0.2.0)<br/>\n * Open "
},
{
"path": ".phan/internal_stubs/memcached.phan_php",
"chars": 46884,
"preview": "<?php\n\n// Start of memcached v.3.0.4\n\n/**\n * Represents a connection to a set of memcached servers.\n * @link https://php"
},
{
"path": ".travis.yml",
"chars": 4476,
"preview": "language: php\nphp:\n - '7.1'\n - '7.2'\n - '7.3'\n - '7.4'\nbranches:\n only:\n - build_test\nnotifications:\n email:\n "
},
{
"path": "CHANGELOG.md",
"chars": 229544,
"preview": "# v1.7.49.5\n## 09/10/2025\n\n1. [](#bugfix)\n * Backup not honoring ignored paths [#3952](https://github.com/getgrav/gra"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 5476,
"preview": "\n# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make particip"
},
{
"path": "CONTRIBUTING.md",
"chars": 7096,
"preview": "# Contributing to Grav\n\n:+1::tada: First, thanks for getting involved with Grav! :tada::+1:\n\nPlease take a moment to rev"
},
{
"path": "LICENSE.txt",
"chars": 1071,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2021 Grav\n\nPermission is hereby granted, free of charge, to any person obtaining a "
},
{
"path": "README.md",
"chars": 7674,
"preview": "#  Grav\n\n[ 2015 - 2023 Trilby Media, LLC. All rights reserved. */\n"
},
{
"path": "backup/.gitkeep",
"chars": 84,
"preview": "/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */\n"
},
{
"path": "bin/gpm",
"chars": 1407,
"preview": "#!/usr/bin/env php\n<?php\n\n/**\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n * @licen"
},
{
"path": "bin/grav",
"chars": 1301,
"preview": "#!/usr/bin/env php\n<?php\n\n/**\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n * @licen"
},
{
"path": "bin/plugin",
"chars": 1335,
"preview": "#!/usr/bin/env php\n<?php\n\n/**\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n * @licen"
},
{
"path": "cache/.gitkeep",
"chars": 84,
"preview": "/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */\n"
},
{
"path": "codeception.yml",
"chars": 298,
"preview": "actor: Tester\nbootstrap: _bootstrap.php\npaths:\n tests: tests\n log: tests/_output\n data: tests/_data\n support"
},
{
"path": "composer.json",
"chars": 4816,
"preview": "{\n \"name\": \"getgrav/grav\",\n \"type\": \"project\",\n \"description\": \"Modern, Crazy Fast, Ridiculously Easy and Amazi"
},
{
"path": "images/.gitkeep",
"chars": 84,
"preview": "/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */\n"
},
{
"path": "index.php",
"chars": 1996,
"preview": "<?php\n\n/**\n * @package Grav.Core\n *\n * @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.\n"
},
{
"path": "logs/.gitkeep",
"chars": 84,
"preview": "/* @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved. */\n"
},
{
"path": "now.json",
"chars": 72,
"preview": "{\n \"version\": 2,\n \"builds\": [{ \"src\": \"*.php\", \"use\": \"@now/php\" }]\n}\n"
},
{
"path": "robots.txt",
"chars": 379,
"preview": "User-agent: *\nDisallow: /.github/\nDisallow: /.phan/\nDisallow: /assets/\nDisallow: /backup/\nDisallow: /bin/\nDisallow: /cac"
},
{
"path": "system/assets/debugger/clockwork.css",
"chars": 3637,
"preview": "/** Clockwork Debugger CSS **/\n.clockwork-badge {\n position: fixed;\n z-index: 1000; /* Increased z-index for bette"
},
{
"path": "system/assets/debugger/clockwork.js",
"chars": 1390,
"preview": "/** Clockwork Debugger JS **/\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Directly select the scr"
},
{
"path": "system/assets/debugger/phpdebugbar.css",
"chars": 3654,
"preview": "div.phpdebugbar {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.phpdebugbar pre {\n padding: 1r"
},
{
"path": "system/assets/whoops.css",
"chars": 233,
"preview": "body header {\n background: #3085EE;\n}\n\nbody .left-panel {\n background: inherit;\n}\n\nbody .exc-title-primary {\n c"
},
{
"path": "system/blueprints/config/backups.yaml",
"chars": 3861,
"preview": "title: PLUGIN_ADMIN.BACKUPS\n\nform:\n validation: loose\n\n fields:\n history_title:\n type: section\n "
},
{
"path": "system/blueprints/config/media.yaml",
"chars": 63,
"preview": "title: PLUGIN_ADMIN.MEDIA\n\nform:\n validation: loose\n fields:\n"
},
{
"path": "system/blueprints/config/scheduler.yaml",
"chars": 38521,
"preview": "title: PLUGIN_ADMIN.SCHEDULER\n\nform:\n validation: loose\n\n fields:\n scheduler_tabs:\n type: tabs\n "
},
{
"path": "system/blueprints/config/security.yaml",
"chars": 3236,
"preview": "title: PLUGIN_ADMIN.SECURITY\n\nform:\n validation: loose\n fields:\n\n xss_section:\n type: section\n "
},
{
"path": "system/blueprints/config/site.yaml",
"chars": 4268,
"preview": "title: PLUGIN_ADMIN.SITE\nform:\n validation: loose\n fields:\n\n content:\n type: section\n "
},
{
"path": "system/blueprints/config/streams.yaml",
"chars": 120,
"preview": "title: PLUGIN_ADMIN.FILE_STREAMS\n\nform:\n validation: loose\n hidden: true\n fields:\n schemes.xxx:\n type: array\n"
},
{
"path": "system/blueprints/config/system.yaml",
"chars": 59264,
"preview": "title: PLUGIN_ADMIN.SYSTEM\n\nform:\n validation: loose\n fields:\n\n system_tabs:\n type: tabs\n classes: side-t"
},
{
"path": "system/blueprints/flex/accounts.yaml",
"chars": 227,
"preview": "title: Flex User Accounts\ndescription: Manage your User Accounts in Flex.\ntype: flex-objects\n\n# Deprecated in Grav 1.7.0"
},
{
"path": "system/blueprints/flex/configure/compat.yaml",
"chars": 428,
"preview": "form:\n compatibility:\n type: tab\n title: Compatibility\n fields:\n object.compat.events:\n type: togg"
},
{
"path": "system/blueprints/flex/pages.yaml",
"chars": 4930,
"preview": "title: Pages\ndescription: Manage your Grav Pages in Flex.\ntype: flex-objects\n\n# Extends a page (blueprint gets overridde"
},
{
"path": "system/blueprints/flex/shared/configure.yaml",
"chars": 2192,
"preview": "form:\n validation: loose\n\n fields:\n tabs:\n type: tabs\n fields:\n cache:\n type: tab\n "
},
{
"path": "system/blueprints/flex/user-accounts.yaml",
"chars": 3709,
"preview": "title: User Accounts\ndescription: Manage your User Accounts in Flex.\ntype: flex-objects\n\n# Extends user account\nextends@"
},
{
"path": "system/blueprints/flex/user-groups.yaml",
"chars": 3100,
"preview": "title: User Groups\ndescription: Manage your User Groups in Flex.\ntype: flex-objects\n\n# Extends user group\nextends@:\n ty"
},
{
"path": "system/blueprints/pages/default.yaml",
"chars": 11654,
"preview": "title: PLUGIN_ADMIN.DEFAULT\n\nrules:\n slug:\n pattern: '[a-zA-Zа-яA-Я0-9_\\-]+'\n min: 1\n max: 200\n\nform:\n valida"
},
{
"path": "system/blueprints/pages/external.yaml",
"chars": 950,
"preview": "title: PLUGIN_ADMIN.EXTERNAL\nextends@:\n type: default\n context: blueprints://pages\n\nform:\n validation: loose\n fields"
},
{
"path": "system/blueprints/pages/modular.yaml",
"chars": 824,
"preview": "title: PLUGIN_ADMIN.MODULE\nextends@: default\n\nform:\n fields:\n tabs:\n type: tabs\n active: 1\n\n fields:\n"
},
{
"path": "system/blueprints/pages/partials/security.yaml",
"chars": 1785,
"preview": "form:\n fields:\n _site:\n type: section\n title: PLUGIN_ADMIN.PAGE_ACCESS\n underline: true\n\n fields"
},
{
"path": "system/blueprints/pages/root.yaml",
"chars": 184,
"preview": "title: PLUGIN_ADMIN.ROOT\n\nrules:\n slug:\n pattern: '[a-zA-Zа-яA-Я0-9_\\-]+'\n min: 1\n max: 200\n\nform:\n validatio"
},
{
"path": "system/blueprints/user/account.yaml",
"chars": 4447,
"preview": "title: Account\nform:\n validation: loose\n\n fields:\n\n info:\n type: userinfo\n size: larg"
},
{
"path": "system/blueprints/user/account_new.yaml",
"chars": 342,
"preview": "title: PLUGIN_ADMIN.ADD_ACCOUNT\n\nform:\n validation: loose\n fields:\n\n content:\n type: section\n title: PLUG"
},
{
"path": "system/blueprints/user/group.yaml",
"chars": 989,
"preview": "title: Group\nrules:\n slug:\n pattern: '[a-zA-Zа-яA-Я0-9_\\-]+'\n min: 1\n max: 200\n\nform:\n validation: loose\n\n f"
},
{
"path": "system/blueprints/user/group_new.yaml",
"chars": 399,
"preview": "title: PLUGIN_ADMIN_PRO.ADD_GROUP\n\nrules:\n slug:\n pattern: '[a-zA-Zа-яA-Я0-9_\\-]+'\n min: 1\n max: 200\n\nform:\n "
},
{
"path": "system/config/backups.yaml",
"chars": 371,
"preview": "purge:\n trigger: space\n max_backups_count: 25\n max_backups_space: 5\n max_backups_time: 365\n\nprofiles:\n -\n "
},
{
"path": "system/config/media.yaml",
"chars": 4436,
"preview": "types:\n defaults:\n type: file\n thumb: media/thumb.png\n mime: application/octet-stream\n image:\n filters"
},
{
"path": "system/config/mime.yaml",
"chars": 35811,
"preview": "types:\n '123':\n - application/vnd.lotus-1-2-3\n wof:\n - application/font-woff\n php:\n - application/php\n - applicat"
},
{
"path": "system/config/permissions.yaml",
"chars": 810,
"preview": "actions:\n site:\n type: access\n label: Site\n admin:\n type: access\n label: Admin\n admin.pages:\n type: ac"
},
{
"path": "system/config/scheduler.yaml",
"chars": 1403,
"preview": "# Grav Scheduler Configuration\n\n# Default scheduler settings (backward compatible)\ndefaults:\n output: true\n output_typ"
},
{
"path": "system/config/security.yaml",
"chars": 749,
"preview": "xss_whitelist: [admin.super] # Whitelist of user access that should 'skip' XSS checking\nxss_enabled:\n on_events: true"
},
{
"path": "system/config/site.yaml",
"chars": 1509,
"preview": "title: Grav # Name of the site\ndefault_lang: en # Default lan"
},
{
"path": "system/config/system.yaml",
"chars": 18533,
"preview": "absolute_urls: false # Absolute or relative URLs for `base_url`\ntimezone: '' "
},
{
"path": "system/defines.php",
"chars": 3737,
"preview": "<?php\n\n/**\n * @package Grav\\Core\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n"
},
{
"path": "system/install.php",
"chars": 327,
"preview": "<?php\n/**\n * @package Grav\\Core\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n "
},
{
"path": "system/languages/ar.yaml",
"chars": 2032,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nالعنوان: %1$s\\n---\\n# خطأ: مادة أمامية غير صحيحة\\n\\nمسار: '%2$s'\\n\\n**%3$s**\\n"
},
{
"path": "system/languages/bg.yaml",
"chars": 1427,
"preview": "---\nGRAV:\n NICETIME:\n NO_DATE_PROVIDED: Не е въведена дата\n BAD_DATE: Невалидна дата\n AGO: преди\n FROM_NOW:"
},
{
"path": "system/languages/ca.yaml",
"chars": 1944,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# S'ha produït un error: Frontmatter invàlid\\n\\nRuta: `%2$"
},
{
"path": "system/languages/cs.yaml",
"chars": 3568,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Chyba: Chybná hlavička\\n\\nCesta: `%2$s`\\n\\n**%3$s**\\n\\n`"
},
{
"path": "system/languages/da.yaml",
"chars": 1913,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nTitel: %1$s\\n---\\n\\n# Fejl: Ugyldigt frontmatter\\n\\nSti: `%2$s`\\n\\n**%3$s**\\n\\"
},
{
"path": "system/languages/de.yaml",
"chars": 3734,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n# Fehler: Frontmatter enthält Fehler\\n\\nPfad: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/el.yaml",
"chars": 3685,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nΤίτλος: %1$s\\n---\\n\\n# Σφάλμα: Μη έγκυρη διαδρομή Frontmatter\\n\\nΔιαδρομή: `%2"
},
{
"path": "system/languages/en.yaml",
"chars": 3943,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Error: Invalid Frontmatter\\n\\nPath: `%2$s`\\n\\n**%3$s**"
},
{
"path": "system/languages/eo.yaml",
"chars": 777,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Eraro: Nevalida Frontmatter\\n\\nVojo: `%2$s`\\n\\n**%3$s**\\"
},
{
"path": "system/languages/es.yaml",
"chars": 2475,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntítulo: %1$s\\n---\\n\\n# Error: Prefacio no válido\\n\\nRuta: `%2$s`\\n\\n**%3$s**\\n"
},
{
"path": "system/languages/et.yaml",
"chars": 2391,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\npealkiri: %1$s\\n---\\n\\n# Viga: vigane Frontmatter'i\\n\\nasukoht: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/eu.yaml",
"chars": 1335,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"--- title: %1$s --- # Errorea: Baliogabeko Frontmatter Bidea: `%2$s` **%3$s** ``` %"
},
{
"path": "system/languages/fa.yaml",
"chars": 1231,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nعنوان: %1$s\\n---\\n\\n# خطا: Frontmatter غلط\\n\\nمسیر: %2$s\\n\\n**%3$s**\\n\\n```\\n%"
},
{
"path": "system/languages/fi.yaml",
"chars": 3263,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\notsikko: %1$s\\n---\\n\\n# Virhe: Virheellinen Frontmatter\\n\\nPolku: `%2$s`\\n\\n**"
},
{
"path": "system/languages/fr.yaml",
"chars": 3743,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitre: %1$s\\n---\\n\\n# Erreur : Frontmatter invalide\\n\\nChemin: `%2$s`\\n\\n**%3$"
},
{
"path": "system/languages/gl.yaml",
"chars": 3633,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntítulo: %1$s\\n---\\n\\n# Erro: Limiar incorrecto\\n\\nRuta: `%2$s`\\n\\n**%3$s**\\n\\n"
},
{
"path": "system/languages/he.yaml",
"chars": 2053,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nכותרת: %1$s\\n---\\n# שגיאה: Fronmatter לא חוקי\\nנתיב: `%2$s`\\n**%3$s**\\n```\\n%4"
},
{
"path": "system/languages/hr.yaml",
"chars": 2357,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nnaslov: %1$s\\n---\\n\\n# Pogreška: nevažeći frontmatter\\n\\nPutanja datoteke: `%2"
},
{
"path": "system/languages/hu.yaml",
"chars": 2173,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ncím: %1$s\\n---\\n\\n# Hiba: Érvénytelen Frontmatter\\n\\nElérési út: `%2$s`\\n\\n**%"
},
{
"path": "system/languages/id.yaml",
"chars": 3725,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Error: Frontmatter tidak valid\\n\\nLokasi: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/is.yaml",
"chars": 1702,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitill: %1$s\\n---\\n\\n# Villa: Ógilt efni á forsíðu\\n\\nSlóð: `%2$s`\\n\\n**%3$s**"
},
{
"path": "system/languages/it.yaml",
"chars": 3692,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---Titolo: %1$s---# Errore: Frontmatter non valido: '%2$s' * *%3$s * * ' '%4$s ' '\""
},
{
"path": "system/languages/ja.yaml",
"chars": 1238,
"preview": "---\nGRAV:\n INFLECTOR_UNCOUNTABLE:\n - ''\n - '情報'\n - ''\n - 'お金'\n - ''\n - ''\n - '魚'\n - 'ヒツジ'\n INF"
},
{
"path": "system/languages/ko.yaml",
"chars": 1615,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# 오류: 무효의 Frontmatter\\n\\n경로: `%2$s`\\n\\n**%3$s**\\n\\n```\\n%4"
},
{
"path": "system/languages/lt.yaml",
"chars": 1681,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Klaida: klaidinga įžanginė konfigūracija\\n\\nPath: `%2$s`"
},
{
"path": "system/languages/lv.yaml",
"chars": 1951,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nNosaukums: %1$s\\n---\\n\\n# Kļūda: Nederīgs Frontmatter\\n\\nCeļš: `%2$s`\\n\\n**%3$"
},
{
"path": "system/languages/mn.yaml",
"chars": 3750,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nГарчиг: %1$s\\n---\\n\\n# Алдаа: Буруу Формат\\n\\nЗам: `%2$s`\\n\\n**%3$s**\\n\\n```\\n"
},
{
"path": "system/languages/my.yaml",
"chars": 3700,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nခေါင်းစဥ်: %1$s\\n---\\n\\n# အမှား - Frontmatter မမှန်ကန်ပါ\\n\\nလမ်းကြောင်း `%2$s`"
},
{
"path": "system/languages/nb.yaml",
"chars": 245,
"preview": "---\nGRAV:\n MONTHS_OF_THE_YEAR: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'ok"
},
{
"path": "system/languages/nl.yaml",
"chars": 3677,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitel: %1$s\\n---\\n\\n# Fout: ongeldige frontmatter\\n\\nPad: `%2$s`\\n\\n**%3$s**\\n"
},
{
"path": "system/languages/no.yaml",
"chars": 1636,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nTittel: %1$s\\n---\\n\\n# Feilmelding: Ugyldig Frontmatter\\n\\nSti: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/pl.yaml",
"chars": 2295,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Error: Nieprawidłowy Frontmatter\\n\\nPath: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/pt.yaml",
"chars": 3735,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Erro: Frontmatter Inválido\\n\\nLocalização: `%2$s`\\n\\n**%"
},
{
"path": "system/languages/ro.yaml",
"chars": 2212,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nTitlu: %1$s\\n---\\n# Eroare: Frontmatter este invalid\\n\\nCalea: `%2$s`\\n\\n**%3$"
},
{
"path": "system/languages/ru.yaml",
"chars": 2667,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Ошибка: недопустимое содержимое Frontmatter\\n\\nПуть: `%2"
},
{
"path": "system/languages/si.yaml",
"chars": 2943,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nමාතෘකාව: %1$s\\n---\\n\\n# දෝෂය: වලංගු නොවන ඉදිරිපස\\n\\nමාර්ගය: `%2$s`\\n\\n**%3$s**"
},
{
"path": "system/languages/sk.yaml",
"chars": 3517,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Chyba: Chybný frontmatter\\n\\nPath: `%2$s`\\n\\n**%3$s**\\n\\"
},
{
"path": "system/languages/sl.yaml",
"chars": 1787,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Napaka: Neveljavna Frontmatter\\n\\nPath: `%2$s`\\n\\n**%3$s"
},
{
"path": "system/languages/sr.yaml",
"chars": 3632,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nнаслов: %1$s\\n---\\n\\n# Грешка: неисправан Frontmatter\\n\\nПутања: `%2$s`\\n\\n**%"
},
{
"path": "system/languages/sv.yaml",
"chars": 2149,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"--- titel: %1$s --- # Fel: Ogiltig Frontmatter-sökväg: `%2$s` **%3$s** ``` %4$s ```"
},
{
"path": "system/languages/sw.yaml",
"chars": 3667,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nkichwa: %1$s\\n---\\n\\n# Kosa: Mbele ya Mbele\\n\\nNjia: `%2$s`\\n\\n**%3$s**\\n\\n```"
},
{
"path": "system/languages/th.yaml",
"chars": 3580,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Error: Invalid Frontmatter\\n\\nPath: `%2$s`\\n\\n**%3$s**\\n"
},
{
"path": "system/languages/tr.yaml",
"chars": 2121,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\nBaşlık: %1$s\\n---\\n\\n# Hata: Geçersiz Önbölüm\\n\\nYol: `%2$s`\\n\\n**%3$s**\\n\\n``"
},
{
"path": "system/languages/uk.yaml",
"chars": 1322,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# Помилка: Недопустимий вміст\\n\\nPath: `%2$s`\\n\\n**%3$s**\\"
},
{
"path": "system/languages/vi.yaml",
"chars": 1333,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntiêu đề: %1$s\\n---\\n\\n# Error: Trang không hợp lệ\\n\\nĐường dẫn: `%2$s`\\n\\n**%3"
},
{
"path": "system/languages/zh-cn.yaml",
"chars": 3080,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\n标题: %1$s\\n---\\n\\n# 错误:无效参数\\n\\n位置: `%2$s`\\n\\n**%3$s**\\n\\n```\\n%4$s\\n```\"\n INFL"
},
{
"path": "system/languages/zh-tw.yaml",
"chars": 1388,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\ntitle: %1$s\\n---\\n\\n# 錯誤: 不正確的 Frontmatter\\n\\n路徑: `%2$s`\\n\\n**%3$s**\\n\\n```\\n%"
},
{
"path": "system/languages/zh.yaml",
"chars": 3080,
"preview": "---\nGRAV:\n FRONTMATTER_ERROR_PAGE: \"---\\n标题: %1$s\\n---\\n\\n# 错误:无效参数\\n\\n位置: `%2$s`\\n\\n**%3$s**\\n\\n```\\n%4$s\\n```\"\n INFL"
},
{
"path": "system/pages/notfound.md",
"chars": 67,
"preview": "---\ntitle: Not Found\nroutable: false\nnotfound: true\nexpires: 0\n---\n"
},
{
"path": "system/router.php",
"chars": 2250,
"preview": "<?php\n\n/**\n * @package Grav\\Core\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved.\n"
},
{
"path": "system/src/DOMLettersIterator.php",
"chars": 4239,
"preview": "<?php\n\n/**\n * Iterates individual characters (Unicode codepoints) of DOM text and CDATA nodes\n * while keeping track of "
},
{
"path": "system/src/DOMWordsIterator.php",
"chars": 4340,
"preview": "<?php\n\n/**\n * Iterates individual words of DOM text and CDATA nodes\n * while keeping track of their position in the docu"
},
{
"path": "system/src/Grav/Common/Assets/BaseAsset.php",
"chars": 7115,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/BlockAssets.php",
"chars": 6226,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/Css.php",
"chars": 1337,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/InlineCss.php",
"chars": 967,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/InlineJs.php",
"chars": 965,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/InlineJsModule.php",
"chars": 1029,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/Js.php",
"chars": 1257,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/JsModule.php",
"chars": 1330,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/Link.php",
"chars": 980,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/Pipeline.php",
"chars": 11498,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Assets/Traits/AssetUtilsTrait.php",
"chars": 6195,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\\Traits\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All r"
},
{
"path": "system/src/Grav/Common/Assets/Traits/LegacyAssetsTrait.php",
"chars": 4545,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\\Traits\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All r"
},
{
"path": "system/src/Grav/Common/Assets/Traits/TestingAssetsTrait.php",
"chars": 7715,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Assets\\Traits\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All r"
},
{
"path": "system/src/Grav/Common/Assets.php",
"chars": 17603,
"preview": "<?php\n\n/**\n * @package Grav\\Common\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved"
},
{
"path": "system/src/Grav/Common/Backup/Backups.php",
"chars": 9800,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Backup\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Browser.php",
"chars": 3269,
"preview": "<?php\n\n/**\n * @package Grav\\Common\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved"
},
{
"path": "system/src/Grav/Common/Cache.php",
"chars": 21719,
"preview": "<?php\n\n/**\n * @package Grav\\Common\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved"
},
{
"path": "system/src/Grav/Common/Composer.php",
"chars": 1568,
"preview": "<?php\n\n/**\n * @package Grav\\Common\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved"
},
{
"path": "system/src/Grav/Common/Config/CompiledBase.php",
"chars": 6229,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/CompiledBlueprints.php",
"chars": 2929,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/CompiledConfig.php",
"chars": 2572,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/CompiledLanguages.php",
"chars": 1930,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/Config.php",
"chars": 3631,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/ConfigFileFinder.php",
"chars": 8395,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/Languages.php",
"chars": 2141,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Config/Setup.php",
"chars": 14394,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Config\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Data/Blueprint.php",
"chars": 15322,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/BlueprintSchema.php",
"chars": 15884,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/Blueprints.php",
"chars": 2974,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/Data.php",
"chars": 8515,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/DataInterface.php",
"chars": 1795,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/Validation.php",
"chars": 35422,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Data/ValidationException.php",
"chars": 1614,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Data\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Debugger.php",
"chars": 34739,
"preview": "<?php\n\n/**\n * @package Grav\\Common\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights reserved"
},
{
"path": "system/src/Grav/Common/Errors/BareHandler.php",
"chars": 663,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Errors\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Errors/Errors.php",
"chars": 2437,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Errors\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Errors/Resources/error.css",
"chars": 1103,
"preview": "html, body {\n height: 100%\n}\nbody {\n margin:0 3rem;\n padding:0;\n font-family: \"Helvetica Neue\", Helvetica, A"
},
{
"path": "system/src/Grav/Common/Errors/Resources/layout.html.php",
"chars": 686,
"preview": "<?php\n/**\n * Layout template file for Whoops's pretty error output.\n */\n?>\n<!DOCTYPE html>\n<html>\n<head>\n <meta chars"
},
{
"path": "system/src/Grav/Common/Errors/SimplePageHandler.php",
"chars": 3196,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Errors\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/Errors/SystemFacade.php",
"chars": 1620,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Errors\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights r"
},
{
"path": "system/src/Grav/Common/File/CompiledFile.php",
"chars": 6556,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\File\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/File/CompiledJsonFile.php",
"chars": 637,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\File\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/File/CompiledMarkdownFile.php",
"chars": 404,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\File\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/File/CompiledYamlFile.php",
"chars": 388,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\File\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/Filesystem/Archiver.php",
"chars": 2673,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Filesystem\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All righ"
},
{
"path": "system/src/Grav/Common/Filesystem/Folder.php",
"chars": 16875,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Filesystem\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All righ"
},
{
"path": "system/src/Grav/Common/Filesystem/RecursiveDirectoryFilterIterator.php",
"chars": 3767,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Filesystem\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All righ"
},
{
"path": "system/src/Grav/Common/Filesystem/RecursiveFolderFilterIterator.php",
"chars": 1431,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Filesystem\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All righ"
},
{
"path": "system/src/Grav/Common/Filesystem/ZipArchiver.php",
"chars": 4982,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Filesystem\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All righ"
},
{
"path": "system/src/Grav/Common/Flex/FlexCollection.php",
"chars": 653,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/FlexIndex.php",
"chars": 699,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/FlexObject.php",
"chars": 2015,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Traits/FlexCollectionTrait.php",
"chars": 1194,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Traits/FlexCommonTrait.php",
"chars": 1318,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Traits/FlexGravTrait.php",
"chars": 1388,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Traits/FlexIndexTrait.php",
"chars": 345,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Traits/FlexObjectTrait.php",
"chars": 1563,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Generic/GenericCollection.php",
"chars": 465,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php",
"chars": 458,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Generic/GenericObject.php",
"chars": 404,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/PageCollection.php",
"chars": 23813,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/PageIndex.php",
"chars": 35543,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/PageObject.php",
"chars": 23882,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/Storage/PageStorage.php",
"chars": 23137,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/Traits/PageContentTrait.php",
"chars": 1863,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/Traits/PageLegacyTrait.php",
"chars": 6622,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/Traits/PageRoutableTrait.php",
"chars": 3450,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Pages/Traits/PageTranslateTrait.php",
"chars": 3089,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php",
"chars": 1284,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php",
"chars": 466,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php",
"chars": 2854,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/Storage/UserFileStorage.php",
"chars": 1075,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/Storage/UserFolderStorage.php",
"chars": 816,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/Traits/UserObjectLegacyTrait.php",
"chars": 2653,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/UserCollection.php",
"chars": 3499,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/UserIndex.php",
"chars": 6276,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Flex/Types/Users/UserObject.php",
"chars": 31137,
"preview": "<?php\n\ndeclare(strict_types=1);\n\n/**\n * @package Grav\\Common\\Flex\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby "
},
{
"path": "system/src/Grav/Common/Form/FormFlash.php",
"chars": 2781,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\Form\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights res"
},
{
"path": "system/src/Grav/Common/GPM/AbstractCollection.php",
"chars": 748,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\GPM\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights rese"
},
{
"path": "system/src/Grav/Common/GPM/Common/AbstractPackageCollection.php",
"chars": 947,
"preview": "<?php\n\n/**\n * @package Grav\\Common\\GPM\n *\n * @copyright Copyright (c) 2015 - 2025 Trilby Media, LLC. All rights rese"
}
]
// ... and 517 more files (download for full content)
About this extraction
This page contains the full source code of the getgrav/grav GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 717 files (3.7 MB), approximately 1.0M tokens, and a symbol index with 5263 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.