diff --git a/admin-dev/tabs/AdminMeta.php b/admin-dev/tabs/AdminMeta.php index 547ceddaf..e023a89fd 100644 --- a/admin-dev/tabs/AdminMeta.php +++ b/admin-dev/tabs/AdminMeta.php @@ -75,7 +75,7 @@ class AdminMeta extends AdminTab public function addFieldRoute($routeID, $title) { $keywords = array(); - foreach (Dispatcher::getInstance()->defaultRoutes[$routeID]['keywords'] as $keyword => $data) + foreach (Dispatcher::getInstance()->default_routes[$routeID]['keywords'] as $keyword => $data) $keywords[] = ((isset($data['param'])) ? ''.$keyword.'*' : $keyword); $this->optionsList['routes']['fields']['PS_ROUTE_'.$routeID] = array( @@ -84,7 +84,7 @@ class AdminMeta extends AdminTab 'validation' => 'isString', 'type' => 'text', 'size' => 70, - 'defaultValue' => Dispatcher::getInstance()->defaultRoutes[$routeID]['rule'], + 'defaultValue' => Dispatcher::getInstance()->default_routes[$routeID]['rule'], ); } @@ -226,12 +226,12 @@ class AdminMeta extends AdminTab */ public function checkAndUpdateRoute($routeID) { - $defaultRoutes = Dispatcher::getInstance()->defaultRoutes; - if (!isset($defaultRoutes[$routeID])) + $default_routes = Dispatcher::getInstance()->default_routes; + if (!isset($default_routes[$routeID])) return ; $rule = Tools::getValue('PS_ROUTE_'.$routeID); - if (!$rule || $rule == $defaultRoutes[$routeID]['rule']) + if (!$rule || $rule == $default_routes[$routeID]['rule']) { Configuration::updateValue('PS_ROUTE_'.$routeID, ''); return ; diff --git a/classes/Tools.php b/classes/Tools.php index 5dca608f7..5586827e2 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -1559,113 +1559,113 @@ class ToolsCore return self::getHttpHost(); } - public static function generateHtaccess($path, $rewrite_settings, $cache_control, $specific = '', $disableMuliviews = false) + public static function generateHtaccess($path, $rewrite_settings, $cache_control, $specific = '', $disable_multiviews = false) { // Check current content of .htaccess and save all code outside of prestashop comments - $specificBefore = $specificAfter = ''; + $specific_before = $specific_after = ''; if (file_exists($path)) { $content = file_get_contents($path); if (preg_match('#^(.*)\# ~~start~~.*\# ~~end~~[^\n]*(.*)$#s', $content, $m)) { - $specificBefore = $m[1]; - $specificAfter = $m[2]; + $specific_before = $m[1]; + $specific_after = $m[2]; } else { // For retrocompatibility if (preg_match('#\# http://www\.prestashop\.com - http://www\.prestashop\.com/forums\s*(.*)#si', $content, $m)) - $specificBefore = $m[1]; + $specific_before = $m[1]; else - $specificBefore = $content; + $specific_before = $content; } } // Write .htaccess data - if (!$writeFd = @fopen($path, 'w')) + if (!$write_fd = @fopen($path, 'w')) return false; - fwrite($writeFd, trim($specificBefore)."\n\n"); + fwrite($write_fd, trim($specific_before)."\n\n"); $domains = array(); - foreach (ShopUrl::getShopUrls() as $shopUrl) + foreach (ShopUrl::getShopUrls() as $shop_url) { - if (!isset($domains[$shopUrl['domain']])) - $domains[$shopUrl['domain']] = array(); + if (!isset($domains[$shop_url['domain']])) + $domains[$shop_url['domain']] = array(); - $domains[$shopUrl['domain']] = array( - 'physical' => $shopUrl['physical_uri'], - 'virtual' => $shopUrl['virtual_uri'], + $domains[$shop_url['domain']][] = array( + 'physical' => $shop_url['physical_uri'], + 'virtual' => $shop_url['virtual_uri'], ); } // Write data in .htaccess file - fwrite($writeFd, "# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again\n"); - fwrite($writeFd, "# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution\n"); - fwrite($writeFd, "# http://www.prestashop.com - http://www.prestashop.com/forums\n\n"); + fwrite($write_fd, "# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again\n"); + fwrite($write_fd, "# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution\n"); + fwrite($write_fd, "# http://www.prestashop.com - http://www.prestashop.com/forums\n\n"); // RewriteEngine - fwrite($writeFd, "\n"); - + fwrite($write_fd, "\n"); + // Disable multiviews ? - if ($disableMuliviews) - fwrite($writeFd, "\n# Disable Multiviews\nOptions -Multiviews\n\n"); + if ($disable_multiviews) + fwrite($write_fd, "\n# Disable Multiviews\nOptions -Multiviews\n\n"); - fwrite($writeFd, "RewriteEngine on\n\n"); + fwrite($write_fd, "RewriteEngine on\n\n"); foreach ($domains as $domain => $list_uri) foreach ($list_uri as $uri) // Rewrite virtual multishop uri if ($uri['virtual']) { - fwrite($writeFd, 'RewriteCond %{HTTP_HOST} ^'.$domain.'$'."\n"); - fwrite($writeFd, "RewriteRule ^".ltrim($uri['virtual'], '/')."(.*) ".$uri['physical']."$1 [L]\n\n"); + fwrite($write_fd, 'RewriteCond %{HTTP_HOST} ^'.$domain.'$'."\n"); + fwrite($write_fd, 'RewriteRule ^'.ltrim($uri['virtual'], '/').'(.*) '.$uri['physical']."$1 [L]\n\n"); } - + // Webservice - fwrite($writeFd, 'RewriteRule ^api/?(.*)$ '."webservice/dispatcher.php?url=$1 [QSA,L]\n\n"); + fwrite($write_fd, 'RewriteRule ^api/?(.*)$ '."webservice/dispatcher.php?url=$1 [QSA,L]\n\n"); if ($rewrite_settings) { // Compatibility with the old image filesystem - fwrite($writeFd, "# Images\n"); + fwrite($write_fd, "# Images\n"); if (Configuration::get('PS_LEGACY_IMAGES')) { - fwrite($writeFd, 'RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.'$1-$2$3.jpg [L]'."\n"); - fwrite($writeFd, 'RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.'$1-$2.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.'$1-$2$3.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.'$1-$2.jpg [L]'."\n"); } // Rewrite product images < 100 millions for ($i = 1; $i <= 8; $i++) { - $imgPath = $imgName = ''; + $img_path = $img_name = ''; for ($j = 1; $j <= $i; $j++) { - $imgPath .= '$'.$j.'/'; - $imgName .= '$'.$j; + $img_path .= '$'.$j.'/'; + $img_name .= '$'.$j; } - $imgName .= '$'.$j; - fwrite($writeFd, 'RewriteRule ^'.str_repeat('([0-9])', $i).'(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.$imgPath.$imgName.".jpg [L]\n"); + $img_name .= '$'.$j; + fwrite($write_fd, 'RewriteRule ^'.str_repeat('([0-9])', $i).'(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ '._PS_PROD_IMG_.$img_path.$img_name.".jpg [L]\n"); } - fwrite($writeFd, 'RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ img/c/$1$2.jpg [L]'."\n"); - fwrite($writeFd, 'RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ img/c/$1.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ img/c/$1$2.jpg [L]'."\n"); + fwrite($write_fd, 'RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ img/c/$1.jpg [L]'."\n"); } // Redirections to dispatcher if ($rewrite_settings) { - fwrite($writeFd, "\n# Dispatcher\n"); - fwrite($writeFd, "RewriteCond %{REQUEST_FILENAME} -s [OR]\n"); - fwrite($writeFd, "RewriteCond %{REQUEST_FILENAME} -l [OR]\n"); - fwrite($writeFd, "RewriteCond %{REQUEST_FILENAME} -d\n"); - fwrite($writeFd, "RewriteRule ^.*$ - [NC,L]\n"); - fwrite($writeFd, "RewriteRule ^.*\$ index.php [NC,L]\n"); + fwrite($write_fd, "\n# Dispatcher\n"); + fwrite($write_fd, "RewriteCond %{REQUEST_FILENAME} -s [OR]\n"); + fwrite($write_fd, "RewriteCond %{REQUEST_FILENAME} -l [OR]\n"); + fwrite($write_fd, "RewriteCond %{REQUEST_FILENAME} -d\n"); + fwrite($write_fd, "RewriteRule ^.*$ - [NC,L]\n"); + fwrite($write_fd, "RewriteRule ^.*\$ index.php [NC,L]\n"); } - fwrite($writeFd, "\n\n"); - + fwrite($write_fd, "\n\n"); + // Cache control if ($cache_control) { - $cacheControl = " + $cache_control = " ExpiresActive On ExpiresByType image/gif \"access plus 1 month\" ExpiresByType image/jpeg \"access plus 1 month\" @@ -1685,12 +1685,12 @@ FileETag INode MTime Size AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript \n\n"; - fwrite($writeFd, $cacheControl); + fwrite($write_fd, $cache_control); } - fwrite($writeFd, "# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again\n"); - fwrite($writeFd, "\n\n".trim($specificAfter)); - fclose($writeFd); + fwrite($write_fd, "# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again\n"); + fwrite($write_fd, "\n\n".trim($specific_after)); + fclose($write_fd); Module::hookExec('afterCreateHtaccess');