Jump to content

Recommended Posts

Posted

I think it's safe but check on dev installation first. I'm still using the old version on my few websites, with just a few fixes (although not sure which ones) - don't fix if ain't broken mantra :-). A colleague is running the new version, but he isn't using minimizing js/css functions; he uses just caching operations, no problems in last 2 months. But he just informed me that when he access the module settings in admin, it takes a long time to see the settings - I never had any problems, will report back if he finds what could be the problem.

  • 10 months later...
Posted
On 9/26/2020 at 3:15 PM, Sevarf2 said:

Hello, I'm having a strange issue, the module works fine in production mode, but when I enable the $config->debug = true; the module cannot compile my files and output this error

 

<b>Warning</b>:  A non-numeric value encountered in <b>/site/assets/cache/FileCompiler/site/modules/AllInOneMinify/AllInOneMinify.module</b> on line <b>713</b><br />/site/assets/aiom/css_b636f2192ceb48c592835de3c2d9c3b9_dev.css?no-cache=1601104220">



Any idea how to solve this? Thanks

This error also happens with PHP 8.

Modify line 707

$_timestamp = '';

to

$_timestamp = null;

Solve the error.

Gideon

  • Like 3
  • Thanks 1
  • 2 years later...
Posted

@David Karich Is this module still in development? Could you please update that one line that @Gideon So suggested. That solved my PHP8 (and internal server) error. Thanks!

Modify line 707 in /site/modules/AllInOneMinify/AllInOneMinify.module
$_timestamp = '';
to
$_timestamp = null;

 

  • 3 months later...
Posted

In the document html head tag:

        if (!empty($jshead)) echo '<script src="'.\AIOM::JS($jshead).'"></script>';
        if (!empty($jsfoot)) echo '<script src="'.\AIOM::JS($jsfoot).'" defer></script>';

... both lines render the same file, containing only one of the files in the respective arrays (each array has one item, it only contains the 1st)? What am I doing wrong?

Also, including @import google fonts begets the following error:

PHP Warning: Trying to access array offset on value of type null in .../processwire/site/modules/AllInOneMinify/lib/Less/Less.php:5746

No error if I include the compiled CSS instead of LESS, but @import is used in the README examples?

Posted (edited)

Updating less.php got rid of the aforementioned LESS error though the fonts don't load anyway.

