• Content count

  • Joined

  • Last visited

  • Days Won


arjen last won the day on July 2

arjen had the most liked content!

Community Reputation

1,079 Excellent

About arjen

  • Rank
    Hero Member
  • Birthday 03/10/1982

Contact Methods

  • Website URL
  • Skype

Profile Information

  • Gender
  • Location
    Hoogeveen, The Netherlands

Recent Profile Visitors

17,346 profile views
  1. We are using it on one ProcessWire install which is used heavily. We have around 20 Decimal fields with over 200k+ pages with all kinds of automated calculations (thanks @Martijn Geerts). Still working fine ... I haven't tried it on other installs, so I would really like to see @sforsman giving his blessing. You might want to test it out yourself. If it works for you I can cover the maintenance, no worries.
  2. Great @webhoes, that's why you should read the entire thread. I knew it had to be somewhere.
  3. This is possible with the Multi-site module. Read through the whole thread. There is valuable info in it. You may need the restructure your tree a bit.
  4. I tried several options but for me adding all fields to the user template would be the way to go. I've experimented with different templates per role, but like @LostKobrakai mentioned this won't work when you have roles with overlapping functionality. Using several templates with Page fields is also an option I tried, but then the amount of templates increased. My simple solution: create per role a Fieldset and show and hide these fieldset based on InputfieldDependancies. So fieldset_role 1 will only show if role=1. This way you can visually hide fields that don't belong to certain roles. Yes, you have more fields, but at least you won't see them. And getting and setting data from the API is pretty straight-forward too. Although the template option won't create much overhead.
  5. You assign the fields where they need to be stored. For example: Save every field which should be connected to the user to the user template (for instance: an address field, since every user will have their own address) Go to Setup > Templates ... Filters > Show system templates. When you need to add logic to a role 99% of the time it makes sense to use permissions. For instance create permissions so show specific parts of the layout like a comment box for a specific type of user. I have seen rare edge cases where it would make sense to add other fields to a role. See permissions and user. Role are used to store permissions, but since they are pages you can assign any field which makes sense. See point 2 ProcessProfile is where the superuser defines which fields the user is allowed to change on their profile page (/processwire/profile/). ProcessUser is the process module for the users page (/processwire/access/users/).
  6. Hi @kixe, Have you seen my PR? It would be very convenient to be able to allow the job to run on certain hostnames. This idea is 'stolen' from the ProCache module.
  7. You don't entirely have to disable it, just fingerprint the browser for instance. There are several options. See this commit in wire/config.php by ryan.
  8. This. We've ran into this on so many occassions I have disabled IP addresses from the fingerprint in all our configs. I initially felt the same. Then I realised: you are taking one brick of the security wall. There are probably more issues with human errors like people with bad passwords or outdated computers prone to trojans and such.
  9. Hi @Sipho, Welcome to the forums. Instead of unpublished you could also make them hidden. They won't show in a $pages->find() either unless you explicit ask: $pages->find('include=hidden')'. Also check out this famous post on how to organise content in ProcessWire with great examples. This will give you good insight on possibilities on how to structure your data.
  10. @bernhard, I've struggled with this in the past too inside ProcessModules. Didn't find another solution but to use " die()". Feels awkward
  11. Hi @HarryPhone, Based on what I know now: there are no specific modules you need. I would use pages to store the data. You can read the csv file and use the the API to save the data. See this comment on how to create a bash file. Make sure the the new file is somewhere accessible over the internet of place the csv file in a folder. Then you can create a cronjob and trigger the bash script to periodically execute the script. InputDependencies will work with the forms api as well: $field = $modules->get('InputfieldSelect'); $field->showIf = "something=123";
  12. Absolutely. Nowadays we build most of the stuff in the back-end with custom Process modules in combined with the forms api. Importing content is also pretty easy. You might ask why not in the front-end? Because the roles and permissions work flawlessly in the backend and the back-end looks pretty good (Reno looks imo the best), but you can create your own based on Uikit. If you want to overwrite the default styling take a look at AdminCustomFiles where you load css and javascript files. Also take a look at MarkupAdminDataTable since most of the stuff you will need is forms and tables. This makes it pretty easy to prototype.
  13. Agree, but are we sure the right script has been executed with the right usernames? Perhaps they don't know the right usernames and therefore it seems like it won't work. I would suggest looking up in the database. Assumptions ... @jen, where did you execute the reset script? Did you get any errors?
  14. When all passwords won't work anymore at the same time I'm pretty sure someone changed the salt in the /site/config.php. Otherwise find a superuser in the 'pages' table in phpMyAdmin or another databasetool and try to reset it.
  15. Hi @valan, you need something like this? $selector1 = "template=basic-page"; $selector2 = "status=123"; $mergedSelectors = $this->wire(new Selectors($selector1)); $mergedSelectors->add($this->wire(new Selectors($selector2))); // Updated see comment valan // to output a PageArray echo $this->wire('pages')->find($mergedSelectors); // or to output the selector as string echo $mergedSelectors->__toString(); // See: /wire/core/Selectors.php