first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

View File

@@ -0,0 +1,14 @@
# PD Google merchant Center Pro
## About
## Contributing
### Requirements
### Process in details

View File

@@ -0,0 +1,659 @@
<?php
/*
* Copyright (c) 2005-2007 Jon Abernathy <jon@chuggnutt.com>
*
* This script is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
class Html2Text
{
const ENCODING = 'UTF-8';
protected $htmlFuncFlags;
/**
* Contains the HTML content to convert.
*
* @var string $html
*/
protected $html;
/**
* Contains the converted, formatted text.
*
* @var string $text
*/
protected $text;
/**
* List of preg* regular expression patterns to search for,
* used in conjunction with $replace.
*
* @var array $search
* @see $replace
*/
protected $search = array(
"/\r/", // Non-legal carriage return
"/[\n\t]+/", // Newlines and tabs
'/<head\b[^>]*>.*?<\/head>/i', // <head>
'/<script\b[^>]*>.*?<\/script>/i', // <script>s -- which strip_tags supposedly has problems with
'/<style\b[^>]*>.*?<\/style>/i', // <style>s -- which strip_tags supposedly has problems with
'/<i\b[^>]*>(.*?)<\/i>/i', // <i>
'/<em\b[^>]*>(.*?)<\/em>/i', // <em>
'/<ins\b[^>]*>(.*?)<\/ins>/i', // <ins>
'/(<ul\b[^>]*>|<\/ul>)/i', // <ul> and </ul>
'/(<ol\b[^>]*>|<\/ol>)/i', // <ol> and </ol>
'/(<dl\b[^>]*>|<\/dl>)/i', // <dl> and </dl>
'/<li\b[^>]*>(.*?)<\/li>/i', // <li> and </li>
'/<dd\b[^>]*>(.*?)<\/dd>/i', // <dd> and </dd>
'/<dt\b[^>]*>(.*?)<\/dt>/i', // <dt> and </dt>
'/<li\b[^>]*>/i', // <li>
'/<hr\b[^>]*>/i', // <hr>
'/<div\b[^>]*>/i', // <div>
'/(<table\b[^>]*>|<\/table>)/i', // <table> and </table>
'/(<tr\b[^>]*>|<\/tr>)/i', // <tr> and </tr>
'/<td\b[^>]*>(.*?)<\/td>/i', // <td> and </td>
'/<span class="_html2text_ignore">.+?<\/span>/i', // <span class="_html2text_ignore">...</span>
'/<(img)\b[^>]*alt=\"([^>"]+)\"[^>]*>/i', // <img> with alt tag
);
/**
* List of pattern replacements corresponding to patterns searched.
*
* @var array $replace
* @see $search
*/
protected $replace = array(
'', // Non-legal carriage return
' ', // Newlines and tabs
'', // <head>
'', // <script>s -- which strip_tags supposedly has problems with
'', // <style>s -- which strip_tags supposedly has problems with
'_\\1_', // <i>
'_\\1_', // <em>
'_\\1_', // <ins>
"\n\n", // <ul> and </ul>
"\n\n", // <ol> and </ol>
"\n\n", // <dl> and </dl>
"\t* \\1\n", // <li> and </li>
" \\1\n", // <dd> and </dd>
"\t* \\1", // <dt> and </dt>
"\n\t* ", // <li>
"\n-------------------------\n", // <hr>
"<div>\n", // <div>
"\n\n", // <table> and </table>
"\n", // <tr> and </tr>
"\t\t\\1\n", // <td> and </td>
"", // <span class="_html2text_ignore">...</span>
'[\\2]', // <img> with alt tag
);
/**
* List of preg* regular expression patterns to search for,
* used in conjunction with $entReplace.
*
* @var array $entSearch
* @see $entReplace
*/
protected $entSearch = array(
'/&#153;/i', // TM symbol in win-1252
'/&#151;/i', // m-dash in win-1252
'/&(amp|#38);/i', // Ampersand: see converter()
'/[ ]{2,}/', // Runs of spaces, post-handling
'/&#39;/i', // The apostrophe symbol
);
/**
* List of pattern replacements corresponding to patterns searched.
*
* @var array $entReplace
* @see $entSearch
*/
protected $entReplace = array(
'™', // TM symbol
'—', // m-dash
'|+|amp|+|', // Ampersand: see converter()
' ', // Runs of spaces, post-handling
'\'', // Apostrophe
);
/**
* List of preg* regular expression patterns to search for
* and replace using callback function.
*
* @var array $callbackSearch
*/
protected $callbackSearch = array(
'/<(h)[123456]( [^>]*)?>(.*?)<\/h[123456]>/i', // h1 - h6
'/[ ]*<(p)( [^>]*)?>(.*?)<\/p>[ ]*/si', // <p> with surrounding whitespace.
'/<(br)[^>]*>[ ]*/i', // <br> with leading whitespace after the newline.
'/<(b)( [^>]*)?>(.*?)<\/b>/i', // <b>
'/<(strong)( [^>]*)?>(.*?)<\/strong>/i', // <strong>
'/<(del)( [^>]*)?>(.*?)<\/del>/i', // <del>
'/<(th)( [^>]*)?>(.*?)<\/th>/i', // <th> and </th>
'/<(a) [^>]*href=("|\')([^"\']+)\2([^>]*)>(.*?)<\/a>/i' // <a href="">
);
/**
* List of preg* regular expression patterns to search for in PRE body,
* used in conjunction with $preReplace.
*
* @var array $preSearch
* @see $preReplace
*/
protected $preSearch = array(
"/\n/",
"/\t/",
'/ /',
'/<pre[^>]*>/',
'/<\/pre>/'
);
/**
* List of pattern replacements corresponding to patterns searched for PRE body.
*
* @var array $preReplace
* @see $preSearch
*/
protected $preReplace = array(
'<br>',
'&nbsp;&nbsp;&nbsp;&nbsp;',
'&nbsp;',
'',
'',
);
/**
* Temporary workspace used during PRE processing.
*
* @var string $preContent
*/
protected $preContent = '';
/**
* Contains the base URL that relative links should resolve to.
*
* @var string $baseurl
*/
protected $baseurl = '';
/**
* Indicates whether content in the $html variable has been converted yet.
*
* @var boolean $converted
* @see $html, $text
*/
protected $converted = false;
/**
* Contains URL addresses from links to be rendered in plain text.
*
* @var array $linkList
* @see buildlinkList()
*/
protected $linkList = array();
/**
* Various configuration options (able to be set in the constructor)
*
* @var array $options
*/
protected $options = array(
'do_links' => 'inline', // 'none'
// 'inline' (show links inline)
// 'nextline' (show links on the next line)
// 'table' (if a table of link URLs should be listed after the text.
// 'bbcode' (show links as bbcode)
'width' => 70, // Maximum width of the formatted text, in columns.
// Set this value to 0 (or less) to ignore word wrapping
// and not constrain text to a fixed-width column.
);
private function legacyConstruct($html = '', $fromFile = false, array $options = array())
{
$this->set_html($html, $fromFile);
$this->options = array_merge($this->options, $options);
}
/**
* @param string $html Source HTML
* @param array $options Set configuration options
*/
public function __construct($html = '', $options = array())
{
// for backwards compatibility
if (!is_array($options)) {
return call_user_func_array(array($this, 'legacyConstruct'), func_get_args());
}
$this->html = $html;
$this->options = array_merge($this->options, $options);
$this->htmlFuncFlags = (PHP_VERSION_ID < 50400)
? ENT_COMPAT
: ENT_COMPAT | ENT_HTML5;
}
/**
* Get the source HTML
*
* @return string
*/
public function getHtml()
{
return $this->html;
}
/**
* Set the source HTML
*
* @param string $html HTML source content
*/
public function setHtml($html)
{
$this->html = $html;
$this->converted = false;
}
/**
* @deprecated
*/
public function set_html($html, $from_file = false)
{
if ($from_file) {
throw new \InvalidArgumentException("Argument from_file no longer supported");
}
return $this->setHtml($html);
}
/**
* Returns the text, converted from HTML.
*
* @return string Plain text
*/
public function getText()
{
if (!$this->converted) {
$this->convert();
}
return $this->text;
}
/**
* @deprecated
*/
public function get_text()
{
return $this->getText();
}
/**
* @deprecated
*/
public function print_text()
{
print $this->getText();
}
/**
* @deprecated
*/
public function p()
{
return $this->print_text();
}
/**
* Sets a base URL to handle relative links.
*
* @param string $baseurl
*/
public function setBaseUrl($baseurl)
{
$this->baseurl = $baseurl;
}
/**
* @deprecated
*/
public function set_base_url($baseurl)
{
return $this->setBaseUrl($baseurl);
}
protected function convert()
{
$origEncoding = mb_internal_encoding();
mb_internal_encoding(self::ENCODING);
$this->doConvert();
mb_internal_encoding($origEncoding);
}
protected function doConvert()
{
$this->linkList = array();
$text = trim($this->html);
$this->converter($text);
if ($this->linkList) {
$text .= "\n\nLinks:\n------\n";
foreach ($this->linkList as $i => $url) {
$text .= '[' . ($i + 1) . '] ' . $url . "\n";
}
}
$this->text = $text;
$this->converted = true;
}
protected function converter(&$text)
{
$this->convertBlockquotes($text);
$this->convertPre($text);
$text = preg_replace($this->search, $this->replace, $text);
$text = preg_replace_callback($this->callbackSearch, array($this, 'pregCallback'), $text);
$text = strip_tags($text);
$text = preg_replace($this->entSearch, $this->entReplace, $text);
$text = html_entity_decode($text, $this->htmlFuncFlags, self::ENCODING);
// Remove unknown/unhandled entities (this cannot be done in search-and-replace block)
$text = preg_replace('/&([a-zA-Z0-9]{2,6}|#[0-9]{2,4});/', '', $text);
// Convert "|+|amp|+|" into "&", need to be done after handling of unknown entities
// This properly handles situation of "&amp;quot;" in input string
$text = str_replace('|+|amp|+|', '&', $text);
// Normalise empty lines
$text = preg_replace("/\n\s+\n/", "\n\n", $text);
$text = preg_replace("/[\n]{3,}/", "\n\n", $text);
// remove leading empty lines (can be produced by eg. P tag on the beginning)
$text = ltrim($text, "\n");
if ($this->options['width'] > 0) {
$text = wordwrap($text, $this->options['width']);
}
}
/**
* Helper function called by preg_replace() on link replacement.
*
* Maintains an internal list of links to be displayed at the end of the
* text, with numeric indices to the original point in the text they
* appeared. Also makes an effort at identifying and handling absolute
* and relative links.
*
* @param string $link URL of the link
* @param string $display Part of the text to associate number with
* @param null $linkOverride
* @return string
*/
protected function buildlinkList($link, $display, $linkOverride = null)
{
$linkMethod = ($linkOverride) ? $linkOverride : $this->options['do_links'];
if ($linkMethod == 'none') {
return $display;
}
// Ignored link types
if (preg_match('!^(javascript:|mailto:|#)!i', html_entity_decode($link))) {
return $display;
}
if (preg_match('!^([a-z][a-z0-9.+-]+:)!i', $link)) {
$url = $link;
} else {
$url = $this->baseurl;
if (mb_substr($link, 0, 1) != '/') {
$url .= '/';
}
$url .= $link;
}
if ($linkMethod == 'table') {
if (($index = array_search($url, $this->linkList)) === false) {
$index = sizeof($this->linkList);
$this->linkList[] = $url;
}
return $display . ' [' . ($index + 1) . ']';
} elseif ($linkMethod == 'nextline') {
if ($url === $display) {
return $display;
}
return $display . "\n[" . $url . ']';
} elseif ($linkMethod == 'bbcode') {
return sprintf('[url=%s]%s[/url]', $url, $display);
} else { // link_method defaults to inline
if ($url === $display) {
return $display;
}
return $display . ' [' . $url . ']';
}
}
/**
* Helper function for PRE body conversion.
*
* @param string &$text HTML content
*/
protected function convertPre(&$text)
{
// get the content of PRE element
while (preg_match('/<pre[^>]*>(.*)<\/pre>/ismU', $text, $matches)) {
// Replace br tags with newlines to prevent the search-and-replace callback from killing whitespace
$this->preContent = preg_replace('/(<br\b[^>]*>)/i', "\n", $matches[1]);
// Run our defined tags search-and-replace with callback
$this->preContent = preg_replace_callback(
$this->callbackSearch,
array($this, 'pregCallback'),
$this->preContent
);
// convert the content
$this->preContent = sprintf(
'<div><br>%s<br></div>',
preg_replace($this->preSearch, $this->preReplace, $this->preContent)
);
// replace the content (use callback because content can contain $0 variable)
$text = preg_replace_callback(
'/<pre[^>]*>.*<\/pre>/ismU',
array($this, 'pregPreCallback'),
$text,
1
);
// free memory
$this->preContent = '';
}
}
/**
* Helper function for BLOCKQUOTE body conversion.
*
* @param string &$text HTML content
*/
protected function convertBlockquotes(&$text)
{
if (preg_match_all('/<\/*blockquote[^>]*>/i', $text, $matches, PREG_OFFSET_CAPTURE)) {
$originalText = $text;
$start = 0;
$taglen = 0;
$level = 0;
$diff = 0;
foreach ($matches[0] as $m) {
$m[1] = mb_strlen(substr($originalText, 0, $m[1]));
if ($m[0][0] == '<' && $m[0][1] == '/') {
$level--;
if ($level < 0) {
$level = 0; // malformed HTML: go to next blockquote
} elseif ($level > 0) {
// skip inner blockquote
} else {
$end = $m[1];
$len = $end - $taglen - $start;
// Get blockquote content
$body = mb_substr($text, $start + $taglen - $diff, $len);
// Set text width
$pWidth = $this->options['width'];
if ($this->options['width'] > 0) {
$this->options['width'] -= 2;
}
// Convert blockquote content
$body = trim($body);
$this->converter($body);
// Add citation markers and create PRE block
$body = preg_replace('/((^|\n)>*)/', '\\1> ', trim($body));
$body = '<pre>' . htmlspecialchars($body, $this->htmlFuncFlags, self::ENCODING) . '</pre>';
// Re-set text width
$this->options['width'] = $pWidth;
// Replace content
$text = mb_substr($text, 0, $start - $diff)
. $body
. mb_substr($text, $end + mb_strlen($m[0]) - $diff);
$diff += $len + $taglen + mb_strlen($m[0]) - mb_strlen($body);
unset($body);
}
} else {
if ($level == 0) {
$start = $m[1];
$taglen = mb_strlen($m[0]);
}
$level++;
}
}
}
}
/**
* Callback function for preg_replace_callback use.
*
* @param array $matches PREG matches
* @return string
*/
protected function pregCallback($matches)
{
switch (mb_strtolower($matches[1])) {
case 'p':
// Replace newlines with spaces.
$para = str_replace("\n", " ", $matches[3]);
// Trim trailing and leading whitespace within the tag.
$para = trim($para);
// Add trailing newlines for this para.
return "\n" . $para . "\n";
case 'br':
return "\n";
case 'b':
case 'strong':
return $this->toupper($matches[3]);
case 'del':
return $this->tostrike($matches[3]);
case 'th':
return $this->toupper("\t\t" . $matches[3] . "\n");
case 'h':
return $this->toupper("\n\n" . $matches[3] . "\n\n");
case 'a':
// override the link method
$linkOverride = null;
if (preg_match('/_html2text_link_(\w+)/', $matches[4], $linkOverrideMatch)) {
$linkOverride = $linkOverrideMatch[1];
}
// Remove spaces in URL (#1487805)
$url = str_replace(' ', '', $matches[3]);
return $this->buildlinkList($url, $matches[5], $linkOverride);
}
return '';
}
/**
* Callback function for preg_replace_callback use in PRE content handler.
*
* @param array $matches PREG matches
* @return string
*/
protected function pregPreCallback(/** @noinspection PhpUnusedParameterInspection */ $matches)
{
return $this->preContent;
}
/**
* Strtoupper function with HTML tags and entities handling.
*
* @param string $str Text to convert
* @return string Converted text
*/
protected function toupper($str)
{
// string can contain HTML tags
$chunks = preg_split('/(<[^>]*>)/', $str, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
// convert toupper only the text between HTML tags
foreach ($chunks as $i => $chunk) {
if ($chunk[0] != '<') {
$chunks[$i] = $this->strtoupper($chunk);
}
}
return implode($chunks);
}
/**
* Strtoupper multibyte wrapper function with HTML entities handling.
*
* @param string $str Text to convert
* @return string Converted text
*/
protected function strtoupper($str)
{
$str = html_entity_decode($str, $this->htmlFuncFlags, self::ENCODING);
$str = mb_strtoupper($str);
$str = htmlspecialchars($str, $this->htmlFuncFlags, self::ENCODING);
return $str;
}
/**
* Helper function for DEL conversion.
*
* @param string $text HTML content
* @return string Converted text
*/
protected function tostrike($str)
{
$rtn = '';
for ($i = 0; $i < mb_strlen($str); $i++) {
$chr = mb_substr($str, $i, 1);
$combiningChr = chr(0xC0 | 0x336 >> 6). chr(0x80 | 0x336 & 0x3F);
$rtn .= $chr . $combiningChr;
}
return $rtn;
}
}

