{"id":19348849,"url":"https://github.com/adrianbj/pageprotector","last_synced_at":"2025-04-23T06:30:42.530Z","repository":{"id":23728073,"uuid":"27101303","full_name":"adrianbj/PageProtector","owner":"adrianbj","description":"ProcessWire module to allow site editors to protect pages from guest access","archived":false,"fork":false,"pushed_at":"2021-07-03T16:04:19.000Z","size":68,"stargazers_count":14,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T09:22:20.142Z","etag":null,"topics":["access-control","password","processwire","protected-page"],"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-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrianbj.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":"2014-11-25T00:12:47.000Z","updated_at":"2023-02-19T10:21:22.000Z","dependencies_parsed_at":"2022-08-21T22:00:42.549Z","dependency_job_id":null,"html_url":"https://github.com/adrianbj/PageProtector","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FPageProtector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FPageProtector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FPageProtector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FPageProtector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianbj","download_url":"https://codeload.github.com/adrianbj/PageProtector/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250384663,"owners_count":21421769,"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":["access-control","password","processwire","protected-page"],"created_at":"2024-11-10T04:23:18.689Z","updated_at":"2025-04-23T06:30:42.300Z","avatar_url":"https://github.com/adrianbj.png","language":"PHP","readme":"# Page Protector\n\nProcesswire module to allow site editors to protect pages from guest access.\n\n### Functionality\n\n* Ability for your site editors to control the user access to pages directly from Settings tab of each page\n* Include whether to protect all children of this page or not\n* Optionally allow access to only specified roles\n* Option to protect all hidden pages (and optionally their children)\n* Ability to change the message on the login page to make it specific to this page\n* Option to have login form and prohibited message injected into a custom template\n* Access to the \"Protect this Page\" settings panel is controlled by the \"page-edit-protected\" permission\n* Table in the module config settings that lists the details all of the protected pages\n* Shortcut to protect entire site with one click\n\n### API method\nYou can make changes to the protection settings of a page via the API\n\n```\n// all optional, except \"page_protected\", which must be set to true/false\n// if setting it to false, the other options are not relevant\n\n$options = array(\n    \"page_protected\" =\u003e true,\n    \"children_protected\" =\u003e true,\n    \"roles\" =\u003e array(\"role1\", \"role2\"),\n    \"message_override\" =\u003e \"My custom login message\",\n    \"prohibited_message\" =\u003e \"My custom prohibited access message\"\n);\n\n$page-\u003eprotect($options);\n```\n\nYou can also check the status of a page with:\n```\n$page-\u003eprotected\n$page-\u003eprohibited\n```\n\n#### Support forum:\nhttps://processwire.com/talk/topic/8387-page-protector/\n\n## License\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n\n(See included LICENSE file for full license text.)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianbj%2Fpageprotector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianbj%2Fpageprotector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianbj%2Fpageprotector/lists"}