{"id":18771017,"url":"https://github.com/rareloop/lumberjack-recaptcha","last_synced_at":"2025-12-12T03:30:13.389Z","repository":{"id":62533327,"uuid":"252728208","full_name":"Rareloop/lumberjack-recaptcha","owner":"Rareloop","description":"Simple ReCAPTCHA integration with Lumberjack","archived":false,"fork":false,"pushed_at":"2023-04-05T14:13:12.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T12:41:15.575Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rareloop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-03T12:35:59.000Z","updated_at":"2023-04-05T14:13:18.000Z","dependencies_parsed_at":"2024-11-07T19:23:44.383Z","dependency_job_id":"d9123758-295c-4708-b871-6387566d311f","html_url":"https://github.com/Rareloop/lumberjack-recaptcha","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rareloop%2Flumberjack-recaptcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rareloop%2Flumberjack-recaptcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rareloop%2Flumberjack-recaptcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rareloop%2Flumberjack-recaptcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rareloop","download_url":"https://codeload.github.com/Rareloop/lumberjack-recaptcha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239678103,"owners_count":19679202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-07T19:22:51.265Z","updated_at":"2025-12-12T03:30:13.277Z","avatar_url":"https://github.com/Rareloop.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lumberjack ReCAPTCHA\n\nThis package provides a simple integration for ReCAPTCHA v2 with Lumberjack and the [`lumberjack-validation`](https://github.com/rareloop/lumberjack-validation) package.\n\n## Installation\n\n`composer require rareloop/lumberjack-recaptcha`\n\nOnce installed, register the Service Provider in config/app.php:\n\n```php\n'providers' =\u003e [\n    ...\n\n    Rareloop\\Lumberjack\\Recaptcha\\RecaptchaServiceProvider::class,\n\n    ...\n],\n```\n\nCopy the example `config/recaptcha.php` file to you theme directory.\n\nAdd your ReCAPTCHA credentials to your `.env` file:\n\n```\nGOOGLE_RECAPTCHA_KEY=\"ABC123\"\nGOOGLE_RECAPTCHA_SECRET=\"ABC123\"\n\n# Optional, if you need to specify the hostname directly\nGOOGLE_RECAPTCHA_HOSTNAME=\"my-hostname.com\"\n```\n\n## Usage\n\nMake sure you call the `recaptcha()` Twig function in the form that you wish to add support to:\n\n```html\n\u003cform method=\"\" action=\"\"\u003e\n    \u003cinput name=\"my-input-name\" type=\"text\"\u003e\n    {{ recaptcha() }}\n    \u003cbutton type-\"submit\"\u003eSubmit\u003c/button\u003e\n\u003c/form\u003e\n```\n\nAnd then add the validation to your Form class to ensure that it is checked:\n\n```php\n\u003c?php\n\nnamespace App\\Http\\Forms;\n\nuse Rareloop\\Lumberjack\\Validation\\AbstractForm;\n\nclass ContactForm extends AbstractForm\n{\n    /**\n     * The validation rules for this form\n     *\n     * @type {Array}\n     */\n    protected $rules = [\n        'my-input-name' =\u003e 'required',\n        'g-recaptcha-response' =\u003e ['required', 'recaptcha'],\n    ];\n}\n\n```\n\n## Showing an error\n\nYou may also want to show an error if the ReCAPTCHA fails for some reason. Assuming you're passing the standard `errors` array into your view you can simply check for the presence of the `g-recaptcha-response` key:\n\n```html\n\u003cform method=\"\" action=\"\"\u003e\n    \u003cinput name=\"my-input-name\" type=\"text\"\u003e\n    {{ recaptcha() }}\n    {% if errors['g-recaptcha-response'] %}\n        {% for error in errors['g-recaptcha-response'] %}\n            \u003cp class=\"error\"\u003e{{ error }}\u003c/p\u003e\n        {% endfor %}\n    {% endif %}\n    \u003cbutton type-\"submit\"\u003eSubmit\u003c/button\u003e\n\u003c/form\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frareloop%2Flumberjack-recaptcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frareloop%2Flumberjack-recaptcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frareloop%2Flumberjack-recaptcha/lists"}