Changed the JS method allowing for a second call to generate JS to be deferred:


    public static function JS($javascripts, $js2 = false) {

        // ------------------------------------------------------------------------
        // Check if at least one file was passed.
        // ------------------------------------------------------------------------
        if(empty($javascripts)) throw new WireException('There were no files specified to minimize.');

        // Support passing of $config->scripts as argument which is of type FilenameArray
        if(($javascripts instanceof FilenameArray))
            $javascripts = (array) $javascripts->getIterator(); // Convert to array

        // ------------------------------------------------------------------------
        // Check if files exist and generating the cache file name based 
        // on the last editing of the file.
        // ------------------------------------------------------------------------
        $javascripts    = is_array($javascripts) ? $javascripts : array($javascripts);
        $javascripts    = self::_fileArray($javascripts, '.js');
        $cacheFile      = self::_getCacheName($javascripts, self::$jsCachePrefix . ($js2 ? '2' : ''), '.js');

 

Edited by hellomoto
add js to defer
  • 11 months later...
Posted

For anyone trying to use this module in PHP 8, after changing the 2x lines mentioned previously in the main module file I was getting the following error at line 314 of /lib/JSMin-2.1.7.php :

ord(): Passing null to parameter #1 ($character) of type string is deprecated

The line in the file is:

if (ord($c) >= self::ORD_SPACE || $c === "\n" || $c === null) { return $c; }

Changing it to his solves the issue:

if ($c === null || ord($c) >= self::ORD_SPACE || $c === "\n") {return $c;}

@David Karich This is a super module and including the three line changes outlined in this thread would be a really nice thing if possible!

  • Like 1
Posted
1 hour ago, matjazp said:

@prestoav David doesn't maiantain this module anymore. In my forked version this fix is already integrated.

Hi @matjazp, thank you for the information. Could you share a link to your fork of this module? Thanks!

Posted

Hi @matjazp Thanks for the information. I've be playing with your fork version this morning it's worked well.

Any chance you'll add this to the module directory?

Posted

@matjazp Thank you for your work and for keeping the module alive. We can talk about adding you as an owner in the Git repo so that the module can be further developed. If you're interested, just get in touch with me.

Posted
Just now, David Karich said:

@matjazp Thank you for your work and for keeping the module alive. We can talk about adding you as an owner in the Git repo so that the module can be further developed. If you're interested, just get in touch with me.

Speaking as a user, this module is incredibly helpful and I'd love to see it back in the main module directory and continuing to me maintained. Thanks to you both.

Posted

@prestoav, thanks for the compliments 🙂 I forked AIOM primarily to fix issues I was facing, and then it somehow developed into the version with the caching options. I don't use minification of CSS/JS. I think it's enough to use simple preg_replace to remove blanks. It's painful to follow and track issues for all libraries now included in the module (voku html_min, simple_html_dom, symphony css selector, lessmin, cssmin, jsmin, ...). Not worth it for those few percentages. But hey, the module works, even on PHP 8.5. Did you try/test caching options? 

@David Karich, I didn't change the class name as I wanted to preserve its name and your contribution/authorship of the module. Thanks for the module! I'll PM you.

  • Like 1
Posted
17 hours ago, matjazp said:

@prestoav, thanks for the compliments 🙂 I forked AIOM primarily to fix issues I was facing, and then it somehow developed into the version with the caching options. I don't use minification of CSS/JS. I think it's enough to use simple preg_replace to remove blanks. It's painful to follow and track issues for all libraries now included in the module (voku html_min, simple_html_dom, symphony css selector, lessmin, cssmin, jsmin, ...). Not worth it for those few percentages. But hey, the module works, even on PHP 8.5. Did you try/test caching options? 

@David Karich, I didn't change the class name as I wanted to preserve its name and your contribution/authorship of the module. Thanks for the module! I'll PM you.

I haven't tried the template caching quite yet but it's on my 'discovery' to-do list for sure!

Posted

Hi @

I have just installed the forked version of this module. I get the below whenever I try to clear cache in the module setting page. Any hints?

Fatal Error: Uncaught Error: Call to undefined method AllInOneMinify::getDirContents() in site/modules/AllInOneMinify/AllInOneMinify.module:1216

Fatal Error: Uncaught Error: Call to undefined method AllInOneMinify::getDirContents() in site/modules/AllInOneMinify/AllInOneMinify.module:1216

Thanks.

Gideon

  • Like 1
  • 2 weeks later...
Posted

AIOM is alive 🙃

I am pleased to announce that the AIOM module will be further developed and supported by @matjazp. My original repository is now archived, and matjazp's fork is now the official one.

The forked version is now also listed in the Processwire module directory. This should make it possible for everyone to update the old version to the new one, either manually or via the ProcessWire upgrade module.

  • Like 10
Posted
On 10/30/2025 at 12:34 PM, David Karich said:

AIOM is alive 🙃

I am pleased to announce that the AIOM module will be further developed and supported by @matjazp. My original repository is now archived, and matjazp's fork is now the official one.

The forked version is now also listed in the Processwire module directory. This should make it possible for everyone to update the old version to the new one, either manually or via the ProcessWire upgrade module.

Hi @David Karich this is awesome news. Thank you for all your hard work on this!

  • Like 1
  • 6 months later...
Posted

I've noticed some strange behavior on two ProcessWire & AIOM+ installations now. When I make a change in the module and click "Save," the backend page apparently gets cached. When I open the frontend in a different browser, the admin bar appears.
When I click "Empty Cache," the admin bar disappears again. But with every change in AIOM+, it reappears in the frontend.

I’ve only made the default settings and haven’t changed anything in the templates themselves ...

image.thumb.png.c7b364dd379611e5875232471fe414d2.png

Posted

What do you mean by "backend page apparently gets cached"? Any errors in javascript/network panel in browser? Any info in log files? I see that the layout of tabs is not correct, or at least differs from how the tabs are renered here on my browser. AIOM does not have admin bar, I have no idea what would that be. Please PM with your site details so I can check myself.

Posted
10 hours ago, matjazp said:

What do you mean by "backend page apparently gets cached"? Any errors in javascript/network panel in browser? Any info in log files? I see that the layout of tabs is not correct, or at least differs from how the tabs are renered here on my browser. AIOM does not have admin bar, I have no idea what would that be. Please PM with your site details so I can check myself.

This is the source code at the bottom of the frontend page:

<script src="/site/assets/aiom/js_418c8cd8c559810255e3250d05446d9c.js" async defer></script><script>var emo = emo || {}; emo.key = '.C1vql2a5RcPeJomwFrx7puhYLKgINntH0s9WZbAMiyDOXjE6TVS8GkB_1111Qfz';</script><link rel="stylesheet" href="/site/assets/aiom/css_6b89ca87ab7d885667358c0a046f5836.css"><link rel="stylesheet" href="/site/assets/aiom/css_1111a5003457ed863af5db2e9421e88.css"><script type="text/javascript" src="/site/assets/aiom/js_b363b432e18b7d69fccac9f9ef11116d.js"></script><div id="adminbar" data-adminbar='{"classes":{"link--modal":"adminbar__link--modal"},"urls":{"modules":"\/wire\/modules\/"}}' class="adminbar adminbar--auto-padding"><ul class="adminbar__list adminbar__list--left"><li class="adminbar__list-item adminbar__list-item--item-logo"><a class="adminbar__logo" href="/pwbackend/"><img class="adminbar__logo-img" src="/wire/modules/AdminTheme/AdminThemeUikit/uikit-pw/images/pw-mark.png" alt="" /></a></li><li class="adminbar__list-item adminbar__list-item--item-browse adminbar__list-item--active"><a class="adminbar__link adminbar__link--item-browse" href="#"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z" fill="#fff"/></svg>Ansicht</a></li><li class="adminbar__list-item adminbar__list-item--item-edit"><a class="adminbar__link adminbar__link--item-edit adminbar__link--modal" href="/pwbackend/page/edit/?id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z" fill="#fff"/></svg>Bearbeiten</a></li><li class="adminbar__list-item adminbar__list-item--item-new"><a class="adminbar__link adminbar__link--item-new adminbar__link--modal" href="/pwbackend/page/add/?parent_id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="#fff"/></svg>Neu </a></li></ul><ul class="adminbar__list adminbar__list--right"><li class="adminbar__list-item adminbar__list-item--item-admin"><a class="adminbar__link adminbar__link--item-admin" href="/pwbackend/page/?open=8305"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1152 896q0-106-75-181t-181-75-181 75-75 181 75 181 181 75 181-75 75-181zm512-109v222q0 12-8 23t-20 13l-185 28q-19 54-39 91 35 50 107 138 10 12 10 25t-9 23q-27 37-99 108t-94 71q-12 0-26-9l-138-108q-44 23-91 38-16 136-29 186-7 28-36 28h-222q-14 0-24.5-8.5t-11.5-21.5l-28-184q-49-16-90-37l-141 107q-10 9-25 9-14 0-25-11-126-114-165-168-7-10-7-23 0-12 8-23 15-21 51-66.5t54-70.5q-27-50-41-99l-183-27q-13-2-21-12.5t-8-23.5v-222q0-12 8-23t19-13l186-28q14-46 39-92-40-57-107-138-10-12-10-24 0-10 9-23 26-36 98.5-107.5t94.5-71.5q13 0 26 10l138 107q44-23 91-38 16-136 29-186 7-28 36-28h222q14 0 24.5 8.5t11.5 21.5l28 184q49 16 90 37l142-107q9-9 24-9 13 0 25 10 129 119 165 170 7 8 7 22 0 12-8 23-15 21-51 66.5t-54 70.5q26 50 41 98l183 28q13 2 21 12.5t8 23.5z" fill="#fff"/></svg>Backend</a></li><li class="adminbar__list-item adminbar__list-item--item-logout"><span class="adminbar__html adminbar__html--item-logout"><form class="adminbar__form" action="/pwbackend/login/logout/"><button class="adminbar__button" type="submit"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 896q0 156-61 298t-164 245-245 164-298 61-298-61-245-164-164-245-61-298q0-182 80.5-343t226.5-270q43-32 95.5-25t83.5 50q32 42 24.5 94.5t-49.5 84.5q-98 74-151.5 181t-53.5 228q0 104 40.5 198.5t109.5 163.5 163.5 109.5 198.5 40.5 198.5-40.5 163.5-109.5 109.5-163.5 40.5-198.5q0-121-53.5-228t-151.5-181q-42-32-49.5-84.5t24.5-94.5q31-43 84-50t95 25q146 109 226.5 270t80.5 343zm-640-768v640q0 52-38 90t-90 38-90-38-38-90v-640q0-52 38-90t90-38 90 38 38 90z" fill="#fff"/></svg>Ausloggen</button></form></span></li></ul></div></body></html>
<!-- Generated: Fri, 15 May 2026 16:43:44 +0200 // Powered by AIOM+ v4.1.0 -->

And this is what the top of the frontend looks like while you're logged out:

image.thumb.png.57f2cb0df9feb900f3cac378e9f9093d.png

When I click "Empty cache," the frontend looks normal again and the admin bar disappears.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...