{"id":41298420,"url":"https://github.com/plan2net/fake-fal","last_synced_at":"2026-01-23T04:35:27.069Z","repository":{"id":57042430,"uuid":"126594798","full_name":"plan2net/fake-fal","owner":"plan2net","description":"Create fake files for non-existing files from sys_file table for development/testing systems","archived":false,"fork":false,"pushed_at":"2022-06-14T05:00:58.000Z","size":131,"stargazers_count":12,"open_issues_count":2,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-11-17T05:23:36.636Z","etag":null,"topics":["development-environment","extension","typo3"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plan2net.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-24T11:56:52.000Z","updated_at":"2023-01-27T08:08:14.000Z","dependencies_parsed_at":"2022-08-24T01:10:38.002Z","dependency_job_id":null,"html_url":"https://github.com/plan2net/fake-fal","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/plan2net/fake-fal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plan2net%2Ffake-fal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plan2net%2Ffake-fal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plan2net%2Ffake-fal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plan2net%2Ffake-fal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plan2net","download_url":"https://codeload.github.com/plan2net/fake-fal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plan2net%2Ffake-fal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28680319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T04:33:33.518Z","status":"ssl_error","status_checked_at":"2026-01-23T04:33:30.433Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development-environment","extension","typo3"],"created_at":"2026-01-23T04:35:26.461Z","updated_at":"2026-01-23T04:35:27.063Z","avatar_url":"https://github.com/plan2net.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# plan2net/fake-fal\n\nCreate missing files on the fly for testing/development.\n\n# What does it do?\n\nInstead of keeping gigabytes of files in sync with your test/development system, the extension creates useful fake files.\nIt acts like a local file driver and creates missing files with the correct file signature (and in case of images in the original file's dimensions) and folders, so PHP's finfo (and others) return the correct mime type.\n\nYou can let the extension create fake files on the fly (when visiting a page in the browser) or create fake files for all files which are not available on disk at once via a command (Backend \u003e Scheduler or command line).\n\n![fake-fal Example](Resources/Public/Screenshots/example.png)\n\n# Installation\n\nRequire the composer package:\n\n    composer require \"plan2net/fake-fal\" --dev\n\nActivate the extension in the Extension Manager and update the settings.\n\nYou have to explicitely set the flag `enable` to register the fake local driver.\n\n    enable = 1 (default is 0 = inactive)\n\nSet an image generator\n\n    imageGeneratorType = Plan2net\\FakeFal\\Resource\\Generator\\LocalFakeImageGenerator\n    \n(Currently there's only one local image generator available, so just stick with the default value)\n\nSave the configuration.\n\nAfter activating the local fake driver globally, you have to activate the fake mode for specific local storages.\nEither via backend (by editing the storage record) or via command line command:\n\n    fake-fal:toggle\n    \nwill set all local storages to fake mode.\n\n    fake-fal:toggle 2,14,99\n    \nwill set the given storages (with ID `2`, `14` and `99`) to fake mode.\n\n## Available Commands:\n\n    fake-fal:list\n    \nList all existing storages as a table (command line only)\n\n```\ntypo3 fake-fal:list\n+----+---------------------------+--------+-----------+\n| ID | Name                      | Driver | Fake mode |\n+----+---------------------------+--------+-----------+\n| 1  | fileadmin/ (auto-created) | Local  | enabled   |\n| 2  | fileadmin_sec/            | Local  | disabled  |\n+----+---------------------------+--------+-----------+\n```\n\n    fake-fal:toggle\n    \nSet given storage(s) to fake mode: check flag for fake mode, clear processed files\n\n    fake-fal:create\n    \nCreate fake files within given storage(s); the existing real files will be kept\n\n# Compatibility\n\nThe recent extension version works with TYPO3 CMS 10/11 and PHP \u003e= 7.4.\nUse the versions \u003c 3.0 for TYPO3 8 and 9 and PHP \u003e= 7.0.\n\n# Integration information\n\nWe extend the core class `\\TYPO3\\CMS\\Core\\Resource\\ResourceFactory` to overcome the hardcoded check with `is_file` in the method `retrieveFileOrFolderObject` and we extend the core class `\\TYPO3\\CMS\\Core\\Resource\\ResourceStorage` to reset the `isOnline` flag of the storage. Just be aware of this if you use any other extension doing so or extend the class yourself.\n\n# Alternatives\n\nThere's the [_filefill_](https://github.com/IchHabRecht/filefill) extension from Nicole Cordes.\n\nHere's the story: I had the idea for _plan2net/fake-fal_ for quite a while and there was a Fedex Day (a day where we explore new ideas and create cool things in our company) I wanted to create this extension. The result after one day of coding was the first working version. \n\nThis was around two weeks after Nicole published her extension. I didn't know anything about it. A week later a colleague said \n\u003e Hey, I heard about an extension that sounds like yours!\n \nAt first I was dissappointed, but gladly there's quite a difference.\n\n_plan2net/fake-fal_ works offline and creates the files locally. Additionally the file dimensions are written into the fake images.\nAnd if you download a fake PDF it will behave like a real document.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplan2net%2Ffake-fal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplan2net%2Ffake-fal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplan2net%2Ffake-fal/lists"}