Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

32 Excellent

About modifiedcontent

  • Rank
    Sr. Member

Recent Profile Visitors

2,045 profile views
  1. I had a simple 'Delete My Account' link for users in my site that used to work fine, with a function like this: But it no longer works, after upgrades I guess. I get a fatal server error: cannot be deleted: it is the current page being viewed, try $pages->trash() instead Or when I use trash(), I get: Exception: This page (id=XXXX) may not be placed in the trash That error is thrown in core/PagesTrash.php by a check for isDeleteable(). I can't find info what makes a page 'deleteable' or not. What is now the recommended way to do this?
  2. Has anyone else seen front-end editing not working on certain pages? When I try to make an edit and click Save, I get a javascript pop-up with 'No changes to save'. Anyone have any idea what causes this? Javascript conflict maybe?
  3. Did anyone ever find out how to solve this? Or at least make that error disappear... Edit: Just switched from Reno admin theme to UIkit. I think the error message is now gone.
  4. A few more points to watch out for. You need to copy the Authentication Salt in config.php to be able to use your login from the old database: /** * Installer: User Authentication Salt * * Must be retained if you migrate your site from one server to another * */ Installed modules and customizations can also mess up things. After simply uploading my backed-up /site folder into the new installation, I got a scary fatal server error. To step back I restored the /site folder of the fresh installation. I had replaced the fresh install database with my original backed-up database. That worked fine. I see all my old content and templates etc. in the admin area. Next I have uploaded all modules from the backed-up /site/modules to the new installation /site/modules. In the back-end I have clicked Refresh in Modules. It finds the modules and installs them. You may have to repeat Refresh a few times. I still keep getting this error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'field_headshot.filedata' in 'field list' After uploading the rest of the backed-up /site folder, everything else seems to work fine.
  5. Cool! Looking forward to trying this. Thanks gebeer
  6. Another dumb question; what am I supposed to do with the following in config.php: I have tried uncommenting '@var Config $config', but that breaks stuff. And what is '@var bool'?
  7. Is there no quick way in Processwire to just clear all caches in one go? I keep running into caching problems and then have to turn on/off caching per templates. I have also read that you can delete the contents of the cache folder, but think it broke my site the last time I tried that. I am now troubleshooting another issue that may or may not have anything to do with caching. It would just be nice if I could just eliminate that as a cause, but wouldn't even know which template/cache to try to clear.
  8. Excellent. Thanks rick and wbmnfktr. I'll do this in the coming weeks and will report back.
  9. What is currently the best way to move a Processwire site to a new server? I have to upgrade my VPS, from CentOS 6 to CentOS 8. I have several relatively complicated Processwire websites. I am currently downloading all the files via FTP. I will export databases next. I guess I'll use Export Site Profile. Or had that been replaced by something else? New modules that I missed? Or will the FTP'ed files + exported database be enough? Just copy them 1-on-1 to the new server and it will all work? What can go wrong? What are the pitfalls to watch out for?
  10. Thanks wbmnfktr, I had seen that one. That page gives a lot of general, very useful background info on the how and why of permissions, but I was looking for a quick overview/cheatsheet with recommended settings for each processwire directory/file.
  11. Is there an overview/cheatsheet anywhere with recommended permissions for each folder and file? I know permissions are set at installation, but I probably messed things up a bit in a server upgrade or PHP 7.3 has different requirements. I now keep running into permission issues.
  12. Answering my own question: I got directory/files ownership/permission screwed up on /site/assets/cache. Or PHP7.3 handles those differently? /cache and /modules should be writable. I had both on 755, but guess ownership was wrong. Doing this via ssh fixed it: chown -R myserveruser site/assets/cache chown -R myserveruser site/modules chmod -R a+w site/assets/cache chmod -R a+w site/modules Are there other folders/files I should double-check?
  13. I had upgraded my Apache configuration to include PHP7.2 and PHP7.3 for a Laravel-based script on the same server. Somehow it/I messed up a previously fine Processwire site, in a very confusing way. The site still looks fine, but editing template files has no effect whatsoever. It is stuck on some kind of cached version. I have already disabled PHP7's OPcache, cleared browser caches, etc, with no effect. The pages now apparently come from PW's assets/cache/FileCompiler folder, even though I never enabled template caching for this site. I have tried adding "namespace ProcessWire;" to the top of the homepage template file, but then I get this fatal error: My functions.php file pulls data in from another Processwire installation on the same VPS with the following line: $othersitedata = new ProcessWire('/home/myaccount/public_html/myothersite/site/', 'https://myothersite.com/'); That apparently still works fine; the site still displays data from the other installation, but via the "cached" template that I am now unable to change. I don't know where to start with this mess. Does any of this sound familiar to anyone? Any pointers in the right direction would be much appreciated. Edit: Adding "$config->templateCompile = false;" to config.php results in the same fatal error as above.
  14. Is there a way to allow the front-end editing feature for a role, without also giving that role access to the admin area/control panel?
  15. Why doesn't this work? $members = $pages->find("template=user"); foreach($members as $bogus) { // don't use $user if ( $bogus->firstname === $bogus->lastname ) { $bogus->delete(); } } I get this error: If I echo $bogus->fullname, I get a nice list of spam accounts where the first and last name are the same. There has to be a way to let PW allow me to delete them. I have also tried $users->delete( $bogus ) and $users->delete( $bogus, true ) and a few other variations, but keep getting the same error message. Line 1017 is this: if(!$this->isDeleteable($page)) throw new WireException What makes a page not deletable? Any ideas? I have a similar bit that deletes user accounts with numbers in the name fields: $members = $pages->find("template=user"); foreach($members as $bogus) { if ( preg_match('/[><\-0-9]/', $bogus->name ) ) { $users->delete( $bogus ); } } That one works fine. What am I getting wrong with the other one? Edit: I think I figured it out. $firstname === $lastname would also be TRUE for two empty fields, so I guess PW has wisely made that not deleteable somewhere. So you have to check first if either field is set at all. The following seems to work: $members = $pages->find("template=user"); foreach($members as $bogus) { // don't use $user if ( $bogus->firstname && $bogus->firstname === $bogus->lastname ) { $users->delete( $bogus ); } } Or still wrong?
  • Create New...