Jump to content

Spica

Members
  • Content Count

    120
  • Joined

  • Last visited

Community Reputation

24 Excellent

About Spica

  • Rank
    Sr. Member
  1. So, yes, this method unzips all nested files. My use case, for anyone who may need: <? // hook into tutorial upload and unzip file into destination wire()->addHookAfter("InputfieldFile::processInputFile", function(HookEvent $event) { $pagefile = $event->argumentsByName('pagefile'); // limit to a specific field {file_tutorial}, restricted to zip uploads if($pagefile->field->name != 'file_tutorial') return; // full disk path to your custom uploads directory $tutorialsBaseDirectory = $this->wire('config')->paths->assets . 'tutorials/'; // extend path with custom directory nam corresponding to page id $pageIdDirectory = $tutorialsBaseDirectory . $pagefile->page->id . "/"; // extend path with custom directory name from the filenme without extention $tutorialDirectory = $pageIdDirectory . $pagefile->basename($ext = false); // use ProcessWire's $files API // @see: http://processwire.com/api/ref/files/ $files = $this->wire('files'); // Remove directory and its files after ensuring $pathname is somewhere within /site/assets/ $files->rmdir($pageIdDirectory, true, [ 'limitPath' => $tutorialsBaseDirectory ]); // make tutorials id directory correspondig to ressources id if($files->mkdir($tutorialDirectory, true)) { // directory created: /site/assets/tutorials/id/filenameWithoutExtension } // get zipfile and destination and unzip $zip = $pagefile->filename; $dst = $tutorialDirectory; $items = $files->unzip($zip, $dst); }); Adopted from The script takes an uploaded zip and unzips it into the destination folder. As it has an index.html I can point a link to it.
  2. Is the unzip method constructiong a nested folder hirarchy that is given in the zip? Or does it zip all files flat into one folder? https://processwire.com/api/ref/wire-file-tools/unzip/
  3. I wonder how the module can be made GDPR conform. As far as I can see only the unsubscription proccedure needs some tweaks in the private function validateUnsubscribeToken(): $this->users->delete($user); $this->log->save('messages', "User has been successfully deleted with id `{$user->id}`."); First line: Can anyone confirm, that the whole entry is fully deleted and cannot be restored? (At the moment I have no testsystem to check it) Second line: Switching the log from email to id, as the id is no personal data. But the id could be used as unique identifyer for deleted users when syncing with / exporting to other systems . Maybe adding a timestamp also would be good. Another point to consider is neutralizing the optional email notifications to the admin. Any other issue?
  4. And https://github.com/processwire/processwire-issues/issues/523 Yes. That explains...
  5. // tracy console foreach($users as $user) { if($user->admin_theme == 'AdminThemeDefault' || $user->admin_theme == '') $user->setAndSave('admin_theme', 'AdminThemeUikit'); echo $user->name . ": " .$user->admin_theme . "<br>"; } Well. This did it. It not exactly what I would have prefered but it works. Now every user has the uikit theme marked in his profile. What was confusing: New Users have the default admin theme marked in the interface by default, but have no entry in the db ($user->admin_theme == ""). But explicitly saving the users profile will entry the AdminThemeDefault.
  6. Of course it is already activated. What I want is to switch the default theme to uikit for all existing users who have choosen the default theme. I cannot find eg any point to hook to.
  7. Ah, ok. Missunderstood. Any way to change it by configuration in the way I would like it – to set the uikittheme as the default/standard theme for all users?
  8. $config->defaultAdminTheme = 'AdminThemeUikit'; Set this iton the site/config.php. But has no effect. Well, I would expect to have all users with default theme selected to be switched to the uikittheme. Am I taking it wrong?
  9. Great, kixe, I did put it into a module. Works fine. I have noticed, that loginerrors, eg caused by wrong pwd, are still logged, but with the user guest. Can anyone give clearance about what this hook will cover and what not?
  10. How can I prevent system logs ( eg. sessions) for specific user roles?
  11. Ah, great, kongondo, that realy makes me happy.
  12. Thanks, ottogal, had a view on the thread. But not exactly what I want. It would be possible to reference different fields, but all manually. If the category taxonomy would increase the new relations would not be refected. I now think about modifying the display of the input page reference. I think it is done in processPageList.js. But I dont see, how to modify only the one occurance of the page reference field. Maybe musst digg deeper into it. But would be happy for any easier solution.
  13. I use an inputfield Page Reference for managing categories, that are generated from a page tree like so: cat 1 subcat 1 subcat 2 cat 2 subcat 3 subcat 4 etc I now would like to select the maincategory in a page first. And then based on the selection the subcategories should be offered. Cant find an easy and flexible way for that. Any suggestions?
  14. That looks good. Thanks, fbg13
×
×
  • Create New...