diff --git a/install-dev/classes/datas.php b/install-dev/classes/datas.php
index b6156fe9c..964d737cf 100644
--- a/install-dev/classes/datas.php
+++ b/install-dev/classes/datas.php
@@ -95,7 +95,7 @@ class Datas
),
'shop_activity' => array(
'name' => 'activity',
- 'default' => 1,
+ 'default' => 0,
'validate' => 'isInt',
),
'shop_country' => array(
diff --git a/install-dev/controllers/http/configure.php b/install-dev/controllers/http/configure.php
index ce237f7a9..1b35a3a9f 100644
--- a/install-dev/controllers/http/configure.php
+++ b/install-dev/controllers/http/configure.php
@@ -227,28 +227,29 @@ class InstallControllerHttpConfigure extends InstallControllerHttp
{
// List of activities
$list_activities = array(
- $this->l('Lingerie and Adult'),
- $this->l('Animals and Pets'),
- $this->l('Art and Culture'),
- $this->l('Babies'),
- $this->l('Beauty and Personal Care'),
- $this->l('Cars'),
- $this->l('Computer Hardware and Software'),
- $this->l('Download'),
- $this->l('Fashion and accessories'),
- $this->l('Flowers, Gifts and Crafts'),
- $this->l('Food and beverage'),
- $this->l('HiFi, Photo and Video'),
- $this->l('Home and Garden'),
- $this->l('Home Appliances'),
- $this->l('Jewelry'),
- $this->l('Mobile and Telecom'),
- $this->l('Services'),
- $this->l('Shoes and accessories'),
- $this->l('Sports and Entertainment'),
- $this->l('Travel'),
+ 1 => $this->l('Lingerie and Adult'),
+ 2 => $this->l('Animals and Pets'),
+ 3 => $this->l('Art and Culture'),
+ 4 => $this->l('Babies'),
+ 5 => $this->l('Beauty and Personal Care'),
+ 6 => $this->l('Cars'),
+ 7 => $this->l('Computer Hardware and Software'),
+ 8 => $this->l('Download'),
+ 9 => $this->l('Fashion and accessories'),
+ 10 => $this->l('Flowers, Gifts and Crafts'),
+ 11 => $this->l('Food and beverage'),
+ 12 => $this->l('HiFi, Photo and Video'),
+ 13 => $this->l('Home and Garden'),
+ 14 => $this->l('Home Appliances'),
+ 15 => $this->l('Jewelry'),
+ 16 => $this->l('Mobile and Telecom'),
+ 17 => $this->l('Services'),
+ 18 => $this->l('Shoes and accessories'),
+ 19 => $this->l('Sports and Entertainment'),
+ 20 => $this->l('Travel'),
);
- sort($list_activities);
+
+ asort($list_activities);
$this->list_activities = $list_activities;
// Countries list
diff --git a/install-dev/models/install.php b/install-dev/models/install.php
index f450ddc40..2780f23de 100644
--- a/install-dev/models/install.php
+++ b/install-dev/models/install.php
@@ -557,7 +557,6 @@ class InstallModelInstall extends InstallAbstractModel
'graphvisifire',
'graphxmlswfcharts',
'gridhtml',
- 'gsitemap',
'homefeatured',
'homeslider',
'pagesnotfound',
diff --git a/modules/gsitemap/config.xml b/modules/gsitemap/config.xml
deleted file mode 100755
index 8cb6e8b39..000000000
--- a/modules/gsitemap/config.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- gsitemap
-
-
-
-
-
- 1
- 0
-
-
\ No newline at end of file
diff --git a/modules/gsitemap/gsitemap-cron.php b/modules/gsitemap/gsitemap-cron.php
deleted file mode 100755
index e8ae96de2..000000000
--- a/modules/gsitemap/gsitemap-cron.php
+++ /dev/null
@@ -1,19 +0,0 @@
-link = new Link();
-
-echo $gsitemap->generateSitemapIndex();
\ No newline at end of file
diff --git a/modules/gsitemap/gsitemap.php b/modules/gsitemap/gsitemap.php
deleted file mode 100644
index c0a747e31..000000000
--- a/modules/gsitemap/gsitemap.php
+++ /dev/null
@@ -1,460 +0,0 @@
-
-* @copyright 2007-2013 PrestaShop SA
-* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
-* International Registered Trademark & Property of PrestaShop SA
-*/
-
-if (!defined('_PS_VERSION_'))
- exit;
-
-class Gsitemap extends Module
-{
- private $_html = '';
- private $_postErrors = array();
-
- public function __construct()
- {
- $this->name = 'gsitemap';
- $this->tab = 'seo';
- $this->version = '1.9';
- $this->author = 'PrestaShop';
- $this->need_instance = 0;
-
- parent::__construct();
-
- $this->displayName = $this->l('Google sitemap');
- $this->description = $this->l('Generate your Google sitemap file.');
-
- if (!defined('GSITEMAP_FILE'))
- define('GSITEMAP_FILE', dirname(__FILE__).'/../../sitemap.xml');
- }
-
- public function uninstall()
- {
- file_put_contents(GSITEMAP_FILE, '');
- return parent::uninstall();
- }
-
- private function _postValidation()
- {
- file_put_contents(GSITEMAP_FILE, '');
- if (!($fp = fopen(GSITEMAP_FILE, 'w')))
- $this->_postErrors[] = sprintf($this->l('Cannot create %ssitemap.xml file..'), realpath(dirname(__FILE__.'/../..')).'/');
- else
- fclose($fp);
- }
-
- private function getUrlWith($url, $key, $value)
- {
- if (empty($value))
- return $url;
- if (strpos($url, '?') !== false)
- return $url.'&'.$key.'='.$value;
- return $url.'?'.$key.'='.$value;
- }
-
- private function _postProcess()
- {
- Configuration::updateValue('GSITEMAP_ALL_CMS', (int)Tools::getValue('GSITEMAP_ALL_CMS'));
- Configuration::updateValue('GSITEMAP_ALL_PRODUCTS', (int)Tools::getValue('GSITEMAP_ALL_PRODUCTS'));
-
- if (Shop::isFeatureActive())
- $res = $this->generateSitemapIndex();
- else
- $res = $this->generateSitemap(Configuration::get('PS_SHOP_DEFAULT'), GSITEMAP_FILE);
-
- $this->_html .= '
';
- $this->_html .= $res ? $this->l('Sitemap file generated.') : $this->l('Error while creating sitemap file.');
- $this->_html .= '
';
- }
-
- /**
- * Generate sitemap index to reference the sitemap of each shop
- *
- * @return bool
- */
- public function generateSitemapIndex()
- {
- $xmlString = <<
-
-
-XML;
- $xml = new SimpleXMLElement($xmlString);
-
- $sql = 'SELECT s.id_shop, su.domain, su.domain_ssl, CONCAT(su.physical_uri, su.virtual_uri) as uri
- FROM '._DB_PREFIX_.'shop s
- INNER JOIN '._DB_PREFIX_.'shop_url su ON s.id_shop = su.id_shop AND su.main = 1
- WHERE s.active = 1
- AND s.deleted = 0
- AND su.active = 1';
- if (!$result = Db::getInstance()->executeS($sql))
- return false;
-
- $res = true;
- foreach ($result as $row)
- {
- $info = pathinfo(GSITEMAP_FILE);
- $filename = $info['filename'].'-'.$row['id_shop'].'.'.$info['extension'];
-
- $replaceUrl = array('http://'.$row['domain'].$row['uri'], ((Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$row['domain_ssl'].$row['uri']);
-
- $last = $this->generateSitemap($row['id_shop'], $info['dirname'].'/'.$filename, $replaceUrl);
- if ($last)
- {
- $this->_addSitemapIndexNode($xml, 'http://'.$row['domain'].(($row['uri']) ? $row['uri'] : '/').$filename, date('Y-m-d'));
- }
- $res &= $last;
- }
-
- $fp = fopen(GSITEMAP_FILE, 'w');
- fwrite($fp, $xml->asXML());
- fclose($fp);
-
- return $res && file_exists(GSITEMAP_FILE);
- }
-
- /**
- * Generate a sitemap for a shop
- *
- * @param int $id_shop
- * @param string $filename
- * @return bool
- */
- private function generateSitemap($id_shop, $filename = '', $replace_url = array())
- {
- $langs = Language::getLanguages();
- $shop = new Shop($id_shop);
- if (!$shop->id)
- return false;
-
- $xmlString = <<
-
-
-XML;
-
- $xml = new SimpleXMLElement($xmlString);
-
- if (Configuration::get('PS_REWRITING_SETTINGS') && count($langs) > 1)
- foreach($langs as $lang)
- {
- $this->_addSitemapNode($xml, Tools::getShopDomain(true, true).__PS_BASE_URI__.$lang['iso_code'].'/', '1.00', 'daily', date('Y-m-d'));
- }
- else
- $this->_addSitemapNode($xml, Tools::getShopDomain(true, true).__PS_BASE_URI__, '1.00', 'daily', date('Y-m-d'));
-
- /* Product Generator */
- $sql = 'SELECT p.id_product, pl.link_rewrite, DATE_FORMAT(IF(ps.date_upd,ps.date_upd,ps.date_add), \'%Y-%m-%d\') date_upd, pl.id_lang, cl.`link_rewrite` category, ean13, i.id_image, il.legend legend_image, (
- SELECT MIN(level_depth)
- FROM '._DB_PREFIX_.'product p2
- '.Shop::addSqlAssociation('product', 'p2').'
- LEFT JOIN '._DB_PREFIX_.'category_product cp2 ON p2.id_product = cp2.id_product
- LEFT JOIN '._DB_PREFIX_.'category c2 ON cp2.id_category = c2.id_category
- WHERE p2.id_product = p.id_product AND product_shop.`active` = 1 AND c2.`active` = 1) AS level_depth
- FROM '._DB_PREFIX_.'product p
- LEFT JOIN '._DB_PREFIX_.'product_shop ps ON (ps.id_product = p.id_product AND ps.id_shop = '.(int)$id_shop.')
- LEFT JOIN '._DB_PREFIX_.'product_lang pl ON (p.id_product = pl.id_product)
- LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (ps.id_category_default = cl.id_category AND pl.id_lang = cl.id_lang AND cl.id_shop = '.(int)$id_shop.')
- LEFT JOIN '._DB_PREFIX_.'image i ON p.id_product = i.id_product
- LEFT JOIN '._DB_PREFIX_.'image_lang il ON (i.id_image = il.id_image)
- LEFT JOIN '._DB_PREFIX_.'lang l ON (pl.id_lang = l.id_lang)
- WHERE l.`active` = 1
- AND ps.`active` = 1
- AND ps.id_shop = '.(int)$id_shop.'
- '.(Configuration::get('GSITEMAP_ALL_PRODUCTS') ? '' : 'HAVING level_depth IS NOT NULL').'
- ORDER BY pl.id_product, pl.id_lang ASC';
-
- $resource = Db::getInstance(_PS_USE_SQL_SLAVE_)->query($sql);
-
- // array used to know which product/image was already added (blacklist)
- $done = null;
- $sitemap = null;
-
- // iterates on the products, to gather the image ids
- while ($product = Db::getInstance()->nextRow($resource))
- {
- // if the product has not been added
- $id_product = $product['id_product'];
- if (!isset($done[$id_product]['added']))
- {
- // priority
- if (($priority = 0.7 - ($product['level_depth'] / 10)) < 0.1)
- $priority = 0.1;
-
- // adds the product
- $tmpLink = $this->context->link->getProductLink((int)($product['id_product']), $product['link_rewrite'], $product['category'], $product['ean13'], (int)($product['id_lang']));
- $sitemap = $this->_addSitemapNode($xml, $tmpLink, $priority, 'weekly', substr($product['date_upd'], 0, 10));
-
- // considers the product has added
- $done[$id_product]['added'] = true;
- }
-
- // if the image has not been added
- $id_image = $product['id_image'];
- if (!isset($done[$id_product][$id_image]) && $id_image)
- {
- // adds the image
- $this->_addSitemapNodeImage($sitemap, $product);
-
- // considers the image as added
- $done[$id_product][$id_image] = true;
- }
- }
-
- /* Categories Generator */
- if (Configuration::get('PS_REWRITING_SETTINGS'))
- $categories = Db::getInstance()->executeS('
- SELECT c.id_category, c.level_depth, link_rewrite, DATE_FORMAT(IF(date_upd,date_upd,date_add), \'%Y-%m-%d\') AS date_upd, cl.id_lang
- FROM '._DB_PREFIX_.'category c
- LEFT JOIN '._DB_PREFIX_.'category_lang cl ON c.id_category = cl.id_category
- LEFT JOIN '._DB_PREFIX_.'lang l ON cl.id_lang = l.id_lang
- WHERE l.`active` = 1 AND c.`active` = 1 AND c.id_category != 1
- ORDER BY cl.id_category, cl.id_lang ASC');
- else
- $categories = Db::getInstance()->executeS(
- 'SELECT c.id_category, c.level_depth, DATE_FORMAT(IF(date_upd,date_upd,date_add), \'%Y-%m-%d\') AS date_upd
- FROM '._DB_PREFIX_.'category c
- ORDER BY c.id_category ASC');
-
-
- foreach($categories as $category)
- {
- if (($priority = 0.9 - ($category['level_depth'] / 10)) < 0.1)
- $priority = 0.1;
-
- $tmpLink = Configuration::get('PS_REWRITING_SETTINGS') ?
- $this->context->link->getCategoryLink((int)$category['id_category'], $category['link_rewrite'], (int)$category['id_lang'])
- : $this->context->link->getCategoryLink((int)$category['id_category']);
- $this->_addSitemapNode($xml, htmlspecialchars($tmpLink), $priority, 'weekly', substr($category['date_upd'], 0, 10));
- }
-
- /* CMS Generator */
- if (Configuration::get('GSITEMAP_ALL_CMS') || !Module::isInstalled('blockcms'))
- $sql_cms = '
- SELECT DISTINCT '.(Configuration::get('PS_REWRITING_SETTINGS') ? 'cl.id_cms, cl.link_rewrite, cl.id_lang' : 'cl.id_cms').
- ' FROM '._DB_PREFIX_.'cms_lang cl
- LEFT JOIN '._DB_PREFIX_.'lang l ON (cl.id_lang = l.id_lang)
- WHERE l.`active` = 1
- ORDER BY cl.id_cms, cl.id_lang ASC';
- else if (Module::isInstalled('blockcms'))
- $sql_cms = '
- SELECT DISTINCT '.(Configuration::get('PS_REWRITING_SETTINGS') ? 'cl.id_cms, cl.link_rewrite, cl.id_lang' : 'cl.id_cms').
- ' FROM '._DB_PREFIX_.'cms_block_page b
- LEFT JOIN '._DB_PREFIX_.'cms_lang cl ON (b.id_cms = cl.id_cms)
- LEFT JOIN '._DB_PREFIX_.'lang l ON (cl.id_lang = l.id_lang)
- WHERE l.`active` = 1
- ORDER BY cl.id_cms, cl.id_lang ASC';
-
- $cmss = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql_cms);
- foreach($cmss as $cms)
- {
- $tmpLink = Configuration::get('PS_REWRITING_SETTINGS') ?
- $this->context->link->getCMSLink((int)$cms['id_cms'], $cms['link_rewrite'], false, (int)$cms['id_lang'])
- : $this->context->link->getCMSLink((int)$cms['id_cms']);
- $this->_addSitemapNode($xml, $tmpLink, '0.8', 'daily');
- }
-
- /* Add classic pages (contact, best sales, new products...) */
- $pages = array(
- 'supplier' => false,
- 'manufacturer' => false,
- 'new-products' => false,
- 'prices-drop' => false,
- 'stores' => false,
- 'authentication' => true,
- 'best-sales' => false,
- 'contact-form' => true);
-
- // Don't show suppliers and manufacturers if they are disallowed
- if (!Module::getInstanceByName('blockmanufacturer')->id && !Configuration::get('PS_DISPLAY_SUPPLIERS'))
- unset($pages['manufacturer']);
-
- if (!Module::getInstanceByName('blocksupplier')->id && !Configuration::get('PS_DISPLAY_SUPPLIERS'))
- unset($pages['supplier']);
-
- // Generate nodes for pages
- if(Configuration::get('PS_REWRITING_SETTINGS'))
- foreach ($pages as $page => $ssl)
- foreach($langs as $lang)
- $this->_addSitemapNode($xml, $this->context->link->getPageLink($page, $ssl, $lang['id_lang']), '0.5', 'monthly');
- else
- foreach($pages as $page => $ssl)
- $this->_addSitemapNode($xml, $this->context->link->getPageLink($page, $ssl), '0.5', 'monthly');
-
- $xml_string = $xml->asXML();
-
- // Replace URL in XML strings by real shops URL
- if ($replace_url)
- $xml_string = str_replace(array(Tools::getShopDomain(true).__PS_BASE_URI__, Tools::getShopDomainSsl(true).__PS_BASE_URI__), $replace_url, $xml_string);
-
- $fp = fopen($filename, 'w');
- fwrite($fp, $xml_string);
- fclose($fp);
-
- return file_exists($filename);
- }
-
- private function _addSitemapIndexNode($xml, $loc, $last_mod)
- {
- $sitemap = $xml->addChild('sitemap');
- $sitemap->addChild('loc', htmlspecialchars($loc));
- $sitemap->addChild('lastmod', $last_mod);
- return $sitemap;
- }
-
- private function _addSitemapNode($xml, $loc, $priority, $change_freq, $last_mod = NULL)
- {
- $sitemap = $xml->addChild('url');
- $sitemap->addChild('loc', htmlspecialchars($loc));
- $sitemap->addChild('priority', number_format($priority,1,'.',''));
- if ($last_mod)
- $sitemap->addChild('lastmod', $last_mod);
- $sitemap->addChild('changefreq', $change_freq);
- return $sitemap;
- }
-
- private function _addSitemapNodeImage($xml, $product)
- {
- $image = $xml->addChild('image', null, 'http://www.google.com/schemas/sitemap-image/1.1');
- $image->addChild('loc', htmlspecialchars($this->context->link->getImageLink($product['link_rewrite'], (int)$product['id_product'].'-'.(int)$product['id_image'])), 'http://www.google.com/schemas/sitemap-image/1.1');
-
- $legend_image = preg_replace('/(&+)/i', '&', $product['legend_image']);
- $image->addChild('caption', $legend_image, 'http://www.google.com/schemas/sitemap-image/1.1');
- $image->addChild('title', $legend_image, 'http://www.google.com/schemas/sitemap-image/1.1');
- }
-
- private function _displaySitemap()
- {
- if (Shop::isFeatureActive())
- {
- $sql = 'SELECT s.id_shop, su.domain, su.domain_ssl, CONCAT(su.physical_uri, su.virtual_uri) as uri
- FROM '._DB_PREFIX_.'shop s
- INNER JOIN '._DB_PREFIX_.'shop_url su ON s.id_shop = su.id_shop AND su.main = 1
- WHERE s.active = 1
- AND s.deleted = 0
- AND su.active = 1';
- if (!$result = Db::getInstance()->executeS($sql))
- return '';
-
- $this->_html .= ''.$this->l('Sitemap index').'
';
- $this->_html .= ''.$this->l('Your Google sitemap file is online at the following address:').'
- '.Tools::getShopDomain(true, true).__PS_BASE_URI__.'sitemap.xml
';
-
- $info = pathinfo(GSITEMAP_FILE);
- foreach ($result as $shop)
- {
- $filename = $info['dirname'].'/'.$info['filename'].'-'.$shop['id_shop'].'.'.$info['extension'];
- if (file_exists($filename) && filesize($filename))
- {
- $fp = fopen($filename, 'r');
- $fstat = fstat($fp);
- fclose($fp);
- $xml = simplexml_load_file($filename);
-
- $nbPages = count($xml->url);
- $sitemap_uri = 'http://'.$shop['domain'].$shop['uri'].$info['filename'].'-'.$shop['id_shop'].'.'.$info['extension'];
-
- $this->_html .= ''.$this->l('Sitemap for: ').$shop['domain'].$shop['uri'].'
';
- $this->_html .= ''.$this->l('Your Google sitemap file is online at the following address:').'
- '.$sitemap_uri.'
';
-
- $this->_html .= $this->l('Update:').' '.utf8_encode(strftime('%A %d %B %Y %H:%M:%S',$fstat['mtime'])).'
';
- $this->_html .= $this->l('Filesize:').' '.number_format(($fstat['size']*.000001), 3).'MB
';
- $this->_html .= $this->l('Indexed pages:').' '.$nbPages.'
';
- }
- }
- }
- elseif (file_exists(GSITEMAP_FILE) && filesize(GSITEMAP_FILE))
- {
- $fp = fopen(GSITEMAP_FILE, 'r');
- $fstat = fstat($fp);
- fclose($fp);
- $xml = simplexml_load_file(GSITEMAP_FILE);
-
- $nbPages = count($xml->url);
-
- $this->_html .= ''.$this->l('Your Google sitemap file is online at the following address:').'
- '.Tools::getShopDomain(true, true).__PS_BASE_URI__.'sitemap.xml
';
-
- $this->_html .= $this->l('Update:').' '.utf8_encode(strftime('%A %d %B %Y %H:%M:%S',$fstat['mtime'])).'
';
- $this->_html .= $this->l('Filesize:').' '.number_format(($fstat['size']*.000001), 3).'MB
';
- $this->_html .= $this->l('Indexed pages:').' '.$nbPages.'
';
- }
- }
-
- private function _displayForm()
- {
- if (Tools::usingSecureMode())
- $domain = Tools::getShopDomainSsl(true);
- else
- $domain = Tools::getShopDomain(true);
-
- $this->_html .= '
-
- '.$this->l('Use cron job to re-build the sitemap:').'
-
- '.$domain.__PS_BASE_URI__.'modules/gsitemap/gsitemap-cron.php?&token='.substr(Tools::encrypt('gsitemap/cron'),0,10).'&GSITEMAP_ALL_CMS='.((int)Configuration::get('GSITEMAP_ALL_CMS')).'&GSITEMAP_ALL_PRODUCTS='.((int)Configuration::get('GSITEMAP_ALL_PRODUCTS')).'
-
';
- }
-
- public function getContent()
- {
- if (Tools::isSubmit('btnSubmit'))
- {
- $this->_postValidation();
- if (!count($this->_postErrors))
- $this->_postProcess();
- else
- foreach ($this->_postErrors as $err)
- $this->_html .= ''.$err.'
';
- }
-
- $this->_html .= '
- ';
- return $this->_html;
- }
-
-}
-
diff --git a/modules/gsitemap/index.php b/modules/gsitemap/index.php
deleted file mode 100644
index 3f6561f72..000000000
--- a/modules/gsitemap/index.php
+++ /dev/null
@@ -1,35 +0,0 @@
-
-* @copyright 2007-2013 PrestaShop SA
-* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
-* International Registered Trademark & Property of PrestaShop SA
-*/
-
-header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
-header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
-
-header("Cache-Control: no-store, no-cache, must-revalidate");
-header("Cache-Control: post-check=0, pre-check=0", false);
-header("Pragma: no-cache");
-
-header("Location: ../");
-exit;
\ No newline at end of file
diff --git a/modules/gsitemap/logo.gif b/modules/gsitemap/logo.gif
deleted file mode 100644
index d24a14a90..000000000
Binary files a/modules/gsitemap/logo.gif and /dev/null differ
diff --git a/modules/gsitemap/logo.png b/modules/gsitemap/logo.png
deleted file mode 100755
index 21c29316c..000000000
Binary files a/modules/gsitemap/logo.png and /dev/null differ
diff --git a/modules/gsitemap/translations/index.php b/modules/gsitemap/translations/index.php
deleted file mode 100644
index 3f6561f72..000000000
--- a/modules/gsitemap/translations/index.php
+++ /dev/null
@@ -1,35 +0,0 @@
-
-* @copyright 2007-2013 PrestaShop SA
-* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
-* International Registered Trademark & Property of PrestaShop SA
-*/
-
-header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
-header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
-
-header("Cache-Control: no-store, no-cache, must-revalidate");
-header("Cache-Control: post-check=0, pre-check=0", false);
-header("Pragma: no-cache");
-
-header("Location: ../");
-exit;
\ No newline at end of file