That "did the trick"! Sitemap ran this morning ... and no PHP notices; thanks again.
Printable View
I think the question was misunderstood. As a result of the tiny code change in the URI Mapping Software, the generation of mydebug files stopped for each cron execution of SitemapXML but the output of SitemapXML wasremained as expected. The expectation of the output being that those URIs that have been rewritten and those that have not both appear in the output file(s), respectively.
No, I think by the response that the question is now properly understood. I recall seeing posts about issues with the two modules together. This result seems to imply that there was some other reason fo those issues and that normally the two operate together with expected results provided.
I'm seeing an occasional log similar to
on a zc156c site recently updated with the Ceon URI Mappings 5.0.0. Not clear (I haven't viewed the site's access-logs) where the initial link is coming from, but the processing should, IMO, be able to deal with the & vs & characters in the URL.Code:[08-Nov-2019 18:08:03 America/Chicago] Request URI: /index.php?main_page=product_info&cPath=91&products_id=2178, IP address: redacted
#1 CeonURIMappingHandler->_handleZCDynamicURI() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:473]
#2 CeonURIMappingHandlerBase->_handleURI() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandlerBase.php:149]
#3 CeonURIMappingHandlerBase->__construct() called at [/home/mystore/public_html/includes/classes/class.CeonURIMappingHandler.php:52]
#4 CeonURIMappingHandler->__construct() called at [/home/mystore/public_html/includes/autoload_func.php:79]
#5 require(/home/mystore/public_html/includes/autoload_func.php) called at [/home/mystore/public_html/includes/application_top.php:170]
#6 require(/home/mystore/public_html/includes/application_top.php) called at [/home/mystore/public_html/index.php:26]
--> PHP Notice: Undefined index: products_id in /home/mystore/public_html/includes/classes/class.CeonURIMappingHandler.php on line 443.
Without the module I'm getting product not found when I include the & in the last parameter of the URI. I've been seeing something similar in the admin in particular when the action parameter is last on the uri, then well it doesn't take the action at least on the categories screen...
There seems to have been something modified that prevents recognizing the parameter, "reparsing" the last parameter of the uri or for $_GET to be set for the parameter that uses &.
Basically saying that perhaps a message is generated with this plugin, but it seems that there is something before it in the ZC code that should have prevented that issue from occurring.
Hi, I installed ceon 5.01 with zencart 1.5.6c everything works well except the canonical which remains so:
I have also rewritten some urls in admin everything works the rewrite with is done, but the canonical always remains unwritten. I specify that I have no error files in the log folder.PHP Code:
<link rel="canonical" href="https://mydomaine:8890/index.php?main_page=index&cPath=12" />
I have this though when Ceon URI Mapping Installation Check
HTML Code:A file has had a modification made to it, for an older version of Ceon URI Mapping, but this modification is no longer needed.
The path to the file is /Applications/MAMP/htdocs/myadomain/includes/extra_datafiles/ceon_uri_mapping_sessions_define.php
Although the file had to be modified for a previous version of the module, this version works differently and the file is not modified for this version.
Remove the modification from the file by editing the file and removing the block beginning with // BEGIN CEON URI MAPPING 1 of 1 and ending with // END CEON URI MAPPING 1 of 1 - including those two “marker comments”.
Alternatively, if the file was modified only for Ceon URI Mapping and not for any other module, back up the file (e.g. copy it to your local computer) and replace it with a “fresh” version of the file from a “fresh” set of Zen Cart files.
I forgot to tell you that in the bar of the browers the rewriting is done and only when I go to rivere the source code that I realize that the canonical is not rewritten.
So, you mean that when looking at category 12, the browser path has the rewritten uri, but the page source shows that the canonical path is unmodified from the Zen Cart version?
The final file to output the canonical information is: includes/templates/YOUR_TEMPLATE/common/html_header.php and may require modification depending on the template being used (template used is not described in the above posting). Otherwise it appears that there are three files potentially involved with generating the canonical link though the file from the installation check message may also play a part. Two of the files are provided by this plugin, the third is a core file that is used by the plugin and those two files.
The two files that should be present to support the canonical link generation are:
[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]includes/classes/observers/class.ceon_canonical.php
which is called by:
[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]includes/auto_loaders/config.ceon_canonical.php
That uses a notifier from the core file:
[/FONT][FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]includes/init_includes/init_canonical.php
The first two files need to be verified to be present (most likely the config.ceon_canonical.php file is missing or not named to support loading) and/or there is either an override in includes/init_includes/overrides that prevents using the associated/necessary notifier or the file is possibly not up-to-date to the Zen Cart 1.5.5 version or better (based on notes in the observers file).[/FONT]
[/FONT]
The first two files need to be verified to be present (most likely the config.ceon_canonical.php file is missing or not named to support loading) and/or there is either an override in includes/init_includes/overrides that prevents using the associated/necessary notifier or the file is possibly not up-to-date to the Zen Cart 1.5.5 version or better (based on notes in the observers file).[/FONT]
[/FONT][/QUOTE]
Happy New Year and best wishes for 2020, MC, health you and the other guru of the forem I do not know how we would do, that to tell you that you are very strong. You put me in the right track I had a residue in init_includes / overreides / init_canonical.php which probably came from USU which was installed before Ceon Uri Mapping I just had to delete this file and Ceon Uri is set to work as it should.
Thank you so much.
The template is ########## from themeforest, I have had a lot of problems with it since the first day, but now with the update the problems have started again, I hope to solve them with all of you.
Mappings Manager
Continuing a conversation from the old 4x thread that should go here.
The (free) Uri Mapping plugin 5 is a pile of files updated to work with php 7+ and make use of new notifiers in ZC156+.
The plugin fileset also has legacy files for older ZC that don't have the notifiers.
The Mappings Manager (not free) is some extra files and replacement files for the URI Mapping plugin, that offers an Admin user interface to customise the structure of the mappings (per product, category etc.) and generate/update/edit the mappings on demand.
So does it work with older Zen Carts...yes, as long as attention is paid to use the correct files that don't expect notifiers to be in place.
I purchased it recently (I still feel in debt to Conor), and can testify that the support from CEON is fine (it was required for my multi-language store).
Hi,
I have a freshly installed 5.0.1 UMM Edition. I just noticed that the categories are not being captured in my product URI's.
For instance I sell Furry Kittens. The category chain is Pets > Cats. I want my URI to look like this:
MyStore.com/Pets/Cats/Furry_Kittens
But I'm getting:
MyStore.com/Furry_Kittens
I am attaching a screenshot of my settings, which I think I have set up correctly. Do I need to change something?
Another possibility is that maybe there is a character limit? If I have too many categories and/or if my category names are too long, does it circumvent and just do prod name?
Thanks!
Attachment 18823
^^The above has been sorted, thanks!
As it turns out, the commercial mod (Mapping Manager) has it's own settings page as well. On that page, I was able to add category-path to my product URI and then everything worked out.
:)
this is my Website configuration file
/public_html/includes/configure.php
PHP Code:
define('HTTP_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
define('HTTPS_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
/public_html/admin/includes/configure.php
I modified the corresponding file according to the suggested error and changed it back to the default value, it still does not workPHP Code:
define('HTTP_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
define('HTTPS_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
define('HTTP_CATALOG_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
define('HTTPS_CATALOG_SERVER', 'https://'.$_SERVER['SERVER_NAME']);
Not sure what "still does not work", but looking at the installation check code for the review of the catalog side configure.php file (first set of errors reported), it will not be able to "fill in" the value of $_SERVER['SERVER_NAME'] which for one is a completely atypical Zen Cart representation of the server name and is prone to its own issues including potential security issues if the value is edited without the store owners knowledge (which would not be detectable in the fileset). The installation check is seeking the complete text as a unit on the right side of the define, so even if it were 'https://' . 'mysite' then the same response would be provided as compared to 'https://mysite' which would then not provide the "value ends with a slash" issue.
As for the other perhaps more important issues (considering the site itself supposedly operates as is without this plugin) that when the plugin was "added" there appears to be three files that are supposed to have changes made to them that weren't or in one case the change may be commented out, but it is not clear. In one case (the last message) a change has been made that is no longer needed, though it probably doesn't really affect operation.
Now, fortunately the screen shot contains information that was not provided in the above post, though every post seeking a solution should contain. It appears that this is/was installed to a Zen Cart 1.5.5f version and it also looks like there really shouldn't be any changes made to the html_output.php files for Zen Cart 1.5.5x, so looks like Ceon's installation check could be updated a little more to exclude those two files from a Zen Cart 1.5.5x install.
But, there still is the question of what doesn't work?
zen cart version 1.55f
Thank you very much for your reply. I replaced the entire configure.php file and it is now ready to use.
However, the inspection still indicated an error. I checked the core file of the plugin. There are no modified_core_files\1.5.5\admin\includes\functions\html_output.php and modified_core_files\1.5.5\admin\includes\functions\html_output.php files. I checked the plug-in's documentation and suggested that this file is not needed for 1.55.
I tried to modify the two html_output.php files according to the Ceon URI mapping (SEO) version: 4.5.6, the error disappeared, but there are still two files reporting errors,
A file requires a modification to be made for it but the modification has not yet been made. The file does however have 2 comment marker(s) in it.
/home/petstoys/public_html/dLt4_hxsP/includes/modules/move_product_confirm.php
A file has had a modification made to it, for an older version of Ceon URI Mapping, but this modification is no longer needed.
/home/petstoys/public_html/includes/extra_datafiles/ceon_uri_mapping_sessions_define.php
In addition, I tried to install the Ceon URI mapping (SEO) version: 4.5.6, and it works perfectly.
So are you saying that "it doesn't work" because the installation check is reporting that 1. Two files that don't actually need modification are reported as needing a change and 2) there have been changes made that possibly in the instructions are either no longer needed or are not fully and correctly made? Or is there something else that actually isn't working? The installation check doesn't actually drive operation. There are multiple ways to make code do something. The check does a review based off of what may be expected. It's not like it is intelligent and able to identify that say i++ is the same as i=i+1...
Basically there still has been no identification of what "isn't working"... the messages are displayed to tell you to do something. As I said earlier, it looks like Ceon will probably have to fix the installer to ignore reporting on the html_output files... the others, well, in one case it found a file on your server that is modified and shouldn't be, in another there is a modification that may or may not be correct... those two files have been edited by someone accessing the server, not the code.
Please help me understand.
Sorry, my English is not good.
I restored two "configure.php" files, and Ceon URI Mapping V5.0 now works properly on my website.
The error prompt is the prompt for installation check, please see this screenshot
https://send.firefox.com/download/56...8_eD3ghLS3476g
Hi, guys,
I´m getting this PHP Warning in my logs folder:
tried a solution from the post nr. 50, but didn´t work out here. Do you have any suggestion, please, what could I try?Code:[05-May-2020 21:27:50 UTC] Request URI: /admin/orders.php?search=xxx&page=1&oID=9695&action=update_order, IP address: xxx
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/site.com/html/includes/classes/class.base.php:103]
#2 base->notify() called at [/site.com/html/admin/includes/functions/html_output.php:50]
#3 zen_catalog_href_link() called at [/site.com/includes/functions/functions_osh_update.php:119]
#4 zen_update_orders_history() called at [/site.com/html/admin/orders.php:158]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /site.com/html/admin/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
Thanks
Here it is:
Code:$ceon_uri_mapping_href_link_builder = new CeonURIMappingHREFLinkBuilder();
}
if ($connection == 'NONSSL') {
$link = HTTP_CATALOG_SERVER;
} elseif ($connection == 'SSL') {
if (ENABLE_CATALOG_SSL == 'true') {
$link = HTTPS_CATALOG_SERVER;
} else {
$link = HTTP_CATALOG_SERVER;
}
I´m sorry, my bad, it seems that I pasted a wrong file, here is the correct one:
Code:[06-May-2020 08:32:39 UTC] Request URI: /admin/orders.php?selected_box=customers&status=6&page=1&oID=9695&action=update_order, IP address: xxx
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/site.com/html/includes/classes/class.base.php:103]
#2 base->notify() called at [/admin/includes/functions/html_output.php:50]
#3 zen_catalog_href_link() called at [/site.com/html/includes/functions/functions_osh_update.php:119]
#4 zen_update_orders_history() called at [/admin/orders.php:158]
--> PHP Warning: Use of undefined constant ENABLE_CATALOG_SSL - assumed 'ENABLE_CATALOG_SSL' (this will throw an Error in a future version of PHP) in /admin/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[06-May-2020 08:32:39 UTC] Request URI: /admin/orders.php?selected_box=customers&status=6&page=1&oID=9695&action=update_order, IP address: xxx
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/site.com/html/includes/classes/class.base.php:103]
#2 base->notify() called at [/admin/includes/functions/html_output.php:50]
#3 zen_catalog_href_link() called at [/site.com/html/includes/functions/functions_osh_update.php:127]
#4 zen_update_orders_history() called at [/admin/orders.php:158]
--> PHP Warning: Use of undefined constant ENABLE_CATALOG_SSL - assumed 'ENABLE_CATALOG_SSL' (this will throw an Error in a future version of PHP) in /admin/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
Then what are the contents of the admin/includes/configure.php up to the point of the DB_ type defines? (Only need the left side of the defines if wanting to keep other information private).
Also what version of Zen Cart is being used to be able to compare the above results with what is expected?
This is a 1.5.6c Zencart (updated recently from 1.5.4),
here are details from configure.php (I hope you thought these, right?)
Code:define('HTTP_SERVER', '');
define('HTTP_CATALOG_SERVER', '');
define('HTTPS_CATALOG_SERVER', '');
define('ENABLE_SSL_CATALOG', 'true');
define('DIR_WS_CATALOG', '/');
define('DIR_WS_HTTPS_CATALOG', '/');
define('DIR_FS_CATALOG', '');
Double check the changes directed from back at post 50 that are copied below:
Notice the difference in how the "To:" section of code differs from what was provided above in this post about how the content appears... Specifically how in the problem file it says ENABLE_CATALOG_SSL instead of ENABLE_SSL_CATALOG.
(Don't worry it wasn't obvious (to me anyways) when that section of code was posted a few posts back and really it was only when the proper error message was provided that the real issue was identified.)
OMG, I see it now :-(
Thank you very much for your patience and help! I didn´t even think that could be the problem.
zen 1.56c php7.0
im getting this in logs.
PHP Fatal error: Uncaught Error: Call to a member function table_exists() on null in /var/www/clients/xxx/xxx/me/includes/classes/class.CeonURIMappingAdminEZPages.php:87
here is line 87 and surrounding lines
Code:if (is_null($name)) {
// Assume name will be used.. load name from database
Line 87 -> $ez_page_table = (defined('TABLE_EZPAGES_CONTENT') && $sniffer->table_exists(TABLE_EZPAGES_CONTENT)) ? TABLE_EZPAGES_CONTENT : TABLE_EZPAGES;
$ez_page_name_result = $db->Execute("
SELECT
pages_title
FROM
" . $ez_page_table . "
WHERE
pages_id = " . (int) $id . "
AND
languages_id = " . (int) $language_id);
$name = $ez_page_name_result->fields['pages_title'];
}
Apparently this is where to post, just did on the old whatever...
Just did a fresh install of latest 1.5.6, piece of cake to setup like usual. I thought Id try and add the late legend Conors' SEO module as it has been invaluable since first using all those years ago when he first came here on an old 1.3vs site.
So I set it up y/day on another test site but after I had installed a couple of other modules and it didnt work, so set it up on this fresh install and it just loops through and wont stop until the script stops.
I used the recommended .htaccess data, then tried the "/" fix neither works.
There is no error log and furthermore the test page says everything is installed correctly.
Does anyone have some idea that I could check, Im stumped and cant proceed with my website upgrde until I get this setup as my index page is fixed with all of the rewritten links for a start.
Congratulations! All the checks passed!
No problems were found with the settings in the store's configuration files, and all the modified core files have the correct modifications present!
This installation check does not check the rewrite rule for the store though, so please read and apply the following if you have not already done so..
This is the error:
This page isn’t working [website name] redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS
--------
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC]
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
# Don't rewrite any URIs for some specific file format extensions,
# which are not covered by main file extension condition above
# Uncomment the following line to apply this condition! (Remove the # at the start of the next line)
#RewriteCond %{REQUEST_URI} !\.(3gp|3g2|h261|h263|mj2|mjp2|mp4v|mpg4|m1v|m2v|m4u|f4v|m4v|3dml)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/[xxxxxxxxxxxx] [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite .well-known directory
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite cgi-bin directory
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
Also tried this as suggested:
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC]
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
# Don't rewrite any URIs for some specific file format extensions,
# which are not covered by main file extension condition above
# Uncomment the following line to apply this condition! (Remove the # at the start of the next line)
#RewriteCond %{REQUEST_URI} !\.(3gp|3g2|h261|h263|mj2|mjp2|mp4v|mpg4|m1v|m2v|m4u|f4v|m4v|3dml)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/xxxxxxxxxxxx [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite .well-known directory
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite cgi-bin directory
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* /index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
@ink, see post #45 in this support-thread for the solution.
Thanks very much, I just saw the 99 to 95 fix and yr right. I just tried that and we loaded, just came back to update and saw your kind post.
This forum is crazy everytime I post I find the answer 5 minutes later, so annoying as I dont want to waste peoples valuable time, after spending hours racking the few brain cells left, at least that is a technique.
Installed the module in zencart 157 and php 7.4 and I am getting this error
ERR_TOO_MANY_REDIRECTS
where to fix ?
Should be able to log out of your admin, log back in then go to Modules->Ceon URI Mapping (SEO) Config. Then in the bottom right hand corner should be an indication to update the software. Ie. there has been an update issued that addresses this and has been discussed several times over the recent past in this forum thread. Basically there was a change to load sequence in Zen Cart that required a change in load sequence of this software.
Regarding merging to ZC157.
The ZC157 version of admin javascript loader will pull in files per page.
In lieu of a complete rework to use the plugins framework, in admin I moved ceon_uri_mapping_javascript.php to the /javascript folder, and added two files to be auto-included by javascript loader per admin page:
categories_CEON.php
product_CEON.php
both with the same code:
So avoiding any core file changes.PHP Code:
<?php
include ("ceon_uri_mapping_javascript.php");
Torvista, I tried this but don't quite understand where the files go, or the naming. I moved ceon_uri_mapping_javascript.php from the admin/includes folder to the admin/includes/javascript folder, then created two files as named above (with the _CEON addition - is that correct?).
These two new files go in the admin/includes folder or the admin/auto_loaders folder?
Thanks for your help.
as described in detail here:Quote:
The ZC157 version of admin javascript loader will pull in files per page.
https://docs.zen-cart.com/dev/admin/templating/
This ceon javascript is required on two pages: product and categories.
So, you could put the ceon code in two files named as product.php and categories.php in the /javscript folder, and they would be pulled into the head of the corresponding pages.
But since there is already a core product.php in use, and I want to maintain that as is, you can use a separate product_whatever.php file, and that will be pulled in too.
And, to only have one CEON javascript code block, and make it obvious it exists, I leave it named as such in /javascript but be called by both product_whatever.php and categories.
So, three new files, that will be obvious for upgrades, and no core files harmed, all in /javascript.
And for those wondering what all this is about, this ceon javascript is what adds the Uri mapping fields on the end of those pages, without modifying those pages.
Do the module works with 157b ? I am facing issues while integrating with 157b, when ceon is set active or 1 , the customer login shows shopping cart empty even after there is product in cart , if ceon is set to zero, all works fine
Hello i have a problem with Ceon URI Mapping V5.0 - everything works with Zen Cart v1.5.6c , but the Producer links don't works. If you click on it the HOME page is loaded
Please help me
Please provide more information. *smart alec start* if everything works, then wwhatdoesn't?*smart alec end*
Please address the posting tips. Further, is 5.0.0 installed, or the latest copy?
.htaccess contents (obscuring the admin directory)?
Is site in a web-facing sub-directory? (e.g. /shop, /store)
Not sure if I'll get a reply here to this question as it relates to the paid UMM version of the module. I did send a question to CEON via their contact us form, but never received a reply.
I'm trying to find out if the newer version of UMM can import old URI's from Ultimate SEO URL's module in the way the original version did.
I have Ultimate SEO URLs version 3.0.8 which isn't detected by the older version of CEON UMM as the later version of Ultimate SEO doesn't make the same modifications that earlier versions did (and UMM is looking for).
If anyone has purchased, or was involved in coding the latest CEON UMM, can you tell me if it works, or possibly test it with Ultimate SEO URLs 3.0.8
Thanks
I am using UMM 2.1 (27/12/2020) and in the changelog there is no mention of changes to the import functionality for Ultimate SEO added in 1.4.0 (17/09/2012).
Try again, their software is supported.Quote:
I did send a question to CEON via their contact us form, but never received a reply.
I've contacted them twice now with no response.
Can you have a look at your version file admin/includes/classes/class.CeonUMMImportOldURIs.php, around line 168 to see if you have code like this
Newer versions of Ultimate SEO URLs doesn't make these modifications, meaning that if UMM has been updated to work with the newer version of Ultimate SEO, that code section should have been updated to look for newer type of modification.Code:// Check if mods are present in html_output.php
$html_output_mods_present = false;
$html_output_source = file_get_contents($html_output_path);
if (strpos($html_output_source, '$GLOBALS[\'seo_urls\']->href_link') !== false) {
$html_output_mods_present = true;
}
The 2.1 code is the same, but I imagine if you just add
$html_output_mods_present = true;
after the snippet you have posted, it will override that check and continue on it's merry way none the wiser.
v1.5.7b CEON V.5.0.0 PHP 7.4.13
I'm having an issue when adding a new product. Initially upon preview I see the ceon mapping uri shown - if I go back to make any ammendments to the page then preview it again the ceon uri mapping disappears and the box that normally shows that uri states no mapping.
I noticed an error show up (have error logs plugin installed - great app) so this is what it showed - I can only assume it was thrown due to the situation described however I reapeated the process and got the same error.
Any assistance would be appreciated.
cheers,
Mike
Code:[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 118
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 135
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 143
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 167
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 169
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 169
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 171
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 172
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 172
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 174
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 175
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 175
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 175
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 177
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 178
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 178
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 179
[26-Jan-2021 14:03:55 Australia/Sydney] PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /includes/classes/class.Transliteration.php on line 179
Yes v.5.0.0 as per my first post.
I was also taken aback .... and yes I did change the PHP version from 7.4 to 7.3 before I read your post - subsequently the problem still exists without that error being thrown, so obviously it is something else.
Here is another hint possibly, maybe not - worked fine when I created a new product earlier - then I wanted to check Sitemaps - found that SiteMapXML wasn't listed under admin/configuration or admin/tools so I checked admin/modules/plugin manager and it showed to my shock that SiteMapXML v.4.0 wasn't installed which it previously was, so I clicked install and it returned. The only change at all to SiteMapXML was to a file in this post https://www.zen-cart.com/showthread....49#post1377049 - after making that change all was fine.
I have not made any changes at all to any files in ZC or plugins since then (22/1).
So then I had to reconfigure SiteMapXML in accordance with this in the CEON installation readme;
As I said - still the problem exists - my workaround at present is to manually generate each url, i.e. untick the auto generate box type it in.HTML Code:OPTIONAL but RECOMMENDED] Configure the SitemapXML (formerly “Google Sitemap”) Module
If the store uses the SitemapXML (Google Sitemap) module, it needs to be configured to work better with static URIs.
Otherwise, the store's rankings may be penalised because of links in the sitemap redirecting to other links.
Go to Configuration > Sitemap XML in the Zen Cart Admin.
Newer versions of the module have the option “Using parameter language in links”. If this option exists, make sure to set it to “false”.
Older versions of the module have the option “Generate language_id for default language”. If this option exists, make sure to set it to “false”.
cheers, Mike
Again I am unsure as to whether this error has any bearing on the reported issue - found this when fighting my way through 3099 error files before deleting them carte blanche (99.9% of them generated by a code issue with IH5 in how it handles SiteMapXML 4.0) . The first instance of this error was on 25-Jan-2021 09:00:00 and the last one was the one below;
Code:[25-Jan-2021 16:48:59 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&page=1&oID=550&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#2 base->notify() called at [/home2/dazzler3/public_html/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/home2/dazzler3/public_html/includes/classes/observers/CheckoutOneEmailObserver.php:79]
#4 CheckoutOneEmailObserver->update() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#5 base->notify() called at [/home2/dazzler3/public_html/includes/functions/functions_osh_update.php:89]
#6 zen_update_orders_history() called at [/home2/dazzler3/public_html/dazzlers/orders.php:254]
#7 require(/home2/dazzler3/public_html/dazzlers/orders.php) called at [/home2/dazzler3/public_html/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home2/dazzler3/public_html/dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[25-Jan-2021 16:48:59 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&page=1&oID=550&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#2 base->notify() called at [/home2/dazzler3/public_html/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/home2/dazzler3/public_html/includes/classes/observers/CheckoutOneEmailObserver.php:80]
#4 CheckoutOneEmailObserver->update() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#5 base->notify() called at [/home2/dazzler3/public_html/includes/functions/functions_osh_update.php:89]
#6 zen_update_orders_history() called at [/home2/dazzler3/public_html/dazzlers/orders.php:254]
#7 require(/home2/dazzler3/public_html/dazzlers/orders.php) called at [/home2/dazzler3/public_html/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home2/dazzler3/public_html/dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[25-Jan-2021 16:48:59 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&page=1&oID=550&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#2 base->notify() called at [/home2/dazzler3/public_html/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/home2/dazzler3/public_html/includes/functions/functions_osh_update.php:119]
#4 zen_update_orders_history() called at [/home2/dazzler3/public_html/dazzlers/orders.php:254]
#5 require(/home2/dazzler3/public_html/dazzlers/orders.php) called at [/home2/dazzler3/public_html/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home2/dazzler3/public_html/dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[25-Jan-2021 16:48:59 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&page=1&oID=550&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/home2/dazzler3/public_html/includes/classes/class.base.php:118]
#2 base->notify() called at [/home2/dazzler3/public_html/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/home2/dazzler3/public_html/includes/functions/functions_osh_update.php:136]
#4 zen_update_orders_history() called at [/home2/dazzler3/public_html/dazzlers/orders.php:254]
#5 require(/home2/dazzler3/public_html/dazzlers/orders.php) called at [/home2/dazzler3/public_html/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /home2/dazzler3/public_html/dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
Ok, so first, allow me to apologize because as it stands, there is no historical information in this thread related to something I specifically identified some time in the last week or so. The current version of this software (at my last check/install) is 5.1.0.
I recall posting about its existence and a response from you about possibly going to it if there were any issues, but you had identified successfully installing 5.0.0 and hadn't identified any issues with it and would consider using the newest version when/if a problem was identified.
But, it appears that a moderator has modified the contents of this forum and that history included discussion of version 5.1.0. So, my previous response was based on the consideration that it would be/was "easy" to see that a newer version existed.
So, while it is unfortunate that history/info was removed, on a personal side and in my limited bubble, I'm perturbed, I also understand that the absence of that written word could contribute to the situation.
So, again, my recommendation because it appears that version 5.0.0 was released sometime between the release of ZC 1.5.6b and 1.5.6c back in May 2019 (based on the first post of this forum thread) that the latest copy be obtained and installed.
I would expect the forum download area to contain that latest version but I've also seen in use of the plugin that it identifies the existence of a newer version when one is available. While I don't know for sure, I would think that those issues may be addressed in the latest copy or at least issues that had been identified would be addressed.
Hello mc12345678 - so I did search the other day when you mentioned that you thought a 5.1.0 version was available however I didn't find it - I have searched again subsequent to your response above and to no avail - searched within ZC Plugins using various keywords and also did a Google search. If you manage to stumble upon it again then a link to it in here would be appreciated.
I was happy with the install of v5.0.0 when I first installed it but at that time I hadn't tried to add new products to the site - so far it is the only aspect I've encountered that is problematic.
I will in the morning try to contact CEON for some advice regarding an updated version albeit I'm not seeing any advice either within the plugin as you noted.
cheers,
Mike
Decided to contact CEON tonight - FYI this is a copy of the email I sent them viia their website.
HTML Code:Hello, I hope this finds you well and safe in these trying times. My inquiry is to do with CEON URI Mapping version 5.0.0 which I have recently installed on ZC Version 1.5.7b (latest).
It is working well but with one issue related to adding a new product whereby even with the auto generate uri mapping ticked and then proceeding to 'preview' there is no CEON URI generated.
At the bottom of the product page review the box which would contain the URI has 'uri mapping not generated' in it.
I am by default having to create my own URI in the CEON format on the initial page for creating a new product by typing it in manually - very time consuming when one has hundreds of products to add not to mention fraught with danger of making a typo.
Someone in the forum indicated they thought a version 5.1.0 was available but I cannot find it anywhere.
In conclusion I, and other users of CEON URI Mapping who have transitioned to the latest Zen Cart version would appreciate any assistance you can provide to resolve this issue.
kind regards,
Mike O'Shannessy
The latest version of CEON URI Mapping (v5.1.0) is available on CEON's website at https://ceon.net/seo-modules/ceon-uri-mapping-seo
You could be forgiven for thinking that the version is actually v5.0, but if you download the zip you'll find it's v5.1.0 within. The revision history in the subsequent docs shows 13 Dec 2020 as the release date for v5.1.0
I installed version 5.1.0 this morning after reading the documentation and following it to the letter - after install I could not get to my admin, page returned a 500 error (cannot be accessed on this server)- the site was live however. I read the ZC document on the probable causes and remedies. Server mod_security was likely so I contacted my host and after investigation they said it was not a mod_security. Ceon docs suggested putting a / in front of index.php in the .htaccess file, but that didn't work.
So I reloaded version 5.0.0 and removed all residual files from version 5.1.0 (eventually).
Now I can get both admin and the site up - but as soon as I turn ceon to on I lose the website (cannot access - too many redirects) the .htaccess in the root is exactly as it was yesterday prior to the attempted upgrade
There were a couple of myDEBUG errors that showed up at different stages of me trying to get ceon to work - these remain;
this was the second last error, showed up a few times at various stages of me trying to sort this out - I did a winmerge file comparison of installed to my downlaoded file in my drive (and even re-downloaded version 5.0.0 to be certain the file wasn't corrupted during original download) - the files are exactly the same. Again I don't think this file is responsible mainly because the I used a back up site copy from prior to doing the 5.1.0 install (admin and include folders and database copy) - so everything is as it was yesterday.
this is the last error to show however I do not think it is responsible for the website not being available for the reason that I was getting this error yesterday when still using v5.0.0 (see post #157);Code:[27-Jan-2021 15:10:10 Australia/Sydney] PHP Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting ';' or '{' in /dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 61
[27-Jan-2021 15:10:10 Australia/Sydney] Request URI: /dazzlers/index.php, IP address: 115.166.19.58
--> PHP Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting ';' or '{' in /dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 61.
So I am stuck with dynamic urls with a bunch of products to add to the site - any assistance will be appreciated.Code:[27-Jan-2021 15:59:12 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&origin=index&page=1&oID=552&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/includes/classes/class.base.php:118]
#2 base->notify() called at [/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/includes/functions/functions_osh_update.php:119]
#4 zen_update_orders_history() called at [/dazzlers/orders.php:254]
#5 require(/dazzlers/orders.php) called at [/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[27-Jan-2021 15:59:12 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&origin=index&page=1&oID=552&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/includes/classes/class.base.php:118]
#2 base->notify() called at [/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/includes/functions/functions_osh_update.php:136]
#4 zen_update_orders_history() called at [/dazzlers/orders.php:254]
#5 require(/dazzlers/orders.php) called at [/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
[27-Jan-2021 15:59:12 Australia/Sydney] Request URI: /dazzlers/index.php?cmd=orders&origin=index&page=1&oID=552&action=update_order&language=en, IP address: 115.166.19.58
#1 CeonURIMappingLinkBuildAdmin->updateNotifySEFUInterceptAdmcathref() called at [/includes/classes/class.base.php:118]
#2 base->notify() called at [/dazzlers/includes/functions/html_output.php:71]
#3 zen_catalog_href_link() called at [/includes/languages/english/modules/payment/paypalwpp.php:19]
#4 require_once(/includes/languages/english/modules/payment/paypalwpp.php) called at [/dazzlers/orders.php:268]
#5 require(/dazzlers/orders.php) called at [/dazzlers/index.php:11]
--> PHP Warning: Use of undefined constant ENABLE_SSL - assumed 'ENABLE_SSL' (this will throw an Error in a future version of PHP) in /dazzlers/includes/classes/observers/class.CeonURIMappingLinkBuildAdmin.php on line 46.
cheers,
Mike
Well, I know I'm completely confused about 1) the current state of installation, 2) what the state really was yesterday, and 3) what the real problem is/was when the software was installed...
Want some assistance? Pretty much the same thing that is and has always been suggested everytime that you have had a 500 error and/or blank screen reported with anything that has been done...
Allow me to ask, what is the recommended action to identify what went wrong when a 500 error or blank page occurs?
There's a serious bug in the 5.1.0 version of that file (and maybe 5.0.0 too, I dunno).
You need to insert a new line at line 61, containing just this:
Code:{
The 5.1.0 version of that file mentions ENABLE_SSL_CATALOG, not ENABLE_SSL.
So I suspect those warnings came from the old version, and therefore are no longer occurring?
Like @mc12345678 I'm unsure of the current state of play, but if you have v5.0.0 installed with the above issue then the fix for this is in this post - https://www.zen-cart.com/showthread....88#post1359888.
This was fixed in v5.0.1, although you probably don't have access to that as it was only available on CEON's website and has since been superseded by v5.1.0
It does make sense to upgrade to v5.1.0 (I'm still on v5.0.1 so haven't tried it yet). Not sure if you do this already but I would recommend running a development copy of your site locally on your PC/Mac. You can test out upgrades before you go live - particularly useful for the larger more compicated mods like this one.
So Simon if you are using 5.0.1 do you have the issue that I was speaking about from the start? .i.e. when adding a new product even with auto generate uri mapping ticked and then clicking preview, if you click << back to revise something upon clicking preview again the uri mapping disappears and if you update the product it uses ZC generated urls and not ceon?
Yes I should be using a development site - will create one tomorrow (nearly midnight here now) and try Ceon v5.1.0 in there and see what transpires. I'm just wondering if anyone at all has got 5.1.0 successfully working on 1.5.7b ??
Yes, I do. With CEON v5.0.1 / ZC v1.5.7b or ZC v1.5.6c. I hadn't noticed it before, as I rarely hit 'back' after 'preview'. If it hasn't been previously addressed in this thread perhaps it has been resolved in CEON v5.1.0. A workaround would be to save the product (click insert) and then go back into the product again to edit.
Thanks for your response Simon - it validates at least to me that the issue I am having is not of my doing :smile: I agree with the workaround you suggested except that if in the product revision you make a change to the title of the product then the originally generated url remains and doesn't change to the newly modified title - and as far as I am aware you can't manually change CEON url's after they have been generated ....... and yes maybe it has been addressed in v5.1.0 (if anyone had reported it as an issue) however I cannot get v5.1.0 to work, hence the dilemma :smile:
Again thanks for your response.
cheers,
Mike
ABSOLUTELY the uri can be modified after it has been entered and/or auto-generated! That's one of the points of the software... IF you keep the ceon database tables that is. To do that? When updating the store, follow the Zen Cart process(es).
I checked back to the ZC 1.5.7b site where I had installed the 5.1.0 version and it would appear that in addressing issues with whatever software was being installed, that I had independently applied the fix that DrByte mentioned above. Sorry for not recognizing the issue, for what I was dealing with it was one minor one of many other issues.
That said, I asked them to repeat the action of initiating a product, going to preview and then returning back and it seems like it works like it always does or has. Further it looks like the cause of that craziness is because of changes that were made to the buttons in the product review process where the cancel/back button uses a different link now than it used to use...
Thanks MC - I have created a development site so will try installing v5.1.0 in there soon, after I get all these products loaded :smile: I searched CEON FAQ's and other sections of the plugin docs and didn't find anything regarding retrospectively changing generated url's, maybe I skimmed too quickly - I have the ceon database tables so I assume you make any changes directly in the database tables?
cheers,
Mike
For normal use and everyday action, enter in the admin whatever address you want to use for the product. Whatever is last added is what will be the current address. Any previously entered address will go to the current address.
Sure from an outside perspective you don't necessarily want to frequently change the address of the product, but there is nothing wrong with some sort of change. Further, because an entered address goes to the same place throughout time, any address to that product is only a single redirect away and not complicated as if/when trying to do a bunch of redirects in an .htaccess.
Basically, stop overthinking things. You've been doing this stuff long enough to at least address the simple things. While the message may have changed or the help document location may have changed, its still the same thing and that troubleshooting doesn't really matter whether it is here or in some other software. It's just really easy here to identify, review and correct the issues. Some software lucky to find the log that identifies what the last big problem was...
I know @mc12345678 has helped with this but just in case you are still having difficulty generating a new URI for a product once the title has been altered (and at the risk of teaching you how to suck eggs):
If I edit a product in admin, change the title, at the bottom of the screen I see this:
Attachment 19398
Just make sure the box is ticked then Preview and Update as normal to get a new URI. If you don't want to use an auto-generated URI, then just edit the URI field and leave the box unticked.
For what I expect to be clarity of the above, if an object such as a product already has a rewrite, then I would expect the above image but with one minor difference that the checkbox would not be (automatically) checked. I would expect it to be auto-checked only if the product does not have a rewrite *and* that checkbox is defaulted to be on through the settings of the module.
Otherwise I would expect the above to be accurate... name change followed by checking that block and moving through the save aspect would cause a new rewrite to match the new name and whatever other settings there are. At least unless that new rewrite matches any that have previously existed...
Thank you MC and Simon for your explanations - much appreciated. I do not expect to be having to change url's too often but if a url is changed, is the new url automatically redirected to the original url? i.e. can the target continue to be accessed via the old url? I assume so but just double checking :smile:
thanks again,
Mike
I say this because if not mistaken, I've seen comment about "dumping the database" and starting all over. Provided the associated ceon database tables and actually the product, ezpages, categories, manufacturers to which that points are the same as they've "always been", then... yes, a uri that previously existed will still direct to whatever the current uri is in a single redirect. I stated this a few of my posts ago specifically to try to prevent having to answer it again, though it seems I didn't say it right, sorry.
Btw, I just went through the documentation to try to help a little further. If you look at the configuration section. Scroll down a little bit and will see a list of links to the remaining content. Pick any of the four "Specifying the Current URI Mapping for" links. Then scroll a little below that where it is described how to Change the current URI... the above is described/noted about.
Zen Cart 1.5.7
PHP 7.4.12
Ceon URI Mapping 5.1.0
I had a number of warnings logged from this module.
The first is in includes/classes/class.Transliteration.php
The warnings are like, and spread across multiple locations within the file.
The fix is to replace the { } with [ ]Code:PHP Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/xxxx/public_html/includes/classes/class.Transliteration.php on line 118.
For example, line 118 was
and should be changed toCode:if ($str{0} < "\x80") {
This needs doing on the following line numbers: 118, 135, 143, 167, 169 (twice), 171, 172 (twice), 174, 175 (three times), 177, 178 (twice), 179 (twice).Code:if ($str[0] < "\x80") {
Zen Cart 1.5.7
PHP 7.4.12
Ceon URI Mapping 5.1.0
The second file logging errors is admin/includes/classes/class.CeonURIMappingInstallOrUpgrade.php
The logged error is
This error is logged on 467, 472,477, 48, 485Code:PHP Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in /Users/steph/Sites/localhost/liberro/anorak1/includes/classes/class.CeonURIMappingInstallOrUpgrade.php on line 467
To fix, replace the following lines 465 to 489
withCode:$fallback_defines = array(
'product_reviews' =>
isset($default_uri_parts[$default_language_code]['product_reviews']) ?
$default_uri_parts[$default_language_code]['product_reviews'] :
isset($default_uri_parts['en']['product_reviews']) ?
$default_uri_parts['en']['product_reviews'] : 'Reviews',
'product_reviews_info' =>
isset($default_uri_parts[$default_language_code]['product_reviews_info']) ?
$default_uri_parts[$default_language_code]['product_reviews_info'] :
isset($default_uri_parts['en']['product_reviews_info']) ?
$default_uri_parts['en']['product_reviews_info'] : 'Review',
'product_reviews_write' =>
isset($default_uri_parts[$default_language_code]['product_reviews_write']) ?
$default_uri_parts[$default_language_code]['product_reviews_write'] :
isset($default_uri_parts['en']['product_reviews_write']) ?
$default_uri_parts['en']['product_reviews_write'] : 'Write a Review',
'tell_a_friend' => isset($default_uri_parts[$default_language_code]['tell_a_friend']) ?
$default_uri_parts[$default_language_code]['tell_a_friend'] :
isset($default_uri_parts['en']['tell_a_friend']) ?
$default_uri_parts['en']['tell_a_friend'] : 'Tell a Friend',
'ask_a_question' => isset($default_uri_parts[$default_language_code]['ask_a_question']) ?
$default_uri_parts[$default_language_code]['ask_a_question'] :
isset($default_uri_parts['en']['ask_a_question']) ?
$default_uri_parts['en']['ask_a_question'] : 'Ask a Question'
);
Code:$fallback_defines = array(
'product_reviews' =>
isset($default_uri_parts[$default_language_code]['product_reviews']) ?
$default_uri_parts[$default_language_code]['product_reviews'] :
(isset($default_uri_parts['en']['product_reviews']) ?
$default_uri_parts['en']['product_reviews'] : 'Reviews'),
'product_reviews_info' =>
isset($default_uri_parts[$default_language_code]['product_reviews_info']) ?
$default_uri_parts[$default_language_code]['product_reviews_info'] :
(isset($default_uri_parts['en']['product_reviews_info']) ?
$default_uri_parts['en']['product_reviews_info'] : 'Review'),
'product_reviews_write' =>
isset($default_uri_parts[$default_language_code]['product_reviews_write']) ?
$default_uri_parts[$default_language_code]['product_reviews_write'] :
(isset($default_uri_parts['en']['product_reviews_write']) ?
$default_uri_parts['en']['product_reviews_write'] : 'Write a Review'),
'tell_a_friend' => isset($default_uri_parts[$default_language_code]['tell_a_friend']) ?
$default_uri_parts[$default_language_code]['tell_a_friend'] :
(isset($default_uri_parts['en']['tell_a_friend']) ?
$default_uri_parts['en']['tell_a_friend'] : 'Tell a Friend'),
'ask_a_question' => isset($default_uri_parts[$default_language_code]['ask_a_question']) ?
$default_uri_parts[$default_language_code]['ask_a_question'] :
(isset($default_uri_parts['en']['ask_a_question']) ?
$default_uri_parts['en']['ask_a_question'] : 'Ask a Question')
);
It appears that some alterations are necessary when downloading the new 5.1.0 from Ceon's site and installing in Zen 1.5.7b. When I first installed 5.1.0 it crashed my site completely. I then applied Dr Byte's fix (https://www.zen-cart.com/showthread....77#post1377277). After that I could get in to the back end but the front end did not work at all. I have disabled the plugin and the site works fine now.
I believe from previous posts that there is more necessary than what Dr Byte posted, but the information seems a little disjointed. Can someone please clarify what the changes are in one post?
http://winecountrycannabistours.com/
v 1.5.7b
(don't worry about looks, its R&D)
MasterRusty
Might help to describe the history of the site... was a previous version installed to the fileset and then version 5.1.0 applied? Was this a new site that got version 5.1.0 installed? What logs were generated when enabled? All the fun things about getting help.
Thank you for your help!
The zen portion of the site is fresh & clean Zen 1.5.7b. The database has data in it from Ceon URI going back to Zen 1.3.9. On my first try I had Ceon URI as the third plug I was installing and crashed. Tried removing retracing etc, no go. I backed out completely and installed everything other plugin we use, then went back to CEON URI. Then as described crashed until Dr. Byte's fix, but that just fixed the back end.
I had also tried installing Ceon URI as the first plug in during my troubleshooting. Here is a list of plugins as the site sits now:
Plugins:
Ceon URI 5.1.0 (nfg)
Cross Sell 1.5
EasyPopulate 4.0.36
Simplified Social Share 3.0
sitemapXML 3.9.6
Square 1.5
Image Handler 5.1.9
In the "installation" process, did the database update part get run from the admin? I don't recall the exact designation, but think it is: Modules->Ceon URI Mapping.
And I thought there was some other information in the documentation to address some problems. Not sure though here if the problems are with the software or the database. My last download of the 5.1.0 version appeared to have a fix already applied in the admin for the issue described...
I just did a complete site build, installed all of the files (not including template override files), accessed the modules section for the plugin, it did a complete install, went to the demo product section edited the category Software and saved it with a URI being auto-generated and then accessed it from the catalog/internet. Site is functional. I do did see the admin's deprecated issues that were recently identified. but I have no issues logged from the catalog and it is working.
As far as crashing, it is important to identify what went wrong... Blank screen, database error, file not placed correctly, whatever... May even need to download the plugin again just to be sure that everything made it in the file transfer...
Ok. So there is not a cumulative solution at this time. I apologize for being incomplete in my previous information I didn't want to repeat troubleshooting that had been done in previous posts.
The installation check says:
##################################################__
A file has had a modification made to it, for an older version of Ceon URI Mapping, but this modification is no longer needed.
The path to the file is /home/uzl677kjertd/public_html/a-com/includes/extra_datafiles/ceon_uri_mapping_sessions_define.php
- Although the file had to be modified for a previous version of the module, this version works differently and the file is not modified for this version.
- Remove the modification from the file by editing the file and removing the block beginning with // BEGIN CEON URI MAPPING 1 of 1 and ending with // END CEON URI MAPPING 1 of 1 - including those two “marker comments”.
##################################################
The file "/home/uzl677kjertd/public_html/a-com/includes/extra_datafiles/ceon_uri_mapping_sessions_define.php" on my server has no line that says "// BEGIN CEON URI MAPPING 1 of 1" (why would it? it is a ceon file).
When I turn on CEON URI in the admin links that use the "index.php?" format work. Links that use the CEON generated URI's result in a 404 error.
Well, looking at the installation instructions under New files for the main store directory
I see this:
Note that the file includes/extra_datafiles/ceon_uri_mapping_sessions_define.php is not needed for a new installation.
and I don't see that file in the list of files to place on the server.
As far as upgrading (which one might think they are doing in this situation), the file seems to only be referenced in the sense that it should be removed when upgrading from certain versions of the plugin.
In all it doesn't look like the file does anything now, but did at one point. By that I mean, it doesn't look like there would be any harm of leaving that particular file other than the report provided in the installation check.
As to the 404 Error, there is information in the FAQs section: _docs/sections/faqs.html#rewrite-rule-missing-error
Hi Guys,
I have just installed and having an issue where all URLs are working as expected except any urls of the base zencart set such as login, contact_us, shipping_info.
It seems to be failing on any url using the ?main_page= when clicking I am getting redirected to ?main_page=product_info&products_id=0
I am using Zencart 1.5.7b, CEON 5.1 umm edition from ceon.net
I am not getting any log files, I have tried this with both store template and default template with same issue.
I am not sure where to go or how to diagnose, Anyone have any ideas?
I have read the docs for any FAQs and also read this thread quite a bit.
Here's what I currently have. I have tried it with just the CEON stuff I have tried adding a / in front of the index as described on the installation check page also.
Code:###############################################################################
# Add custom headers and options
###############################################################################
# Notes:
#
# Examples: Adding IE compatibility / edge flags, language and encoding flags,
# php or suphp directives, configure other Apache modules such as page_speed,
# and enable or disable Apache httpd options.
#
# Do NOT configure anything directly relating to physical or virtual resources
# in this section. These should be addressed later on in this file.
###############################################################################
#Options -Indexes
###############################################################################
# Enable mod_rewrite processing using the rules in this .htaccess file
###############################################################################
# Notes:
#
# <IfModule> should be avoided at all costs. If mod_rewrite is not available
# it is almost always better to return HTTP 500 status. This way we see there
# is an issue as soon as the .htaccess file is uploaded.
#
# For mod_rewrite to work, the Apache server option to allow symbolic links to
# be followed must be enabled. Most providers supporting mod_rewrite will
# already have it enabled for you, but if your rewrite rules are not working
# you can un-comment the first directive below to manually enable the option.
#
# Don't forget, mod_rewrite directives are processed in order until a matching
# RewriteRule with the [L] flag is encountered. So the more specific a rule is
# the closer it should appear to the top of this file.
###############################################################################
#Options +FollowSymLinks
RewriteEngine on
###############################################################################
# Tell mod_rewrite where this file is relative to the server document_root
###############################################################################
# Notes:
#
# This directive should only be enabled if this .htaccess file is not placed
# in the document_root (usually public_html, www, or web) of the (sub)domain.
#
# An easy way to determine the location relative to the server document_root is
# to look at the URL used to access a file in this folder. For example if you
# access a "page" in the same folder as this file by typing in the URL
# "www.mydomain.com/myfolder/index.html" then "myfolder" will be the location
# of this file relative to the server document_root.
#
# Another quick and easy way to determine the correct setting for this is to
# look at the defined value for DIR_WS_CATALOG and DIR_WS_HTTPS_CATALOG in
# Zen Cart's configure.php files. All three values should match.
#
# Don't forget the leading and trailing /. This directive requires both!
###############################################################################
#RewriteBase /shop/
###############################################################################
# Redirect if request was for index.php (no query)
###############################################################################
# Notes:
#
# This is only required if the site generates references to index.php with no
# parameters. This rule will force a 301 redirect to the site root when a
# request is made for "/index.php" with no query terms (?key=value).
###############################################################################
#RewriteCond %{QUERY_STRING} ^$
#RewriteRule ^index\.php$ / [R=301,L]
###############################################################################
# Add any custom 301 redirects
###############################################################################
# Notes:
#
# In general these should be few and far between. If you use a RewriteRule
# be sure to add the L flag to let Apache mod_rewrite know to stop processing
# and skip any RewriteRules defined later in the .htaccess file.
###############################################################################
###############################################################################
# Redirect if request was for index.php (with or without query)
###############################################################################
# Notes:
#
# This is a performance optimization. If the request is for index.php simply
# pass the request on and do not process any other mod_rewrite directives in
# this file.
#
# Basically this avoids the overhead of checking if index.php is a real file
# or directory (used in subsequent mod_rewrite rules) before sending the
# request to index.php.
###############################################################################
RewriteRule ^index\.php$ - [L]
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>
# ######################################################################
# # MEDIA TYPES AND CHARACTER ENCODINGS #
# ######################################################################
# ----------------------------------------------------------------------
# | Media types |
# ----------------------------------------------------------------------
# Serve resources with the proper media types (f.k.a. MIME types).
#
# https://www.iana.org/assignments/media-types/media-types.xhtml
# https://httpd.apache.org/docs/current/mod/mod_mime.html#addtype
# ----------------------------------------------------------------------
# | Reducing MIME type security risks |
# ----------------------------------------------------------------------
# Prevent some browsers from MIME-sniffing the response.
#
# This reduces exposure to drive-by download attacks and cross-origin
# data leaks, and should be left uncommented, especially if the server
# is serving user-uploaded content or content that could potentially be
# treated as executable by the browser.
#
# http://www.slideshare.net/hasegawayosuke/owasp-hasegawa
# http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx
# https://msdn.microsoft.com/en-us/library/ie/gg622941.aspx
# https://mimesniff.spec.whatwg.org/
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
</IfModule>
# ----------------------------------------------------------------------
# | ETags |
# ----------------------------------------------------------------------
# Remove `ETags` as resources are sent with far-future expires headers.
#
# https://developer.yahoo.com/performance/rules.html#etags
# https://tools.ietf.org/html/rfc7232#section-2.3
# `FileETag None` doesn't work in all cases.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
# ----------------------------------------------------------------------
# | Expires headers |
# ----------------------------------------------------------------------
# Serve resources with far-future expires headers.
#
# (!) If you don't control versioning with filename-based
# cache busting, you should consider lowering the cache times
# to something like one week.
#
# https://httpd.apache.org/docs/current/mod/mod_expires.html
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 hour"
# Data interchange
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rdf+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/schema+json "access plus 0 seconds"
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
# Favicon (cannot be renamed!) and cursor images
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# HTML
ExpiresByType text/html "access plus 0 seconds"
# JavaScript
ExpiresByType application/javascript "access plus 1 hour"
ExpiresByType application/x-javascript "access plus 1 hour"
ExpiresByType text/javascript "access plus 1 hour"
# Manifest files
ExpiresByType application/manifest+json "access plus 1 year"
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Media files
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# Web fonts
# Embedded OpenType (EOT)
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"
# OpenType
ExpiresByType font/opentype "access plus 1 month"
# TrueType
ExpiresByType application/x-font-ttf "access plus 1 month"
# Web Open Font Format (WOFF) 1.0
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
# Web Open Font Format (WOFF) 2.0
ExpiresByType application/font-woff2 "access plus 1 month"
# Other
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
</IfModule>
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC]
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264|woff2)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/backend [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite .htpasswds directory
RewriteCond %{REQUEST_URI} !^/\.htpasswds/ [NC]
# Don't rewrite .well-known directory
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
# Don't rewrite bmz_cache directory
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC]
# Don't rewrite min directory
RewriteCond %{REQUEST_URI} !^/min/ [NC]
# Don't rewrite pzen_includes directory
RewriteCond %{REQUEST_URI} !^/pzen_includes/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite zc_plugins directory
RewriteCond %{REQUEST_URI} !^/zc_plugins/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
Hi Guys, Just an update on the above (This relates to the commercial UMM edition so I am not sure if this belongs here if not please feel free to let me know and I will remove the post)
I have the commercial manager edition of ceon purchased directly from ceon.net I have installed on a brand new clean install of 1.5.7b and I am having the same issue as above where main pages such as login or contact us are linked correctly, but when clicked on this goes to "main_page=product_info&products_id=0"
Steps to recreate
1. Download and install uri mappings umm edition
2. Download and install uri mappings manager
3. Create other pages urls using mappings manager
4. When clicking on the log-in page or any page using the main_page=**** it seems to direct to the "main_page=product_info&products_id=0"
Thanks,
Dan
While not as easy in the version of the software described here in the forum, I checked one of the sites that use the free version where such an "other" page rewrite has been applied and it has the same problem...
So, following the bouncing ball and then comparing code of an older version to the 5.1.0 version, it looks like the issue is in:
includes/classes/class.CeonURIMappingHandler.php.
at or around line 159 is this:
It previously was:Code:$associated_db_id = (int)$mapping_info['associated_db_id'];
and it looks like if that (int) casting were removed then the url wouldn't later get mischaracterized as a product like web address.Code:$associated_db_id = $mapping_info['associated_db_id'];
Not sure how that line number compares to the UMM version, but guessing that things are relatively similar...
I am using zen cart 1.5.7 (not 1.5.7a or 1.5.7b). Will the 5.1.0 version work for me? Many thanks in advance!:smile:
The answer is maybe. It will work if Ceon URI Mapping is the only additional code added to your store.
The un-suffixed zc157 has an error that disables the ability for multiple observers to act on the same event. See the bugfixes for the zc157 series for more information: https://www.zen-cart.com/showthread....xes-for-v1-5-7
ZC v1.5.7b
PHP v7.3.27
CSS/JS Loader
Dynamic Filter
CEON v5.1.0
OPC v2.3.4
DPU
Structured data
GDPR
Colorbox
Inventory
SitemapXML
IH5
Since upgrading CEON from v5.0.1 to v5.1.0 all of my rewritten pages (except category and product pages (I'm not using EZpages)) are redirecting to
/index.php?main_page=product_info&products_id=0 ('sorry, the product was not found')
I've double-checked the file uploads, tried PHP v7.2, the only change to the CEON .htaccess code was the addition of the plugins directory. No error logs. CEON installation check passed. There has been no change to the database entries for these pages they still read as this:
/privacy-policy | 1 | 1 | privacy | NULL | NULL | NULL | NULL | 2018-05-20 16:00:00
Any ideas why this might be happening or where to look?