Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


horst last won the day on September 15

horst had the most liked content!

Community Reputation

5,353 Excellent

About horst

  • Rank
    observer of the big picture
  • Birthday 11/05/1955

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    Aachen, Germany
  • Interests
    Photography; PHP, HTML, CSS (SASS,LESS), JS;

Recent Profile Visitors

34,180 profile views
  1. yep, it stores them as regular pageimage variations and you can remove them by hand when opening "variations" in an image inputfield. You also can remove them by calling the core method $image->removeVariations(), but this also removes other variations like the adminThumbnail and maybe variations from CKE-fields and others. Therefore there is the pim2Load('ALIAS')->removePimVariations(), so that you can remove only the pimvariations for that specific alias name. If you are in experimental mode with pim2, you have the option to load it with a second param (called $forceRecreation in the API page) that automatically refreshes this single variation. If you use a specific options array as second param with pim2Load(), you can set $forceRecreation as third param. 🙂 $image->pim2Load('wm', true)-> ...
  2. It is working as expected since the positioning first was implemented. Here is the announcement post: There is also a tip and a photoshop action for download available in the second post of the thread. Do you use lowercase? https://github.com/horst-n/PageImageManipulator/blob/master/ImageManipulator02.class.php#L151-L162 If not please try with lowercase and report back. ------ No there are no API differences, only the opening method is different: $image->pimLoad() becomes $image->pim2Load(). Thats all. I changed the title of the first post for more clarity.
  3. With the module PageimageManipulator you can find a description for "watermarkLogo" that will result in a code like this in your template file: $frame = $pages->get('/settings/')->watermark; foreach($images as $image) { $wmImage = $image->pim2Load('wm', ['quality'=>100, 'sharpening'=>'none', 'defaultGamma'=>-1])->watermarkLogo($frame, $position='NW', $padding=1.5)->pimSave(); // do something with $wmImage } You can find the API explained here (look out for watermarkLogo): And there is a post about simple text here: https://processwire.com/talk/topic/4264-page-image-manipulator-1/?tab=comments#comment-41989 But if you want to use simple text on the images, it would be better not to use my module. Instead try Ukyos avbImage! There is more and better support for simple text watermarks:
  4. NAMESPACE - NAMESPACE - NAMESPACE - NAMESPACE 🙂 <?php namespace ProcessWire;
  5. Looks to me that we always have to provide a template object and not a templates name when not in template file scope. The reason why this is working in template file scope may have to do with some extra work and attention of pw behind the scenes in template file scope. (like outputformatting etc.) But this is only my intuitive idea, no valid technical description. 😉
  6. Have you also checked the entries in the root .htaccess file, if they are correct?
  7. Let all your code you need to run twice in the root of _init.php. Wrap all other, like the include_once of the _functions.php into a superglobal var condition, or, if the include of the _functions.php is the only issue you have, you can wrap this in a condition with function_exists: if(!function_exists("aFunctionNameThatExistsInFunctionsPhp")) include(__DIR__ . "/_functions.php");
  8. Ok, maybe scoping is what is in the way. Try setting as $GLOBALS["alreadyExecuted"].
  9. Maybe this does not work (I'm on mobile), but have you tried to set a var in _init.php like this: if(isset($alreadyExecuted) && $alreadyExecuted) return; $alreadyExecuted = true; // set it in the first run. EDIT: Or bind the include of _functions.php on the condition of the var.
  10. Its coming in Safari and iOS-Safari https://caniuse.com/?search=webp%20image versions 14 TP and 14
  11. https://jakearchibald.com/2020/avif-has-landed/
  12. Maybe a bit OT: with which php version is the script processed, and which set of modules are enabled for the php processor? Is it the same version the webserver is running on?
  13. if you are in PHP scope here, you cannot use the dot ($file.download()) but need to use -> for $file->download()
  • Create New...