• Welcome to the Chevereto User Community!

    Here, users from all over the world come together to learn, share, and collaborate on everything related to Chevereto. It's a place to exchange ideas, ask questions, and help improve the software.

    Please keep in mind:

    • This community is user-driven. Always be polite and respectful to others.
    • Support development by purchasing a Chevereto license, which also gives you priority support.
    • Go further by joining the Community Subscription for even faster response times and to help sustain this space
  • Chevereto Support CLST

    Support response

    Support checklist

    • Got a Something went wrong message? Read this guide and provide the actual error. Do not skip this.
    • Confirm that the server meets the System Requirements
    • Check for any available Hotfix - your issue could be already reported/fixed
    • Read documentation - It will be required to Debug and understand Errors for a faster support response

the plus sign (+) in URLs confuses some proxies

Status
Not open for further replies.

WhisperiN

Chevereto Member
Hello all,

I just discovered that the + sign in assists files names, that we upload via the dashboard (ie, cover image, logo image) confuses some proxies, and sometimes get replaced with a white space.

Examples:
content/images/system/logo_1.47753134174E+12_c7f82d.svg
content/images/system/home_cover_1.47753471634E+12_dd5f95.jpg

I'd appreciate if it would be removed or replaced with dashes or underscores.

Regards..
 
The problem is right here:

PHP:
$v['name'] .= '_' . round(microtime(TRUE) * 1000) . '_' . G\random_string(6); // prevent hard cache issues

System does this microtime stuff to stamp the file upload date so it avoids cache issues. The expected return is the current time in milliseconds (like 1485105946700), but in your server PHP is casting this in scientific notation (E+12 is exp 12), most likely due to your locale / system settings (PHP).

The fix for this is to always force the right number format:

PHP:
$v['name'] .= '_' . number_format(round(microtime(TRUE) * 1000), 0, '', '') . '_' . G\random_string(6); // prevent hard cache issues

By doing that the system will be always forced to output a time which only contains digits and nothing else.

I will add this patch in the next release, thank you for inform me about this.

Cheers,
Rodolfo.
 
Status
Not open for further replies.
Back
Top