Jump to content

Spica

Members
  • Content Count

    120
  • Joined

  • Last visited

Everything posted by Spica

  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
  15. I have an array with events from a calendar modul and its not a pagearray. I would like to generate a paginated list using pw's pagination routines. Any chances on that?
  16. new version generates error: Class 'ProcessWire\WireData' not found on line 22 in SimpleContactForm.module
  17. Spica

    Map Marker Map

    Well, I tried to avoid this. Also found only similar solutions. But for those who are interested, here a link for plz files. Maybe I 'll give it a try. http://www.suche-postleitzahl.org/downloads
  18. Spica

    Map Marker Map

    I wonder how to display plz (zip) areas in the map in additon to the markers. What do I mean: If you search in google maps for e.g. "schöneberg, berlin, deutschland" you get an overlay for that city destrict. I wonder, if you can adress this by the api. Dont want to make own overlays.
  19. I am looking for an calendar module like this. Has anyone had this in a productive installation and would share some experiences? I am also keen on an recurrenceinput UI mentioned before. Did anyone implement one of these? And I wonder if I could use different templates next to calendar-event.
  20. I found an fork of FieldtypeMapMarker I already worked with that already does the sorting in the sql query. Think that could fit my needs.
  21. Good Point, LostKobrakai, actually I need a pagination. So sort() seems not to be the right way. Will check your link, at first glance it seems more compicated than expected.
  22. Ah, thanks, kongondo, that was the missing link / information for me. I now just wonder about the best sort strategie. I have different sort options beside the distance to sort the pagearray. All given by a users selection. So all other sort options are executed within the selector in $pages->find. Distance cannot be sorted within find. Should I mix find(sort=) with $res->sort() routines or do a routine just with $res->sort() for all sort options. Are there any reasons to prefere a sorting within find() over sort()?
  23. I have a pagearray, each page has a location. I calculate the distance to a given location for each page's location. How would I best organize a sort of the pagearray on the distance. The distance is not a field of the pages but calculated. Hope I am clear enough.
  24. @kongondo: haha. yes. but what if I want to prevent others to click it? @LostKobrakai: wasnt there an automatic modules update with an core upgrade?
×
×
  • Create New...