View File

@@ -0,0 +1,14 @@
<?php
namespace Soundasleep;
class Html2TextException extends \Exception {
var $more_info;
public function __construct($message = "", $more_info = "") {
parent::__construct($message);
$this->more_info = $more_info;
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 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;

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>pdgooglemerchantcenterpro</name>
<displayName><![CDATA[PD Google Shopping Pro]]></displayName>
<version><![CDATA[2.5.8]]></version>
<description><![CDATA[Moduł generuje plik XML dla Google Merchant center / Gogole Shopping, dla wybranych kombinacji języka, waluty, sklepu lub kraju.]]></description>
<author><![CDATA[PrestaDev.pl]]></author>
<tab><![CDATA[seo]]></tab>
<is_configurable>1</is_configurable>
<need_instance>1</need_instance>
<limited_countries></limited_countries>
</module>

View File

@@ -0,0 +1,276 @@
<?php
/**
* 2012-2017 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Price Compare Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2017 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Price Compare Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 1.5.0
* @date 10-06-2015
*/
require_once dirname(__FILE__).'/../../models/GoogleMerchantCenterProModelDictionary.php';
class AdminGoogleMerchantCenterProDictionaryController extends AdminController
{
public $module = null;
public $module_name = 'pdgooglemerchantcenterpro';
public function __construct()
{
$this->table = 'pdgooglemerchantcenterpro_dictionary';
$this->className = 'GoogleMerchantCenterProModelDictionary';
$this->lang = false;
$this->bootstrap = true;
if (Module::isInstalled($this->module_name)) {
$this->module = Module::getInstanceByName($this->module_name);
}
$this->addRowAction('edit');
$this->addRowAction('delete');
$this->allow_export = true;
$this->id_lang = Configuration::get('PS_LANG_DEFAULT');
$this->ps_ver_16 = (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.6', '=')) ? true : false;
$this->ps_ver_15 = (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.5', '=')) ? true : false;
$this->context = Context::getContext();
$this->default_form_language = $this->context->language->id;
parent::__construct();
$this->bulk_actions = array(
'delete' => array(
'text' => $this->l('Delete selected'),
'confirm' => $this->l('Delete selected items?')
),
'enableSelection' => array('text' => $this->l('Enable selection')),
'disableSelection' => array('text' => $this->l('Disable selection'))
);
$this->bulk_actions = array(
'delete' => array(
'text' => $this->l('Delete selected'),
'confirm' => $this->l('Delete selected items?')
)
);
$this->fields_list = array(
'id_pdgooglemerchantcenterpro_dictionary' => array(
'title' => $this->l('ID'),
'align' => 'center',
'filter' => false,
'width' => 25
),
'active' => array(
'title' => $this->l('Active'),
'align' => 'center',
'active' => 'status',
'type' => 'bool',
'filter' => false,
'orderby' => false,
'width' => 25
),
'source_word' => array(
'title' => $this->l('Source word / phrase'),
'width' => 100
),
'destination_word' => array(
'title' => $this->l('Destination word / phrase'),
'width' => 100
),
'date_add' => array(
'title' => $this->l('Date add'),
'align' => 'right',
'width' => 'auto',
'filter' => false,
'type' => 'datetime',
),
'date_upd' => array(
'title' => $this->l('Date updated'),
'align' => 'right',
'width' => 'auto',
'filter' => false,
'type' => 'datetime'
),
);
}
/**
* Function used to render the list to display for this controller
*/
public function renderList()
{
$this->displayInformation('&nbsp;<b>'.$this->l('How do I use dictionary and what it is for?').'</b>
<br />
<ul>
<li>'.$this->l('Some quick brief: Google don\'t like some words in product names or product description and you can replace them on the fly for empty string or some other word.').'<br /></li>
<li>'.$this->l('To add new entry click in top right corrner button "Add new dictionary entry" and type source word or phrase and destination word or phrase and click save.').'<br /></li>
</ul>');
// init and render the first list
return parent::renderList();
}
public function initPageHeaderToolbar()
{
if (empty($this->display)) {
$this->page_header_toolbar_btn['new_configuration'] = array(
'href' => self::$currentIndex.'&addpdgooglemerchantcenterpro_dictionary&token='.$this->token,
'desc' => $this->l('Add new dictionary entry', null, null, false),
'icon' => 'process-icon-new'
);
}
parent::initPageHeaderToolbar();
}
public function renderForm()
{
if (!($obj = $this->loadObject(true))) {
return;
}
// Switch or radio for ps 1.5 compatibility
$switch = version_compare(_PS_VERSION_, '1.6.0', '>=') ? 'switch' : 'radio';
$this->fields_form = array(
'legend' => array(
'title' => $this->l('Dictionary add / edit'),
'icon' => 'icon-user'
),
'input' => array(
array(
'type' => $switch,
'label' => $this->l('Active'),
'name' => 'active',
'class' => 't',
'is_bool' => true,
'desc' => $this->l('Set if replacement should be active'),
'values' => array(
array(
'id' => 'active_on',
'value' => 1,
'label' => $this->l('Enabled')
),
array(
'id' => 'active_off',
'value' => 0,
'label' => $this->l('Disabled')
)
),
),
array(
'type' => 'text',
'label' => $this->l('Source word / phrase'),
'name' => 'source_word',
),
array(
'type' => 'text',
'label' => $this->l('Destination word / phrase'),
'name' => 'destination_word',
),
)
);
$this->fields_form['submit'] = array(
'title' => $this->l('Save'),
'icon' => 'process-icon-save',
'class' => 'btn btn-default pull-right'
);
if (!($obj = $this->loadObject(true))) {
return;
}
return parent::renderForm();
}
public function postProcess()
{
//Tools::clearSmartyCache();
return parent::postProcess();
}
public function processAdd()
{
if (Tools::isSubmit('submitAddpdgooglemerchantcenterpro_dictionary')) {
if (!Tools::getValue('source_word') || Tools::getValue('source_word') == '') {
$this->errors[] = $this->l('You need to specify source word / phrase.');
}
if (!Tools::getValue('destination_word') || Tools::getValue('destination_word') == '') {
$this->errors[] = $this->l('You need to specify destination word / phrase for which source word / phrase will be replaced.');
}
$object = new $this->className();
$object->active = Tools::getValue('active');
$object->source_word = Tools::getValue('source_word');
$object->destination_word = Tools::getValue('destination_word');
$object->date_add = date('Y-m-d H:i:s');
$object->date_upd = '0000-00-00 00:00:00';
if (!$object->add()) {
$this->errors[] = Tools::displayError('An error occurred while creating an object.').' <b>'.$this->table.' ('.Db::getInstance()->getMsgError().')</b>';
}
$this->errors = array_unique($this->errors);
if (!empty($this->errors)) {
// if we have errors, we stay on the form instead of going back to the list
$this->display = 'edit';
return false;
}
}
}
public function processUpdate()
{
if (Tools::isSubmit('submitAddpdgooglemerchantcenterpro_dictionary') && Tools::isSubmit('id_pdgooglemerchantcenterpro_dictionary')) {
if (!Tools::getValue('source_word') || Tools::getValue('source_word') == '') {
$this->errors[] = $this->l('You need to specify source word / phrase.');
}
if (!Tools::getValue('destination_word') || Tools::getValue('destination_word') == '') {
$this->errors[] = $this->l('You need to specify destination word / phrase for which source word / phrase will be replaced.');
}
$id_pdgooglemerchantcenterpro_dictionary = (int)Tools::getValue('id_pdgooglemerchantcenterpro_dictionary');
$object = new $this->className($id_pdgooglemerchantcenterpro_dictionary);
$object->active = Tools::getValue('active');
$object->source_word = Tools::getValue('source_word');
$object->destination_word = Tools::getValue('destination_word');
$object->date_upd = date('Y-m-d H:i:s');
if (!$object->update()) {
$this->errors[] = Tools::displayError('An error occurred while updating an object.').' <b>'.$this->table.' ('.Db::getInstance()->getMsgError().')</b>';
}
}
$this->errors = array_unique($this->errors);
if (!empty($this->errors)) {
// if we have errors, we stay on the form instead of going back to the list
$this->display = 'edit';
return false;
}
}
}

View File

@@ -0,0 +1,346 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
require_once dirname(__FILE__).'/../../models/GoogleMerchantCenterProModelTaxonomy.php';
class AdminGoogleMerchantCenterProTaxonomyController extends AdminController
{
public $module = null;
public $module_name = 'pdgooglemerchantcenterpro';
public function __construct()
{
$this->table = 'pdgooglemerchantcenterpro_taxonomy';
$this->className = 'GoogleMerchantCenterProModelTaxonomy';
$this->lang = false;
$this->bootstrap = true;
$this->context = Context::getContext();
$this->list_simple_header = true;
$this->list_no_link = true;
if (Module::isInstalled($this->module_name)) {
$this->module = Module::getInstanceByName($this->module_name);
}
$this->ps_ver_17 = (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.7', '=')) ? true : false;
$this->ps_ver_16 = (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.6', '=')) ? true : false;
$this->ps_ver_15 = (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.5', '=')) ? true : false;
parent::__construct();
$this->fields_list = array(
'id_pdgooglemerchantcenterpro_taxonomy' => array(
'title' => $this->l('ID'),
'align' => 'center',
'filter' => false,
'width' => 25
),
'taxonomy_lang' => array(
'title' => $this->l('Google iso code'),
'width' => 60
),
'languages' => array(
'title' => $this->l('Concerned languages'),
'width' => 140
),
'currencies' => array(
'title' => $this->l('Concerned currencies'),
'width' => 140
),
'countries' => array(
'title' => $this->l('Concerned countries'),
'width' => 140
),
'imported' => array(
'title' => $this->l('Imported'),
'align' => 'center',
'callback' => 'printImportedIcon',
'type' => 'bool',
'filter' => false,
'orderby' => false,
'width' => 25
),
'import' => array(
'title' => $this->l('Import / update'),
'align' => 'text-center',
'callback' => 'printImportIcon',
'orderby' => false,
'search' => false,
'remove_onclick' => true,
'width' => 25
),
'date_add' => array(
'title' => $this->l('Date import / update'),
'align' => 'right',
'width' => 'auto',
'filter' => false,
'type' => 'datetime',
),
);
}
public function setMedia($isNewTheme = false)
{
parent::setMedia();
$this->addJqueryPlugin(array('autocomplete'));
}
public function getList($id_lang, $order_by = null, $order_way = null, $start = 0, $limit = null, $id_lang_shop = false)
{
parent::getList($id_lang, $order_by, $order_way, $start, $limit, $id_lang_shop);
$languages_array = $this->module->languagesIsoTranslation;
$countries_array = $this->module->countriesIsoTranslation;
foreach ($this->_list as $k => $list) {
if (count(explode(',', $this->_list[$k]['languages'])) > 1) {
$languages_row_arr = explode(',', $this->_list[$k]['languages']);
$string = '';
foreach ($languages_row_arr as &$l) {
$l = trim($l);
$string .= $languages_array[$l].', ';
}
$this->_list[$k]['languages'] = rtrim($string, ', ');
$string = '';
} else {
$this->_list[$k]['languages'] = $languages_array[$list['languages']];
}
if (count(explode(',', $this->_list[$k]['countries'])) > 1) {
$countries_row_arr = explode(',', $this->_list[$k]['countries']);
$string = '';
foreach ($countries_row_arr as &$c) {
$c = trim($c);
$string .= $countries_array[$c].', ';
}
$this->_list[$k]['countries'] = rtrim($string, ', ');
$string = '';
} else {
$this->_list[$k]['countries'] = $countries_array[$list['countries']];
}
}
//dump($this->_list);
//die();
}
/**
* Function used to render the list to display for this controller
*/
public function renderList()
{
$this->addRowAction('Mapcategories');
$this->displayInformation('&nbsp;<b>'.$this->l('How do I import Google taxonomy / product categories and map them to shop categories?').'</b>
<br />
<ul>
<li>'.$this->l('Some quick brief: Each country has its own taxonomy / product categories in Google Merchant Center').'<br /></li>
<li>'.$this->l('If You want to use shop category products to Google products category mapping first You need to download corect taxonomy data').'<br /></li>
<li>'.$this->l('Please click "Import / update" button to download Google taxonomy / product category for your country / language / currency, or import all of them').'<br /></li>
<li>'.$this->l('Final step is to map shop categories to Gogole categories by clicking "Map categories" button and next to each shop category start typing category name in input field, autocomplete function will bring up results which you can assign to shop category').'<br /></li>
</ul>');
// init and render the first list
return parent::renderList();
}
public function displayMapCategoriesLink($token, $id, $name = null)
{
$tpl = $this->createTemplate('helpers/list/list_action_edit.tpl');
$tpl->assign(array(
'href' => self::$currentIndex.'&id_pdgooglemerchantcenterpro_taxonomy='.$id.'&map_categories'.$this->table.'&token='.($token != null ? $token : $this->token),
'action' => $this->l('Map categories'),
'id' => $id
));
return $tpl->fetch();
}
public function printImportIcon($id_pdgooglemerchantcenterpro_taxonomy, $tr)
{
$id = $tr['id_pdgooglemerchantcenterpro_taxonomy'];
$link = $this->context->link->getAdminLink('AdminGoogleMerchantCenterProTaxonomy').'&id_pdgooglemerchantcenterpro_taxonomy='.$id.'&download_google_taxonomy';
if ($this->ps_ver_16 || $this->ps_ver_17) {
$button = '<a class="btn btn-default" href="'.$link.'"><i class="icon-circle-arrow-up"></i></a>';
} else {
$button = '<a href="'.$link.'"><img src="../img/admin/manufacturers.gif" /></a>';
}
return $button;
}
public function printImportedIcon($id_pdgooglemerchantcenterpro_taxonomy, $tr)
{
$imported = $tr['imported'];
if ($this->ps_ver_16) {
if ($imported) {
$button = '<span title="'.$this->l('Enabled').'" class="list-action-enable action-enabled"><i class="icon-check"></i></span>';
} else {
$button = '<span title="'.$this->l('Disabled').'" class="list-action-enable action-disabled"><i class="icon-remove"></i></span>';
}
} else {
if ($imported) {
$button = '<aspan><img src="../img/admin/enabled.gif" /></span>';
} else {
$button = '<aspan><img src="../img/admin/disabled.gif" /></span>';
}
}
return $button;
}
/**
* List actions
*/
public function initProcess()
{
parent::initProcess();
if (Tools::isSubmit('download_google_taxonomy')) {
$id_pdgooglemerchantcenterpro_taxonomy = (int)Tools::getValue('id_pdgooglemerchantcenterpro_taxonomy');
$object = new $this->className($id_pdgooglemerchantcenterpro_taxonomy);
$imported = $this->module->importTaxonomyData($object->taxonomy_lang);
if ($imported) {
$object->imported = 1;
$object->date_add = date('Y-m-d H:i:s');
$object->update();
}
}
}
public function postProcess()
{
if (Tools::getIsset('map_categoriespdgooglemerchantcenterpro_taxonomy')) {
$this->renderForm();
}
if (Tools::isSubmit('searchTaxonomyCategory')) {
$query = Tools::getValue('q', false);
$id_pdgooglemerchantcenterpro_taxonomy = (int)Tools::getValue('id_pdgooglemerchantcenterpro_taxonomy');
$object = new $this->className($id_pdgooglemerchantcenterpro_taxonomy);
$taxonomy_lang = $object->taxonomy_lang;
if (ob_get_level() && ob_get_length() > 0) {
ob_end_clean();
}
echo $this->autoCompleteSearch($query, $taxonomy_lang);
die();
}
if (Tools::isSubmit('submitSaveCategoriesMapping')) {
$id_pdgooglemerchantcenterpro_taxonomy = (int)Tools::getValue('id_pdgooglemerchantcenterpro_taxonomy');
$object = new $this->className($id_pdgooglemerchantcenterpro_taxonomy);
$taxonomy_lang = $object->taxonomy_lang;
$catsmappingarr = Tools::getValue('catsmappingarr');
if (!count($catsmappingarr)) {
$this->errors[] = $this->l('Please map categories first before save.');
}
$this->module->updateMapGoogleCategories2ShopCategories($catsmappingarr, $taxonomy_lang);
$this->displayConfirmation($this->l('Shop categories to Google categories mappings was saved sucesfully.'));
}
//parent::postProcess();
}
public function autoCompleteSearch($query, $taxonomy_lang)
{
if (!$query || $query == '' || Tools::strlen($query) < 1) {
die();
}
$words = explode(' ', $query);
$output = '';
$sql = 'SELECT `value`
FROM `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_data`
WHERE lang = "'.pSQL($taxonomy_lang).'"';
foreach ($words as $w) {
$sql .= ' AND value LIKE \'%'.pSQL($w).'%\'';
}
$items = Db::getInstance()->ExecuteS($sql);
if ($items) {
foreach ($items as $item) {
$output .= trim($item['value'])."\n";
}
}
return trim($output);
}
public function renderForm()
{
$id_pdgooglemerchantcenterpro_taxonomy = (int)Tools::getValue('id_pdgooglemerchantcenterpro_taxonomy');
$object = new $this->className($id_pdgooglemerchantcenterpro_taxonomy);
$taxonomy_lang = $object->taxonomy_lang;
$categories = $this->module->generateCategoryPath($this->context->language->id, $this->context->shop->id);
foreach ($categories as &$c) {
$gct = $this->module->getGoogleTaxonomyCategory((int)$c['id_category'], $taxonomy_lang);
if ($gct && is_array($gct) && sizeof($gct) && isset($gct['txt_taxonomy'])) {
$c['txt_taxonomy'] = $gct['txt_taxonomy'];
} else {
$c['txt_taxonomy'] = '';
}
}
$this->context->smarty->assign(array(
'ps_ver_16' => $this->ps_ver_16,
'ps_ver_15' => $this->ps_ver_15,
'categories' => $categories,
'taxonomy_lang' => $taxonomy_lang,
'id_pdgooglemerchantcenterpro_taxonomy' => $id_pdgooglemerchantcenterpro_taxonomy,
'post_url' => self::$currentIndex.'&saveAsociations&token='.$this->token,
'ajax_url' => $this->context->link->getAdminLink('AdminGoogleMerchantCenterProTaxonomy', true),
'token' => $this->token,
));
$this->content .= $this->context->smarty->fetch(dirname(__FILE__).'/../../views/templates/admin/categories.tpl');
}
public function displayConfirmation($string)
{
$output = '
<div class="bootstrap">
<div class="module_confirmation conf confirm alert alert-success">
<button type="button" class="close" data-dismiss="alert">&times;</button>
'.$string.'
</div>
</div>';
return $this->content .= $output;
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,60 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
// ini_set('display_startup_errors',1);
// ini_set('display_errors',1);
// error_reporting(-1);
$module = Module::getInstanceByName('pdgooglemerchantcenterpro');
if (!$module->active || !Module::isInstalled('pdgooglemerchantcenterpro')) {
die($module->l('Module is not instaled or not active.'));
}
$secure_key = Tools::getValue('secure_key');
if ($secure_key != $module->secure_key) {
die($module->l('Wrong security key !!!'));
}
$generate_all = Tools::getValue('generate_all');
$id_configuration = (int)Tools::getValue('id_configuration');
if (isset($id_configuration) && !is_numeric($id_configuration) && empty($generate_all)) {
die($module->l('Id configuration need to be number (numeric value).'));
}
if (is_numeric($generate_all) && $generate_all == 1) {
if ($module->generateFeedFromConfig(true, false)) {
die($module->l('All XML feeds from configurations was generated corectly.'));
}
}
if (!$module->checkConfigExist($id_configuration) && empty($generate_all)) {
die($module->l('Id configuration not exist.'));
}
if ((isset($id_configuration) && is_numeric($id_configuration)) && empty($generate_all)) {
if ($module->generateFeedFromConfig(false, $id_configuration)) {
die($module->l('XML feed was generated.'));
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,212 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
class GoogleMerchantCenterProModel extends ObjectModel
{
public $id_shop;
public $id_lang;
public $id_country;
public $id_currency;
public $id_carrier = 0;
public $id_pdgooglemerchantcenterpro_taxonomy;
public $id_image_type;
public $active = 1;
public $only_available = 1;
public $available_for_order = 1;
public $only_active = 1;
public $selected_categories;
public $exclude_products;
public $exclude_manufacturers;
public $exclude_suppliers;
public $products_attributes = 0;
public $include_shipping_cost = 1;
public $description = 0;
public $rewrite_url = 1;
public $features_enabled = 1;
public $unit_pricing_measure = 0;
public $min_product_price;
public $gtin;
public $mpn = 0;
public $adults = 0;
public $manu_name;
public $mpn_prefix;
public $gid_prefix;
public $image_limit = 2;
public $sizes_attribute_group;
public $color_attribute_group;
public $date_add = '0000-00-00 00:00:00';
public $date_upd = '0000-00-00 00:00:00';
public $date_gen = '0000-00-00 00:00:00';
public $generating = 0;
public $ean_validiation;
public $html_desc_cleaner;
/**
* @see ObjectModel::$definition
*/
public static $definition = array(
'table' => 'pdgooglemerchantcenterpro',
'primary' => 'id_pdgooglemerchantcenterpro',
'multilang' => false,
'fields' => array(
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'id_lang' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'id_country' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'id_currency' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'id_carrier' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'id_pdgooglemerchantcenterpro_taxonomy' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => false),
'id_image_type' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'image_limit' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true),
'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'available_for_order' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'only_available' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'only_active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'features_enabled' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'selected_categories' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'exclude_products' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'exclude_manufacturers' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'exclude_suppliers' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'products_attributes' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'include_shipping_cost' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'description' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => false),
'rewrite_url' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'min_product_price' => array('type' => self::TYPE_FLOAT, 'shop' => true, 'validate' => 'isPrice', 'required' => false),
'ean_validiation' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'html_desc_cleaner' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'unit_pricing_measure' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'gtin' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => false),
'mpn' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => false),
'adults' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'manu_name' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'mpn_prefix' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'gid_prefix' => array('type' => self::TYPE_STRING, 'validate' => 'isCleanHtml', 'required' => false),
'sizes_attribute_group' => array('type' => self::TYPE_STRING, 'validate' => 'isString', 'required' => false),
'color_attribute_group' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => false),
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
'date_gen' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
'generating' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false)
)
);
public function __construct($id_pdgooglemerchantcenterpro = null, $id_lang = null, $id_shop = null)
{
parent::__construct($id_pdgooglemerchantcenterpro, $id_lang, $id_shop);
}
public function add($autodate = true, $null_values = false)
{
return parent::add($autodate, $null_values);
}
public function delete()
{
if ((int)$this->id === 0) {
return false;
}
return parent::delete();
}
public function update($autodate = false, $null_values = false)
{
if ((int)$this->id === 0) {
return false;
}
return parent::update($autodate, $null_values);
}
/**
* Creates tables
*/
public static function createTables()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro` (
`id_pdgooglemerchantcenterpro` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_pdgooglemerchantcenterpro_taxonomy` int(10) unsigned NOT NULL,
`id_shop` int(11) unsigned NOT NULL DEFAULT \'1\',
`id_lang` int(11) unsigned NOT NULL DEFAULT \'1\',
`id_country` int(11) unsigned NOT NULL DEFAULT \'1\',
`id_currency` int(11) unsigned NOT NULL DEFAULT \'1\',
`id_carrier` int(11) unsigned NOT NULL DEFAULT \'1\',
`id_image_type` int(11) unsigned NOT NULL DEFAULT \'0\',
`image_limit` int(11) unsigned NOT NULL DEFAULT \'2\',
`active` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`available_for_order` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`only_available` tinyint(1) NOT NULL DEFAULT \'1\',
`only_active` tinyint(1) NOT NULL DEFAULT \'1\',
`selected_categories` text,
`exclude_products` text,
`exclude_manufacturers` text,
`exclude_suppliers` text,
`products_attributes` tinyint(1) NOT NULL DEFAULT \'0\',
`features_enabled` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`include_shipping_cost` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`description` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`rewrite_url` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`min_product_price` decimal(20,6) NOT NULL DEFAULT \'0.000000\',
`unit_pricing_measure` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`gtin` int(11) unsigned NOT NULL DEFAULT \'1\',
`mpn` int(11) unsigned NOT NULL DEFAULT \'0\',
`adults` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`manu_name` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`mpn_prefix` text,
`gid_prefix` text,
`sizes_attribute_group` varchar(255) NOT NULL,
`color_attribute_group` int(10) unsigned NOT NULL,
`ean_validiation` tinyint(1) NOT NULL DEFAULT \'0\',
`html_desc_cleaner` tinyint(1) NOT NULL DEFAULT \'0\',
`date_add` datetime,
`date_upd` datetime,
`date_gen` datetime,
`generating` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
PRIMARY KEY (`id_pdgooglemerchantcenterpro`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTables()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro`';
return Db::getInstance()->execute($sql);
}
}

View File

@@ -0,0 +1,91 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
class GoogleMerchantCenterProModelDictionary extends ObjectModel
{
public $active = 1;
public $source_word;
public $destination_word;
public $date_add = '0000-00-00 00:00:00';
public $date_upd = '0000-00-00 00:00:00';
public static $definition = array(
'table' => 'pdgooglemerchantcenterpro_dictionary',
'primary' => 'id_pdgooglemerchantcenterpro_dictionary',
'multilang_shop' => false,
'fields' => array(
'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'source_word' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'destination_word' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
),
);
public function add($autodate = false, $null_values = false)
{
return parent::add($autodate, $null_values);
}
public function delete()
{
if ((int)$this->id === 0) {
return false;
}
return parent::delete();
}
public function update($null_values = false)
{
if ((int)$this->id === 0) {
return false;
}
return parent::update($null_values);
}
/**
* Creates tables
*/
public static function createTables()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_dictionary` (
`id_pdgooglemerchantcenterpro_dictionary` int(10) unsigned NOT NULL AUTO_INCREMENT,
`source_word` text,
`destination_word` text,
`active` tinyint(1) unsigned NOT NULL DEFAULT \'1\',
`date_add` datetime,
`date_upd` datetime,
PRIMARY KEY (`id_pdgooglemerchantcenterpro_dictionary`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTables()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_dictionary`';
return Db::getInstance()->execute($sql);
}
}

View File

@@ -0,0 +1,159 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
class GoogleMerchantCenterProModelTaxonomy extends ObjectModel
{
public $imported = 0;
public $import = 0;
public $taxonomy_lang;
public $languages;
public $countries;
public $currencies;
public $date_add = '0000-00-00 00:00:00';
public static $definition = array(
'table' => 'pdgooglemerchantcenterpro_taxonomy',
'primary' => 'id_pdgooglemerchantcenterpro_taxonomy',
'multilang_shop' => false,
'fields' => array(
'taxonomy_lang' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'languages' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'currencies' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'countries' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
'import' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'imported' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => false),
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDateFormat'),
),
);
public function add($autodate = false, $null_values = false)
{
return parent::add($autodate, $null_values);
}
public function delete()
{
if ((int)$this->id === 0) {
return false;
}
return parent::delete();
}
public function update($autodate = false, $null_values = false)
{
if ((int)$this->id === 0) {
return false;
}
return parent::update($autodate, $null_values);
}
/**
* Creates tables
*/
public static function createTables()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy` (
`id_pdgooglemerchantcenterpro_taxonomy` int(11) unsigned NOT NULL AUTO_INCREMENT,
`taxonomy_lang` varchar(5) NOT NULL,
`languages` text NOT NULL,
`currencies` text NOT NULL,
`countries` text NOT NULL,
`imported` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`import` tinyint(1) unsigned NOT NULL DEFAULT \'0\',
`date_add` datetime,
PRIMARY KEY (`id_pdgooglemerchantcenterpro_taxonomy`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTables()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy`';
return Db::getInstance()->execute($sql);
}
public static function createTablesTaxonomyData()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_data` (
`id_taxonomy_data` int(11) unsigned NOT NULL AUTO_INCREMENT,
`value` text NOT NULL,
`lang` varchar(5) NOT NULL,
PRIMARY KEY (`id_taxonomy_data`), KEY `lang` (`lang`), FULLTEXT KEY `fulltext_index` (`value`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8;
');
}
public static function dropTablesTaxonomyData()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_data`';
return Db::getInstance()->execute($sql);
}
public static function addTaxonomyCorelations()
{
$return = false;
$module = Module::getInstanceByName('pdgooglemerchantcenterpro');
foreach ($module->googleTaxonomiesCorelations as $taxonomy_lang => $v) {
$data = '(\''.pSQL($taxonomy_lang).'\',\''.pSQL($v['languages']).'\',\''.pSQL($v['currencies']).'\',\''.pSQL($v['countries']).'\',0,0,\''.'0000-00-00 00:00:00'.'\')';
$return = Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy` (`taxonomy_lang`, `languages`, `currencies`, `countries`, `imported`, `import`, `date_add`)
VALUES '.$data);
}
return $return;
}
/**
* Creates tables
*/
public static function createTablesTaxonomyCategory()
{
return Db::getInstance()->execute('
CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_category` (
`id_category` int(11) NOT NULL,
`txt_taxonomy` text NOT NULL,
`lang` varchar(5) NOT NULL,
KEY `id_category` (`id_category`,`lang`)
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;
');
}
public static function dropTablesTaxonomyCategory()
{
$sql = 'DROP TABLE IF EXISTS
`'._DB_PREFIX_.'pdgooglemerchantcenterpro_taxonomy_category`';
return Db::getInstance()->execute($sql);
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,52 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
class Product extends ProductCore
{
public $in_google_shopping;
public $product_name_google_shopping;
public $product_short_desc_google_shopping;
public $custom_label_0;
public $custom_label_1;
public $custom_label_2;
public $custom_label_3;
public $custom_label_4;
public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null)
{
if (Configuration::get('PD_GMCP_ASSIGN_ON_ADD')) {
$this->in_google_shopping = 1;
}
self::$definition['fields']['in_google_shopping'] = array('type' => self::TYPE_BOOL, 'shop' => true, 'validate' => 'isBool');
self::$definition['fields']['product_name_google_shopping'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 128);
self::$definition['fields']['product_short_desc_google_shopping'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => false);
self::$definition['fields']['custom_label_0'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 128);
self::$definition['fields']['custom_label_1'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 100);
self::$definition['fields']['custom_label_2'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 100);
self::$definition['fields']['custom_label_3'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 100);
self::$definition['fields']['custom_label_4'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => false, 'size' => 100);
parent::__construct($id_product, $full, $id_lang, $id_shop, $context);
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,39 @@
<?php
/**
* 2012-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Facebook Dynamic Ads Feed Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2016 Patryk Marek - PrestaDev.pl
* @link http://prestadev.pl
* @package PD Facebook Dynamic Ads Feed Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 1.0.2
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @date 27-11-2016
*/
class AdminProductsController extends AdminProductsControllerCore
{
public function initProcess()
{
if (Tools::isSubmit('in_google_shoppingproduct')) {
$id_product = (int)Tools::getValue('id_product');
$context = Context::getContext();
$id_shop = $context->language->id;
$id_lang = $context->shop->id;
if (is_numeric($id_product)) {
$obj = new Product($id_product, false, $id_lang, $id_shop);
$obj->in_google_shopping = $obj->in_google_shopping ? 0 : 1;
$obj->update();
}
}
parent::initProcess();
}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 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;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 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;

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,344 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_c8bf00ec60b3a67c0ac1a53a8dcdb3fb'] = 'Moduł generuje plik XML dla Google Merchant center / Gogole Shopping, dla wybranych kombinacji języka, waluty, sklepu lub kraju.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_c730389bc8d99e59c867766babdd48b5'] = 'Polski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_cbe249494035dc13a072db402f10d13f'] = 'Angielski (US)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_8d34cdf23ba9408690f347f41982e872'] = 'Angielski (GB)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_ad225f707802ba118c22987186dd38e8'] = 'Francuski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_8f0ca2185f684aa4edeae4b25a65239b'] = 'Niemiecki';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_4be8e06d27bca7e1828f2fa9a49ca985'] = 'Włoski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_68bf367e228f45ba83cb8831a5ee6447'] = 'Holenderski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_cb5480c32e71778852b08ae1e8712775'] = 'Hiszpanński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_3b261136e3c33f35e0a58611b1f344cb'] = 'Chiński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_f32ced6a9ba164c4b3c047fd1d7c882e'] = 'Japoński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_eb2f428f5c2030a6f8e14ac7e8dd1eca'] = 'Bretoński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_83ff4480cdf2900ae83bf30d95774d76'] = 'Czeski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_deba6920e70615401385fe1fb5a379ec'] = 'Ruski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_41171a0fcd362ce98b5f0f11398713b6'] = 'Szwedzki';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_7bc6f150ce738db3d21cbe0b75aea027'] = 'Duński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_da550ca06bcacbd30b7c6ed32c864c70'] = 'Norweski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_c1612bbdebfa45467e8ab814e08daff1'] = 'Turecki';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_88a392b5a8d8f73986d83a2deefb0472'] = 'Słowacja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_0aafa497807d5ac9b509656bd13b5283'] = 'Grecja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_9ae099fd082267fa2f2f85664a4f74dc'] = 'Fiński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_7b86112ec6401fd8f06ab5251d1a68fe'] = 'Węgierski';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_efa7394ecaa7fc7076a9da13a77236b8'] = 'Rumuński';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_94880bda83bda77c5692876700711f15'] = 'Polska';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_f253efe302d32ab264a76e0ce65be769'] = 'Stany Zjednoczone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_445d337b5cd5de476f99333df6b0c2a7'] = 'Kanada';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_2e6507f70a9cc26fb50f5fd82a83c7ef'] = 'Chile';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_89f9c9f489be2a83cf57e53b9197d288'] = 'Wielka Brytania';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_4442e4af0916f53a07fb8ca9a49b98ed'] = 'Australija';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_7d31e0da1ab99fe8b08a22118e2f402b'] = 'Indie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_3ad08396dc5afa78f34f548eea3c1d64'] = 'Szwajcaria';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_0309a6c666a7a803fdb9db95de71cf01'] = 'Francja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_6c1674d14bf5f95742f572cddb0641a7'] = 'Belgia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_d8b00929dec65d422303256336ada04f'] = 'Niemcy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_9891739094756d2605946c867b32ad28'] = 'Austria';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_1007e1b7f894dfbf72a0eaa80f3bc57e'] = 'Włochy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_a67d4cbdd1b59e0ffccc6bafc83eb033'] = 'Holandia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_907eba32d950bfab68227fd7ea22999b'] = 'Hiszpania';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_8dbb07a18d46f63d8b3c8994d5ccc351'] = 'Meksyk';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_ae54a5c026f31ada088992587d92cb3a'] = 'Chiny';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_53a577bb3bc587b0c28ab808390f1c9b'] = 'Japonia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_42537f0fb56e31e20ab9c2305752087d'] = 'Brazylja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_07d62aa19a9a95c07515769b604bad36'] = 'Rosja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_51802d8bb965d0e5be697f07d16922e8'] = 'Czechosłowacja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_c8f4261f9f46e6465709e17ebea7a92b'] = 'Szwecja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_424214945ba5615eca039bfe5d731c09'] = 'Dania';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_d5b9290a0b67727d4ba1ca6059dc31a6'] = 'Norwegia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_221cdfb73049678e244380b45872cbb2'] = 'Turcja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_6b718641741f992e68ec3712718561b8'] = 'Grecja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_6f781c6559a0c605da918096bdb69edf'] = 'Finlandja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_fa79c3005daec47ecff84a116a0927a1'] = 'Węgry';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_ea71b362e3ea9969db085abfccdeb10d'] = 'Portugalia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_0c7d5ae44b2a0be9ebd7d6b9f7d60f20'] = 'Rumunia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_c4b063a8f86bccfd08f2fa7824c5fbe9'] = 'Google zakupy Pro';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_6de220b4bb9c80987932f234a231465f'] = 'Dodaj nowy / zarządzaj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_4b84bd3a2d0a975efaf772915c05f460'] = 'Mapowanie / import kategorii';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_fd4ab7b798eb6174129a8c98e84679e1'] = 'Zarządzanie słownikiem';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_d482edd512aa3b4c6aa7d3e93c1fdc8b'] = 'Zapisano ustawienia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_ccdda9ed9082baad6ff5e9498000b3c8'] = 'Automatyczne przypisanie produktów do opcji \"W zakupach Google\"';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Aktywne';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_d6551a281583730f8a749c15e2a13009'] = 'Ustaw czy każdy nowy produkt po zapisaniu zostanie przypisany do opcji \"W zakupach Google\" tak by automatycznie się pojawił w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Włączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_b9f5c797ebbf55adccdd8539a65a0241'] = 'Wyłączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_90291c8eeba16ee5ebc9654144c2036c'] = 'Zapisz automatyczne przypisanie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_78e454064a7d3a7755a011a3b79f31a7'] = 'Szczegóły produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_ad24b258b3f90f762d3ee891b62676e2'] = 'Musisz zapisać ten produkt przed przypisaniem';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>pdgooglemerchantcenterpro_613ddff711c18d36d475ef7a34e88f9d'] = 'Google zakupy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_64091ef2b91ffb148424594fa8217091'] = 'Moduł jest nie zainstalowany lub nie aktywny.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_97c4df254448850485c3ceaaa760e9af'] = 'Nieprawidłowy klucz bezpieczeństwa !!!';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_4c39bff804c434c3142897373cfc5dba'] = 'Id konfiguracji musi być liczbą';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_f72b936884de44c08ff7b6337ad80313'] = 'Wszystkie aktywne konfiguracje plików zostały wygenerowane.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_4ecf2d9c07510488a04d9e7c9a85d3f4'] = 'Id konfiguracji nie istnieje';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>get_6174e251369711d71062997360cede2f'] = 'Plik XML został wygenerowany';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_6eaf3bdbba5f6d60f1685a09f2a12871'] = 'Kod ISO kategorii Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_2379c555fd37685444a730e00438a17e'] = 'Dotyczy języków';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_c5e9a440e57b72608a8ae5e13df0a661'] = 'Dotyczy walut';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_86882e73fd451c4fdb25e80d23a8a6ba'] = 'Dotyczy krajów';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_858a2b552953bc182248fe9374646398'] = 'Zaimportowany';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_6365608c6482543a26ac53133df320f8'] = 'Import / alktualizacja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_e1b52a90cc1b72e70598b354245def65'] = 'Data importu / aktualizacji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_44f2fd9311fc252db757ec9ccc62021b'] = 'Jak mam zaimportować kategorie produktów Google i zmapować je do kategorii sklepowych?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_0bc1bdc39b36333d439ab284f704c2c2'] = 'Szybkie wyjaśnienie: każda kombinacja kraju, języka waluty ma własny plik z kategoriami produktów Google i wymagane jest w niektórych krajach by był przekazany właściwy parametr kategorii produktowej Google, dlatego musimy zaimportować właściwy plik ISO z kategoriami i zmapować go do naszych kategorii sklepowych';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_0eea6887803d411e1d621beebb471d1b'] = 'Jeśli chcesz używać mapowania kategorii sklepowych do kategorii produktowych Gogole to musisz zaimportować właściwy plik do modułu ';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_212e7d160433ea782fbc65bbd5c8a519'] = 'Naciśnij \"Import / aktualizacja\" na liście poniżej by wykonać import dla twojej lokalizacji danych o produktach';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_1f7901234b3fea6ad0e9610a1788b190'] = 'Finalnym krokiem jest zmapowanie kategorii poprzez naciśniecie przycisku \"Mapuj kategorie\" na liście poniżej, po załadowaniu się listy kategorii sklepowych pod każdą z nich jest pole w którym możemy wpisać frazę / wyraz pasujący do naszej kategorii, funkcja automatycznej podpowiedzi wyświetli nam listę kategorii pasując z których możemy wybrać najbardziej odpowiednia, proszę nie zapomnieć nacisnąć przycisk zapisz po ukończeniu mapowania.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_63490c480d23c3f545b9bef3cdc8de51'] = 'Mapuj kategorie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Włączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_b9f5c797ebbf55adccdd8539a65a0241'] = 'Wyłączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_5008df2d7045e67b29f962f0c0b2d91e'] = 'Prosimy zmapować kategorie przed zapisem';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprotaxonomycontroller_9cd1410ef46b985ff83f9d0e7b92e4f0'] = 'Mapowanie zostało poprawnie zapisane.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_d3b206d196cd6be3a2764c1fb90b200f'] = 'Usuń zaznaczone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_e25f0ecd41211b01c83e5fec41df4fe7'] = 'Czy usunąć zaznaczone?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_ede4759c9afae620fd586628789fa304'] = 'Włącz zaznaczone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_ab7fd6e250b64a46027a996088fdff74'] = 'Wyłącz zaznaczone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Aktywny';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_30363936a1632571372a836bf620f1a3'] = 'Źródłowy wyraz / fraza';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_74fd77852bd0fef7d7902970ddc9864a'] = 'Docelowy wyraz / fraza';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_7b6e7f81d1c260b7068ca82b91eb90a7'] = 'Data dodania';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_bb23d3382c99eb4d7b31c56dbd1220a0'] = 'Data aktualizacji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_cb38e5c3b139341a10369b3970ae4559'] = 'Jak używać słownika i po co on jest?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_6fc44db816a2ec31abc3559529495575'] = 'Szybkie wyjaśnienie: Google nie lubi niektórych zwrotów lub wyrazów w opisach lub nazwach produktów np. \"Darmowa dostawa\" słownik pozwala na ich usunięcie w locie lub zamianę na inny wyraz / frazę, bez konieczności edycji produktów.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_d91b9f493e84b9cad66c0bef40668ef3'] = 'By dodać nowy wpis w słowniku proszę nacisnąć w prawym górnym rogu przycisk \"Dodaj nowy wpis słownika\" i następnie wprowadzić wyrazy / lub frazy i nacisnąć zapisz.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_f26704c74ee1d5e537448271efee33b9'] = 'Dodaj nowy wpis słownika';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_a615bb0d787dc297cf9e8b6ed200b03a'] = 'Słownik dodawanie / edycja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_c4aa456309ab0aea07de02431365dee8'] = 'Ustaw jeśłi zamiana ma być aktywna';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Włączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_b9f5c797ebbf55adccdd8539a65a0241'] = 'Wyłączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_70559afa441b76db695bd1b4ae2c7789'] = 'Musisz podać źródłowy wyraz / frazę.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterprodictionarycontroller_e6a7473b16586dd9759b02c2ba0d4a8c'] = 'Musisz podać docelowy wyraz lub frazę.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_d3b206d196cd6be3a2764c1fb90b200f'] = 'Usuń zaznaczone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e25f0ecd41211b01c83e5fec41df4fe7'] = 'Czy usunąć zaznaczone?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ede4759c9afae620fd586628789fa304'] = 'Włącz zaznaczenie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ab7fd6e250b64a46027a996088fdff74'] = 'Wyłącz zaznaczenie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_4d3d769b812b6faa6b76e1a8abaece2d'] = 'Aktywny';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_4994a8ffeba4ac3140beb89e8d41f174'] = 'Język';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_386c339d37e737a436499d423a77df0c'] = 'Waluta';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9f82518d468b9fee614fcc92f76bb163'] = 'Sklep';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_a8a847022a1bf7a2e287776aef2e35a4'] = 'ISO kategorii';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_914419aa32f04011357d3b604a86d7eb'] = 'Przewoźnik';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_32b919d18cfaca89383f6000dcc9c031'] = 'Generuj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_2ca4ae4e69177b9e24c20525a05fc81a'] = 'Tylko dostępne';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ce47cb979d48caf060f7d1a094b06c37'] = 'Tylko aktywne';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_d676bf515af74eb3cffc684b70f7b848'] = 'Limit zdjęć';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_460117362766df58354727cef3739d17'] = 'Przyjazne URL';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9c96c97715c3cba477e56584dcf4f3d6'] = 'Kategorie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_b9208b03bcc9eb4a336258dcdcb66207'] = 'Kombinacje';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_7b6e7f81d1c260b7068ca82b91eb90a7'] = 'Dodany';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_bb23d3382c99eb4d7b31c56dbd1220a0'] = 'Aktualizacja';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_aa9053ec771f1c66b14089ff8b2be89b'] = 'Generowany';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_b0b5ccb4a195a07fd3eed14affb8695f'] = 'kategorie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c4ef352f74e502ef5e7bc98e6f4e493d'] = 'kategoria';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_077326568c4bb9ed153c12c171827a54'] = 'produceńci';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c2904bca62b22443d6cf5e9d89cab204'] = 'producent';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_d9ddf16079b7ba158c82e819d2c363d1'] = 'dostawcy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_99b0e8da24e29e4ccb5d7d76e677c2ac'] = 'dostawca';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_86024cad1e83101d97359d7351051156'] = 'produkty';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_f5bf48aa40cad7891eb709fcf1fde128'] = 'produkt';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_a6cea4872a854228d7b3997577dab079'] = 'Jak mam stworzyć nową konfigurajce pliku XML dla Google Merchant Center';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_aeaada32bc05955a1beab417385c7a3f'] = 'Naciśnij \"Dodaj nową konfiguracje XML\"';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c1eb2e6d15263a3f7655a66ef8e6ab41'] = 'Skonfiguruj plik oraz produkty w nim zawarte zgodnie z zapotrzebowaniem i naciśnij zapisz.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_3975741fa36852d2c4211cb8fcc50e4c'] = 'Następnie dodaj nowe zadanie do Cron-a w panelu hostingu, link do automatycznego generowania XML dla każdej z konfiguracji utworzonej znajduje się poniżej.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_7c955d3bebbb7d55a632e498ab017cb3'] = 'Dodaj link do pliku XML w konfiguracji Twojego konta Google Merchant Center';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_76f127f81e962e8a830ed7ed22edb9b8'] = '-- prosze wybrać --';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_abc2177e6c347de2ca1ce5a4b0c3e4de'] = 'Masowo przypisz / wypisz produktów z pliku XML generowanego dla serwisu Google Shopping po sklepie, producentach, dostawcach, kategorii (musisz wybrać wymagane kryteria)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_a7370ce941bf23b02be8602db134e211'] = 'Przypisz / usuń przypisanie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e17fda15dd6815d51e8bdb2ae4680482'] = 'Wybierz czy chcesz przypisać produkty czy usunąć przypisanie masowo';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_185b7133db22230701a857c059360cc2'] = 'Przypisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e4f89a97f3302f647acacd1f945b097c'] = 'Wypisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ef448ace5a19483d1af8c362ce3461ae'] = 'Wybierz sklep';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_296aa8e31efa69a34a17cce3c489a136'] = 'Wybierz sklep dla masowego ustawienia przypisań produktów do Google Shopping';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9712f524e0105f8636fd0b5a677a405c'] = 'Wybierz producenta / producentów';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e137a918edcaed49e5b4dde908c50342'] = 'Opcjonalnie: wybierz producenta / producentów dla masowego ustawienia przypisań produktów do Google Shopping (wielokrotny wybór przytrzymując CTRL klawisz i klikając wybór prawym przyciskiem myszy)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_72b390a72dc4774c765eecf96ffac40c'] = 'Wybierz dostawce / dostawców ';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_56a8602916735da7592ce8fae4ced9d2'] = 'Opcjonalnie: wybierz dostawce / dostawców dla masowego ustawienia przypisań produktów do Google Shopping (wielokrotny wybór przytrzymując CTRL klawisz i klikając wybór prawym przyciskiem myszy)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e46d27b3e677d778a61d4e3bb7da34f1'] = 'Wybierz kategorie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_352353bef76148f0e0b432c6e1b1dfdb'] = 'Wybierz kategorie dla masowego ustawienia przypisań produktów do Google Shopping ';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_91b442d385b54e1418d81adc34871053'] = 'Wybrane';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_b56c3bda503a8dc4be356edb0cc31793'] = 'Zwiń wszystkie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_5ffd7a335dd836b3373f5ec570a58bdc'] = 'Rozwiń wszystkie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_5e9df908eafa83cb51c0a3720e8348c7'] = 'Zaznacz wszystkie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9747d23c8cc358c5ef78c51e59cd6817'] = 'Odznacz wszystkie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_88056c50169844458eda5f51cde0e11f'] = 'Przypisz / wypisz masowo produkty';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_0e6e630e31b8f2df949b6e02615c59f6'] = 'Linki URL dla Crona do automatycznego generowania';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_f6ce4107ce0598bb07dfcf7ac595e239'] = 'Konfiguracja pliku XML:';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_803ad824b875384675daee497bb5c988'] = 'Generowanie wszystkich konfiguracji plików XML:';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_dde5bb7ac6560e661fe882f30c0f9c1c'] = 'Nie znaleziono utworzonych konfiguracji proszę stworzyć prznajmniej jedną.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_aa0777e051a5cf9c598419920c35c22a'] = 'Linki do wygenerowanych plikow XML:';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_430fd1afd3ce8e7f07927e9d743a114f'] = 'Plik XML dla konfiguracji:';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_6f832a3581b59722c89a62f9362cbfe7'] = 'Dodaj nową konfiguracje XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_04cc97960a1e6c650532ad751d2cd178'] = '-- proszę wybrać --';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_1cafd08915725cfd7a95ce6a6f23c422'] = 'Nowa konfiguracja pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_0953a71964ed586dd1d557b691fa1fc0'] = 'Ustawienia główne pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c20c1f04908f18df364a00b4a78b08e1'] = 'Konfiguracja główna produktów pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_5fd0789bcbd07a143d5ccc8f881a811f'] = 'Konfiguracja parametrów produktów pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_bd9239745ef4883834f1f0bf96491b16'] = 'Ustaw czy konfiguracja ma być aktywna';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Włączona ';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_b9f5c797ebbf55adccdd8539a65a0241'] = 'Wyłączona';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_653777801f96237326d65205bc9129e3'] = 'Wybierz język';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_3b1b93ce8d99a59057c4ac72e9c1789d'] = 'Wybierz język dla generowanych produktów w pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_3c1df4260ce594cb5594696461087f2f'] = 'Wybierz kraj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_2a2e8c9d8dac7ecaccc6257d18b21510'] = 'Wybierz kraj dla generowanych produktów w pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_bc5660a10a8f710daa15a8033ff26ef8'] = 'Wybierz sklep z którego produkty znajdą się w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e8586011952b0d098b0e568f20ca2b1f'] = 'Wybierz walute';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_326ba512ce36c8a55de72d311b1d4756'] = 'Wybierz walutę dla generowanych produktów w pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_2e0c8e4493c6fdcc3ee8b6eb718b7949'] = 'Wybierz kod ISO kategorii Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_fd588ee15471c3e7fd0f3d52b2b66420'] = 'Wybierz język ISO kategorii Google zgodnie z Twoja konfiguracją kraju, waluty, języka. W zakładce modułu Import / mapowanie kategorii znajduje się pełna tabela wszystkich obsługiwancyh kombinacji tych wartości i odpowiadającym kodom ISO kategorii Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_26962c974027e427b7c6805982a4f313'] = 'Wybierz przewoźnika';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_953dc15573c064f4f821d6b99a336a1f'] = 'Wybierz przewoźnika dla generowanych produktów w pliku XML (jeśli chcesz dodać koszt dostawy do pliku XML) prosimy nie wybierać odbiór osobisty go Google na to nie pozwala.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_80d69c6ab8d29f3eb9712fe1751355d1'] = 'Dodaj koszt dostawy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_69e4bf01fb464e2aa187f41cd81e28fb'] = 'Dodaje koszt dostawy dla produktów w generowanym pliku XML zgodneiz wybranym przewoźnikem powyżej.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ff35aea2d8a1ac9ad6da77802021c221'] = 'Opcja jeśli jest włączona to pozwoli na wykluczenie produktów z zerowym stanem magazynowym (tylko gdy mamy włączone zarządzanie magazynem lub zaawansowane zarządzanie magazynem), a jeśli jest wyłączona i mamy włączone zarządzanie magazynem lub zaawansowane zarządzanie magazynem to wtedy używamy ustawień z poziomu produktu odnośnie dostępności produktu i możliwości zakupu gdy nie ma na stanie.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9fd72fd334b2b18f4952292c9f0700ac'] = 'Tylko dostępne do kupienia';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_758d210ac0e13c7f3f701cde002e9601'] = 'Ta opcja jeśli zostanie włączona to wykluczy produkty które mają włączona opcję możliwości zakupu \"Sprzedaż (tryb katalogu jeśli nieaktywne)\"';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_509074bfb02ed7d14406a8024fc8396f'] = 'Dołacz tylko aktywne produkty / włączone';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_7e5759c4ef0abcd10797ba93a5ec6136'] = 'Utwórz produkty z kombinacji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8d67eddf0bcc734976386b37c855e111'] = 'Opcja pozwala na rozbicie kombinacji produktów na pojedyncze produkty (prosimy uważać z ta opcja gdyż potrafi ona znacząco spowolnić proces generowania plików XML)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_adb9163a5774f04e59f419907914babf'] = 'Wybierz atrybutu dla rozmiaru';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_5638d64a165c3ec1f8f4cd1595a7b2c7'] = 'Wybierz grupę / grupy atrybutów dla rozmiaru';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9f1fe905296598241c4d377031429c15'] = 'Wybierz atrybut dla koloru';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_0939b2546a9affb4545b48744232a0ab'] = 'Wybierz grupę / grupy atrybutów dla koloru';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8d8b686037c43c76848fc2cb347ed6d2'] = 'Zaznacz pola wyboru dla kategorii z których chcesz by produkty znalazły się w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_7cc4995a6b75277a993e6628461434f6'] = 'Wyklucz producentów';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_14b85ab867ddd297b5a3856c61a27b69'] = 'Wyklucz producentów dla których nie chcesz by produkty pojawiły się w generowanym pliku XML (wielokrotny wybór z prawym przyciskiem myszy trzymając klawisz CTRL)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8cbfd8c23ad4436e47f4d28b168aeebd'] = 'Wykluczeni dostawcy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e26d846a7ecc7e2583b2e1c63667ecab'] = 'Wyklucz dostawców dla których nie chcesz by produkty pojawiły się w generowanym pliku XML (wielokrotny wybór z prawym przyciskiem myszy trzymając klawisz CTRL)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e8a9f88da7fb7fb5ffc20ed0958f21a8'] = 'Wykluczone produkty';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8c380209fdde8f56d7f777b05770180f'] = 'Wyklucz produkty po ID których nie chcesz by pojawiły się w generowanym pliku XML, ID podajemy oddzielone przecinkiem';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_76420602551c1bcfc7a1ecc6344e0ffc'] = 'Wyklucz produkty z ceną niższa niż';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_6bad72354067e5b043a612a21ebeeb9b'] = 'Wyklucz produkty z ceną niższa niż podana tutaj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_baf15503436fc1258776bc08749a8255'] = 'Typ opisu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e49eac59a955414bb0e40686b73dae99'] = 'Wybierz który opis produktu ma się pojawić w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c1069a480848e06782b81b8bea9c0c94'] = 'Krótki opis';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_a52ab216dd03c49902ff2a66d8c12f36'] = 'Długi opis';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_3f64b2beede1082fd32ddb0bf11a641f'] = 'Meta opis';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_729e86345efe1f78446ddd8897f2a14f'] = 'Wyczyść opisy produktów';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e0cdb1e6209f6c0182bb062bc4a8bd4b'] = 'Opcja pozwala na wyczyszczenie opisów produktów do postaci zwykłego tekstu (pomaga w przypadku problemów w panelu GMC związanych z opisami produktów) w wygenerowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_2b4a6e47fe22a99278474f087277a4cc'] = 'Unikalny identyfikator produktu (GTIN)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_abd807b6eb8cc2a904a6c94d073bf97e'] = 'Unikalny identyfikator produktu to kod produktu lub inna wartość identyfikująca dany produkt, prosimy wybrać z listy poniżej wartość którą chcemy przekazać do generowanego pliku XML.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e167af87b7ecc03558cb30afd465f6ec'] = 'EAN-13 / JAN';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_fbd99ad01b92dbafc686772a39e3d065'] = 'UPC';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e93f6336c708e6d53d01ffaa6e7c5d2c'] = 'Kod refenencyjny / indeks';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_5f38acdc42cf77ad15e507a9ff0b2e56'] = 'Numer części producenta (MPN)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_4437bf436a513bba2e38aa76ffd75655'] = 'Numer części producenta jest używany jako odniesienie i identyfikator produkty danego producenta używający innych wartość identyfikujących niż kod GTIN';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8284ae5df53e6e7ffc1f2cc67ae68765'] = 'Kod dostawcy';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_2bff0c18dad806b7e121a0013c7f08a6'] = 'ID Produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_4829243e90f6a3a5afd96555a82edd26'] = 'Cechy produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c0f4c8ba112b77c46812c529d44bb54b'] = 'Opcja pozwala na dodanie cech produktów do generowanego pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_dbffe2207331ca20c9eb6e813ce4f0d5'] = 'Sprawdź poprawność Ean13';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_a1b0fbe6d3702d2074397e4606e6b1a6'] = 'Opcja pozwala na walidację kodów EAN13 produktów przed dodaniem ich do wygenerowanego XML (opcja pomaga, gdy mamy problemy w panelu GMC dotyczące nieprawidłowych kodów EAN13)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_23d8da938f10df980815bc0ad5d87258'] = 'Prefix dla numeru producenta MPN';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e513c529f2c860dd0a2ee91df3797402'] = 'Dodaj dodatkowy prefx dla numeru producenta MPN np. PREFIX_MPN';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_0e170746f43cb4e591b3548397fbc2fc'] = 'Prefix dla ID produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_fea3844c5af7e6db129637e316e72780'] = 'Dodaj dodatkowy prefx dla numeru id produktu w generowanym pliku XML znacznik g:id';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ad4c7beed61601926b2b2bdfd138f772'] = 'Nazwa producenta';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_f1e8e5de1a120202f3ec5e904bc863e8'] = 'Opcja pozwala na dodanie nazwy producenta w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_07b94fcfd989067440efa022175e31c8'] = 'Miara ceny jednostkowej';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e534b1d298bf5dcf45893fe9e161628d'] = 'Opcja pozwala na włączenie lub wyłączenie opcjonalnego parametru Miara ceny jednostkowej (unit_price_measure)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9d678fff4680d58d345777e93ab362f5'] = 'Produkty tylko dla dorosłych';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8d6a018ecc6e952e724977809c855ed6'] = 'Opcja pozwala na dodanie atrybutu tylko dla dorosłych w generowanym pliku XML (jeśli sprzedajesz produkty tylko dla dorosłych prosimy zaznaczyć ta opcję)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_35892a70e092479f1f01cc46d666ac1d'] = 'Rozmiar zdjęcia produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_8eaad79697b8c72347654f5445fd67ad'] = 'Opcja pozwala na wybranie rozmiaru zdjęć produktów w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_e909db47a94d279801879d3d85518a4e'] = 'Limit zdjęć';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9adc9b0ff9ec6804865dc0f3384566cf'] = 'Opcja pozwala na ograniczenie liczby zdjęć produktów w generowanym pliku XML';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_ca8912007c11427bbebc9ac1ccf3195d'] = 'Wyłącz przyjazne URL-e dla generowanych produktów i zdjęć w pliku XML.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_9ea67be453eaccf020697b4654fc021a'] = 'Zapisz i zostań';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_79d051f91a8f28222d46be16aba3d5d1'] = 'Brak produktów spełniających wybrane kryteria lub nie wybrano żadnych';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_69101e4a4a747e9b026e7faa12d8c2cd'] = 'Masowe przypisanie / wypisanie zostało ukończone poprawnie.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>admingooglemerchantcenterpronewcontroller_59a81673f6140f753fb65149d59594e3'] = 'Musisz wybrać przynajmniej jedną kategorie.';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>categories_aea77c23b0adc037629eb8290045a419'] = 'mapowanie kategorii (kategorii sklepowych do kategorii Google)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>categories_0af3e90ea038c5a886139afaebff3776'] = 'Kategoria sklepu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>categories_4951604a6921938478843b78b94ecd2b'] = 'Zacznij wpisywać szukane wyrażenie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>categories_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>categories_ea4788705e6873b424c65e91c2846b19'] = 'Anuluj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_db761a043ec12437fb101679dfc3a571'] = 'Opcje produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_0c559a787a07ebdd82acd0a3f8d61548'] = 'Produkt w zakupach Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_9500740a718cf853f4bb608a707c0179'] = 'Alternatywna nazwa produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_da31e59c71101c8aeead74f392bf6fc7'] = 'Alternatywna nazwa produktu jeśli zostanie podana to zwykłą nazwa produktu zostanie nią zastąpiona';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_d7d8c4fafc9a5c9a3b5af96248a0f5d6'] = 'Alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_bf2a52362f48119437ba546f5f8c86b0'] = 'Alternatywny opis produktu jeśli podany zastąpi opis wybrany w globalnych ustawieniach dla produktu dla danej konfiguracji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_69edb84947551275182d3994910497fe'] = 'Własna etykieta 0';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_f1c86363b00820738939727ab713c803'] = 'Może zawierać dodatkowe informacje o produkcie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_707db26ccb5ed9cd1e114d5ff9566ae9'] = 'Własna etykieta 1';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_f1b89572c8ffdeb313cdf9fd2ab625fd'] = 'Własna etykieta 2';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_9aeca091efc6a93d3b0c24db19f84af6'] = 'Własna etykieta 3';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_17_f50a83d540df4ef45bf0407df4c16d25'] = 'Własna etykieta 4';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_db761a043ec12437fb101679dfc3a571'] = 'Opcje produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_0c559a787a07ebdd82acd0a3f8d61548'] = 'Produkt w zakupach Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_37366e14a030ade1201319c13ad28d93'] = 'Czy dołączyć ten produkt do generowanego pliku XML dla Google zakupów?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_9500740a718cf853f4bb608a707c0179'] = 'Alternatywna nazwa produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_da31e59c71101c8aeead74f392bf6fc7'] = 'Alternatywna nazwa produktu jeśli zostanie podana to zwykłą nazwa produktu zostanie nią zastąpiona';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_e1c068fa8fada06ebd282ef6df4fbc19'] = 'Skopiuj wartość dla alternatywnej nazwy produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_04cc97960a1e6c650532ad751d2cd178'] = '-- proszę wybrać --';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_de5f3500e351ad4be0200a6c9694bccb'] = 'Meta tytuł produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_df644ae155e79abf54175bd15d75f363'] = 'Nazwa produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_9fb1b1e6ff5854572ce942d30197abad'] = 'Puste pole (wyczyść wartość)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_94c6058dffe5773194c4296ca7df2e20'] = 'Skopiuj alternatywną nazwę produktu z opisu meta lub nazwy produktu, po wybraniu powyższe pole zostanie zaktualizowane automatycznie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_d7d8c4fafc9a5c9a3b5af96248a0f5d6'] = 'Alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_bf2a52362f48119437ba546f5f8c86b0'] = 'Alternatywny opis produktu jeśli podany zastąpi opis wybrany w globalnych ustawieniach dla produktu dla danej konfiguracji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_73279c0f847cdf28f63d927db798069b'] = 'Skopiuj alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_3f64b2beede1082fd32ddb0bf11a641f'] = 'Meta opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_021e5284374bc0d796da0ce7a2e50377'] = 'Krótki opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_52b43033fd5e544ec81d478556cf3076'] = 'Skopiuj alternatywny opis produktu z opisu meta lub krótkiego opisu produktu, po wybraniu powyższe pole zostanie zaktualizowane automatycznie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_69edb84947551275182d3994910497fe'] = 'Własna etykieta 0';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_f1c86363b00820738939727ab713c803'] = 'Może zawierać dodatkowe informacje o produkcie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_707db26ccb5ed9cd1e114d5ff9566ae9'] = 'Własna etykieta 1';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_f1b89572c8ffdeb313cdf9fd2ab625fd'] = 'Własna etykieta 2';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_9aeca091efc6a93d3b0c24db19f84af6'] = 'Własna etykieta 3';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_f50a83d540df4ef45bf0407df4c16d25'] = 'Własna etykieta 4';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_ea4788705e6873b424c65e91c2846b19'] = 'Anuluj';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_16_9ea67be453eaccf020697b4654fc021a'] = 'Zapisz i zostań';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_db761a043ec12437fb101679dfc3a571'] = 'Opcje produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_0c559a787a07ebdd82acd0a3f8d61548'] = 'Produkt w zakupach Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_37366e14a030ade1201319c13ad28d93'] = 'Czy dołączyć ten produkt do generowanego pliku XML dla Google zakupów?';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_9500740a718cf853f4bb608a707c0179'] = 'Alternatywna nazwa produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_da31e59c71101c8aeead74f392bf6fc7'] = 'Alternatywna nazwa produktu jeśli zostanie podana to zwykłą nazwa produktu zostanie nią zastąpiona';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_e1c068fa8fada06ebd282ef6df4fbc19'] = 'Skopiuj wartość dla alternatywnej nazwy produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_de5f3500e351ad4be0200a6c9694bccb'] = 'Meta tytuł produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_df644ae155e79abf54175bd15d75f363'] = 'Nazwa produku';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_9fb1b1e6ff5854572ce942d30197abad'] = 'Puste pole (wyczyść wartość)';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_94c6058dffe5773194c4296ca7df2e20'] = 'Skopiuj alternatywną nazwę produktu z opisu meta lub nazwy produktu, po wybraniu powyższe pole zostanie zaktualizowane automatycznie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_d7d8c4fafc9a5c9a3b5af96248a0f5d6'] = 'Alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_bf2a52362f48119437ba546f5f8c86b0'] = 'Alternatywny opis produktu jeśli podany zastąpi opis wybrany w globalnych ustawieniach dla produktu dla danej konfiguracji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_73279c0f847cdf28f63d927db798069b'] = 'Skopiuj alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_3f64b2beede1082fd32ddb0bf11a641f'] = 'Meta opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_021e5284374bc0d796da0ce7a2e50377'] = 'Krótki opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_52b43033fd5e544ec81d478556cf3076'] = 'Skopiuj alternatywny opis produktu z opisu meta lub krótkiego opisu produktu, po wybraniu powyższe pole zostanie zaktualizowane automatycznie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_69edb84947551275182d3994910497fe'] = 'Własna etykieta 0';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_f1c86363b00820738939727ab713c803'] = 'Może zawierać dodatkowe informacje o produkcie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_707db26ccb5ed9cd1e114d5ff9566ae9'] = 'Własna etykieta 1';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_f1b89572c8ffdeb313cdf9fd2ab625fd'] = 'Własna etykieta 2';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_9aeca091efc6a93d3b0c24db19f84af6'] = 'Własna etykieta 3';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_15_f50a83d540df4ef45bf0407df4c16d25'] = 'Własna etykieta 4';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_db761a043ec12437fb101679dfc3a571'] = 'Opcje produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_0c559a787a07ebdd82acd0a3f8d61548'] = 'Produkt w zakupach Google';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_9500740a718cf853f4bb608a707c0179'] = 'Alternatywna nazwa produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_da31e59c71101c8aeead74f392bf6fc7'] = 'Alternatywna nazwa produktu jeśli zostanie podana to zwykłą nazwa produktu zostanie nią zastąpiona';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_85e198b4baf6c1922e5ba4d1c3b18533'] = 'Alternatywny opis produktu';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_132cd63abeb484bab83774581ed65299'] = 'Alternatywny opis produktu jeśli podany zastąpi opis wybrany w globalnych ustawieniach dla produktu dla danej konfiguracji';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_69edb84947551275182d3994910497fe'] = 'Własna etykieta 0';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_f1c86363b00820738939727ab713c803'] = 'Może zawierać dodatkowe informacje o produkcie';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_707db26ccb5ed9cd1e114d5ff9566ae9'] = 'Własna etykieta 1';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_f1b89572c8ffdeb313cdf9fd2ab625fd'] = 'Własna etykieta 2';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_9aeca091efc6a93d3b0c24db19f84af6'] = 'Własna etykieta 3';
$_MODULE['<{pdgooglemerchantcenterpro}prestashop>extraproducttab_1770_f50a83d540df4ef45bf0407df4c16d25'] = 'Własna etykieta 4';

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,40 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 2.1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_1_3($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `unit_pricing_measure` tinyint(1) NOT NULL default 0');
return true;
}

View File

@@ -0,0 +1,45 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_1_4($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `product_name_google_shopping` varchar(256) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product` ADD `in_google_shopping` tinyint(1) NOT NULL default 1');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_shop` ADD `in_google_shopping` tinyint(1) NOT NULL default 1');
$module->registerHook('displayAdminProductsExtra');
$module->registerHook('addProduct');
return true;
}

View File

@@ -0,0 +1,45 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_1_5($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `custom_label_0` varchar(100) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `custom_label_1` varchar(100) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `custom_label_2` varchar(100) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `custom_label_3` varchar(100) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `custom_label_4` varchar(100) NOT NULL');
return true;
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_1_9($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `id_image_type` int(11) unsigned NOT NULL DEFAULT 0');
return true;
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_2_3($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `gid_prefix` text');
return true;
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.4
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_2_4($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'product_lang` ADD `product_short_desc_google_shopping` TEXT');
return true;
}

View File

@@ -0,0 +1,41 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.4
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_3_1($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `sizes_attribute_group` varchar(255) NOT NULL');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD
`color_attribute_group` int(10) unsigned NOT NULL');
return true;
}

View File

@@ -0,0 +1,39 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_3_6($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `available_for_order` tinyint(1) NOT NULL default 1');
return true;
}

View File

@@ -0,0 +1,41 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_4_2($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `ean_validiation` tinyint(1) NOT NULL default 0');
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `html_desc_cleaner` tinyint(1) NOT NULL default 0');
return true;
}

View File

@@ -0,0 +1,39 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_4_6($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `image_limit` int(11) unsigned NOT NULL DEFAULT 2');
return true;
}

View File

@@ -0,0 +1,39 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* This function updates your module from previous versions to the version 1.1,
* usefull when you modify your database, or register a new hook ...
* Don't forget to create one file per version.
*/
function upgrade_module_2_5_6($module)
{
/**
* Do everything you want right there,
* You could add a column in one of your module's tables
*/
$module->registerHook('actionAdminProductsListingFieldsModifier');
return true;
}

View File

@@ -0,0 +1,30 @@
<?php
/**
* 2012-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Facebook Dynamic Ads Feed Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2016 Patryk Marek - PrestaDev.pl
* @link http://prestadev.pl
* @package PD Facebook Dynamic Ads Feed Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 1.0.2
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @date 27-11-2016
*/
if (!defined('_PS_VERSION_')) {
exit;
}
function upgrade_module_2_5_7($module)
{
Db::getInstance(_PS_USE_SQL_SLAVE_)->Execute('ALTER TABLE `'._DB_PREFIX_.'pdgooglemerchantcenterpro` ADD `features_enabled` tinyint() unsigned NOT NULL DEFAULT 1');
return true;
}

View File

@@ -0,0 +1,2 @@
/* Tab icon */
#maintab-AdminGoogleMerchantCenterPro .icon-AdminGoogleMerchantCenterPro:before { content: ""; }

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,29 @@
/**
* 2013-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2013-2016 Patryk Marek PrestaDev.pl
* @version Release: 2.1.2
*/
function convertHtmlToText(returnText) {
if (checkIfStringIsHTML(returnText)) {
return jQuery(returnText).text();
} else {
return returnText;
}
}
function checkIfStringIsHTML(str) {
var doc = new DOMParser().parseFromString(str, "text/html");
return Array.from(doc.body.childNodes).some(node => node.nodeType === 1);
}

View File

@@ -0,0 +1,90 @@
{*
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.0.1
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @date 04-03-2016
*}
<div class="panel form-horizontal">
<form action="{$post_url|escape:'html':'UTF-8'}" method="post">
<h3 class="tab"> <i class="icon-info"></i> {l s='Category mapping (shop category to Google category)' mod='pdgooglemerchantcenterpro'}</h3>
<div class="form-group">
<div class="form-group">
<input type="hidden" name="id_pdgooglemerchantcenterpro_taxonomy" id="id_pdgooglemerchantcenterpro_taxonomy" value="{$id_pdgooglemerchantcenterpro_taxonomy|escape:'html':'UTF-8'}">
<input type="hidden" name="taxonomy_lang" id="taxonomy_lang" value="{$taxonomy_lang|escape:'html':'UTF-8'}">
<div class="table-responsive-row clearfix">
<table class="table product">
<thead>
<tr class="nodrag nodrop">
<th class="">
<span class="title_box"></span>
</th>
</tr>
</thead>
<tbody>
{foreach from=$categories item="cat"}
<tr class="{cycle values='odd,even'}">
<td>
<span style="">{l s='Shop category' mod='pdgooglemerchantcenterpro'}: </span> <span style="color:#111">{$cat.path|escape:'htmlall':'UTF-8'}</span>
</td>
</tr>
<tr class="{cycle values='odd,even'}">
<td>
<input style="width:100%" class="autocomplete_pdgmc" type="text" name="catsmappingarr[{$cat.id_category|escape:'html':'UTF-8'}]" placeholder="{l s='Start typing searched name' mod='pdgooglemerchantcenterpro'}" id="shopcatid{$cat.id_category|escape:'htmlall':'UTF-8'}" value="{$cat.txt_taxonomy|escape:'html':'UTF-8'}" />
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
<div class="panel-footer">
<button class="btn btn-default pull-right" name="submitSaveCategoriesMapping" id="submitSaveCategoriesMapping_save_btn" value="1" type="submit">
<i class="process-icon-save"></i> {l s='Save' mod='pdgooglemerchantcenterpro'}
</button>
<a onclick="window.history.back();" class="btn btn-default" href="index.php?controller=AdminGoogleMerchantCenterProTaxonomy&amp;token={$token|escape:'htmlall':'UTF-8'}">
<i class="process-icon-cancel"></i> {l s='Cancel' mod='pdgooglemerchantcenterpro'}
</a>
</div>
</form>
</div>
<script type="text/javascript">
{literal}
/* function autocomplete */
$('input.autocomplete_pdgmc').each(function(index, element) {
var query = $(element).attr("id");
$(element).autocomplete('{/literal}{html_entity_decode($ajax_url|escape:'htmlall':'UTF-8')}{literal}&id_pdgooglemerchantcenterpro_taxonomy={/literal}{$id_pdgooglemerchantcenterpro_taxonomy|escape:'htmlall':'UTF-8'}{literal}&searchTaxonomyCategory=1&query='+query, {
minChars: 3,
autoFill: false,
max:50,
matchContains: true,
mustMatch:false,
scroll:true,
cacheLength:0,
formatItem: function(item) {
return item[0];
}
});
});
{/literal}
</script>

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,190 @@
{*
* 2013-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2013-2016 Patryk Marek PrestaDev.pl
* @version Release: 2.1.2
*}
<!-- PD Google Merchant Center Pro -->
<fieldset id="ModulepdgooglemerchantcenterproProductTab">
<h4>{l s='Product options' mod='pdgooglemerchantcenterpro'}</h4>
<div class="separation"></div>
<input type="hidden" name="submitted_conf[]" value="ModulePdPriceComparePro" />
<label>
{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
<input type="radio" name="in_google_shopping" id="in_google_shopping_on" value="1" {if $product->in_google_shopping}checked="checked" {/if} />
<label for="in_google_shopping_on" class="t">
{l s='Yes' mod='pdgooglemerchantcenterpro'}
</label>
<input type="radio" name="in_google_shopping" id="in_google_shopping_off" value="0" {if !$product->in_google_shopping}checked="checked"{/if} />
<label for="in_google_shopping_off" class="t">
{l s='No' mod='pdgooglemerchantcenterpro'}
</label>
<p class="preference_description">
{l s='Include this product in Google Shopping feed' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label>
{l s='Alternate product name' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/textarea_lang.tpl"
languages=$languages
input_name='product_name_google_shopping'
class="product_name_google_shopping"
maxchar=128
input_value=$product->product_name_google_shopping}
<p class="preference_description">
{l s='Alternate product name if provided normal product name will be replaced with this one' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="product_name_google_shopping_copy_from">
{l s='Copy alternate product name' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
<select name="product_name_google_shopping_copy_from" id="product_name_google_shopping_copy_from">
<option value="0">{l s='Product meta title' mod='pdgooglemerchantcenterpro'}</option>
<option value="1">{l s='Product name' mod='pdgooglemerchantcenterpro'}</option>
<option value="2">{l s='Empty field' mod='pdgooglemerchantcenterpro'}</option>
</select>
</div>
<p class="preference_description">
{l s='Copy alternate product name from meta title or product name, when selected above field will be updated automatically' mod='pdgooglemerchantcenterpro'}
</p>
<div class="clear"></div>
<label>
{l s='Alternate product description' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/textarea_lang.tpl"
languages=$languages
class="product_short_desc_google_shopping"
input_name='product_short_desc_google_shopping'
input_value=$product->product_short_desc_google_shopping}
<p class="preference_description">
{l s='Alternate product description if provided normal product short description will be replaced with this one' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="product_short_description_google_shopping_copy_from">
{l s='Copy alternate product description' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
<select name="product_short_description_google_shopping_copy_from" id="product_short_description_google_shopping_copy_from">
<option value="0">{l s='Meta description' mod='pdgooglemerchantcenterpro'}</option>
<option value="1">{l s='Product short description' mod='pdgooglemerchantcenterpro'}</option>
<option value="2">{l s='Empty field' mod='pdgooglemerchantcenterpro'}</option>
</select>
</div>
<p class="preference_description">
{l s='Copy alternate product description from meta dsecription or product short description, when selected above field will be updated automatically' mod='pdgooglemerchantcenterpro'}
</p>
<div class="clear"></div>
<label for="custom_label_0">
{l s='Custom label 0' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_0'
maxchar=100
input_value=$product->custom_label_0}
<p class="preference_description">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="custom_label_1">
{l s='Custom label 1' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_1'
maxchar=100
input_value=$product->custom_label_1}
<p class="preference_description">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="custom_label_2">
{l s='Custom label 2' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_2'
maxchar=100
input_value=$product->custom_label_2}
<p class="preference_description">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="custom_label_3">
{l s='Custom label 3' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_3'
maxchar=100
input_value=$product->custom_label_3}
<p class="preference_description">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
<label for="custom_label_4">
{l s='Custom label 4' mod='pdgooglemerchantcenterpro'}
</label>
<div class="margin-form">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_4'
maxchar=100
input_value=$product->custom_label_4}
<p class="preference_description">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</p>
</div>
<div class="clear"></div>
</fieldset>
<!-- PD Google Merchant Center Pro -->

View File

@@ -0,0 +1,293 @@
{*
* 2013-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2013-2016 Patryk Marek PrestaDev.pl
* @version Release: 2.1.2
*}
<script type="text/javascript">
{literal}
$(document).ready(function(){
$('select#product_name_google_shopping_copy_from').on('change', function() {
change_name_lang_values_per_selection(parseInt($(this).val()));
});
function change_name_lang_values_per_selection(option_selected) {
if (option_selected == 1) {
$.each(product_meta_title, function(key, value) {
$('textarea#product_name_google_shopping_'+key).val(convertHtmlToText(value));
});
} else if (option_selected == 2) {
$.each(product_name, function(key, value) {
$('textarea#product_name_google_shopping_'+key).val(convertHtmlToText(value));
});
} else if (option_selected == 3) {
$.each(product_name, function(key, value) {
$('textarea#product_name_google_shopping_'+key).val('');
});
}
}
$('select#product_short_description_google_shopping_copy_from').on('change', function() {
change_desc_lang_values_per_selection(parseInt($(this).val()));
});
function change_desc_lang_values_per_selection(option_selected) {
if (option_selected == 1) {
$.each(product_meta_dcescription, function(key, value) {
$('textarea#product_short_desc_google_shopping_'+key).val(convertHtmlToText(value));
});
} else if (option_selected == 2) {
$.each(product_description_short, function(key, value) {
$('textarea#product_short_desc_google_shopping_'+key).val(convertHtmlToText(value));
});
} else if (option_selected == 3) {
$.each(product_name, function(key, value) {
$('textarea#product_short_desc_google_shopping_'+key).val('');
});
}
}
});
{/literal}
</script>
<!-- PD Google Merchant Center Pro -->
<div id="ModulepdgooglemerchantcenterproProductTab" class="panel product-tab">
<h3>{l s='Product options' mod='pdgooglemerchantcenterpro'}</h3>
<div class="form-group">
<input type="hidden" name="submitted_conf[]" value="Modulepdgooglemerchantcenterpro" />
<div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="in_google_shopping" type="radio" onclick=""}</span></div>
<label class="control-label col-lg-2">
{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
<span class="switch prestashop-switch fixed-width-lg">
<input type="radio" name="in_google_shopping" id="in_google_shopping_on" value="1" {if $product->in_google_shopping}checked="checked" {/if} />
<label for="in_google_shopping_on" class="radioCheck">
{l s='Yes' mod='pdgooglemerchantcenterpro'}
</label>
<input type="radio" name="in_google_shopping" id="in_google_shopping_off" value="0" {if !$product->in_google_shopping}checked="checked"{/if} />
<label for="in_google_shopping_off" class="radioCheck">
{l s='No' mod='pdgooglemerchantcenterpro'}
</label>
<a class="slide-button btn"></a>
</span>
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Include this product in Google Shopping feed' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="product_name_google_shopping">
{l s='Alternate product name' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/textarea_lang.tpl"
languages=$languages
input_name='product_name_google_shopping'
class="product_name_google_shopping"
maxchar=128
input_value=$product->product_name_google_shopping}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Alternate product name if provided normal product name will be replaced with this one' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-1"><span class="pull-right">
</span></div>
<label class="control-label col-lg-2" for="product_name_google_shopping_copy_from">
{l s='Copy alternate product name' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-3">
<select name="product_name_google_shopping_copy_from" id="product_name_google_shopping_copy_from">
<option value="0">{l s='-- please select --' mod='pdgooglemerchantcenterpro'}</option>
<option value="1">{l s='Product meta title' mod='pdgooglemerchantcenterpro'}</option>
<option value="2">{l s='Product name' mod='pdgooglemerchantcenterpro'}</option>
<option value="3">{l s='Empty field' mod='pdgooglemerchantcenterpro'}</option>
</select>
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Copy alternate product name from meta title or product name, when selected above field will be updated automatically' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="product_short_desc_google_shopping">
{l s='Alternate product description' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/textarea_lang.tpl"
languages=$languages
maxchar=5000
class="product_short_desc_google_shopping"
input_name='product_short_desc_google_shopping'
input_value=$product->product_short_desc_google_shopping}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Alternate product description if provided normal product short description will be replaced with this one' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-1"><span class="pull-right">
</span></div>
<label class="control-label col-lg-2" for="product_short_description_google_shopping_copy_from">
{l s='Copy alternate product description' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-3">
<select name="product_short_description_google_shopping_copy_from" id="product_short_description_google_shopping_copy_from">
<option value="0">{l s='-- please select --' mod='pdgooglemerchantcenterpro'}</option>
<option value="1">{l s='Meta description' mod='pdgooglemerchantcenterpro'}</option>
<option value="2">{l s='Product short description' mod='pdgooglemerchantcenterpro'}</option>
<option value="3">{l s='Empty field' mod='pdgooglemerchantcenterpro'}</option>
</select>
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Copy alternate product description from meta dsecription or product short description, when selected above field will be updated automatically' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="custom_label_0">
{l s='Custom label 0' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_0'
maxchar=100
input_value=$product->custom_label_0}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="custom_label_1">
{l s='Custom label 1' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_1'
maxchar=100
input_value=$product->custom_label_1}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="custom_label_2">
{l s='Custom label 2' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_2'
maxchar=100
input_value=$product->custom_label_2}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="custom_label_3">
{l s='Custom label 3' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_3'
maxchar=100
input_value=$product->custom_label_3}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="custom_label_4">
{l s='Custom label 4' mod='pdgooglemerchantcenterpro'}
</label>
<div class="col-lg-9">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_name='custom_label_4'
maxchar=100
input_value=$product->custom_label_4}
</div>
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}
</div>
</div>
</div>
<div class="panel-footer">
<a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}" class="btn btn-default"><i class="process-icon-cancel"></i> {l s='Cancel' mod='pdgooglemerchantcenterpro'}</a>
<button type="submit" name="submitAddproduct" class="btn btn-default pull-right"><i class="process-icon-save"></i> {l s='Save' mod='pdgooglemerchantcenterpro'}</button>
<button type="submit" name="submitAddproductAndStay" class="btn btn-default pull-right"><i class="process-icon-save"></i> {l s='Save and stay' mod='pdgooglemerchantcenterpro'}</button>
</div>
</div>
<script type="text/javascript">
if (tabs_manager.allow_hide_other_languages) {
hideOtherLanguage({$default_form_language|escape:'htmlall':'UTF-8'});
}
</script>
<!-- PD Google Merchant Center Pro -->

View File

@@ -0,0 +1,168 @@
{*
* 2013-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2013-2016 Patryk Marek PrestaDev.pl
* @version Release: 2.1.2
*}
<!-- PD Google Merchant Center Pro -->
<div id="ModulepdgooglemerchantcenterproProductTab" class="panel product-tab">
<h3>{l s='Product options' mod='pdgooglemerchantcenterpro'}</h3>
<input type="hidden" name="submitted_conf[]" value="Modulepdgooglemerchantcenterpro" />
<br>
<div class="form-group col-lg-12">
<label class="form-control-label">
{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="row">
<div class="radio_block">
<div class="input-group col-lg-12">
<div class="radio">
<label class="">
<input type="radio" name="in_google_shopping" id="in_price_compare_on" value="1" {if $product->in_google_shopping}checked="checked" {/if} />
{l s='Yes' mod='pdgooglemerchantcenterpro'}
</label>
</div>
<div class="radio">
<label class="">
<input type="radio" name="in_google_shopping" id="in_price_compare_off" value="0" {if !$product->in_google_shopping}checked="checked" {/if} />
{l s='No' mod='pdgooglemerchantcenterpro'}
</label>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="product_name_google_shopping">
{l s='Alternate product name' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Alternate product name if provided normal product name will be replaced with this one' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='product_name_google_shopping'
class="product_name_google_shopping"
input_value=$product->product_name_google_shopping}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="product_short_desc_google_shopping">
{l s='Alternate product description' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Alternate product description if provided normal product short description will be replaced with this one' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='product_short_desc_google_shopping'
class="product_short_desc_google_shopping"
input_value=$product->product_short_desc_google_shopping}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="custom_label_0">
{l s='Custom label 0' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='custom_label_0'
input_value=$product->custom_label_0}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="custom_label_1">
{l s='Custom label 1' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='custom_label_1'
input_value=$product->custom_label_1}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="custom_label_2">
{l s='Custom label 2' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='custom_label_2'
input_value=$product->custom_label_2}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="custom_label_3">
{l s='Custom label 3' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='custom_label_3'
input_value=$product->custom_label_3}
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="custom_label_4">
{l s='Custom label 4' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="col-lg-9">
{include file="./input_text_lang.tpl"
languages=$languages
input_name='custom_label_4'
input_value=$product->custom_label_4}
</div>
</div>
</div>
<!-- PD Google Merchant Center Pro -->

View File

@@ -0,0 +1,238 @@
{*
* 2013-2016 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2013-2016 Patryk Marek PrestaDev.pl
* @version Release: 2.1.2
*}
<!-- PD Google Merchant Center Pro -->
<div id="ModulepdgooglemerchantcenterproProductTab" class="panel product-tab">
<div class="panel-heading tab">
<i class="icon-link"></i> <h2>{l s='Product options' mod='pdgooglemerchantcenterpro'}</h2>
</div>
<div class="clearfix container-fluid">
<input type="hidden" name="submitted_conf[]" value="Modulepdgooglemerchantcenterpro" />
<div class="form-group col-lg-12">
<label class="form-control-label">
{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='In Google Shopping' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="row">
<div class="radio_block">
<div class="col-lg-12">
<div class="widget-radio-inline">
<div class="radio">
<label class="">
<input type="radio" name="in_google_shopping" id="in_price_compare_on" value="1" {if $product->in_google_shopping}checked="checked" {/if} />
{l s='Yes' mod='pdgooglemerchantcenterpro'}
</label>
</div>
</div>
<div class="widget-radio-inline">
<div class="radio">
<label class="">
<input type="radio" name="in_google_shopping" id="in_price_compare_off" value="0" {if !$product->in_google_shopping}checked="checked"{/if} />
{l s='No' mod='pdgooglemerchantcenterpro'}
</label>
</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Alternate product name' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Alternate product name if provided normal product name will be replaced with this one' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-product_name_google_shopping{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<input
type="text"
name="product_name_google_shopping_{$language.id_lang}"
class="form-control"
value="{$product->product_name_google_shopping[$language.id_lang]}">
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Alternate product short description' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Alternate product short description if provided normal product short description will be replaced with this one' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-product_short_desc_google_shopping{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="product_short_desc_google_shopping_{$language.id_lang}"
class="form-control"
>{$product->product_short_desc_google_shopping[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Custom label 0' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-custom_label_0{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="custom_label_0_{$language.id_lang}"
class="form-control"
>{$product->custom_label_0[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Custom label 1' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-custom_label_1{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="custom_label_1_{$language.id_lang}"
class="form-control"
>{$product->custom_label_1[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Custom label 2' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-custom_label_2{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="custom_label_2_{$language.id_lang}"
class="form-control"
>{$product->custom_label_2[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Custom label 3' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-custom_label_3{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="custom_label_3_{$language.id_lang}"
class="form-control"
>{$product->custom_label_3[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
<fieldset class="form-group">
<label class="form-control-label">
{l s='Custom label 4' mod='pdgooglemerchantcenterpro'}
<span class="help-box" data-toggle="popover" data-content="{l s='Can contain additional information about the item' mod='pdgooglemerchantcenterpro'}"></span>
</label>
<div class="translations tabbable">
<div class="translationsFields tab-content ">
{foreach from=$languages item=language}
{if $language.active}
<div data-locale="{$language.iso_code}" class="translationsFields-custom_label_4{$language.id_lang} tab-pane{if $id_language == $language.id_lang} show active{/if} translation-field translation-label-{$language.iso_code}">
<textarea
type="text"
name="custom_label_4_{$language.id_lang}"
class="form-control"
>{$product->custom_label_4[$language.id_lang]}</textarea>
</div>
{/if}
{/foreach}
</div>
</div>
</fieldset>
</div>
</div>
<!-- PD Google Merchant Center Pro -->

View File

@@ -0,0 +1,28 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;

View File

@@ -0,0 +1,65 @@
{*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field row lang-{$language.id_lang}">
<div class="col-lg-9">
{/if}
{if isset($maxchar)}
<div class="input-group">
<span id="{$input_name}_{$language.id_lang}_counter" class="input-group-addon">
<span class="text-count-down">{$maxchar}</span>
</span>
{/if}
<input type="text"
id="{$input_name}_{$language.id_lang}"
class="form-control {if isset($input_class)}{$input_class} {/if}"
name="{$input_name}_{$language.id_lang}"
value="{$input_value[$language.id_lang]|htmlentitiesUTF8|default:''}"
{if isset($required)} required="required"{/if}
{if isset($maxchar)} data-maxchar="{$maxchar}"{/if}
{if isset($maxlength)} maxlength="{$maxlength}"{/if} />
{if isset($maxchar)}
</div>
{/if}
{if $languages|count > 1}
</div>
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" tabindex="-1">
{$language.iso_code}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li>
<a href="javascript:tabs_manager.allow_hide_other_languages = false;hideOtherLanguage({$language.id_lang});">{$language.name}</a>
</li>
{/foreach}
</ul>
</div>
</div>
{/if}
{/foreach}

View File

@@ -0,0 +1,59 @@
{*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2017 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field row lang-{$language.id_lang}">
<div class="col-lg-9">
{/if}
{if isset($maxchar) && $maxchar}
<div class="input-group">
<span id="{if isset($input_id)}{$input_id}_{$language.id_lang}{else}{$input_name}_{$language.id_lang}{/if}_counter" class="input-group-addon">
<span class="text-count-down">{$maxchar|intval}</span>
</span>
{/if}
<textarea id="{$input_name}_{$language.id_lang}" name="{$input_name}_{$language.id_lang}" class="{if isset($class)}{$class}{else}textarea-autosize{/if}"{if isset($maxlength) && $maxlength} maxlength="{$maxlength|intval}"{/if}{if isset($maxchar) && $maxchar} data-maxchar="{$maxchar|intval}"{/if}>{if isset($input_value[$language.id_lang])}{$input_value[$language.id_lang]|htmlentitiesUTF8}{/if}</textarea>
<span class="counter" data-max="{if isset($max)}{$max|intval}{/if}{if isset($maxlength)}{$maxlength|intval}{/if}{if !isset($max) && !isset($maxlength)}none{/if}"></span>
{if isset($maxchar) && $maxchar}
</div>
{/if}
{if $languages|count > 1}
</div>
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
{$language.iso_code}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li><a href="javascript:tabs_manager.allow_hide_other_languages = false;hideOtherLanguage({$language.id_lang});">{$language.name}</a></li>
{/foreach}
</ul>
</div>
</div>
{/if}
{/foreach}

View File

@@ -0,0 +1,29 @@
<?php
/**
* 2012-2015 Patryk Marek PrestaDev.pl
*
* Patryk Marek PrestaDev.pl - PD Google Merchant Center Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at info@prestadev.pl.
*
* @author Patryk Marek PrestaDev.pl <info@prestadev.pl>
* @copyright 2012-2015 Patryk Marek - PrestaDev.pl
* @license License is for use in domain / or one multistore enviroment (do not modify or reuse this code or part of it) if you want any changes please contact with me at info@prestadev.pl
* @link http://prestadev.pl
* @package PD Google Merchant Center Pro - PrestaShop 1.5.x and 1.6.x Module
* @version 2.2.0
* @date 04-03-2016
*/
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;