When I'm using the Paperclip gem and showing an image with image_tag, it automatically timestamps the image (like image.jpg%343289472) but it does so using a percentage sign (%) instead of a question mark (?), and thus my browser fails to actually render the image. I have to forcefully add timestamp: false to get it to working. Does anyone know why Paperclip acts this way?
You are likely using the delayed_paperclip gem. Older versions of the delayed_paperclip gem were causing issues with monkey patching the url generator in paperclip. This was causing the % sign instead of the ? in the url you posted above.
Update delayed_paperclip to at least version 2.9.1
Related
My Opencart store has stopped importing orders to ShipStation ever since I updated my Journal theme. I know I probably have to update OpenCart which I am hiring someone to do but I need a workaround till then. Thank you in advance.
I get this error from ShipStation:
"An error occurred attempting to update orders: Invalid XML. Error: 'There are multiple root elements. Line 3, position 14.' We received: ' Journal Installation Error You are using an outdated OpenCart 2.x version. Journal only works with the latest Opencart 2.x version.Please download and install'"
The error log on my Opencart shipstation backend says this:
2016-07-20 12:27:06 - PHP Notice: Undefined offset: 1 in /home/garagist/public_html/store/shipstation/controller/export.php on line 23
Journal support said this to fix it and I have no idea how to do that:
You need to edit /shipstation/config.php file and add this line (anywhere in it), so the Journal engine won't be loaded for that extension:
define('BLOCK_JOURNAL', true);
First you installed the wrong version of Journal. I am very familiar with it and I know the developers provide a template for each version in the zip file from codecanyon. Even if you were running 1.5x, it's in there. Fix that problem first.
Second, ShipStation has nothing to do with journal, you have server issues now (probably due to the incorrect version of journal). I've never had to block journal from the ShipStation config file. That's probably why it isn't working.
FYI, I have around 5 shops and over 10 clients running journal and shipstation, no isuses at all ever. Versions range from OC 1.5-2.3.0.2.
You don't need to upgrade, don't pay if you don't have to.
Update: From Journal Directly "Compatible with Opencart: 1.5.4.x / 1.5.5.x / 1.5.6.x / 2.0.x / 2.1.x / 2.2.x / 2.3.x" Seems counterintuitive to support 2.0x if they're going to force you to update your OC installation when the theme is installed doesn't it?
Good luck.
Does anyone have any insight into what might be different in Ember/Ember CLI, compared to a Rails delivered global app, to not render hex characters correctly?
I have/had an Ember 1.7 app that I build a Math Editor in. I render very simple buttons with hex chars like ∛ (<div>∛</div>) but in the new CLI app it gets escaped.
Im just curious if there is a setting or something that I missing in the way CLI handles templates that may be causing this issue.
UPDATE
I have static chars in the template itself. In some cases I have data that gets returned from the server (previous user input) and I have user generated chars that are input when using the editor.
I just upgraded a client's test installation of Sitecore to 7.2 (SP1) and now, any image that has an underscore in its name is throwing a 404 error when being referenced by a page. This was actually a series of upgrades from 6.4 so it's quite possible that a config setting somewhere got missed along the way, but I don't see anything standing out at me that would cause this problem.
If I change the image name to not have an underscore, it works fine, and it also works fine if I set "Media.UseItemPaths" to false, but they would prefer it if their image URL's had the file name displayed.
Can anyone help identify what may have gone wrong?
Due to a change in Sitecore 7.1, any replacements specified in encodeNameReplacements are now also applied to media items as well as regular items in the content tree.
One option is to remove the replaceWith="_" declaration, but the likely reason this was added was to possibly replace spaces in your URLs so they do not display with %20. Removing this declaration will mean they return!
You can instead apply the fix specified in this Sitecore Knowledgebase article: Sitecore is unable to open media items when using encodeNameReplacements
I could see blog post from 2011 recommending using "-" instead of "~".
What is the best practice to write media URL in Sitecore 6.5 on .NET 4.0/IIS7.5? Should I keep default /~/media/ or follow blog post advice using /-/media/ or while I am there, why not just use /media/?
I suspect the use of ~ is for legacy reasons. The current recommendation is to use -/media as you point out, but you could use whatever you wanted and it would work. The issue you have just using /media/ is if there is any other item with that as part of the name then it will trigger the media handler, rather than serving up your content for example.
For example, as request for /blah/blah/blah/-/media/images/logo.png will serve up the image correctly, /about/media/news/2013/12/20/sitecore.aspx should in fact serve up a page but will trigger the media handler and return a 404 just using /media/. So if you are going to use something else then make sure it is unique, you may need to enforce it since content editors can be a bit funny about remembering things like this.
Since you are currently using Sitecore 6.5 then I can assume you have existing content. Make sure you leave the existing ~/media trigger to allow your Rich Text fields to continue to work
If you update the Media.MediaLinkPrefix setting on a system that
already has some content in a database, Sitecore may not update the
values in all Rich Text Editor fields that contain values in the old
formats, including inline images and links to media items.
Sitecore Idiosyncrasies: Media URLs
I would probably go ahead and set Media.RequestExtension to an empty string so that image urls are served up with the correct media extension too.
I know this problem appear just when are you using .Net Framework 2.0
Please see next link .
If you run your website under .Net Framework 4.0 and IIS 7.5 you don't have this vulnerability.
Also this document explain a little bit about using of tilde.
Also you can check John West blog about /~/media
So the conclusion is use -/media for media files.
For projects using Sitecore 7.2, you may want to stick to using a tilde or apply the hot-fix mentioned in the following KB article.
https://kb.sitecore.net/articles/998758
I recently upgraded PHP to 5.4 and after adding some tweaks now the old osCommerce installation of a customer with lots of customisations is running again, but there is still a problem:
if you put an item in your cart the cart stays empty
How can I fix this?
Is there a certain php value I can set in php.ini so the session is working properly?
What I have tweaked so far:
Problem: all prices are 0 and there is no currency
Solution: adding !isset($currency) || in the paragraph `//
(see $currency not set in application_top under PHP 5.4 )
Problem: register_globals is REMOVED as of PHP 5.4.0
Solution: I simulated register_globals with this: https://serverfault.com/a/547285/128892
and I added this to includes/application_top.php:
// Bugfix PHP 5.4:
$HTTP_USER_AGENT=$_SERVER["HTTP_USER_AGENT"];
$HTTP_ACCEPT_LANGUAGE=$_SERVER["HTTP_ACCEPT_LANGUAGE"];
$HTTP_HOST=$_SERVER["HTTP_HOST"];
$SERVER_NAME=$_SERVER["SERVER_NAME"];
$PHP_SELF=$_SERVER['PHP_SELF'];
$HTTP_GET_VARS=$_GET;
$HTTP_POST_VARS=$_POST;
register_globals();
comment out this line:
#ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
also I had to correct some removed functions in includes/functions/sessions.php: session_unregister() and session_is_registered()
Problem remaining:
Items filled into the cart don't get added to the cart. seems like the session isn't known in the add_cart page.
I've had the same problem. Found by comparing my 2.2ms2 code with rc2a version.
In application_top change
$cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+$quantity, $_POST['id']);
to
$cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+$_POST['quantity'], $_POST['id']);
I cound not fix this last problem, so after trying diffenent attempts I decided to take the effort and convert the shop with all its customisations into oscommerce 2.3 which still runs on PHP 5.4 (up to PHP 5.6).
Note that later, to get oscommerce running on php7 you'll need another fix for mysql functions to fix problems like Undefined function mysql_connect()