Dear friends,
While developing on the add-on for the version CS-Cart 4.0.1 we found standard bug. The error consists in the fact that at installation add-on the files from the directories “mail” aren’t copied":
“var/themes_repository/basic/mail/templates/addons/”;
“var/themes_repository/basic/mail/css/addons/”;
“var/themes_repository/basic/mail/media/images/addons/”.
The code in the file “app/functions/fn.addons.php” was studied. It turns out that CS-Cart’s architects just forgot about the folder “mail”
The mistake’s fix consists in that that the code was added to the “fn_install_addon_templates” function.
The code containing the mistake’s fix is given below:
<br />
/**<br />
* Copies addon templates from repository<br />
*<br />
* @param string $addon_name Addons name to copy templates for<br />
* @return bool Always true<br />
*/<br />
function fn_install_addon_templates($addon_name)<br />
{<br />
$repo_dir = fn_get_theme_path('[repo]/basic/');<br />
<br />
if (fn_allowed_for('ULTIMATE')) {<br />
foreach (fn_get_all_companies_ids() as $company) {<br />
$installed_themes = fn_get_installed_themes($company);<br />
$design_dir = fn_get_theme_path('[themes]/', 'C', $company);<br />
foreach ($installed_themes as $theme_name) {<br />
if (is_dir($repo_dir . 'templates/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'templates/addons/' . $addon_name, $design_dir . $theme_name . '/templates/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'css/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'css/addons/' . $addon_name, $design_dir . $theme_name . '/css/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'media/images/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'media/images/addons/' . $addon_name, $design_dir . $theme_name . '/media/images/addons/' . $addon_name);<br />
}<br />
// [WSA-team] fixed standard bug 2013/07/27<br />
if (is_dir($repo_dir . 'mail/templates/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/templates/addons/' . $addon_name, $design_dir . $theme_name . '/mail/templates/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'mail/css/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/css/addons/' . $addon_name, $design_dir . $theme_name . '/mail/css/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'mail/media/images/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/media/images/addons/' . $addon_name, $design_dir . $theme_name . '/mail/media/images/addons/' . $addon_name);<br />
}<br />
// [/WSA-team]<br />
<br />
}<br />
<br />
}<br />
} else {<br />
$installed_themes = fn_get_installed_themes();<br />
$design_dir = fn_get_theme_path('[themes]/', 'C');<br />
foreach ($installed_themes as $theme_name) {<br />
if (is_dir($repo_dir . 'templates/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'templates/addons/' . $addon_name, $design_dir . $theme_name . '/templates/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'css/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'css/addons/' . $addon_name, $design_dir . $theme_name . '/css/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'media/images/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'media/images/addons/' . $addon_name, $design_dir . $theme_name . '/media/images/addons/' . $addon_name);<br />
}<br />
// [WSA-team] fixed standard bug 2013/07/27<br />
if (is_dir($repo_dir . 'mail/templates/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/templates/addons/' . $addon_name, $design_dir . $theme_name . '/mail/templates/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'mail/css/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/css/addons/' . $addon_name, $design_dir . $theme_name . '/mail/css/addons/' . $addon_name);<br />
}<br />
if (is_dir($repo_dir . 'mail/media/images/addons/' . $addon_name)) {<br />
fn_copy($repo_dir . 'mail/media/images/addons/' . $addon_name, $design_dir . $theme_name . '/mail/media/images/addons/' . $addon_name);<br />
}<br />
// [/WSA-team]<br />
<br />
}<br />
}<br />
<br />
return true;<br />
}<br />
```<br />
<br />
Also I attached the file with a fix of the described mistake in attachments.<br />
I hope the given information will be useful to somebody.<br />
<br />
Thank you.<p><a href="127.0.0.1/uploads/monthly_07_2013/post-21046-0-21027700-1374931332.ipb">fn.addons.php</a></p>