Jump to content

Search the Community

Showing results for tags 'permissions'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Welcome to ProcessWire
    • News & Announcements
    • Showcase
    • Wishlist & Roadmap
  • Community Support
    • Getting Started
    • Tutorials
    • FAQs
    • General Support
    • API & Templates
    • Modules/Plugins
    • Themes and Profiles
    • Multi-Language Support
    • Security
    • Jobs
  • Off Topic
    • Pub
    • Dev Talk

Product Groups

  • Form Builder
  • ProFields
  • ProCache
  • ProMailer
  • Login Register Pro
  • ProDrafts
  • ListerPro
  • ProDevTools
  • Likes
  • Custom Development

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







  1. How do I change the permissions for Who can access this page for a single page. This page inherits the admin template. I'm currently creating a new page called Settings using admin template and assigning it to a process of a module. I can see the Settings tab in superuser, but I can't see them in a role I defined called 'client'. So, how can i control what the client sees for admin template? Is there a page specific overwrites for permissions. I've tried allowing access in admin template view, edit. But still doesn't work
  2. I wrote 2 modules for internal use, static translations & site settings. But I can't seem to get them visible in the admin for my "client" role. public static function getModuleInfo(){ return array( "title" => "Settings Module", "version" => 100, "summary" => "Site wide settings module", "permission" => "edit-settings", "permissions" => array( "edit-settings" => "Edit settings" ), ); } This is what I've got in my module, I also added those permissions to my role in the backend. But still the tabs aren't appearing to my client. When I try to surf to the URL, it just redirects me to the pagetree, so I guess for some reason permissions are still not set? Did I overlook something?
  3. In my world, Super Users / Editors should only be able to work with Pages and administer users. Everything else is the domain of the web master. The purpose is to prevent technically inexperienced editors from destroying core elements of a site, such as fields and templates. That leaves me with the question, how to deny Super Users access to Setup, Modules and Roles / Permissions? PS: May I also suggest that it shall be possible to set Permission for each of the main menu items - including their sub-menu items.
  4. Hi, How can I display, on every page of my site, what roles can view that pages template, based on what is checked in settings>templates>template-name>ACCESS TAB? I've only gotten as far as displaying the name of the current template: echo $page->template->get('name'); But I'm stuck here. Tried things like $page->template->get('permissions'); but I guess it's a bit more complicated than that. Hope someone van point me in the right direction. Cheers.
  5. I have reduced the module to this and the same error persists: <?php class PortalDashboard extends Process implements Module { public static function getModuleInfo() { return array( 'title' => "Portal Dashboard", 'version' => "0.1", //'permission' => array("page-lister"), 'autoload' => false, 'singular' => true, 'permanent' => false, 'requires' => array("PHP>=5.4.0", "ProcessWire>=3.0", "CatCoCustoms"), ); } public function init() {} In the red: Furthermore When I uninstall the aforementioned module this doesn't happen, oddly enough. What could be the problem?
  6. I've been getting more and more into building full fledged web apps using PW as a framework. I use PW for data modeling and storage, user management, etc., and extend the Page class for different templates to add functionality to specific types of pages/data models. It is a very simple and powerful way to develop. However, one thing that I have struggled with is finding the right way to approach page view access for users of an application (This would also apply to a password-protected area of any PW site). I'm going to try and boil this down to the most simple, common scenario, and go from there: I am building an app where every page in the app (except for the login screen) should be password protected. Should I... 1. Turn off page view access in the template access settings for the guest user and use the settings to redirect the user to a login page. This has the drawback that you cannot disable guest view of the home page (a built-in PW limitation that seems a bit arbitrary). You are also limited in how you can define what to do when the page is not viewable (you must use the options provided in the admin interface), and you do not have the option of continuing to load the page with an alternate view (for example, a login form). Also, sometimes it requires configuring a lot of settings for a lot of different templates. It also doesn't give you page-specific access control. 2. Leave the access settings wide open but write some code at the top of my template files, init.php, or ready.php to redirect users who are not logged in. This has the disadvantage that it only applies if ProcessWire gets that far into the page load process, and it doesn't effect any other aspect of ProcessWire (for example, whether the page is available in a $pages->find()). If I wanted, I could allow anyone to reach any page and just show/hide the content based on the user's permissions or role. If the user doesn't have permission, I could keep them on the same page but show the login. Once they logged in, they'd be on the page they were originally looking for. 3. Write my own hook before or after Page::viewable and/or ProcessPageView::execute (or somewhere else?) to switch access on or off and redirect based on my own requirements. This should be more reliable and secure than #2 and more flexible than #1, but it feels kind of like reinventing the wheel. Maybe the best approach is some combination of #1 and #3, with #2 reserved only for showing and hiding individual sections of a page that is already viewable. I'd be very interested to hear how others are handling this.
  7. Hello everyone! It's been a while since I've posted on here, but I've got an issue that I haven't been able to solve by searching through old posts. I'm trying to allow a user to change templates on only two pages of their site. I've enabled page-edit and checked the box for page-template. When I log in as the user role, the template dropdown works, but it only shows the current template and no others. I'm using version 3.0.39 if that makes any difference. I'm stumped. Thanks in advance for your help and suggestions! They are much appreciated.
  8. HELLO ALL! Context: I use serverpilot to setup and administrate my server patches for my hosted sites. As with many other serving companies, they write tutorials to setup software on their service. I asked them to provide a PW installation instruction and they have obliged however hitting on the following issue on installation with their default linux user: Issue: Basically at the end of the installation there is a warning to secure your config file which could have been done already by the system, I believe they're saying. Is there anything we can do with this, or should i ask them to carry on with the caveat that they should but in a bit of text saying this warning is normal and can be sorted in teh follow ways etc...? Interested in people's opinion.
  9. For an inherited site, I have a section in the ProcessWire admin section with Tools and Settings as children. Unfortunately, I don't have access to these, even as admin. I know this is controlled in the database, but I don't see any way to change the permissions. Through some research, looks like you can adjust that through Setup > Templates > Edit Template > Access , however "Templates" doesn't show up under Setup either. Any advice is appreciated.
  10. Hi Guys I am trying to save Pages with the API from the root Folder in a file named refreshIndex.php. The code looks like this: $root = "/path/to/root"; include($root . "index.php"); //$doctors = wire('pages')->find("template=doctors"); $jobs = wire('pages')->find("template=jobs"); //$news = wire('pages')->find("template=news"); //$specialities = wire('pages')->find("template=specialities-clinics"); //$events = wire('pages')->find("template=signup-form-formbuilder"); //$dbpages = wire('pages')->find("template=doctors|specialities-clinics|news|signup-form-formbuilder|jobs"); //$allpages = wire('pages')->get(27200)->find(""); foreach ($jobs as $stpage) { $stpage->save(); } Now at the moment I am trying to save Job Pages. They are 2 job pages right now. It saves 1 of them and at the 2 one I get an Error like this: Error: Uncaught WirePermissionException: Page '/de/jobs/test-job_ge/' is not currently viewable. in /pathtoroot/wire/modules/PageRender.module:319 They are both using the same template with the same permissions respectively they are visible (guest user is viewable). And also the languages of the page are all active inside page settings. Somehow my Hook is responsible for this. The hook is the reason for my Script above. I am trying to update the index field for my site search. The hooks works fine when I am saving the pages from the backend interface, but I can't save all pages from the backend since they are over 1500 pages I need to save. $this->addHookBefore('Pages::saveReady', $this, 'hookIndexingBefore'); protected function hookIndexingBefore( HookEvent $event ) { $options = array(); $page = $event->arguments("page"); // abort when true if(!$page->template->hasField("index")) return; if($page->isNew() || $page->isTrash()) return; // save user lang $language = $this->wire("user")->language; // clear index field at the begin $page->index = ''; if($page->is("template=specialities-clinics")){ $options['sender'] = $page->choose_sender_2016->id; } $options['pagename'] = $page->name; foreach($this->wire("languages") as $lang) { $this->wire("user")->language = $lang; // change user lang wire('pages')->setOutputFormatting(true); $content = $page->render($options); wire('pages')->setOutputFormatting(false); if($content){ $startStr = "<!--### start-indexing-area ###-->"; $endStr = "<!--### end-indexing-area ###-->"; preg_match_all('/'.$startStr.'(.*)'.$endStr.'/siU', $content, $matches); $newContent = preg_replace("/<div class='breadcrumb.*'>.*<\/div>/siU", '', $matches[1][0]); $newContent = str_replace('<', ' <', $newContent); $newContent = strip_tags($newContent); $newContent = preg_replace("/\s\s+/", " ", $newContent); } $page->index .= $newContent; } $this->wire("user")->language = $language; // restore user language }
  11. I'm working on a production site from 2012, running Processwire 2.3. We have an image field called 'main_teaser_image' that's used by various teasers/widgets across the site. When the image field is used in a standard widget, both Superusers and Editors can edit/crop the image. However, when the image is inside a Repeater field (used to create slider/carousel widgets), only Superusers can edit/crop the image. Editors receive the error: 'Not Editable' (see screenshot). I have tried to adjust the main role permissions, the page permissions and template (widget) permissions, all to no avail Any help would be greatly appreciated... I'm gonna get a coffee...
  12. I've got my first Processwire site all set up and everything was pretty much straight forward, but I am stuck on literally the last thing I have to do which is locking down some of the features within the admin area. I have three users, a Superuser, an Admin and a guest. The Superuser account is for me so that I can make higher level changes, and the regular Admin user is for the person who manages the copy on the site, so ideally they will only have the ability to add, edit or delete pages, and not be able to mess with any of the settings such as templates or fields. So I would like to be able to hide three of the top navigation tabs from the Admin user (Setup, Modules and Access). I've tried making the pages hidden in their settings tabs, but even as the Superuser, the page is locked for edits.
  13. 777 seems excessive - is there something that I'm missing here? This is a print out of the /site content; ``` total 28 drwxrwxr-x 6 geot geot 4096 Sep 9 13:30 . drwxrwxr-x 8 geot geot 4096 Sep 9 13:17 .. drwxrwxr-x 2 geot geot 4096 Sep 6 10:10 assets -rwxrwxrwx 1 geot geot 1548 Sep 6 10:10 config.php drwxrwxr-x 3 geot geot 4096 Sep 6 10:10 install drwxrwxr-x 2 geot geot 4096 Sep 6 10:10 modules drwxrwxr-x 5 geot geot 4096 Sep 6 10:10 templates ``` I'm sure that I shouldn't have to have permissions so high, but I'm pretty new to this. Here's a shot of the setup that I'm currently going through; http://imgur.com/a/WkhAX You can see that the error (for site/config.php) is no longer there with these permissions, but they still 'feel' wrong. Thanks
  14. After a full day of failed attempts at setting up a pro, Vagrant-based development environment on my Macbook, I settled for good old XAMPP. Some sites were migrated over successfully, as well as a fresh PW project installed (dev branch). However, for some reason now, as I try installing another fresh copy (dev or stable), I get this error: File system is not writable by this installer. So I rename the site profile manually, but then I need to fix the permissions for site/config.php and site/assets/. How exactly do I do this? I've tried chmod in Terminal, and messing around in the file/directory Get Info window, although I'm not sure which user or group to edit. Either way, I'm not getting anywhere. Please help. Thanks.
  15. Hi guys, I have this structure: - page group A (template group) --- events group A (template group_events_list) ------ event 1 (template group_event) ------ event 2 (template group_event) ... --- news group A (template group_news_list) ------ news 1 (template group_news) ------ news 2 (template group_news) ... - page group B (template group) --- events group B (template group_events_list) ------ event 1 (template group_event) ------ event 2 (template group_event) ... --- news group B (template group_news_list) ------ news 1 (template group_news) ------ news 2 (template group_news) ... - page group C (template group) --- events group C (template group_events_list) ------ event 1 (template group_event) ------ event 2 (template group_event) ... --- news group C (template group_news_list) ------ news 1 (template group_news) ------ news 2 (template group_news) ... So every group has the same structure with events and news but they share the same template. Now, i would like to limit access for group admin to a specific group branch so that the group A admin, can access, edit, and create/delete new pages for group A, but i can not edit other group. The same for group B admin, and so on. I understand that the best idea would be to use a template - role access, but i don't want to create a different template for every group, since every group page has the same fields, structure etc. I've tried this module http://modules.processwire.com/modules/page-edit-per-user/ (even if it says just to pw 2.4 and i'm using pw 2.7.2) and i can limit access to just one group per user, but just for editing pages, not for creating new ones. And if i give page creation permission to a template, let's say group_events_list, for a specific role, than that role can create pages for every group events. How can i limit editing and creating permission just for a single group (and its children pages) per user. Is it possible? Thanks a lot!
  16. Hi! I have finally managed to start my first project in ProcessWire. Loving the simplicity and flexibility but I have stumbled upon a problem with Image field. It just does not upload anything. What happens is: Upload progress bar is going up to 100%. Folders in assets/files are properly created, with permissions set to 777. Unfortunately, no image is being uploaded as there are no files in created folders. Nothing shows in Javascript console (Chrome and Firefox), so it is not a front-end problem. I have been searching for solution on this problem but what I have found was not helpful. I have safe_mode in PHP turned off. The issue persists for File fields as well. Thanks!
  17. Hello everyone, is it currently possible to allow editors (so all kinds of non-superusers) to edit the translation files in the backend? It doesn't look like it to me, because there are no permissions in the LanguageSupport modules. Or did I overlook something here? And if not: is it possible to work around this somehow? Any help is appreciated. Edit: Should I maybe ask this question more general (not coined to multilanguage) in another subforum?
  18. Hi Guys, I have a site that I built for a software company. The site has someone that will be managing the blog which is in ProcessWire now. Here is my question, I need to give the user's role the ability to change the created user for a page however, ProcessWire template settings only allows me to add this capability to the superuser. Any suggestions? Workaround ? Thanks.
  19. Hi all! I hope somebody could help me to figure out this weird issue I've found. Few days ago I've upgraded my local installation to the latest dev release (2.6.20 -> 2.6.22 rc1) and performed some tests to be sure everything was working as expected. No problem at all. After these tests, I decided to do the upgrade to the remote installation, too. Here the problems came. The upgrade was done without any issue or error message. Everything was ok, but permissions don't work as expected. I've an author role with limited editing permissions (page-add/create for children pages, and page-edit-created) that works as expected on local installation, but doesn't works at all on remote installation. Only page-view permission is still available for some pages. Some pages expected to be editable, now don't have any permission available (neither the page-view permission), even whether I remove any kind of access control, PW still complains that the role hasn't the required permission for adding or editing. Any help is really welcome. Thx!
  20. Hello, my problem: with the role created for my client, the "add new" button don't list all templates authorized for this role. With the admin role all template are listed: With the client role city (ville) and program (programme) are missing : Have you any idea? Thanks a lot!
  21. I have a template that is used for one page, "tracks" (tpl & pg name). Under the Access tab the "uploader" role is checked for View Pages, Edit Pages, and Add Children. I even added a page-edit-tracks_upload permission via Page Edit Field Permission module which is enabled for "uploader" and yet when I try to edit the tracks page as a regular uploader, I get "ProcessWire: You don't have access to edit", "The process returned no content." The uploader in question did not create the page but I want any uploader to be able to edit this one field of the page (none others exist besides the title and settings fields). How can I achieve that?
  22. Hi there, I've recently been getting a lot of the following error messages. I can't see anything on the error logs that the ProcessLog Module provides. I thought it could be a problem with the DNS, so i changed it to OpenDNS but to no success. Is there anything else I should check? If it's a plug-in, what can I do to find out which plug-in it is, besides turning each one off one by one? Thanks in advance! ------------------------------------------- P/S XXXXX below is a placeholder for any directories or pages I've been trying to access. ForbiddenYou don't have permission to access /processwire/XXXXX/ on this server.
  23. How can i build multi-user-system for the frontend? I have an approach like: Pagetree: Login -Admin(Admin-Overview) -- Veranstaltungen -- Agenda/Daten -- Multimedia -- Veranstalter -- Import/Export -- Einstellungen -user-1(Overview) -- Veranstaltungen -- Agenda/Daten -- Multimedia -- Profil -- Benutzer -user-2(Overview) '' '' ... users: user-1, user-2 the users have the role: client When the successfull login happens: if($user->isLoggedin()){ if($user->isSuperuser()){ $session->redirect("./admin-overview/"); } else if($user->hasRole("client")){ $session->redirect("./$user->name/"); } } On the beggining of the _main.php where all the content will be loaded: To avoid access to the content from another user from the url. if($user->isLoggedin()){ if($page->name != $page404->name){ if($user->name != $page->rootParent->name){ $session->redirect("$page404->url"); } } } Am I on the right way or is this the completely false? Can you give me a better approach, a better, safer way to achieve a multi-user-system/management for the frontend?? I must migrate an existing Web-Application that was build with yii to Processwire.
  24. Hello, I have a form in my html which sends an email with this result. This works perfectly on my html/css... but the moment I use this with processwire I get the following screen with: Forbidden You don't have permission to access /djfemke/_cms_processwire/site/templates/_php/form-to-email.php on this server. So I thought... maybe there are some permissions which I have activated or something like that. This form after goes to a file which manages the form. This is inside my url structure as you can see in the picture. Do you have any idea how to change this to make it work? Under you have the url structure and my code of my form just in case. REALLY THANK YOU : <form name="form1" action="<?php echo $config->urls->templates?>_php/form-to-email.php" method="post"> <div id="form_box" class="gradient"> <div id="center_box"> <h3>WANT TO BOOK ME?</h3> <div id="form_data"> <table> <tr> <td><input type="text" value="Company name" class="gradient" name="company" /></td> <td class="tdright"><input type="text" value="Name" class="gradient" name="name" /></td> </tr> <tr> <td><input type="text" value="Telephone" class="gradient" name="telephone" /></td> <td class="tdright"><input type="text" value="Email" class="gradient" name="email" /></td> </tr> <tr> <td> <input type="text" id="dateField" /> </td> </tr> </table> </div>
  25. Hi, I'm utilizing the new field level access controls that arrived with 2.6.2 on a new site. I've found however if I apply access controls to a field to 'view' that has visibilty set to a 'only show if' conditional statement, then the field does not display any content at all. So my example is: A translator role has only 'view' access to a field called 'content_type' (note: both 'Access toggles' are ticked to allow viewing of field and API access) There are different fields viewable based on the value of 'content_type' for example there's a image field accessible only if 'gallery' is selected as content type. Even if 'gallery' is selected by superuser, the translator role cannot see or interact with the image field. Am I missing something here - or is this a bug in the new access controls?
  • Create New...