Add review step template for one page checkout module
- Introduced a new template file 'review copy.tpl' for the order summary step in the one page checkout process. - The template includes a loading indicator and a header for the order summary section. - Conditional rendering based on customer registration status is implemented.
This commit is contained in:
1
.serena/.gitignore
vendored
Normal file
1
.serena/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/cache
|
||||
34
.serena/memories/codebase_structure.md
Normal file
34
.serena/memories/codebase_structure.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Codebase Structure
|
||||
|
||||
```
|
||||
interblue.pl/
|
||||
├── admin658c34/ # Back-office admin panel (obfuscated folder name)
|
||||
├── app/ # PrestaShop Symfony app (kernel, AppKernel)
|
||||
├── classes/ # PrestaShop core classes
|
||||
├── config/ # Configuration files (settings.inc.php, defines.inc.php, etc.)
|
||||
├── controllers/ # PrestaShop core controllers
|
||||
├── custom/ # Custom utility files (medoo.php, sollux.csv)
|
||||
├── img/ # Images (products, categories, etc.)
|
||||
├── mails/ # Email templates
|
||||
├── modules/ # PrestaShop modules (~120+ modules)
|
||||
├── override/ # Class & controller overrides
|
||||
│ ├── classes/ # Overridden core classes (Product, Order, Hook, etc.)
|
||||
│ └── controllers/ # Overridden front controllers
|
||||
├── src/ # Symfony-based PrestaShop source
|
||||
│ ├── Adapter/
|
||||
│ └── Core/
|
||||
├── themes/
|
||||
│ ├── InterBlue/ # Active custom theme
|
||||
│ └── classic/ # Default PS theme (base)
|
||||
├── xml/ # XML configuration files
|
||||
├── import-products.php # Sollux product importer
|
||||
├── export.php # Product export
|
||||
├── custom-cron.php # Custom cron tasks
|
||||
└── NOTATKI.md # Developer notes
|
||||
```
|
||||
|
||||
## Key Directories for Development
|
||||
- **Custom modules**: `modules/customfeaturetab/`, `modules/dw_*`, `modules/addcolumninlist/`, `modules/sposoby_dostawy/`
|
||||
- **Overrides**: `override/classes/`, `override/controllers/front/`
|
||||
- **Theme**: `themes/InterBlue/`
|
||||
- **Custom scripts**: Root-level PHP files (import-products.php, export.php, etc.)
|
||||
39
.serena/memories/project_overview.md
Normal file
39
.serena/memories/project_overview.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# interblue.pl - Project Overview
|
||||
|
||||
## Purpose
|
||||
E-commerce store **interblue.pl** built on **PrestaShop 1.7.x**. The shop sells lighting products (Sollux Lighting and others). It integrates with multiple marketplaces (Allegro, Empik) and shipping providers (DPD, InPost, Poczta Polska, Geis, FedEx).
|
||||
|
||||
## Tech Stack
|
||||
- **CMS/Framework**: PrestaShop 1.7.x (PHP, Symfony 3.x/4.x core)
|
||||
- **Template Engine**: Smarty (front) + Twig (admin/back-office)
|
||||
- **Database**: MySQL (via PrestaShop's `Db` class and ObjectModel ORM)
|
||||
- **Front Theme**: Custom theme `InterBlue` (based on classic)
|
||||
- **PHP**: 7.x+ (PrestaShop 1.7 compatible)
|
||||
- **Additional lib**: Medoo (lightweight PHP database framework, used in custom scripts)
|
||||
|
||||
## Key Integrations
|
||||
- **Marketplaces**: Allegro (x13allegro, marzaallegro), Empik (empikmarketplace)
|
||||
- **Payments**: Przelewy24, imoje, paybynet, ps_cashondelivery, ps_checkpayment, ps_wirepayment
|
||||
- **Shipping**: DPD Poland, InPost, Poczta Polska, FedEx, Geis, Paczka w Ruchu
|
||||
- **Analytics**: Google Tag Manager (cdc_googletagmanager), Google Analytics 4 (pdgoogleanalytycs4pro), Google Merchant Center (pdgooglemerchantcenterpro)
|
||||
- **Other**: Baselinker, Sendinblue (email marketing), eKomi reviews
|
||||
|
||||
## Custom Scripts (project root)
|
||||
- `import-products.php` - Imports products from Sollux Lighting XML feed
|
||||
- `export.php`, `export-csv.php` - Product export scripts
|
||||
- `custom-cron.php`, `custom-script.php` - Custom cron/automation
|
||||
- `google-merchant_id-1.xml` - Google Merchant feed
|
||||
|
||||
## Custom Modules (developed in-house)
|
||||
- `customfeaturetab` - Custom Feature Tab with DB integration and AJAX
|
||||
- `dw_promocyjne_produkty` - Promotional products
|
||||
- `dw_promowane_produkty` - Promoted products
|
||||
- `addcolumninlist` - Extra column in product list (BO)
|
||||
- `AddOrderExtraFields` - Extra fields on orders
|
||||
- `ordersextracolumns` - Extra columns in order list
|
||||
- `sposoby_dostawy` - Delivery methods customization
|
||||
|
||||
## Override System
|
||||
Active overrides in `override/`:
|
||||
- Classes: Product, Combination, Dispatcher, Hook, Link, Media, FrontController, Order, OrderCarrier, OrderHistory, OrderInvoice, OrderPayment
|
||||
- Controllers (front): Category, Cms, Manufacturer, Order, Product, Supplier
|
||||
39
.serena/memories/style_and_conventions.md
Normal file
39
.serena/memories/style_and_conventions.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Code Style and Conventions
|
||||
|
||||
## General
|
||||
- **Language**: PHP (PrestaShop conventions)
|
||||
- **Comments/Notes**: Often in Polish (this is a Polish project)
|
||||
- **No strict linting** - no PHPStan/Psalm/PHP-CS-Fixer configured for the project
|
||||
|
||||
## PrestaShop Module Conventions
|
||||
- Module class extends `Module`
|
||||
- Module file named same as module folder (e.g., `customfeaturetab/customfeaturetab.php`)
|
||||
- Hooks: `hookDisplay*`, `hookAction*` methods
|
||||
- Templates: Smarty `.tpl` files in `views/templates/`
|
||||
- Admin controllers in `controllers/admin/`
|
||||
- Front controllers in `controllers/front/`
|
||||
|
||||
## PrestaShop Override Conventions
|
||||
- Override classes extend the original class
|
||||
- Place in `override/classes/` or `override/controllers/`
|
||||
- Must clear cache after adding overrides
|
||||
|
||||
## Custom Scripts
|
||||
- Root-level PHP scripts include PrestaShop config via:
|
||||
```php
|
||||
include(dirname(__FILE__).'/config/config.inc.php');
|
||||
include(dirname(__FILE__).'/init.php');
|
||||
```
|
||||
- Use `Tools::getValue()` for GET/POST parameters
|
||||
- Use PrestaShop's `Db::getInstance()` for database queries
|
||||
|
||||
## Naming
|
||||
- Module names: lowercase, no spaces (e.g., `customfeaturetab`)
|
||||
- Database tables: `ps_` prefix (PrestaShop convention)
|
||||
- Class names: PascalCase
|
||||
- Variables/methods: camelCase (PrestaShop convention)
|
||||
|
||||
## Theme
|
||||
- Active theme: `InterBlue` (customized classic theme)
|
||||
- Templates: Smarty `.tpl` files
|
||||
- Assets in `themes/InterBlue/assets/`
|
||||
34
.serena/memories/suggested_commands.md
Normal file
34
.serena/memories/suggested_commands.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Suggested Commands
|
||||
|
||||
## System Commands (Windows with Git Bash)
|
||||
- `git` - Version control
|
||||
- `ls` / `dir` - List files
|
||||
- `cd` - Change directory
|
||||
- `grep` / `findstr` - Search in files
|
||||
- `find` (Git Bash) - Find files
|
||||
- `cat` - View file contents
|
||||
|
||||
## PrestaShop CLI
|
||||
- `php bin/console` - Symfony console (PrestaShop 1.7+)
|
||||
- `php bin/console cache:clear` - Clear Symfony cache
|
||||
- `php bin/console debug:router` - List routes
|
||||
|
||||
## Cache Management
|
||||
- Clear PrestaShop cache: Delete contents of `var/cache/` (prod & dev)
|
||||
- In admin panel: Advanced Parameters > Performance > Clear cache
|
||||
|
||||
## Development
|
||||
- No composer.json in repo root (PrestaShop modules may have their own)
|
||||
- No automated tests configured in this project
|
||||
- No linter/formatter configured
|
||||
- FTP sync configured via `.vscode/ftp-kr.json` (deploy via FTP)
|
||||
|
||||
## Deployment
|
||||
- Code is deployed via FTP (VS Code ftp-kr extension)
|
||||
- No CI/CD pipeline configured
|
||||
|
||||
## Custom Scripts
|
||||
- `php import-products.php?add=true` - Import new products from Sollux XML
|
||||
- `php import-products.php?update=true` - Update existing products
|
||||
- `php export.php` - Export products
|
||||
- `php custom-cron.php` - Run custom cron tasks
|
||||
29
.serena/memories/task_completion_checklist.md
Normal file
29
.serena/memories/task_completion_checklist.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Task Completion Checklist
|
||||
|
||||
When a task is completed, follow these steps:
|
||||
|
||||
## 1. Code Quality
|
||||
- [ ] Code follows PrestaShop conventions (camelCase, Module class structure)
|
||||
- [ ] No hardcoded values where configuration should be used
|
||||
- [ ] SQL queries use PrestaShop's `Db` class with proper escaping (`pSQL()`, `(int)`)
|
||||
- [ ] Comments in Polish or English (match surrounding code)
|
||||
|
||||
## 2. Cache
|
||||
- [ ] If overrides were added/changed: remind user to clear PrestaShop cache
|
||||
- [ ] If Smarty templates changed: cache clear may be needed
|
||||
|
||||
## 3. Deployment
|
||||
- [ ] Files ready to be synced via FTP (ftp-kr)
|
||||
- [ ] No sensitive data (passwords, API keys) committed
|
||||
|
||||
## 4. Git
|
||||
- [ ] Changes committed with descriptive message
|
||||
- [ ] No unnecessary files staged (.vscode cache files excluded)
|
||||
|
||||
## 5. Testing
|
||||
- [ ] No automated tests in this project - manual testing required
|
||||
- [ ] Remind user to test in browser after FTP sync
|
||||
|
||||
## Notes
|
||||
- Admin panel folder: `admin658c34/` (obfuscated name)
|
||||
- empikmarketplace module can override product list view in BO (see NOTATKI.md)
|
||||
126
.serena/project.yml
Normal file
126
.serena/project.yml
Normal file
@@ -0,0 +1,126 @@
|
||||
# the name by which the project can be referenced within Serena
|
||||
project_name: "interblue.pl"
|
||||
|
||||
|
||||
# list of languages for which language servers are started; choose from:
|
||||
# al bash clojure cpp csharp
|
||||
# csharp_omnisharp dart elixir elm erlang
|
||||
# fortran fsharp go groovy haskell
|
||||
# java julia kotlin lua markdown
|
||||
# matlab nix pascal perl php
|
||||
# php_phpactor powershell python python_jedi r
|
||||
# rego ruby ruby_solargraph rust scala
|
||||
# swift terraform toml typescript typescript_vts
|
||||
# vue yaml zig
|
||||
# (This list may be outdated. For the current list, see values of Language enum here:
|
||||
# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py
|
||||
# For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
|
||||
# Note:
|
||||
# - For C, use cpp
|
||||
# - For JavaScript, use typescript
|
||||
# - For Free Pascal/Lazarus, use pascal
|
||||
# Special requirements:
|
||||
# Some languages require additional setup/installations.
|
||||
# See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers
|
||||
# When using multiple languages, the first language server that supports a given file will be used for that file.
|
||||
# The first language is the default language and the respective language server will be used as a fallback.
|
||||
# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
|
||||
languages:
|
||||
- php
|
||||
|
||||
# the encoding used by text files in the project
|
||||
# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
|
||||
encoding: "utf-8"
|
||||
|
||||
# The language backend to use for this project.
|
||||
# If not set, the global setting from serena_config.yml is used.
|
||||
# Valid values: LSP, JetBrains
|
||||
# Note: the backend is fixed at startup. If a project with a different backend
|
||||
# is activated post-init, an error will be returned.
|
||||
language_backend:
|
||||
|
||||
# whether to use project's .gitignore files to ignore files
|
||||
ignore_all_files_in_gitignore: true
|
||||
|
||||
# list of additional paths to ignore in this project.
|
||||
# Same syntax as gitignore, so you can use * and **.
|
||||
# Note: global ignored_paths from serena_config.yml are also applied additively.
|
||||
ignored_paths: []
|
||||
|
||||
# whether the project is in read-only mode
|
||||
# If set to true, all editing tools will be disabled and attempts to use them will result in an error
|
||||
# Added on 2025-04-18
|
||||
read_only: false
|
||||
|
||||
# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details.
|
||||
# Below is the complete list of tools for convenience.
|
||||
# To make sure you have the latest list of tools, and to view their descriptions,
|
||||
# execute `uv run scripts/print_tool_overview.py`.
|
||||
#
|
||||
# * `activate_project`: Activates a project by name.
|
||||
# * `check_onboarding_performed`: Checks whether project onboarding was already performed.
|
||||
# * `create_text_file`: Creates/overwrites a file in the project directory.
|
||||
# * `delete_lines`: Deletes a range of lines within a file.
|
||||
# * `delete_memory`: Deletes a memory from Serena's project-specific memory store.
|
||||
# * `execute_shell_command`: Executes a shell command.
|
||||
# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced.
|
||||
# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type).
|
||||
# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type).
|
||||
# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.
|
||||
# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
|
||||
# * `initial_instructions`: Gets the initial instructions for the current project.
|
||||
# Should only be used in settings where the system prompt cannot be set,
|
||||
# e.g. in clients you have no control over, like Claude Desktop.
|
||||
# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
|
||||
# * `insert_at_line`: Inserts content at a given line in a file.
|
||||
# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
|
||||
# * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
|
||||
# * `list_memories`: Lists memories in Serena's project-specific memory store.
|
||||
# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).
|
||||
# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context).
|
||||
# * `read_file`: Reads a file within the project directory.
|
||||
# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store.
|
||||
# * `remove_project`: Removes a project from the Serena configuration.
|
||||
# * `replace_lines`: Replaces a range of lines within a file with new content.
|
||||
# * `replace_symbol_body`: Replaces the full definition of a symbol.
|
||||
# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen.
|
||||
# * `search_for_pattern`: Performs a search for a pattern in the project.
|
||||
# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase.
|
||||
# * `switch_modes`: Activates modes by providing a list of their names
|
||||
# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information.
|
||||
# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task.
|
||||
# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed.
|
||||
# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store.
|
||||
excluded_tools: []
|
||||
|
||||
# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default)
|
||||
included_optional_tools: []
|
||||
|
||||
# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
|
||||
# This cannot be combined with non-empty excluded_tools or included_optional_tools.
|
||||
fixed_tools: []
|
||||
|
||||
# list of mode names to that are always to be included in the set of active modes
|
||||
# The full set of modes to be activated is base_modes + default_modes.
|
||||
# If the setting is undefined, the base_modes from the global configuration (serena_config.yml) apply.
|
||||
# Otherwise, this setting overrides the global configuration.
|
||||
# Set this to [] to disable base modes for this project.
|
||||
# Set this to a list of mode names to always include the respective modes for this project.
|
||||
base_modes:
|
||||
|
||||
# list of mode names that are to be activated by default.
|
||||
# The full set of modes to be activated is base_modes + default_modes.
|
||||
# If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply.
|
||||
# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
|
||||
# This setting can, in turn, be overridden by CLI parameters (--mode).
|
||||
default_modes:
|
||||
|
||||
# initial prompt for the project. It will always be given to the LLM upon activating the project
|
||||
# (contrary to the memories, which are loaded on demand).
|
||||
initial_prompt: ""
|
||||
|
||||
# time budget (seconds) per tool call for the retrieval of additional symbol information
|
||||
# such as docstrings or parameter information.
|
||||
# This overrides the corresponding setting in the global configuration; see the documentation there.
|
||||
# If null or missing, use the setting from the global configuration.
|
||||
symbol_info_budget:
|
||||
3
.vscode/ftp-kr.json
vendored
3
.vscode/ftp-kr.json
vendored
@@ -4,7 +4,7 @@
|
||||
"password": "Project&*Pro12**!",
|
||||
"remotePath": "/",
|
||||
"protocol": "ftp",
|
||||
"port": 0,
|
||||
"port": 21,
|
||||
"fileNameEncoding": "utf8",
|
||||
"autoUpload": true,
|
||||
"autoDelete": false,
|
||||
@@ -13,6 +13,7 @@
|
||||
"ignore": [
|
||||
".git",
|
||||
"/.vscode",
|
||||
"/.serena",
|
||||
"/.claude"
|
||||
]
|
||||
}
|
||||
16
.vscode/ftp-kr.sync.cache.json
vendored
16
.vscode/ftp-kr.sync.cache.json
vendored
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"ftp://ftp.interblue.pl@project-pro@interblue.pl": {
|
||||
"ftp://ftp.interblue.pl:21@project-pro@interblue.pl": {
|
||||
"1_index_sitemap.xml": {
|
||||
"type": "-",
|
||||
"size": 355,
|
||||
@@ -117,15 +117,15 @@
|
||||
},
|
||||
"google-merchant_id-1.xml": {
|
||||
"type": "-",
|
||||
"size": 18328944,
|
||||
"size": 18278915,
|
||||
"lmtime": 0,
|
||||
"modified": true
|
||||
"modified": false
|
||||
},
|
||||
".htaccess": {
|
||||
"type": "-",
|
||||
"size": 87379,
|
||||
"lmtime": 0,
|
||||
"modified": true
|
||||
"modified": false
|
||||
},
|
||||
".htaccess.2025-10-16-1760598489": {
|
||||
"type": "-",
|
||||
@@ -208,7 +208,7 @@
|
||||
},
|
||||
"info.php": {
|
||||
"type": "-",
|
||||
"size": 3298,
|
||||
"size": 3309,
|
||||
"lmtime": 0,
|
||||
"modified": false
|
||||
},
|
||||
@@ -253,6 +253,12 @@
|
||||
"modified": false
|
||||
},
|
||||
"modules": {},
|
||||
"NOTATKI.md": {
|
||||
"type": "-",
|
||||
"size": 467,
|
||||
"lmtime": 0,
|
||||
"modified": false
|
||||
},
|
||||
"Odstąpienie_od_umowy_informacja.pdf": {
|
||||
"type": "-",
|
||||
"size": 271044,
|
||||
|
||||
1
info.php
1
info.php
@@ -1,4 +1,5 @@
|
||||
<?
|
||||
die('a');
|
||||
include 'medoo.php';
|
||||
$mdb = new medoo( [
|
||||
'database_type' => 'mysql',
|
||||
|
||||
BIN
modules/dpdpoland/AdminOrdersOverride.gif
Normal file
BIN
modules/dpdpoland/AdminOrdersOverride.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 265 B |
241
modules/dpdpoland/AdminOrdersOverride.php
Normal file
241
modules/dpdpoland/AdminOrdersOverride.php
Normal file
@@ -0,0 +1,241 @@
|
||||
<?php
|
||||
|
||||
require_once(_PS_ADMIN_DIR_.'/tabs/AdminOrders.php');
|
||||
|
||||
/**
|
||||
* Class AdminOrdersOverride used to make modifications in orders list on PS 1.4
|
||||
*/
|
||||
class AdminOrdersOverride extends AdminOrders
|
||||
{
|
||||
/**
|
||||
* AdminOrdersOverride class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->delete = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays additional buttons in orders list
|
||||
*
|
||||
* @param null|string $token BackOffice token
|
||||
*/
|
||||
public function displayListFooter($token = null)
|
||||
{
|
||||
echo '</table>';
|
||||
echo '<p>
|
||||
<input type="submit" class="button" name="submitBulkprint_a4order" value="'.$this->l('Print A4 format labels').'" onclick="return confirm(\''.$this->l('Print A4 format labels', __CLASS__, true, false).'\');" />
|
||||
<input type="submit" class="button" name="submitBulkprint_labelorder" value="'.$this->l('Print A4 format labels').'" onclick="return confirm(\''.$this->l('Print A4 format labels', __CLASS__, true, false).'\');" />
|
||||
</p>';
|
||||
|
||||
echo '
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="token" value="'.($token ? $token : $this->token).'" />
|
||||
</form>';
|
||||
if (isset($this->_includeTab) && count($this->_includeTab))
|
||||
echo '<br /><br />';
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays orders list
|
||||
*
|
||||
* @param null|string $token BackOffice token
|
||||
*/
|
||||
public function displayListContent($token = null)
|
||||
{
|
||||
global $currentIndex, $cookie;
|
||||
$currency = new Currency(_PS_CURRENCY_DEFAULT_);
|
||||
|
||||
$id_category = 1; // default categ
|
||||
|
||||
$irow = 0;
|
||||
if ($this->_list AND isset($this->fieldsDisplay['position']))
|
||||
{
|
||||
$positions = array_map(create_function('$elem', 'return (int)($elem[\'position\']);'), $this->_list);
|
||||
sort($positions);
|
||||
}
|
||||
if ($this->_list)
|
||||
{
|
||||
$isCms = false;
|
||||
|
||||
Module::getInstanceByName('dpdpoland');
|
||||
$exceptions = DpdPolandPackage::getLabelExceptions();
|
||||
|
||||
if (preg_match('/cms/Ui', $this->identifier))
|
||||
$isCms = true;
|
||||
$keyToGet = 'id_'.($isCms ? 'cms_' : '').'category'.(in_array($this->identifier, array('id_category', 'id_cms_category')) ? '_parent' : '');
|
||||
foreach ($this->_list as $tr)
|
||||
{
|
||||
$id = $tr[$this->identifier];
|
||||
echo '<tr'.(array_key_exists($this->identifier,$this->identifiersDnd) ? ' id="tr_'.(($id_category = (int)(Tools::getValue('id_'.($isCms ? 'cms_' : '').'category', '1'))) ? $id_category : '').'_'.$id.'_'.$tr['position'].'"' : '').($irow++ % 2 ? ' class="alt_row"' : '').' '.((isset($tr['color']) AND $this->colorOnBackground) ? 'style="background-color: '.$tr['color'].'"' : '').'>
|
||||
<td class="center">';
|
||||
if ($this->delete AND (!isset($this->_listSkipDelete) OR !in_array($id, $this->_listSkipDelete)))
|
||||
echo '<input type="checkbox" name="'.$this->table.'Box[]" value="'.$id.'" class="noborder" />';
|
||||
echo '</td>';
|
||||
foreach ($this->fieldsDisplay as $key => $params)
|
||||
{
|
||||
$tmp = explode('!', $key);
|
||||
$key = isset($tmp[1]) ? $tmp[1] : $tmp[0];
|
||||
echo '
|
||||
<td '.(isset($params['position']) ? ' id="td_'.(isset($id_category) AND $id_category ? $id_category : 0).'_'.$id.'"' : '').' class="'.((!isset($this->noLink) OR !$this->noLink) ? 'pointer' : '').((isset($params['position']) AND $this->_orderBy == 'position')? ' dragHandle' : ''). (isset($params['align']) ? ' '.$params['align'] : '').'" ';
|
||||
if (!isset($params['position']) AND (!isset($this->noLink) OR !$this->noLink))
|
||||
echo ' onclick="document.location = \''.$currentIndex.'&'.$this->identifier.'='.$id.($this->view? '&view' : '&update').$this->table.'&token='.($token != null ? $token : $this->token).'\'">'.(isset($params['prefix']) ? $params['prefix'] : '');
|
||||
else
|
||||
echo '>';
|
||||
if (isset($params['active']) AND isset($tr[$key]))
|
||||
$this->_displayEnableLink($token, $id, $tr[$key], $params['active'], Tools::getValue('id_category'), Tools::getValue('id_product'));
|
||||
elseif (isset($params['activeVisu']) AND isset($tr[$key]))
|
||||
echo '<img src="../img/admin/'.($tr[$key] ? 'enabled.gif' : 'disabled.gif').'"
|
||||
alt="'.($tr[$key] ? $this->l('Enabled') : $this->l('Disabled')).'" title="'.($tr[$key] ? $this->l('Enabled') : $this->l('Disabled')).'" />';
|
||||
elseif (isset($params['position']))
|
||||
{
|
||||
if ($this->_orderBy == 'position' AND $this->_orderWay != 'DESC')
|
||||
{
|
||||
echo '<a'.(!($tr[$key] != $positions[sizeof($positions) - 1]) ? ' style="display: none;"' : '').' href="'.$currentIndex.
|
||||
'&'.$keyToGet.'='.(int)($id_category).'&'.$this->identifiersDnd[$this->identifier].'='.$id.'
|
||||
&way=1&position='.(int)($tr['position'] + 1).'&token='.($token != null ? $token : $this->token).'">
|
||||
<img src="../img/admin/'.($this->_orderWay == 'ASC' ? 'down' : 'up').'.gif"
|
||||
alt="'.$this->l('Down').'" title="'.$this->l('Down').'" /></a>';
|
||||
|
||||
echo '<a'.(!($tr[$key] != $positions[0]) ? ' style="display: none;"' : '').' href="'.$currentIndex.
|
||||
'&'.$keyToGet.'='.(int)($id_category).'&'.$this->identifiersDnd[$this->identifier].'='.$id.'
|
||||
&way=0&position='.(int)($tr['position'] - 1).'&token='.($token != null ? $token : $this->token).'">
|
||||
<img src="../img/admin/'.($this->_orderWay == 'ASC' ? 'up' : 'down').'.gif"
|
||||
alt="'.$this->l('Up').'" title="'.$this->l('Up').'" /></a>'; }
|
||||
else
|
||||
echo (int)($tr[$key] + 1);
|
||||
}
|
||||
elseif (isset($params['image']))
|
||||
{
|
||||
// item_id is the product id in a product image context, else it is the image id.
|
||||
$item_id = isset($params['image_id']) ? $tr[$params['image_id']] : $id;
|
||||
// If it's a product image
|
||||
if (isset($tr['id_image']))
|
||||
{
|
||||
$image = new Image((int)$tr['id_image']);
|
||||
$path_to_image = _PS_IMG_DIR_.$params['image'].'/'.$image->getExistingImgPath().'.'.$this->imageType;
|
||||
}else
|
||||
$path_to_image = _PS_IMG_DIR_.$params['image'].'/'.$item_id.(isset($tr['id_image']) ? '-'.(int)($tr['id_image']) : '').'.'.$this->imageType;
|
||||
|
||||
echo cacheImage($path_to_image, $this->table.'_mini_'.$item_id.'.'.$this->imageType, 45, $this->imageType);
|
||||
}
|
||||
elseif (isset($params['icon']) AND (isset($params['icon'][$tr[$key]]) OR isset($params['icon']['default'])))
|
||||
echo '<img src="../img/admin/'.(isset($params['icon'][$tr[$key]]) ? $params['icon'][$tr[$key]] : $params['icon']['default'].'" alt="'.$tr[$key]).'" title="'.$tr[$key].'" />';
|
||||
elseif (isset($params['price']))
|
||||
echo Tools::displayPrice($tr[$key], (isset($params['currency']) ? Currency::getCurrencyInstance((int)($tr['id_currency'])) : $currency), false);
|
||||
elseif (isset($params['float']))
|
||||
echo rtrim(rtrim($tr[$key], '0'), '.');
|
||||
elseif (isset($params['type']) AND $params['type'] == 'date')
|
||||
echo Tools::displayDate($tr[$key], (int)$cookie->id_lang);
|
||||
elseif (isset($params['type']) AND $params['type'] == 'datetime')
|
||||
echo Tools::displayDate($tr[$key], (int)$cookie->id_lang, true);
|
||||
elseif (isset($tr[$key]))
|
||||
{
|
||||
$echo = ($key == 'price' ? round($tr[$key], 2) : isset($params['maxlength']) ? Tools::substr($tr[$key], 0, $params['maxlength']).'...' : $tr[$key]);
|
||||
echo isset($params['callback']) ? call_user_func_array(array($this->className, $params['callback']), array($echo, $tr)) : $echo;
|
||||
}
|
||||
else
|
||||
echo '--';
|
||||
|
||||
echo (isset($params['suffix']) ? $params['suffix'] : '').
|
||||
'</td>';
|
||||
}
|
||||
|
||||
if ($this->edit OR $this->delete OR ($this->view AND $this->view !== 'noActionColumn'))
|
||||
{
|
||||
echo '<td class="center" style="white-space: nowrap;">';
|
||||
if ($this->view)
|
||||
$this->_displayViewLink($token, $id);
|
||||
|
||||
if (!in_array($id, $exceptions)) {
|
||||
$this->_displayPrinta4Link($token, $id);
|
||||
$this->_displayPrintlabelLink($token, $id);
|
||||
}
|
||||
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays link used to print A4 format label
|
||||
*
|
||||
* @param string $token BackOffice token
|
||||
* @param int $id Order identifier
|
||||
*/
|
||||
private function _displayPrinta4Link($token, $id)
|
||||
{
|
||||
global $currentIndex;
|
||||
|
||||
$_cacheLang['printa4'] = $this->l('Print A4 format label');
|
||||
Module::getInstanceByName('dpdpoland');
|
||||
|
||||
echo '
|
||||
<a href="'.$currentIndex.'&'.$this->identifier.'='.$id.'&printa4formatlabel&token='.($token ? $token : $this->token).'">
|
||||
<img src="'._DPDPOLAND_IMG_URI_.'download.gif" alt="'.$_cacheLang['printa4'].'" title="'.$_cacheLang['printa4'].'" /></a>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays link used to print label format label
|
||||
*
|
||||
* @param string $token BackOffice token
|
||||
* @param int $id Order identifier
|
||||
*/
|
||||
private function _displayPrintlabelLink($token, $id)
|
||||
{
|
||||
global $currentIndex;
|
||||
|
||||
$_cacheLang['printlabel'] = $this->l('Print label format label');
|
||||
Module::getInstanceByName('dpdpoland');
|
||||
|
||||
echo '
|
||||
<a href="'.$currentIndex.'&'.$this->identifier.'='.$id.'&printlabelformatlabel&token='.($token ? $token : $this->token).'">
|
||||
<img src="'._DPDPOLAND_IMG_URI_.'download.gif" alt="'.$_cacheLang['printlabel'].'" title="'.$_cacheLang['printlabel'].'" /></a>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Main controller (tab) function used to make actions in page
|
||||
*/
|
||||
public function postProcess()
|
||||
{
|
||||
parent::postProcess();
|
||||
|
||||
if (Tools::isSubmit('submitBulkprint_a4order')) {
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if ($errors = $module_instance->printMultipleLabels(DpdPolandConfiguration::PRINTOUT_FORMAT_A4)) {
|
||||
$this->_errors = $errors;
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('submitBulkprint_labelorder')) {
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if ($errors = $module_instance->printMultipleLabels(DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL)) {
|
||||
$this->_errors = $errors;
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('printa4formatlabel')) {
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if ($error = $module_instance->printSingleLabel(DpdPolandConfiguration::PRINTOUT_FORMAT_A4)) {
|
||||
$this->_errors[] = $error;
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('printlabelformatlabel')) {
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if ($error = $module_instance->printSingleLabel(DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL)) {
|
||||
$this->_errors[] = $error;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
347
modules/dpdpoland/backward_compatibility/Context.php
Normal file
347
modules/dpdpoland/backward_compatibility/Context.php
Normal file
@@ -0,0 +1,347 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 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-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
if ((bool)Configuration::get('PS_MOBILE_DEVICE'))
|
||||
require_once(_PS_MODULE_DIR_ . '/mobile_theme/Mobile_Detect.php');
|
||||
|
||||
// Retro 1.3, 'class_exists' cause problem with autoload...
|
||||
if (version_compare(_PS_VERSION_, '1.4', '<'))
|
||||
{
|
||||
// Not exist for 1.3
|
||||
class Shop extends ObjectModel
|
||||
{
|
||||
public $id = 1;
|
||||
public $id_shop_group = 1;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public static function getShops()
|
||||
{
|
||||
return array(
|
||||
array('id_shop' => 1, 'name' => 'Default shop')
|
||||
);
|
||||
}
|
||||
|
||||
public static function getCurrentShop()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
class Logger
|
||||
{
|
||||
public static function AddLog($message, $severity = 2)
|
||||
{
|
||||
$fp = fopen(dirname(__FILE__).'/../logs.txt', 'a+');
|
||||
fwrite($fp, '['.(int)$severity.'] '.Tools::safeOutput($message));
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Not exist for 1.3 and 1.4
|
||||
class Context
|
||||
{
|
||||
/**
|
||||
* @var Context
|
||||
*/
|
||||
protected static $instance;
|
||||
|
||||
/**
|
||||
* @var Cart
|
||||
*/
|
||||
public $cart;
|
||||
|
||||
/**
|
||||
* @var Customer
|
||||
*/
|
||||
public $customer;
|
||||
|
||||
/**
|
||||
* @var Cookie
|
||||
*/
|
||||
public $cookie;
|
||||
|
||||
/**
|
||||
* @var Link
|
||||
*/
|
||||
public $link;
|
||||
|
||||
/**
|
||||
* @var Country
|
||||
*/
|
||||
public $country;
|
||||
|
||||
/**
|
||||
* @var Employee
|
||||
*/
|
||||
public $employee;
|
||||
|
||||
/**
|
||||
* @var Controller
|
||||
*/
|
||||
public $controller;
|
||||
|
||||
/**
|
||||
* @var Language
|
||||
*/
|
||||
public $language;
|
||||
|
||||
/**
|
||||
* @var Currency
|
||||
*/
|
||||
public $currency;
|
||||
|
||||
/**
|
||||
* @var AdminTab
|
||||
*/
|
||||
public $tab;
|
||||
|
||||
/**
|
||||
* @var Shop
|
||||
*/
|
||||
public $shop;
|
||||
|
||||
/**
|
||||
* @var Smarty
|
||||
*/
|
||||
public $smarty;
|
||||
|
||||
/**
|
||||
* @ var Mobile Detect
|
||||
*/
|
||||
public $mobile_detect;
|
||||
|
||||
/**
|
||||
* @var boolean|string mobile device of the customer
|
||||
*/
|
||||
protected $mobile_device;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
global $cookie, $cart, $smarty, $link;
|
||||
|
||||
$this->tab = null;
|
||||
|
||||
$this->cookie = $cookie;
|
||||
$this->cart = $cart;
|
||||
$this->smarty = $smarty;
|
||||
$this->link = $link;
|
||||
|
||||
$this->controller = new ControllerBackwardModule();
|
||||
if (is_object($cookie))
|
||||
{
|
||||
$this->currency = new Currency((int)$cookie->id_currency);
|
||||
$this->language = new Language((int)$cookie->id_lang);
|
||||
$this->country = new Country((int)$cookie->id_country);
|
||||
$this->customer = new CustomerBackwardModule((int)$cookie->id_customer);
|
||||
$this->employee = new Employee((int)$cookie->id_employee);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->currency = null;
|
||||
$this->language = null;
|
||||
$this->country = null;
|
||||
$this->customer = null;
|
||||
$this->employee = null;
|
||||
}
|
||||
|
||||
$this->shop = new ShopBackwardModule();
|
||||
|
||||
if ((bool)Configuration::get('PS_MOBILE_DEVICE'))
|
||||
$this->mobile_detect = new Mobile_Detect();
|
||||
}
|
||||
|
||||
public function getMobileDevice()
|
||||
{
|
||||
if (is_null($this->mobile_device))
|
||||
{
|
||||
$this->mobile_device = false;
|
||||
if ($this->checkMobileContext())
|
||||
{
|
||||
switch ((int)Configuration::get('PS_MOBILE_DEVICE'))
|
||||
{
|
||||
case 0: // Only for mobile device
|
||||
if ($this->mobile_detect->isMobile() && !$this->mobile_detect->isTablet())
|
||||
$this->mobile_device = true;
|
||||
break;
|
||||
case 1: // Only for touchpads
|
||||
if ($this->mobile_detect->isTablet() && !$this->mobile_detect->isMobile())
|
||||
$this->mobile_device = true;
|
||||
break;
|
||||
case 2: // For touchpad or mobile devices
|
||||
if ($this->mobile_detect->isMobile() || $this->mobile_detect->isTablet())
|
||||
$this->mobile_device = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this->mobile_device;
|
||||
}
|
||||
|
||||
protected function checkMobileContext()
|
||||
{
|
||||
return isset($_SERVER['HTTP_USER_AGENT'])
|
||||
&& (bool)Configuration::get('PS_MOBILE_DEVICE')
|
||||
&& !Context::getContext()->cookie->no_mobile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a singleton context
|
||||
*
|
||||
* @return Context
|
||||
*/
|
||||
public static function getContext()
|
||||
{
|
||||
if (!isset(self::$instance))
|
||||
self::$instance = new Context();
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Clone current context
|
||||
*
|
||||
* @return Context
|
||||
*/
|
||||
public function cloneContext()
|
||||
{
|
||||
return clone($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int Shop context type (Shop::CONTEXT_ALL, etc.)
|
||||
*/
|
||||
public static function shop()
|
||||
{
|
||||
if (!self::$instance->shop->getContextType())
|
||||
return ShopBackwardModule::CONTEXT_ALL;
|
||||
return self::$instance->shop->getContextType();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Shop for Backward compatibility
|
||||
*/
|
||||
class ShopBackwardModule extends Shop
|
||||
{
|
||||
const CONTEXT_ALL = 1;
|
||||
|
||||
public $id = 1;
|
||||
public $id_shop_group = 1;
|
||||
|
||||
|
||||
public function getContextType()
|
||||
{
|
||||
return ShopBackwardModule::CONTEXT_ALL;
|
||||
}
|
||||
|
||||
// Simulate shop for 1.3 / 1.4
|
||||
public function getID()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get shop theme name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getTheme()
|
||||
{
|
||||
return _THEME_NAME_;
|
||||
}
|
||||
|
||||
public function isFeatureActive()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Controller for a Backward compatibility
|
||||
* Allow to use method declared in 1.5
|
||||
*/
|
||||
class ControllerBackwardModule
|
||||
{
|
||||
/**
|
||||
* @param $js_uri
|
||||
* @return void
|
||||
*/
|
||||
public function addJS($js_uri)
|
||||
{
|
||||
Tools::addJS($js_uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $css_uri
|
||||
* @param string $css_media_type
|
||||
* @return void
|
||||
*/
|
||||
public function addCSS($css_uri, $css_media_type = 'all')
|
||||
{
|
||||
Tools::addCSS($css_uri, $css_media_type);
|
||||
}
|
||||
|
||||
public function addJquery()
|
||||
{
|
||||
if (_PS_VERSION_ < '1.5')
|
||||
$this->addJS(_PS_JS_DIR_.'jquery/jquery-1.4.4.min.js');
|
||||
elseif (_PS_VERSION_ >= '1.5')
|
||||
$this->addJS(_PS_JS_DIR_.'jquery/jquery-1.7.2.min.js');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Customer for a Backward compatibility
|
||||
* Allow to use method declared in 1.5
|
||||
*/
|
||||
class CustomerBackwardModule extends Customer
|
||||
{
|
||||
public $logged = false;
|
||||
/**
|
||||
* Check customer informations and return customer validity
|
||||
*
|
||||
* @since 1.5.0
|
||||
* @param boolean $with_guest
|
||||
* @return boolean customer validity
|
||||
*/
|
||||
public function isLogged($with_guest = false)
|
||||
{
|
||||
if (!$with_guest && $this->is_guest == 1)
|
||||
return false;
|
||||
|
||||
/* Customer is valid only if it can be load and if object password is the same as database one */
|
||||
if ($this->logged == 1 && $this->id && Validate::isUnsignedId($this->id) && Customer::checkPassword($this->id, $this->passwd))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
48
modules/dpdpoland/backward_compatibility/Display.php
Normal file
48
modules/dpdpoland/backward_compatibility/Display.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 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-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class allow to display tpl on the FO
|
||||
*/
|
||||
class BWDisplay extends FrontController
|
||||
{
|
||||
// Assign template, on 1.4 create it else assign for 1.5
|
||||
public function setTemplate($template)
|
||||
{
|
||||
if (_PS_VERSION_ >= '1.5')
|
||||
parent::setTemplate($template);
|
||||
else
|
||||
$this->template = $template;
|
||||
}
|
||||
|
||||
// Overload displayContent for 1.4
|
||||
public function displayContent()
|
||||
{
|
||||
parent::displayContent();
|
||||
|
||||
echo Context::getContext()->smarty->fetch($this->template);
|
||||
}
|
||||
}
|
||||
1
modules/dpdpoland/backward_compatibility/backward.ini
Normal file
1
modules/dpdpoland/backward_compatibility/backward.ini
Normal file
@@ -0,0 +1 @@
|
||||
version = 0.4
|
||||
55
modules/dpdpoland/backward_compatibility/backward.php
Normal file
55
modules/dpdpoland/backward_compatibility/backward.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 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-2014 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
/**
|
||||
* Backward function compatibility
|
||||
* Need to be called for each module in 1.4
|
||||
*/
|
||||
|
||||
// Get out if the context is already defined
|
||||
if (!in_array('Context', get_declared_classes()))
|
||||
require_once(dirname(__FILE__).'/Context.php');
|
||||
|
||||
// Get out if the Display (BWDisplay to avoid any conflict)) is already defined
|
||||
if (!in_array('BWDisplay', get_declared_classes()))
|
||||
require_once(dirname(__FILE__).'/Display.php');
|
||||
|
||||
// If not under an object we don't have to set the context
|
||||
if (!isset($this))
|
||||
return;
|
||||
else if (isset($this->context))
|
||||
{
|
||||
// If we are under an 1.5 version and backoffice, we have to set some backward variable
|
||||
if (_PS_VERSION_ >= '1.5' && isset($this->context->employee->id) && $this->context->employee->id && isset(AdminController::$currentIndex) && !empty(AdminController::$currentIndex))
|
||||
{
|
||||
global $currentIndex;
|
||||
$currentIndex = AdminController::$currentIndex;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
$this->context = Context::getContext();
|
||||
$this->smarty = $this->context->smarty;
|
||||
35
modules/dpdpoland/backward_compatibility/index.php
Normal file
35
modules/dpdpoland/backward_compatibility/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2014 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-2014 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;
|
||||
202
modules/dpdpoland/changelog.txt
Normal file
202
modules/dpdpoland/changelog.txt
Normal file
@@ -0,0 +1,202 @@
|
||||
# 4.5.0
|
||||
Added:
|
||||
- Install script for Prestashop 1.7
|
||||
|
||||
# 4.4.0
|
||||
Added:
|
||||
- SwipBox shipping method
|
||||
|
||||
# 4.3.0
|
||||
Added:
|
||||
- Support for Easycheckout
|
||||
- Support for One Page Checkout - PrestaTeam - Prestashop 1.7
|
||||
- Support for One Page Checkout - PrestaTeam - Prestashop 8
|
||||
- Support for The Checkout - PrestaSmart
|
||||
- Support for One Page Checkout - PrestaSmart
|
||||
|
||||
# 4.2.0
|
||||
Added:
|
||||
- Support for international Pickup Points
|
||||
Changed:
|
||||
- Pickup Point address in BO
|
||||
- Error messages
|
||||
|
||||
# 4.1.0
|
||||
Added:
|
||||
- Support for save pickup number as Guest
|
||||
- Iframe allow geolocation
|
||||
Fixed:
|
||||
- Load iframe for SuperCheckout
|
||||
- String escape in admin order
|
||||
- Get country for shipping cost external
|
||||
|
||||
# 4.0.1
|
||||
Modify:
|
||||
- Install script
|
||||
|
||||
# 4.0.0
|
||||
Added:
|
||||
- Support for external modules
|
||||
- Support for SuperCheckout
|
||||
|
||||
# 3.0.0
|
||||
Modify:
|
||||
- DPD Pickup maps select from popup (prestashop 1.7 and 8)
|
||||
|
||||
# 2.0.0
|
||||
Added:
|
||||
- Support for Prestashop 8
|
||||
|
||||
# 1.6.8
|
||||
Modify:
|
||||
- In transit email translate
|
||||
|
||||
# 1.6.7
|
||||
Modify:
|
||||
- Save the email address for the delivery address
|
||||
|
||||
Fixed:
|
||||
- Calculate the weight of shipping package
|
||||
- Grouping the contents of the shipping package
|
||||
|
||||
# 1.6.6
|
||||
Modify:
|
||||
- Receiver email address from shipping form when is filled and from customer when is empty
|
||||
|
||||
# 1.6.5
|
||||
Added:
|
||||
- Security
|
||||
|
||||
# 1.6.4
|
||||
Fixed:
|
||||
- Order button for PUDO shipping methods
|
||||
- Shipping method when free shipping for weight range
|
||||
- Order a courier - show range when available only one
|
||||
Modify:
|
||||
- Change search country ISO by country name without shop lang
|
||||
|
||||
# 1.6.3
|
||||
Modify:
|
||||
- DPD ADR service
|
||||
|
||||
# 1.6.2
|
||||
Added:
|
||||
- DPD Food service with limit date
|
||||
- DPD ADR service
|
||||
|
||||
# 1.6.1
|
||||
Fixed:
|
||||
- CSV: DPD Pickup with COD
|
||||
|
||||
# 1.6.0
|
||||
Added:
|
||||
- Additional products shipping cost
|
||||
- DPD Pickup with COD
|
||||
- DPD Pickup point in order page
|
||||
Changed:
|
||||
- Help pages
|
||||
- Shippings method logo
|
||||
- DPD Pickup translations
|
||||
Fixed:
|
||||
- Shipping method visibility when settlement by price
|
||||
- Compatibility shippings method on order page
|
||||
|
||||
# 1.5.1
|
||||
Added:
|
||||
- Default weight
|
||||
- Default printer type
|
||||
- DPD Service - DPD_SATURDAY
|
||||
- DPD Service - DPD_TODAY
|
||||
- DPD Service - DPD_FOOD
|
||||
- Parcel content source for Ref1, Ref2
|
||||
- Generate shipping from list on Prestashop 1.7
|
||||
- Generate labels from list on Prestashop 1.7
|
||||
- Pickup order with COD
|
||||
- Back office: Sort parcel list
|
||||
- Back office: Parcel list add fields
|
||||
Fixed:
|
||||
- MultiShop configuration
|
||||
- Visibility pickup map on order screen
|
||||
- Shipping method visibility
|
||||
- Generate shipping for many product
|
||||
- Remove parcel
|
||||
Changed:
|
||||
- Changed service WSDL generateSpedLabelsV4 to generateSpedLabelsV6
|
||||
- Grouping name for parcel content
|
||||
|
||||
# 1.4.5
|
||||
Added:
|
||||
- Text boxes for receiver address - order details
|
||||
- Modify email address
|
||||
- Addresses for guest account
|
||||
|
||||
# 1.4.4 [2021-02-28]
|
||||
Added:
|
||||
- Prestashop 1.7.7.X support
|
||||
- Duty service
|
||||
Changed:
|
||||
- New tracking URL
|
||||
- Retrieving a home or mobile phone number
|
||||
|
||||
# 1.4.3 [2020-12-06]
|
||||
Fixed:
|
||||
- Shipping price for selected currency
|
||||
|
||||
# 1.4.2 [2020-09-28]
|
||||
Fixed:
|
||||
- Print manifest with duplicated content
|
||||
|
||||
# 1.4.1 [2020-09-26]
|
||||
Changed:
|
||||
- Tracking URL
|
||||
Fixed:
|
||||
- Show addresses in admin order
|
||||
- Finish order without pudo premissions
|
||||
- Remove print_l for pickup order
|
||||
- Show pickup map for prestashop 1.6.X - One-page checkout
|
||||
|
||||
# 1.4.0 [2020-09-13]
|
||||
Added:
|
||||
- Pickup history
|
||||
- Ability to enable Error and Debug logs
|
||||
- Ability to disable sending an email with shipping number
|
||||
- Support for the {meta products} in the e-mail confirming the shipment
|
||||
- Adaptation to prestashop 1.7.6.X
|
||||
- Polish language translations
|
||||
Fixed:
|
||||
- Shipping price from csv price list
|
||||
- Possibility of marking the delivery for the selected country
|
||||
|
||||
# 1.3.0 [2019-10-20]
|
||||
Added:
|
||||
- Missing Polish translations
|
||||
- CLIENT PARAMETERS in "Arrange Pickup" tab
|
||||
Removed:
|
||||
- Printing labels from admin order list
|
||||
- Remove unused Customer FID
|
||||
Changed:
|
||||
- WSDL environment changed from text to list
|
||||
- Changed service WSDL generateSpedLabelsV1 to generateSpedLabelsV4
|
||||
- Changed service WSDL generateProtocolV1 to generateProtocolV2
|
||||
- Changed service WSDL packagesPickupCallV3 to packagesPickupCallV4
|
||||
- Changed licence information
|
||||
- Moved Master FID field
|
||||
- CLIENT PARAMETERS not required
|
||||
|
||||
# 1.2.8 [2019-03-13]
|
||||
Added:
|
||||
- DPD Next Day and DPD Express services
|
||||
Fixed:
|
||||
- Phone not saving when selecting pickup point carrier
|
||||
|
||||
# 1.2.4
|
||||
Fixed:
|
||||
- A problem where if home phone was empty but had spaces in string it would be displayed in address instead of mobile phone
|
||||
|
||||
_________________________________________________________________
|
||||
Added for new features.
|
||||
Changed for changes in existing functionality.
|
||||
Deprecated for once-stable features removed in upcoming releases.
|
||||
Removed for deprecated features removed in this release.
|
||||
Fixed for any bug fixes.
|
||||
Security to invite users to upgrade in case of vulnerabilities.
|
||||
280
modules/dpdpoland/classes/CSV.php
Normal file
280
modules/dpdpoland/classes/CSV.php
Normal file
@@ -0,0 +1,280 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class DpdPolandCSV Responsible for prices import management
|
||||
*/
|
||||
class DpdPolandCSV extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Shop ID
|
||||
*/
|
||||
public $id_shop;
|
||||
|
||||
/**
|
||||
* @var datetime Date when price rule was created
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when price rule was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var int CSV rule ID
|
||||
*/
|
||||
public $id_csv;
|
||||
|
||||
/**
|
||||
* @var string Country ISO code
|
||||
*/
|
||||
public $iso_country;
|
||||
|
||||
/**
|
||||
* @var float Price from which price rule is applied
|
||||
*/
|
||||
public $price_from;
|
||||
|
||||
/**
|
||||
* @var float Price to which price rule is applied
|
||||
*/
|
||||
public $price_to;
|
||||
|
||||
/**
|
||||
* @var float Weight from which price rule is applied
|
||||
*/
|
||||
public $weight_from;
|
||||
|
||||
/**
|
||||
* @var float Weight to which price rule is applied
|
||||
*/
|
||||
public $weight_to;
|
||||
|
||||
/**
|
||||
* @var float Shipment price
|
||||
*/
|
||||
public $parcel_price;
|
||||
|
||||
/**
|
||||
* @var int DPD service (carrier) ID
|
||||
*/
|
||||
public $id_carrier;
|
||||
|
||||
/**
|
||||
* @var float Additional COD carrier price
|
||||
*/
|
||||
public $cod_price;
|
||||
|
||||
/**
|
||||
* Country column number in CSV file
|
||||
*/
|
||||
const COLUMN_COUNTRY = 0;
|
||||
|
||||
/**
|
||||
* Price From column number in CSV file
|
||||
*/
|
||||
const COLUMN_PRICE_FROM = 1;
|
||||
|
||||
/**
|
||||
* Price To column number in CSV file
|
||||
*/
|
||||
const COLUMN_PRICE_TO = 2;
|
||||
|
||||
/**
|
||||
* Weight From column number in CSV file
|
||||
*/
|
||||
const COLUMN_WEIGHT_FROM = 3;
|
||||
|
||||
/**
|
||||
* Weight To column number in CSV file
|
||||
*/
|
||||
const COLUMN_WEIGHT_TO = 4;
|
||||
|
||||
/**
|
||||
* Shipment price column number in CSV file
|
||||
*/
|
||||
const COLUMN_PARCEL_PRICE = 5;
|
||||
|
||||
/**
|
||||
* Carrier ID column number in CSV file
|
||||
*/
|
||||
const COLUMN_CARRIER = 6;
|
||||
|
||||
/**
|
||||
* COD additional price column number in CSV file
|
||||
*/
|
||||
const COLUMN_COD_PRICE = 7;
|
||||
|
||||
/**
|
||||
* File upload field name
|
||||
*/
|
||||
const CSV_FILE = 'DPD_GEOPOST_CSV_FILE';
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PRICE_RULE_DB_,
|
||||
'primary' => 'id_csv',
|
||||
'multilang' => false,
|
||||
'multishop' => true,
|
||||
'fields' => array(
|
||||
'id_csv' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'iso_country' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'price_from' => array('type' => self::TYPE_STRING, 'validate' => 'isFloat'),
|
||||
'price_to' => array('type' => self::TYPE_STRING, 'validate' => 'isFloat'),
|
||||
'weight_from' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'weight_to' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'parcel_price' => array('type' => self::TYPE_STRING, 'validate' => 'isFloat'),
|
||||
'cod_price' => array('type' => self::TYPE_STRING, 'validate' => 'isFloat'),
|
||||
'id_carrier' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects data from database about price rules
|
||||
*
|
||||
* @param string|int $start From which element data should be taken
|
||||
* @param string|int $limit How many elements should be taken
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Price rules data
|
||||
*/
|
||||
public static function getAllData($start = '', $limit = '')
|
||||
{
|
||||
return DB::getInstance()->executeS('
|
||||
SELECT `id_csv`, `iso_country`, `price_from`, `price_to`, `weight_from`, `weight_to`, `parcel_price`,
|
||||
`cod_price`, `id_carrier`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PRICE_RULE_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
'.($start && $limit ? 'LIMIT '.(int)$start.', '.(int)$limit : '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all price rules for current shop
|
||||
*
|
||||
* @return bool Price rules deleted successfully
|
||||
*/
|
||||
public static function deleteAllData()
|
||||
{
|
||||
return DB::getInstance()->execute('
|
||||
DELETE FROM `'._DB_PREFIX_._DPDPOLAND_PRICE_RULE_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects price rules data of current shop
|
||||
*
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Price rules data
|
||||
*/
|
||||
public static function getCSVData()
|
||||
{
|
||||
return DB::getInstance()->executeS('
|
||||
SELECT `iso_country`, `price_from`, `price_to`, `weight_from`, `weight_to`, `parcel_price`, `id_carrier`,
|
||||
`cod_price`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PRICE_RULE_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns carrier price according to cart products / parameters
|
||||
*
|
||||
* @param float $total_weight Sum of products weight
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @param Cart $cart Cart object
|
||||
* @return bool|int|float Carrier price
|
||||
*/
|
||||
public static function getPrice($total_weight, $id_carrier, Cart $cart)
|
||||
{
|
||||
if ($id_country = (int)Tools::getValue('id_country'))
|
||||
$iso_country = Country::getIsoById($id_country);
|
||||
else
|
||||
{
|
||||
$address = new Address((int)$cart->id_address_delivery);
|
||||
$iso_country = Country::getIsoById((int)$address->id_country);
|
||||
}
|
||||
|
||||
if(!$iso_country)
|
||||
$iso_country = 'PL';
|
||||
|
||||
$cart_total_price = $cart->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING);
|
||||
$id_currency_pl = Currency::getIdByIsoCode(_DPDPOLAND_CURRENCY_ISO_, (int)Context::getContext()->shop->id);
|
||||
$currency_from = new Currency((int)$cart->id_currency);
|
||||
$currency_to = new Currency((int)$id_currency_pl);
|
||||
$cart_total_price = Tools::convertPriceFull($cart_total_price, $currency_from, $currency_to);
|
||||
|
||||
$price_rules = DB::getInstance()->executeS('
|
||||
SELECT *
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PRICE_RULE_DB_.'`
|
||||
WHERE (`iso_country` = "'.pSQL($iso_country).'" OR `iso_country` = "*")
|
||||
AND (`weight_from` <= "'.pSQL($total_weight).'"
|
||||
AND `weight_to` >= "'.pSQL($total_weight).'"
|
||||
OR `price_from` <= "'.pSQL($cart_total_price).'"
|
||||
AND `price_to` >= "'.pSQL($cart_total_price).'")
|
||||
AND `id_carrier` = "'.(int)$id_carrier.'"
|
||||
AND `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
|
||||
if (!$price_rules)
|
||||
return false;
|
||||
|
||||
$available_prices_count = count($price_rules);
|
||||
|
||||
for ($i = 0; $i < $available_prices_count; $i++)
|
||||
if ($price_rules[$i]['iso_country'] != '*' && !Country::getByIso($price_rules[$i]['iso_country'])) //if country is not deleted
|
||||
unset($price_rules[$i]);
|
||||
|
||||
if (!$price_rules)
|
||||
return false;
|
||||
|
||||
$matching_price_rule = null;
|
||||
if (is_array($price_rules)) {
|
||||
foreach ($price_rules as $price_rule) {
|
||||
if ($price_rule['price_from'] <= $cart_total_price &&
|
||||
$price_rule['price_to'] > $cart_total_price &&
|
||||
$price_rule['weight_from'] <= $total_weight &&
|
||||
$price_rule['weight_to'] > $total_weight
|
||||
) {
|
||||
$matching_price_rule = $price_rule;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (null == $matching_price_rule) {
|
||||
$matching_price_rule = $price_rules[0]; //accept first matching rule
|
||||
}
|
||||
|
||||
if (!$matching_price_rule['cod_price'])
|
||||
$matching_price_rule['cod_price'] = 0; //CSV validation allows empty value of COD price
|
||||
|
||||
$price = $matching_price_rule['parcel_price'];
|
||||
|
||||
if ($id_carrier == _DPDPOLAND_STANDARD_COD_ID_ || $id_carrier == _DPDPOLAND_PUDO_COD_ID_)
|
||||
$price += $matching_price_rule['cod_price'];
|
||||
|
||||
return $price;
|
||||
}
|
||||
}
|
||||
100
modules/dpdpoland/classes/Carrier.php
Normal file
100
modules/dpdpoland/classes/Carrier.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCarrier Responsible for DPD services (carriers) creation / deletion
|
||||
*/
|
||||
class DpdPolandCarrier extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int DPD carrier ID
|
||||
*/
|
||||
public $id_dpdpoland_carrier;
|
||||
|
||||
/**
|
||||
* @var int Carrier ID in DPD system
|
||||
*/
|
||||
public $id_carrier;
|
||||
|
||||
/**
|
||||
* @var int Carrier reference
|
||||
*/
|
||||
public $id_reference;
|
||||
|
||||
/**
|
||||
* @var datetime Date when carrier was created
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when carrier was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_CARRIER_DB_,
|
||||
'primary' => 'id_dpdpoland_carrier',
|
||||
'multilang_shop' => true,
|
||||
'multishop' => true,
|
||||
'fields' => array(
|
||||
'id_dpdpoland_carrier' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_carrier' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_reference' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Returns carrier reference according to it's current ID
|
||||
*
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @return false|null|string Carrier reference
|
||||
*/
|
||||
public static function getReferenceByIdCarrier($id_carrier)
|
||||
{
|
||||
return DB::getInstance()->getValue('
|
||||
SELECT `id_reference`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_CARRIER_DB_.'`
|
||||
WHERE `id_carrier` = "'.(int)$id_carrier.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns carrier newest ID according to it's reference
|
||||
*
|
||||
* @param int $id_reference Carrier reference
|
||||
* @return false|null|string Carrier ID
|
||||
*/
|
||||
public static function getIdCarrierByReference($id_reference)
|
||||
{
|
||||
return DB::getInstance()->getValue('
|
||||
SELECT MAX(`id_carrier`)
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_CARRIER_DB_.'`
|
||||
WHERE `id_reference` = "'.(int)$id_reference.'"
|
||||
');
|
||||
}
|
||||
}
|
||||
557
modules/dpdpoland/classes/Configuration.php
Normal file
557
modules/dpdpoland/classes/Configuration.php
Normal file
@@ -0,0 +1,557 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandConfiguration Responsible for module settings management
|
||||
*/
|
||||
class DpdPolandConfiguration
|
||||
{
|
||||
const WSDL_URL_LIVE = 'https://dpdservices.dpd.com.pl/DPDPackageObjServicesService/DPDPackageObjServices?wsdl';
|
||||
const WSDL_URL_DEMO = 'https://dpdservicesdemo.dpd.com.pl/DPDPackageObjServicesService/DPDPackageObjServices?wsdl';
|
||||
const LOGIN = 'DPDPOLAND_LOGIN';
|
||||
const PASSWORD = 'DPDPOLAND_PASSWORD';
|
||||
const CLIENT_NUMBER = 'DPDPOLAND_CLIENT_NUMBER';
|
||||
const CLIENT_NAME = 'DPDPOLAND_CLIENT_NAME';
|
||||
const NAME_SURNAME = 'DPDPOLAND_NAME_SURNAME';
|
||||
const ADDRESS = 'DPDPOLAND_ADDRESS';
|
||||
const POSTCODE = 'DPDPOLAND_POSTCODE';
|
||||
const CITY = 'DPDPOLAND_CITY';
|
||||
const EMAIL = 'DPDPOLAND_EMAIL';
|
||||
const PHONE = 'DPDPOLAND_PHONE';
|
||||
|
||||
const CARRIER_STANDARD = 'DPDPOLAND_CARRIER_STANDARD';
|
||||
const CARRIER_STANDARD_COD = 'DPDPOLAND_CARRIER_STANDARD_COD';
|
||||
const CARRIER_CLASSIC = 'DPDPOLAND_CARRIER_CLASSIC';
|
||||
const CARRIER_PUDO = 'DPDPOLAND_CARRIER_PUDO';
|
||||
const CARRIER_PUDO_COD = 'DPDPOLAND_CARRIER_PUDO_COD';
|
||||
const CARRIER_SWIPBOX = 'DPDPOLAND_CARRIER_SWIPBOX';
|
||||
|
||||
const PRICE_CALCULATION_TYPE = 'DPDPOLAND_PRICE_CALCULATION';
|
||||
|
||||
const WEIGHT_CONVERSATION_RATE = 'DPDPOLAND_WEIGHT_RATE';
|
||||
const DIMENSION_CONVERSATION_RATE = 'DPDPOLAND_DIMENSION_RATE';
|
||||
const WS_URL = 'DPDPOLAND_WS_URL';
|
||||
|
||||
const CARRIER_STANDARD_ID = 'DPDPOLAND_STANDARD_ID';
|
||||
const CARRIER_STANDARD_COD_ID = 'DPDPOLAND_STANDARD_COD_ID';
|
||||
const CARRIER_CLASSIC_ID = 'DPDPOLAND_CLASSIC_ID';
|
||||
const CARRIER_PUDO_ID = 'DPDPOLAND_PUDO_ID';
|
||||
const CARRIER_PUDO_COD_ID = 'DPDPOLAND_PUDO_COD_ID';
|
||||
const CARRIER_SWIPBOX_ID = 'CARRIER_SWIPBOX_ID';
|
||||
|
||||
const CUSTOMER_COMPANY = 'DPDPOLAND_CUSTOMER_COMPANY';
|
||||
const CUSTOMER_NAME = 'DPDPOLAND_CUSTOMER_NAME';
|
||||
const CUSTOMER_PHONE = 'DPDPOLAND_CUSTOMER_PHONE';
|
||||
const CUSTOMER_FID = 'DPDPOLAND_CUSTOMER_FID';
|
||||
|
||||
const FILE_NAME = 'Configuration';
|
||||
const MEASUREMENT_ROUND_VALUE = 6;
|
||||
const COD_MODULE_PREFIX = 'DPDPOLAND_COD_';
|
||||
const PRICE_CALCULATION_CSV = 'csv_calculation';
|
||||
const PRICE_CALCULATION_PRESTASHOP = 'prestashop_calculation';
|
||||
|
||||
const DEFAULT_WEIGHT = 'DEFAULT_WEIGHT';
|
||||
|
||||
const DEFAULT_PRINTER_TYPE = 'DEFAULT_PRINTER_TYPE';
|
||||
const PRINTOUT_FORMAT_A4 = 'A4';
|
||||
const PRINTOUT_FORMAT_LABEL = 'LBL_PRINTER';
|
||||
|
||||
const ADDITIONAL_REF1 = 'DPDPOLAND_ADDITIONAL_REF1';
|
||||
const ADDITIONAL_REF2 = 'DPDPOLAND_ADDITIONAL_REF2';
|
||||
const ADDITIONAL_CUSTOMER_DATA_1 = 'DPDPOLAND_ADDITIONAL_DATA_1';
|
||||
|
||||
const ADDITIONAL_TYPE_NONE = 'DPDPOLAND_NONE';
|
||||
const ADDITIONAL_TYPE_DYNAMIC = 'DPDPOLAND_DYNAMIC';
|
||||
const ADDITIONAL_TYPE_STATIC = 'DPDPOLAND_STATIC';
|
||||
|
||||
const REF1_DYNAMIC = 'DPDPOLAND_REF1_DYNAMIC';
|
||||
const REF1_STATIC = 'DPDPOLAND_REF1_STATIC';
|
||||
const REF2_DYNAMIC = 'DPDPOLAND_REF2_DYNAMIC';
|
||||
const REF2_STATIC = 'DPDPOLAND_REF2_STATIC';
|
||||
const CUSTOMER_DATA_DYNAMIC = 'DPDPOLAND_CUSTOMER_DATA_DYNAMIC';
|
||||
const CUSTOMER_DATA_STATIC = 'DPDPOLAND_CUSTOMER_DATA_STATIC';
|
||||
|
||||
const DYNAMIC_ORDER_ID = 'DPDPOLAND_DYNAMIC_ORDER_ID';
|
||||
const DYNAMIC_ORDER_REFERENCE = 'DPDPOLAND_DYNAMIC_ORDER_REF';
|
||||
const DYNAMIC_INVOICE_ID = 'DPDPOLAND_DYNAMIC_INVOICE_ID';
|
||||
const DYNAMIC_SHIPPING_ADDRESS = 'DPDPOLAND_DYNAMIC_SHIPPING';
|
||||
const DYNAMIC_PRODUCT_NAME = 'DPDPOLAND_DYNAMIC_PRODUCT_NAME';
|
||||
|
||||
const DECLARED_VALUE = 'DPDPOLAND_DECLARED_VALUE';
|
||||
const CUD = 'DPDPOLAND_CUD';
|
||||
const ROD = 'DPDPOLAND_ROD';
|
||||
const DPDE = 'DPDPOLAND_DPDE';
|
||||
const DPDND = 'DPDPOLAND_DPDND';
|
||||
const DPDSATURDAY = 'DPDPOLAND_DPDSATURDAY';
|
||||
const DPDFOOD = 'DPDPOLAND_DPDFOOD';
|
||||
const DPDLQ = 'DPDPOLAND_DPDLQ';
|
||||
const DPDTODAY = 'DPDPOLAND_DPDTODAY';
|
||||
const DUTY = 'DPDPOLAND_DUTY';
|
||||
const LOG_MODE = 'DPDPOLAND_LOG_MODE';
|
||||
const DISABLE_SEND_SHIPPING_MAIL = 'DPDPOLAND_DISABLE_SEND_SHIPPING_MAIL';
|
||||
const CUSTOM_CART = 'DPDPOLAND_CUSTOM_CART';
|
||||
const DEFAULT_CART = 'DEFAULT_CART';
|
||||
const CUSTOM_CHECKOUT_SUPERCHECKOUT = 'SUPERCHECKOUT_CART';
|
||||
public const CUSTOM_CHECKOUT_EASYCHECKOUT = 'easycheckout';
|
||||
public const CUSTOM_CHECKOUT_THECHECKOUT_PRESTASMART = 'thecheckout_prestasmart';
|
||||
public const CUSTOM_CHECKOUT_OPC_PRESTASMART = 'opc_prestasmart';
|
||||
public const CUSTOM_CHECKOUT_OPC_PRESTATEAM_1_7 = 'opc_prestateam_1_7';
|
||||
public const CUSTOM_CHECKOUT_OPC_PRESTATEAM_8 = 'opc_prestateam_8';
|
||||
|
||||
const PARCEL_CONTENT_SOURCE = 'PARCEL_CONTENT_SOURCE';
|
||||
const PARCEL_CONTENT_SOURCE_SKU = 'PARCEL_CONTENT_SOURCE_SKU';
|
||||
const PARCEL_CONTENT_SOURCE_PRODUCT_ID = 'PARCEL_CONTENT_SOURCE_PRODUCT_ID';
|
||||
const PARCEL_CONTENT_SOURCE_PRODUCT_NAME = 'PARCEL_CONTENT_SOURCE_PRODUCT_NAME';
|
||||
|
||||
public $login = '';
|
||||
public $password = '';
|
||||
public $client_number = '';
|
||||
public $client_name = '';
|
||||
public $customer_name = '';
|
||||
public $customer_company = '';
|
||||
public $customer_phone = '';
|
||||
public $customer_fid = '';
|
||||
public $price_calculation_type = self::PRICE_CALCULATION_PRESTASHOP;
|
||||
public $carrier_standard = 0;
|
||||
public $carrier_standard_cod = 0;
|
||||
public $carrier_classic = 0;
|
||||
public $carrier_swipbox = 0;
|
||||
public $carrier_pudo = 0;
|
||||
public $carrier_pudo_cod = 0;
|
||||
public $weight_conversation_rate = 1;
|
||||
public $dimension_conversation_rate = 1;
|
||||
public $ws_url = '';
|
||||
|
||||
public $ref1 = self::ADDITIONAL_TYPE_DYNAMIC;
|
||||
public $ref2 = self::ADDITIONAL_TYPE_DYNAMIC;
|
||||
public $customer_data_1 = self::ADDITIONAL_TYPE_NONE;
|
||||
|
||||
public $ref1_dynamic = self::DYNAMIC_ORDER_ID;
|
||||
public $ref2_dynamic = self::DYNAMIC_INVOICE_ID;
|
||||
public $customer_data_dynamic = self::DYNAMIC_SHIPPING_ADDRESS;
|
||||
|
||||
public $ref1_static = '';
|
||||
public $ref2_static = '';
|
||||
public $customer_data_static = '';
|
||||
|
||||
public $declared_value = 0;
|
||||
public $cud = 0;
|
||||
public $rod = 0;
|
||||
public $dpde = 0;
|
||||
public $dpdnd = 0;
|
||||
public $dpdsaturday = 0;
|
||||
public $dpdfood = 0;
|
||||
public $dpdlq = 0;
|
||||
public $dpdtoday = 0;
|
||||
public $duty = 0;
|
||||
public $log_mode = '';
|
||||
public $disable_send_shipping_mail = '';
|
||||
public $custom_cart = self::DEFAULT_CART;
|
||||
|
||||
public $default_weight = 1;
|
||||
public $default_printer_type = self::PRINTOUT_FORMAT_A4;
|
||||
public $parcel_content_source = self::PARCEL_CONTENT_SOURCE_SKU;
|
||||
|
||||
/**
|
||||
* DpdPolandConfiguration class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->getSettings();
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves module settings into database
|
||||
*
|
||||
* @return bool Module settings saved successfully
|
||||
*/
|
||||
public static function saveConfiguration()
|
||||
{
|
||||
$success = true;
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
|
||||
$success &= Configuration::updateValue(self::LOGIN, Tools::getValue(self::LOGIN));
|
||||
|
||||
$password = Tools::getValue(self::PASSWORD);
|
||||
if (isset($password) && $password != null && $password != "") {
|
||||
$phpEncryption = null;
|
||||
if (version_compare(_PS_VERSION_, '1.7.0.0', '<'))
|
||||
$phpEncryption = new Rijndael('_RIJNDAEL_KEY_', '_RIJNDAEL_IV_');
|
||||
else
|
||||
$phpEncryption = new PhpEncryption(_NEW_COOKIE_KEY_);
|
||||
|
||||
$encryptedPassword = $phpEncryption->encrypt($password);
|
||||
$success &= Configuration::updateValue(self::PASSWORD, $encryptedPassword);
|
||||
}
|
||||
|
||||
$success &= Configuration::updateValue(self::CLIENT_NUMBER, Tools::getValue(self::CLIENT_NUMBER));
|
||||
|
||||
$client_name = DB::getInstance()->getValue('
|
||||
SELECT `name`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PAYER_NUMBERS_DB_ . '`
|
||||
WHERE `payer_number` = "' . pSQL(Configuration::get(self::CLIENT_NUMBER, null, $id_shop_group, $id_shop)) . '"
|
||||
AND `id_shop` = "' . (int)Context::getContext()->shop->id . '"
|
||||
');
|
||||
|
||||
$success &= Configuration::updateValue(self::CLIENT_NAME, $client_name);
|
||||
$success &= Configuration::updateValue(self::NAME_SURNAME, Tools::getValue(self::NAME_SURNAME));
|
||||
$success &= Configuration::updateValue(self::ADDRESS, Tools::getValue(self::ADDRESS));
|
||||
$success &= Configuration::updateValue(self::POSTCODE, Tools::getValue(self::POSTCODE));
|
||||
$success &= Configuration::updateValue(self::CITY, Tools::getValue(self::CITY));
|
||||
$success &= Configuration::updateValue(self::EMAIL, Tools::getValue(self::EMAIL));
|
||||
$success &= Configuration::updateValue(self::PHONE, Tools::getValue(self::PHONE));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_COMPANY, Tools::getValue(self::CUSTOMER_COMPANY));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_NAME, Tools::getValue(self::CUSTOMER_NAME));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_PHONE, Tools::getValue(self::CUSTOMER_PHONE));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_FID, Tools::getValue(self::CUSTOMER_FID));
|
||||
$success &= Configuration::updateValue(self::PRICE_CALCULATION_TYPE, Tools::getValue(self::PRICE_CALCULATION_TYPE));
|
||||
$success &= Configuration::updateValue(self::CARRIER_STANDARD, (int)Tools::isSubmit(self::CARRIER_STANDARD));
|
||||
$success &= Configuration::updateValue(self::CARRIER_STANDARD_COD, (int)Tools::isSubmit(self::CARRIER_STANDARD_COD));
|
||||
$success &= Configuration::updateValue(self::CARRIER_CLASSIC, (int)Tools::isSubmit(self::CARRIER_CLASSIC));
|
||||
$success &= Configuration::updateValue(self::CARRIER_PUDO, (int)Tools::isSubmit(self::CARRIER_PUDO));
|
||||
$success &= Configuration::updateValue(self::CARRIER_PUDO_COD, (int)Tools::isSubmit(self::CARRIER_PUDO_COD));
|
||||
$success &= Configuration::updateValue(self::CARRIER_SWIPBOX, (int)Tools::isSubmit(self::CARRIER_SWIPBOX));
|
||||
$success &= Configuration::updateValue(self::WEIGHT_CONVERSATION_RATE, Tools::getValue(self::WEIGHT_CONVERSATION_RATE));
|
||||
$success &= Configuration::updateValue(self::DIMENSION_CONVERSATION_RATE, Tools::getValue(self::DIMENSION_CONVERSATION_RATE));
|
||||
$success &= Configuration::updateValue(self::WS_URL, Tools::getValue(self::WS_URL));
|
||||
|
||||
$success &= Configuration::updateValue(self::ADDITIONAL_REF1, Tools::getValue(self::ADDITIONAL_REF1));
|
||||
$success &= Configuration::updateValue(self::ADDITIONAL_REF2, Tools::getValue(self::ADDITIONAL_REF2));
|
||||
$success &= Configuration::updateValue(self::ADDITIONAL_CUSTOMER_DATA_1, Tools::getValue(self::ADDITIONAL_CUSTOMER_DATA_1));
|
||||
|
||||
$success &= Configuration::updateValue(self::REF1_DYNAMIC, Tools::getValue(self::REF1_DYNAMIC));
|
||||
$success &= Configuration::updateValue(self::REF2_DYNAMIC, Tools::getValue(self::REF2_DYNAMIC));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_DATA_DYNAMIC, Tools::getValue(self::CUSTOMER_DATA_DYNAMIC));
|
||||
|
||||
$success &= Configuration::updateValue(self::REF1_STATIC, Tools::getValue(self::REF1_STATIC));
|
||||
$success &= Configuration::updateValue(self::REF2_STATIC, Tools::getValue(self::REF2_STATIC));
|
||||
$success &= Configuration::updateValue(self::CUSTOMER_DATA_STATIC, Tools::getValue(self::CUSTOMER_DATA_STATIC));
|
||||
$success &= Configuration::updateValue(self::DECLARED_VALUE, Tools::getValue(self::DECLARED_VALUE));
|
||||
$success &= Configuration::updateValue(self::CUD, Tools::getValue(self::CUD));
|
||||
$success &= Configuration::updateValue(self::ROD, Tools::getValue(self::ROD));
|
||||
$success &= Configuration::updateValue(self::DPDE, Tools::getValue(self::DPDE));
|
||||
$success &= Configuration::updateValue(self::DPDND, Tools::getValue(self::DPDND));
|
||||
$success &= Configuration::updateValue(self::DPDFOOD, Tools::getValue(self::DPDFOOD));
|
||||
$success &= Configuration::updateValue(self::DPDLQ, Tools::getValue(self::DPDLQ));
|
||||
$success &= Configuration::updateValue(self::DPDTODAY, Tools::getValue(self::DPDTODAY));
|
||||
$success &= Configuration::updateValue(self::DPDSATURDAY, Tools::getValue(self::DPDSATURDAY));
|
||||
$success &= Configuration::updateValue(self::DUTY, Tools::getValue(self::DUTY));
|
||||
$success &= Configuration::updateValue(self::LOG_MODE, Tools::getValue(self::LOG_MODE));
|
||||
$success &= Configuration::updateValue(self::DEFAULT_PRINTER_TYPE, Tools::getValue(self::DEFAULT_PRINTER_TYPE));
|
||||
$success &= Configuration::updateValue(self::DEFAULT_WEIGHT, Tools::getValue(self::DEFAULT_WEIGHT));
|
||||
$success &= Configuration::updateValue(self::DISABLE_SEND_SHIPPING_MAIL, Tools::getValue(self::DISABLE_SEND_SHIPPING_MAIL));
|
||||
$success &= Configuration::updateValue(self::PARCEL_CONTENT_SOURCE, Tools::getValue(self::PARCEL_CONTENT_SOURCE));
|
||||
$success &= Configuration::updateValue(self::CUSTOM_CART, Tools::getValue(self::CUSTOM_CART));
|
||||
|
||||
|
||||
foreach (DpdPoland::getPaymentModules() as $payment_module)
|
||||
$success &= Configuration::updateValue(
|
||||
self::COD_MODULE_PREFIX . $payment_module['name'], (int)Tools::isSubmit(self::COD_MODULE_PREFIX . $payment_module['name'])
|
||||
);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects settings from database
|
||||
* Assigns settings values for class variables
|
||||
*/
|
||||
private function getSettings()
|
||||
{
|
||||
$this->login = $this->getSetting(self::LOGIN, $this->login);
|
||||
$password = $this->getSetting(self::PASSWORD, $this->password);
|
||||
if (isset($password)) {
|
||||
$phpEncryption = null;
|
||||
if (version_compare(_PS_VERSION_, '1.7.0.0', '<'))
|
||||
$phpEncryption = new Rijndael('_RIJNDAEL_KEY_', '_RIJNDAEL_IV_');
|
||||
else
|
||||
$phpEncryption = new PhpEncryption(_NEW_COOKIE_KEY_);
|
||||
$this->password = $phpEncryption->decrypt($password);
|
||||
}
|
||||
|
||||
$this->client_number = $this->getSetting(self::CLIENT_NUMBER, $this->client_number);
|
||||
$this->client_name = $this->getSetting(self::CLIENT_NAME, $this->client_name);
|
||||
$this->customer_company = $this->getSetting(self::CUSTOMER_COMPANY, $this->customer_company);
|
||||
$this->customer_name = $this->getSetting(self::CUSTOMER_NAME, $this->customer_name);
|
||||
$this->customer_phone = $this->getSetting(self::CUSTOMER_PHONE, $this->customer_phone);
|
||||
$this->customer_fid = $this->getSetting(self::CUSTOMER_FID, $this->customer_fid);
|
||||
$this->price_calculation_type = $this->getSetting(self::PRICE_CALCULATION_TYPE, $this->price_calculation_type);
|
||||
$this->carrier_standard = $this->getSetting(self::CARRIER_STANDARD, $this->carrier_standard);
|
||||
$this->carrier_standard_cod = $this->getSetting(self::CARRIER_STANDARD_COD, $this->carrier_standard_cod);
|
||||
$this->carrier_classic = $this->getSetting(self::CARRIER_CLASSIC, $this->carrier_classic);
|
||||
$this->carrier_pudo = $this->getSetting(self::CARRIER_PUDO, $this->carrier_pudo);
|
||||
$this->carrier_pudo_cod = $this->getSetting(self::CARRIER_PUDO_COD, $this->carrier_pudo_cod);
|
||||
$this->carrier_swipbox = $this->getSetting(self::CARRIER_SWIPBOX, $this->carrier_swipbox);
|
||||
$this->weight_conversation_rate = $this->getSetting(self::WEIGHT_CONVERSATION_RATE, $this->weight_conversation_rate);
|
||||
$this->dimension_conversation_rate = $this->getSetting(self::DIMENSION_CONVERSATION_RATE, $this->dimension_conversation_rate);
|
||||
$this->ws_url = $this->getSetting(self::WS_URL, $this->ws_url);
|
||||
|
||||
$this->ref1 = $this->getSetting(self::ADDITIONAL_REF1, $this->ref1);
|
||||
$this->ref2 = $this->getSetting(self::ADDITIONAL_REF2, $this->ref2);
|
||||
$this->customer_data_1 = $this->getSetting(self::ADDITIONAL_CUSTOMER_DATA_1, $this->customer_data_1);
|
||||
|
||||
$this->ref1_dynamic = $this->getSetting(self::REF1_DYNAMIC, $this->ref1_dynamic);
|
||||
$this->ref2_dynamic = $this->getSetting(self::REF2_DYNAMIC, $this->ref2_dynamic);
|
||||
$this->customer_data_dynamic = $this->getSetting(self::CUSTOMER_DATA_DYNAMIC, $this->customer_data_dynamic);
|
||||
|
||||
$this->ref1_static = $this->getSetting(self::REF1_STATIC, $this->ref1_static);
|
||||
$this->ref2_static = $this->getSetting(self::REF2_STATIC, $this->ref2_static);
|
||||
$this->customer_data_static = $this->getSetting(self::CUSTOMER_DATA_STATIC, $this->customer_data_static);
|
||||
$this->declared_value = $this->getSetting(self::DECLARED_VALUE, $this->declared_value);
|
||||
$this->cud = $this->getSetting(self::CUD, $this->cud);
|
||||
$this->rod = $this->getSetting(self::ROD, $this->rod);
|
||||
$this->dpde = $this->getSetting(self::DPDE, $this->dpde);
|
||||
$this->dpdnd = $this->getSetting(self::DPDND, $this->dpdnd);
|
||||
$this->dpdtoday = $this->getSetting(self::DPDTODAY, $this->dpdtoday);
|
||||
$this->dpdfood = $this->getSetting(self::DPDFOOD, $this->dpdfood);
|
||||
$this->dpdlq = $this->getSetting(self::DPDLQ, $this->dpdlq);
|
||||
$this->dpdsaturday = $this->getSetting(self::DPDSATURDAY, $this->dpdsaturday);
|
||||
$this->duty = $this->getSetting(self::DUTY, $this->duty);
|
||||
$this->log_mode = $this->getSetting(self::LOG_MODE, $this->log_mode);
|
||||
$this->default_printer_type = $this->getSetting(self::DEFAULT_PRINTER_TYPE, $this->default_printer_type);
|
||||
$this->default_weight = $this->getSetting(self::DEFAULT_WEIGHT, $this->default_weight);
|
||||
$this->disable_send_shipping_mail = $this->getSetting(self::DISABLE_SEND_SHIPPING_MAIL, $this->disable_send_shipping_mail);
|
||||
$this->parcel_content_source = $this->getSetting(self::PARCEL_CONTENT_SOURCE, $this->parcel_content_source);
|
||||
$this->custom_cart = $this->getSetting(self::CUSTOM_CART, $this->custom_cart);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a setting from database
|
||||
*
|
||||
* @param string $name Setting name
|
||||
* @param string $default_value Default setting value
|
||||
* @return string Setting value
|
||||
*/
|
||||
private function getSetting($name, $default_value)
|
||||
{
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
|
||||
return Configuration::get($name, null, $id_shop_group, $id_shop) !== false ? Configuration::get($name, null, $id_shop_group, $id_shop) : $default_value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes settings from database
|
||||
*
|
||||
* @return bool Settings deleted successfully
|
||||
*/
|
||||
public static function deleteConfiguration()
|
||||
{
|
||||
$success = true;
|
||||
|
||||
$success &= self::deleteByNames(array(
|
||||
self::LOGIN, self::PASSWORD, self::CLIENT_NUMBER, self::CLIENT_NAME, self::NAME_SURNAME, self::ADDRESS,
|
||||
self::POSTCODE, self::CITY, self::EMAIL, self::PHONE, self::CUSTOMER_COMPANY, self::CUSTOMER_NAME, self::CUSTOMER_PHONE,
|
||||
self::CUSTOMER_FID, self::PRICE_CALCULATION_TYPE, self::CARRIER_STANDARD, self::CARRIER_STANDARD_COD,
|
||||
self::CARRIER_CLASSIC, self::WEIGHT_CONVERSATION_RATE, self::DIMENSION_CONVERSATION_RATE, self::WS_URL, self::CARRIER_STANDARD_ID,
|
||||
self::CARRIER_STANDARD_COD_ID, self::CARRIER_CLASSIC_ID, self::ADDITIONAL_REF1, self::ADDITIONAL_REF2, self::ADDITIONAL_CUSTOMER_DATA_1,
|
||||
self::REF1_DYNAMIC, self::REF2_DYNAMIC, self::CUSTOMER_DATA_DYNAMIC, self::REF1_STATIC, self::REF2_STATIC, self::CUSTOMER_DATA_STATIC,
|
||||
self::CARRIER_PUDO, self::CARRIER_PUDO_ID, self::DECLARED_VALUE, self::CUD, self::ROD, self::DPDE, self::DPDND, self::DUTY, self::LOG_MODE,
|
||||
self::DEFAULT_WEIGHT, self::DEFAULT_PRINTER_TYPE, self::DISABLE_SEND_SHIPPING_MAIL, self::CARRIER_PUDO_COD, self::CARRIER_PUDO_COD_ID, self::CARRIER_SWIPBOX_ID, self::CUSTOM_CART
|
||||
));
|
||||
|
||||
foreach (DpdPoland::getPaymentModules() as $payment_module)
|
||||
$success &= Configuration::deleteByName(self::COD_MODULE_PREFIX . $payment_module['name']);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes settings from database by their names
|
||||
*
|
||||
* @param array $names Settings names list
|
||||
* @return bool Settings deleted successfully
|
||||
*/
|
||||
private static function deleteByNames($names)
|
||||
{
|
||||
$success = true;
|
||||
|
||||
foreach ($names as $name)
|
||||
$success &= Configuration::deleteByName($name);
|
||||
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a single setting from database
|
||||
*
|
||||
* @param string $name Setting name
|
||||
* @return bool Setting deleted successfully
|
||||
*/
|
||||
public static function deleteByName($name)
|
||||
{
|
||||
return Configuration::deleteByName($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if required settings are filled
|
||||
*
|
||||
* @return bool Required settings are filled
|
||||
*/
|
||||
public static function checkRequiredConfiguration()
|
||||
{
|
||||
$configuration_obj = new DpdPolandConfiguration();
|
||||
|
||||
if (!$configuration_obj->login ||
|
||||
!$configuration_obj->password ||
|
||||
!$configuration_obj->client_number ||
|
||||
!$configuration_obj->client_name ||
|
||||
!$configuration_obj->weight_conversation_rate ||
|
||||
!$configuration_obj->dimension_conversation_rate ||
|
||||
!$configuration_obj->ws_url ||
|
||||
!$configuration_obj->customer_fid)
|
||||
return false;
|
||||
|
||||
if (DpdPolandSenderAddress::getAddressesCount() <= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns zones which are assigned to a carrier
|
||||
*
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Carrier zones
|
||||
*/
|
||||
public static function getCarrierZones($id_carrier)
|
||||
{
|
||||
return DB::getInstance()->executeS('
|
||||
SELECT `id_zone`
|
||||
FROM `' . _DB_PREFIX_ . 'carrier_zone`
|
||||
WHERE `id_carrier` = "' . (int)$id_carrier . '"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns PrestaShop zones for DPD carriers
|
||||
*
|
||||
* @return bool Zones assigned successfully
|
||||
*/
|
||||
public static function saveZonesForCarriers()
|
||||
{
|
||||
$configuration = new DpdPolandConfiguration();
|
||||
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
|
||||
if ($configuration->carrier_classic) {
|
||||
$id_carrier_classic = (int)Configuration::get(DpdPolandConfiguration::CARRIER_CLASSIC_ID, null, $id_shop_group, $id_shop);
|
||||
$classic_carrier_obj = DpdPolandService::getCarrierByReference((int)$id_carrier_classic);
|
||||
|
||||
if (Validate::isLoadedObject($classic_carrier_obj))
|
||||
$id_carrier_classic = $classic_carrier_obj->id;
|
||||
|
||||
if (!self::removeZonesForCarrier($id_carrier_classic) || !self::saveZoneForCarrier('classic', $id_carrier_classic))
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($configuration->carrier_pudo) {
|
||||
$id_carrier_pudo = (int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_ID, null, $id_shop_group, $id_shop);
|
||||
$pudo_carrier_obj = DpdPolandService::getCarrierByReference((int)$id_carrier_pudo);
|
||||
|
||||
if (Validate::isLoadedObject($pudo_carrier_obj))
|
||||
$id_carrier_pudo = $pudo_carrier_obj->id;
|
||||
|
||||
if (!self::removeZonesForCarrier($id_carrier_pudo) || !self::saveZoneForCarrier('pudo', $id_carrier_pudo))
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($configuration->carrier_pudo_cod) {
|
||||
$id_carrier_pudo_cod = (int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_COD_ID, null, $id_shop_group, $id_shop);
|
||||
$pudo_cod_carrier_obj = DpdPolandService::getCarrierByReference((int)$id_carrier_pudo_cod);
|
||||
|
||||
if (Validate::isLoadedObject($pudo_cod_carrier_obj))
|
||||
$id_carrier_pudo_cod = $pudo_cod_carrier_obj->id;
|
||||
|
||||
if (!self::removeZonesForCarrier($id_carrier_pudo_cod) || !self::saveZoneForCarrier('pudo_cod', $id_carrier_pudo_cod))
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($configuration->carrier_standard) {
|
||||
$id_carrier_standard = (int)Configuration::get(DpdPolandConfiguration::CARRIER_STANDARD_ID, null, $id_shop_group, $id_shop);
|
||||
$carrier_standard_obj = DpdPolandService::getCarrierByReference((int)$id_carrier_standard);
|
||||
|
||||
if (Validate::isLoadedObject($carrier_standard_obj))
|
||||
$id_carrier_standard = $carrier_standard_obj->id;
|
||||
|
||||
if (!self::removeZonesForCarrier($id_carrier_standard) || !self::saveZoneForCarrier('standard', $id_carrier_standard))
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($configuration->carrier_standard_cod) {
|
||||
$id_carrier_standard_cod = (int)Configuration::get(DpdPolandConfiguration::CARRIER_STANDARD_COD_ID, null, $id_shop_group, $id_shop);
|
||||
$carrier_standard_cod_obj = DpdPolandService::getCarrierByReference((int)$id_carrier_standard_cod);
|
||||
|
||||
if (Validate::isLoadedObject($carrier_standard_cod_obj))
|
||||
$id_carrier_standard_cod = $carrier_standard_cod_obj->id;
|
||||
|
||||
if (!self::removeZonesForCarrier($id_carrier_standard_cod) || !self::saveZoneForCarrier('standard_cod', $id_carrier_standard_cod))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes zones for carrier
|
||||
*
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @return bool Zones removed from carrier
|
||||
*/
|
||||
private static function removeZonesForCarrier($id_carrier)
|
||||
{
|
||||
return DB::getInstance()->execute('
|
||||
DELETE FROM `' . _DB_PREFIX_ . 'carrier_zone`
|
||||
WHERE `id_carrier` = "' . (int)$id_carrier . '"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves zone for carrier into database
|
||||
*
|
||||
* @param string $type Service type
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @return bool Carrier zones saved successfully
|
||||
*/
|
||||
private static function saveZoneForCarrier($type, $id_carrier)
|
||||
{
|
||||
foreach (Zone::getZones() as $zone) {
|
||||
if (Tools::getValue($type . '_' . (int)$zone['id_zone'])) {
|
||||
if (!DB::getInstance()->execute('
|
||||
INSERT INTO `' . _DB_PREFIX_ . 'carrier_zone`
|
||||
(`id_carrier`, `id_zone`)
|
||||
VALUES
|
||||
("' . (int)$id_carrier . '", "' . (int)$zone['id_zone'] . '")
|
||||
')) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
192
modules/dpdpoland/classes/Country.php
Normal file
192
modules/dpdpoland/classes/Country.php
Normal file
@@ -0,0 +1,192 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCountry Responsible for available countries management
|
||||
*/
|
||||
class DpdPolandCountry extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Available country ID
|
||||
*/
|
||||
public $id_dpdpoland_country;
|
||||
|
||||
/**
|
||||
* @var int PrestaShop country ID
|
||||
*/
|
||||
public $id_country;
|
||||
|
||||
/**
|
||||
* @var int Shop ID
|
||||
*/
|
||||
public $id_shop;
|
||||
|
||||
/**
|
||||
* @var datetime Date when available country was added
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Last date when available country was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var Country status
|
||||
*/
|
||||
public $enabled;
|
||||
|
||||
/**
|
||||
* @var array ISO codes list of countries which are enabled by default
|
||||
*/
|
||||
public static $default_enabled_countries = array(
|
||||
'AT', 'BE', 'BA', 'BG', 'HR', 'CZ', 'DK', 'EE', 'FI', 'FR', 'GR', 'ES', 'IE', 'LT', 'LU',
|
||||
'LV', 'DE', 'NO', 'PT', 'RO', 'RS', 'SK', 'SI', 'SZ', 'SE', 'HU', 'GB', 'IT', 'NL'
|
||||
);
|
||||
|
||||
/**
|
||||
* DpdPolandCountry class constructor
|
||||
* @param null|int $id_dpdpoland_country Available country ID
|
||||
*/
|
||||
public function __construct($id_dpdpoland_country = null)
|
||||
{
|
||||
parent::__construct($id_dpdpoland_country);
|
||||
$this->id_shop = (int)Context::getContext()->shop->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_COUNTRY_DB_,
|
||||
'primary' => 'id_dpdpoland_country',
|
||||
'multilang_shop' => true,
|
||||
'multishop' => true,
|
||||
'fields' => array(
|
||||
'id_country' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'enabled' => array('type' => self::TYPE_INT, 'validate' => 'isInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
$order_way = Validate::isOrderWay($order_way) ? $order_way : 'ASC';
|
||||
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
$id_lang = (int)Context::getContext()->language->id;
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.5', '<'))
|
||||
$countries = DB::getInstance()->executeS('
|
||||
SELECT
|
||||
c.`id_country` AS `id_country`,
|
||||
cl.`name` AS `name`,
|
||||
c.`iso_code` AS `iso_code`,
|
||||
IF(dpdc.`enabled` IS NULL, 1, dpdc.`enabled`) AS `enabled`
|
||||
FROM `'._DB_PREFIX_.'country` c
|
||||
LEFT JOIN `'._DB_PREFIX_._DPDPOLAND_COUNTRY_DB_.'` dpdc ON (dpdc.`id_country` = c.`id_country` AND dpdc.`id_shop` = "'.(int)$id_shop.'")
|
||||
LEFT JOIN `'._DB_PREFIX_.'country_lang` cl ON (cl.`id_country` = c.`id_country` AND cl.`id_lang` = "'.(int)$id_lang.'")'
|
||||
.$filter
|
||||
.($order_by && $order_way ? ' ORDER BY `'.bqSQL($order_by).'` '.pSQL($order_way) : '')
|
||||
.($start !== null && $pagination !== null ? ' LIMIT '.(int)$start.', '.(int)$pagination : '')
|
||||
);
|
||||
else
|
||||
$countries = DB::getInstance()->executeS('
|
||||
SELECT
|
||||
c.`id_country` AS `id_country`,
|
||||
cl.`name` AS `name`,
|
||||
c.`iso_code` AS `iso_code`,
|
||||
IF(dpdc.`enabled` IS NULL, 1, dpdc.`enabled`) AS `enabled`
|
||||
FROM `'._DB_PREFIX_.'country` c
|
||||
LEFT JOIN `'._DB_PREFIX_._DPDPOLAND_COUNTRY_DB_.'` dpdc ON (dpdc.`id_country` = c.`id_country` AND dpdc.`id_shop` = "'.(int)$id_shop.'")
|
||||
LEFT JOIN `'._DB_PREFIX_.'country_shop` cs ON (cs.`id_country` = c.`id_country`)
|
||||
LEFT JOIN `'._DB_PREFIX_.'country_lang` cl ON (cl.`id_country` = c.`id_country` AND cl.`id_lang` = "'.(int)$id_lang.'")
|
||||
WHERE cs.`id_shop` = "'.(int)$id_shop.'" '
|
||||
.$filter
|
||||
.($order_by && $order_way ? ' ORDER BY `'.bqSQL($order_by).'` '.pSQL($order_way) : '')
|
||||
.($start !== null && $pagination !== null ? ' LIMIT '.(int)$start.', '.(int)$pagination : '')
|
||||
);
|
||||
|
||||
if (!$countries)
|
||||
$countries = array();
|
||||
|
||||
return $countries;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns DPD country ID according to PrestaShop country
|
||||
*
|
||||
* @param int $id_country PrestaShop country ID
|
||||
* @return false|null|string DPD country ID
|
||||
*/
|
||||
public static function getIdByCountry($id_country)
|
||||
{
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
|
||||
return DB::getInstance()->getValue('
|
||||
SELECT `id_dpdpoland_country`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_COUNTRY_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)$id_shop.'"
|
||||
AND `id_country` = "'.(int)$id_country.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects data about disabled countries
|
||||
*
|
||||
* @return array Disabled countries IDs
|
||||
*/
|
||||
public static function getDisabledCountriesIDs()
|
||||
{
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
|
||||
$countries = DB::getInstance()->executeS('
|
||||
SELECT `id_country`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_COUNTRY_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)$id_shop.'"
|
||||
AND `enabled` = "0"
|
||||
');
|
||||
|
||||
if (!$countries)
|
||||
$countries = array();
|
||||
|
||||
$countries_array = array();
|
||||
|
||||
foreach ($countries as $country)
|
||||
$countries_array[] = $country['id_country'];
|
||||
|
||||
return $countries_array;
|
||||
}
|
||||
}
|
||||
34
modules/dpdpoland/classes/Log.php
Normal file
34
modules/dpdpoland/classes/Log.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
|
||||
require_once(_DPDPOLAND_CLASSES_DIR_.'Configuration.php');
|
||||
require_once(_DPDPOLAND_MODULE_DIR_.'dpdpoland.php');
|
||||
|
||||
class DpdPolandLog
|
||||
{
|
||||
const LOG_DEBUG = 'LOG_DEBUG';
|
||||
const LOG_ERROR = 'LOG_ERROR';
|
||||
|
||||
public static function addLog($message)
|
||||
{
|
||||
if(!in_array(Configuration::get(DpdPolandConfiguration::LOG_MODE), array(self::LOG_DEBUG)))
|
||||
return;
|
||||
|
||||
$logger = new FileLogger(0);
|
||||
$logger->setFilename(_DPDPOLAND_MODULE_DIR_."/log/logs.log");
|
||||
$logger->logDebug($message);
|
||||
}
|
||||
|
||||
public static function addError($message)
|
||||
{
|
||||
if(!in_array(Configuration::get(DpdPolandConfiguration::LOG_MODE), array(self::LOG_DEBUG, self::LOG_ERROR)))
|
||||
return;
|
||||
|
||||
$logger = new FileLogger(0);
|
||||
$logger->setFilename(_DPDPOLAND_MODULE_DIR_."/log/logs.log");
|
||||
$logger->logError($message);
|
||||
}
|
||||
}
|
||||
244
modules/dpdpoland/classes/Manifest.php
Normal file
244
modules/dpdpoland/classes/Manifest.php
Normal file
@@ -0,0 +1,244 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandManifest Responsible for manifests management
|
||||
*/
|
||||
class DpdPolandManifest extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Manifest ID
|
||||
*/
|
||||
public $id_manifest;
|
||||
|
||||
/**
|
||||
* @var string Manifest ID retrieved via webservices
|
||||
*/
|
||||
public $id_manifest_ws;
|
||||
|
||||
/**
|
||||
* @var string|int Package ID
|
||||
*/
|
||||
public $id_package_ws;
|
||||
|
||||
/**
|
||||
* @var datetime Date when manifest was created
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when record about manifest was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var object Manifest WebServices instance
|
||||
*/
|
||||
private $webservice;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_MANIFEST_DB_,
|
||||
'primary' => 'id_manifest',
|
||||
'multilang' => false,
|
||||
'multishop' => false,
|
||||
'fields' => array(
|
||||
'id_manifest' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_manifest_ws' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_package_ws' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects list of packages IDs
|
||||
*
|
||||
* @return array Packages IDs
|
||||
*/
|
||||
public function getPackages()
|
||||
{
|
||||
$packages_ids = array();
|
||||
|
||||
$packages = Db::getInstance()->executeS('
|
||||
SELECT `id_package_ws`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_MANIFEST_DB_.'`
|
||||
WHERE `id_manifest_ws` = "'.(int)$this->id_manifest_ws.'"
|
||||
');
|
||||
|
||||
foreach ($packages as $package)
|
||||
$packages_ids[] = $package['id_package_ws'];
|
||||
|
||||
return $packages_ids;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
$order_way = Validate::isOrderWay($order_way) ? $order_way : 'ASC';
|
||||
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT m.`id_manifest_ws` AS `id_manifest_ws`,
|
||||
COUNT(p.`id_parcel`) AS `count_parcels`,
|
||||
COUNT(DISTINCT m.`id_package_ws`) AS `count_orders`,
|
||||
m.`date_add` AS `date_add`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_MANIFEST_DB_.'` m
|
||||
LEFT JOIN `'._DB_PREFIX_._DPDPOLAND_PARCEL_DB_.'` p ON (p.`id_package_ws` = m.`id_package_ws`)
|
||||
GROUP BY `id_manifest_ws`
|
||||
'.$filter.'
|
||||
ORDER BY `'.bqSQL($order_by).'` '.pSQL($order_way).
|
||||
($start !== null && $pagination !== null ? ' LIMIT '.(int)$start.', '.(int)$pagination : '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if all fields of sender addresses are valid
|
||||
*
|
||||
* @param array $package_ids Package IDs
|
||||
* @return bool Sender addresses are valid
|
||||
*/
|
||||
public static function validateSenderAddresses($package_ids)
|
||||
{
|
||||
if (!is_array($package_ids))
|
||||
return false;
|
||||
|
||||
$first_package = new DpdPolandPackage((int)$package_ids[0]);
|
||||
$first_package_address = new Address((int)$first_package->id_address_sender);
|
||||
|
||||
$address_keys = array('country', 'company', 'lastname', 'firstname', 'address1', 'address2', 'postcode', 'city', 'phone');
|
||||
$address = array();
|
||||
|
||||
foreach ($address_keys as $key)
|
||||
if (isset($first_package_address->$key))
|
||||
$address[$key] = $first_package_address->$key;
|
||||
else
|
||||
return false;
|
||||
|
||||
foreach ($package_ids as $package_id)
|
||||
{
|
||||
$package = new DpdPolandPackage((int)$package_id);
|
||||
$sender_address = new Address((int)$package->id_address_sender);
|
||||
$current_package_sender_address = array();
|
||||
|
||||
foreach ($address_keys as $key)
|
||||
if (isset($sender_address->$key))
|
||||
$current_package_sender_address[$key] = $sender_address->$key;
|
||||
else
|
||||
return false;
|
||||
|
||||
$differences = array_diff_assoc($address, $current_package_sender_address);
|
||||
|
||||
if (!empty($differences))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns manifest WebService ID according to package ID
|
||||
*
|
||||
* @param int|string $id_package_ws Package ID
|
||||
* @return false|null|string Manifest ID
|
||||
*/
|
||||
public static function getManifestIdWsByPackageIdWs($id_package_ws)
|
||||
{
|
||||
return Db::getInstance()->getValue('
|
||||
SELECT `id_manifest_ws`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_MANIFEST_DB_.'`
|
||||
WHERE `id_package_ws` = "'.(int)$id_package_ws.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns package ID according to Manifest ID
|
||||
*
|
||||
* @param int|string $id_manifest_ws Manifest ID
|
||||
* @return false|null|string Package ID
|
||||
*/
|
||||
public function getPackageIdWsByManifestIdWs($id_manifest_ws)
|
||||
{
|
||||
return Db::getInstance()->getValue('
|
||||
SELECT `id_package_ws`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_MANIFEST_DB_.'`
|
||||
WHERE `id_manifest_ws` = "'.(int)$id_manifest_ws.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns package object instance
|
||||
*
|
||||
* @return DpdPolandPackage instance
|
||||
*/
|
||||
public function getPackageInstance()
|
||||
{
|
||||
if (!$this->id_package_ws)
|
||||
$this->id_package_ws = $this->getPackageIdWsByManifestIdWs($this->id_manifest_ws);
|
||||
|
||||
return new DpdPolandPackage($this->id_package_ws);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates manifest
|
||||
*
|
||||
* @param string $output_doc_format Document format
|
||||
* @param string $output_doc_page_format Document page format
|
||||
* @param string $policy Policy type
|
||||
* @return bool Manifest generated successfully
|
||||
*/
|
||||
public function generate($output_doc_format = 'PDF', $output_doc_page_format = 'LBL_PRINTER', $policy = 'STOP_ON_FIRST_ERROR')
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandManifestWS;
|
||||
|
||||
return $this->webservice->generate($this, $output_doc_format, $output_doc_page_format, $policy);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates multiple manifests
|
||||
*
|
||||
* @param array $package_ids Packages IDs
|
||||
* @param string $output_doc_format Document format
|
||||
* @param string $output_doc_page_format Document page format
|
||||
* @param string $policy Policy type
|
||||
* @return bool Multiple manifests generated successfully
|
||||
*/
|
||||
public function generateMultiple($package_ids, $output_doc_format = 'PDF', $output_doc_page_format = 'LBL_PRINTER', $policy = 'STOP_ON_FIRST_ERROR')
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandManifestWS;
|
||||
|
||||
return $this->webservice->generateMultiple($package_ids, $output_doc_format, $output_doc_page_format, $policy);
|
||||
}
|
||||
}
|
||||
148
modules/dpdpoland/classes/ObjectModel.php
Normal file
148
modules/dpdpoland/classes/ObjectModel.php
Normal file
@@ -0,0 +1,148 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandObjectModel Responsible for PrestaShop objects management
|
||||
*/
|
||||
class DpdPolandObjectModel extends ObjectModel
|
||||
{
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array();
|
||||
|
||||
protected $tables = array();
|
||||
protected $table;
|
||||
protected $fieldsValidate = array();
|
||||
|
||||
protected $fieldsRequired = array();
|
||||
protected $fieldsSize = array();
|
||||
|
||||
protected $identifier;
|
||||
|
||||
const TYPE_INT = 1;
|
||||
const TYPE_BOOL = 2;
|
||||
const TYPE_STRING = 3;
|
||||
const TYPE_FLOAT = 4;
|
||||
const TYPE_DATE = 5;
|
||||
const TYPE_HTML = 6;
|
||||
const TYPE_NOTHING = 7;
|
||||
|
||||
/**
|
||||
* DpdPolandObjectModel class constructor
|
||||
* @param null|int $id Object ID
|
||||
*/
|
||||
public function __construct($id = null)
|
||||
{
|
||||
if (version_compare(_PS_VERSION_, '1.5', '<'))
|
||||
{
|
||||
$caller_class_name = $this->getCallerClassName(); // child class name
|
||||
|
||||
if (isset($caller_class_name::$definition))
|
||||
{
|
||||
$this->tables = array($caller_class_name::$definition['table']);
|
||||
$this->table = $caller_class_name::$definition['table'];
|
||||
$this->identifier = $caller_class_name::$definition['primary'];
|
||||
|
||||
foreach ($caller_class_name::$definition['fields'] as $field_name => $field)
|
||||
{
|
||||
if (!in_array($field_name, array('id_shop', 'date_upd', 'date_add')))
|
||||
{
|
||||
$validate_rule = (isset($field['validate'])) ? $field['validate'] : 'isAnything';
|
||||
$this->fieldsValidate[$field_name] = $validate_rule;
|
||||
|
||||
if (isset($field['required']))
|
||||
array_push($this->fieldsRequired, $field_name);
|
||||
|
||||
if (isset($field['size']))
|
||||
$this->fieldsSize[$field_name] = $field['size'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return parent::__construct($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns class name from which functions are called
|
||||
*
|
||||
* @return string Caller class name
|
||||
*/
|
||||
private function getCallerClassName()
|
||||
{
|
||||
return get_class($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects object fields data
|
||||
*
|
||||
* @return array Object fields data
|
||||
*/
|
||||
public function getFields()
|
||||
{
|
||||
if (version_compare(_PS_VERSION_, '1.5', '<'))
|
||||
{
|
||||
parent::validateFields();
|
||||
|
||||
$caller_class_name = $this->getCallerClassName(); // child class name
|
||||
$fields = array();
|
||||
|
||||
if (isset($caller_class_name::$definition))
|
||||
{
|
||||
foreach ($caller_class_name::$definition['fields'] as $field_name => $field)
|
||||
{
|
||||
if ($field_name == $this->identifier && isset($this->$field_name))
|
||||
$fields[$field_name] = $this->$field_name;
|
||||
else
|
||||
{
|
||||
switch ($field['type'])
|
||||
{
|
||||
case 1:
|
||||
$fields[$field_name] = (int)$this->$field_name;
|
||||
break;
|
||||
case 2:
|
||||
$fields[$field_name] = (bool)$this->$field_name;
|
||||
break;
|
||||
case 3:
|
||||
case 5:
|
||||
case 6:
|
||||
$fields[$field_name] = $this->$field_name;
|
||||
break;
|
||||
case 4:
|
||||
$fields[$field_name] = (float)$this->$field_name;
|
||||
break;
|
||||
case 7:
|
||||
$fields[$field_name] = $this->$field_name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
else
|
||||
return parent::getFields();
|
||||
}
|
||||
}
|
||||
448
modules/dpdpoland/classes/Package.php
Normal file
448
modules/dpdpoland/classes/Package.php
Normal file
@@ -0,0 +1,448 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandPackage Responsible for DPD packages management
|
||||
*/
|
||||
class DpdPolandPackage extends DpdPolandObjectModel
|
||||
{
|
||||
public $id_package;
|
||||
|
||||
public $id_package_ws;
|
||||
|
||||
public $id_order;
|
||||
|
||||
public $sessionId;
|
||||
|
||||
public $sessionType;
|
||||
|
||||
public $payerNumber;
|
||||
|
||||
public $id_address_sender;
|
||||
|
||||
public $id_address_delivery;
|
||||
|
||||
public $cod_amount;
|
||||
|
||||
public $declaredValue_amount;
|
||||
|
||||
public $ref1;
|
||||
|
||||
public $ref2;
|
||||
|
||||
public $additional_info;
|
||||
|
||||
public $labels_printed = 0;
|
||||
|
||||
public $id_sender_address;
|
||||
|
||||
public $cud;
|
||||
|
||||
public $rod;
|
||||
|
||||
public $dpde;
|
||||
|
||||
public $dpdnd;
|
||||
|
||||
public $dpdsaturday;
|
||||
|
||||
public $dpdfood;
|
||||
|
||||
public $dpdfood_limit_date;
|
||||
|
||||
public $dpdlq;
|
||||
|
||||
public $dpdtoday;
|
||||
|
||||
public $duty;
|
||||
|
||||
public $duty_amount;
|
||||
|
||||
public $duty_currency;
|
||||
|
||||
public $date_add;
|
||||
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var array Parcels data used for WebServices
|
||||
*/
|
||||
public $parcels = array();
|
||||
|
||||
/**
|
||||
* @var object Package WebServices instance
|
||||
*/
|
||||
private $webservice;
|
||||
|
||||
/**
|
||||
* @var false|mixed
|
||||
*/
|
||||
public $dpdpoland_products;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PACKAGE_DB_,
|
||||
'primary' => 'id_package',
|
||||
'multilang' => false,
|
||||
'multishop' => false,
|
||||
'fields' => array(
|
||||
'id_package' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_package_ws' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'sessionId' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'sessionType' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'payerNumber' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'id_address_sender' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_address_delivery' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'cod_amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'),
|
||||
'declaredValue_amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'),
|
||||
'ref1' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'ref2' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'additional_info' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'labels_printed' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'id_sender_address' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'cud' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'rod' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpde' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpdnd' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpdtoday' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpdsaturday' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpdfood' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'dpdfood_limit_date' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'dpdlq' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'duty' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
'duty_amount' => array('type' => self::TYPE_FLOAT, 'validate' => 'isPrice'),
|
||||
'duty_currency' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* DpdPolandPackage constructor
|
||||
* Object identified by id_package_ws rather than id_package
|
||||
*
|
||||
* @param null|int $id_package_ws Used only as a primary field by ObjectModel
|
||||
*/
|
||||
public function __construct($id_package_ws = null)
|
||||
{
|
||||
$id_package = $this->getPackageIdByPackageIdWs($id_package_ws);
|
||||
|
||||
parent::__construct($id_package);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns package ID according to package ID received from WebServices
|
||||
*
|
||||
* @param int|string $id_package_ws Package WebServices ID
|
||||
* @return false|null|string Package ID
|
||||
*/
|
||||
private function getPackageIdByPackageIdWs($id_package_ws)
|
||||
{
|
||||
return Db::getInstance()->getValue('
|
||||
SELECT `id_package`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '`
|
||||
WHERE `id_package_ws` = "' . (int)$id_package_ws . '"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes packages duplicates for order to have only one package
|
||||
*
|
||||
* @return bool Packages duplicates removed successfully
|
||||
*/
|
||||
public function removeOrderDuplicates()
|
||||
{
|
||||
$id_last_package_by_order = Db::getInstance()->getValue('
|
||||
SELECT `id_package`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '`
|
||||
WHERE `id_order` = "' . (int)$this->id_order . '"
|
||||
ORDER BY `id_package` DESC
|
||||
');
|
||||
|
||||
return Db::getInstance()->execute('
|
||||
DELETE FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '`
|
||||
WHERE `id_order` = "' . (int)$this->id_order . '"
|
||||
AND `id_package` != "' . (int)$id_last_package_by_order . '"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates package instance according to order ID
|
||||
*
|
||||
* @param int $id_order Order ID
|
||||
* @return DpdPolandPackage object instance
|
||||
*/
|
||||
public static function getInstanceByIdOrder($id_order)
|
||||
{
|
||||
$id_package_ws = Db::getInstance()->getValue('
|
||||
SELECT `id_package_ws`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '`
|
||||
WHERE `id_order` = "' . (int)$id_order . '"
|
||||
ORDER BY `id_package` DESC
|
||||
');
|
||||
|
||||
return new DpdPolandPackage($id_package_ws);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if current package has printed labels
|
||||
*
|
||||
* @return int Printed labels count
|
||||
*/
|
||||
public function isManifestPrinted()
|
||||
{
|
||||
return (int)Db::getInstance()->getValue('
|
||||
SELECT COUNT(`id_manifest_ws`)
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_MANIFEST_DB_ . '`
|
||||
WHERE `id_package_ws`=' . (int)$this->id_package_ws
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns formatted session type
|
||||
*
|
||||
* @return string Formatted session type
|
||||
*/
|
||||
public function getSessionType()
|
||||
{
|
||||
return $this->sessionType == 'international' ? 'INTERNATIONAL' : 'DOMESTIC';
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
$order_way = Validate::isOrderWay($order_way) ? $order_way : 'ASC';
|
||||
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
$id_lang = (int)Context::getContext()->language->id;
|
||||
|
||||
$list = DB::getInstance()->executeS('
|
||||
SELECT
|
||||
p.`id_package_ws` AS `id_package_ws`,
|
||||
p.`date_add` AS `date_add`,
|
||||
p.`id_order` AS `id_order`,
|
||||
(SELECT COUNT(par.`id_parcel`)
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PARCEL_DB_ . '` par
|
||||
WHERE par.`id_package_ws` = p.`id_package_ws`) AS `count_parcel`,
|
||||
(SELECT parc.`waybill`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PARCEL_DB_ . '` parc
|
||||
WHERE parc.`id_package_ws` = p.`id_package_ws`
|
||||
ORDER BY parc.`id_parcel`
|
||||
LIMIT 1) AS `package_number`,
|
||||
CONCAT(a.`firstname`, " ", a.`lastname`) AS `receiver`,
|
||||
cl.`name` AS `country`,
|
||||
a.`postcode` AS `postcode`,
|
||||
a.`city` AS `city`,
|
||||
CONCAT(a.`address1`, " ", a.`address2`) AS `address`,
|
||||
p.`ref1` AS `ref1`,
|
||||
p.`ref2` AS `ref2`,
|
||||
p.`additional_info` AS `additional_info`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '` p
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'orders` o ON (o.`id_order` = p.`id_order`)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'address` a ON (a.`id_address` = p.`id_address_delivery`)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'country_lang` cl ON (cl.`id_country` = a.`id_country` AND cl.`id_lang` = "' . (int)$id_lang . '")
|
||||
WHERE ' . (version_compare(_PS_VERSION_, '1.5', '<') ? '' : 'o.`id_shop` = "' . (int)$id_shop . '" AND ') . '
|
||||
NOT EXISTS(
|
||||
SELECT m.`id_manifest_ws`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_MANIFEST_DB_ . '` m
|
||||
WHERE m.`id_package_ws` = p.`id_package_ws`
|
||||
) ' .
|
||||
$filter .
|
||||
($order_by && $order_way ? ' ORDER BY `' . bqSQL($order_by) . '` ' . pSQL($order_way) : '') .
|
||||
($start !== null && $pagination !== null ? ' LIMIT ' . (int)$start . ', ' . (int)$pagination : '')
|
||||
);
|
||||
|
||||
if (!$list)
|
||||
$list = array();
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits packages into groups
|
||||
* according to session type
|
||||
*
|
||||
* @param array $ids Packages WebServices IDs
|
||||
* @return array Formatted packages groups
|
||||
*/
|
||||
public static function separatePackagesBySession($ids)
|
||||
{
|
||||
$international_packages = array();
|
||||
$domestic_packages = array();
|
||||
|
||||
foreach ($ids as $id_package_ws) {
|
||||
$package = new DpdPolandPackage((int)$id_package_ws);
|
||||
$session_type = $package->getSessionType();
|
||||
if ($session_type == 'INTERNATIONAL')
|
||||
$international_packages[] = (int)$id_package_ws;
|
||||
elseif ($session_type == 'DOMESTIC')
|
||||
$domestic_packages[] = (int)$id_package_ws;
|
||||
}
|
||||
|
||||
return array('INTERNATIONAL' => $international_packages, 'DOMESTIC' => $domestic_packages);
|
||||
}
|
||||
|
||||
/**
|
||||
* Assigns parcel for package
|
||||
*
|
||||
* @param array $parcel Parcel data
|
||||
* @param string $additional_info Order additional info
|
||||
* @param boolean $dpdlq Is dpd LQ service
|
||||
*/
|
||||
public function addParcel($parcel, $additional_info, $dpdlq)
|
||||
{
|
||||
$parcel = array(
|
||||
'content' => $parcel['content'],
|
||||
'customerData1' => $additional_info,
|
||||
'customerData2' => null,
|
||||
'customerData3' => null,
|
||||
'reference' => Tools::strtoupper(Tools::passwdGen(9, 'NO_NUMERIC')) . '_' . (int)$parcel['number'],
|
||||
'sizeX' => (float)$parcel['length'],
|
||||
'sizeY' => (float)$parcel['width'],
|
||||
'sizeZ' => (float)$parcel['height'],
|
||||
'weight' => (float)$parcel['weight'],
|
||||
'weightAdr' => $dpdlq == true && isset($parcel['adr']) && ($parcel['adr'] == 'true' || $parcel['adr'] == 'on') ? (float)$parcel['weight_adr'] : null
|
||||
);
|
||||
|
||||
$this->parcels[] = $parcel;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generates multiple labels for selected packages
|
||||
*
|
||||
* @param array $waybills Packages waybills
|
||||
* @param string $outputDocPageFormat Document page format
|
||||
* @param string $session_type Session type (DOMESTIC, INTERNATIONAL)
|
||||
* @param string $outputLabelType
|
||||
* @return bool Multiple labels generated successfully
|
||||
*/
|
||||
public function generateMultipleLabels($waybills, $outputDocPageFormat = 'A4', $session_type = 'INTERNATIONAL', $outputLabelType = 'BIC3')
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandPackageWS;
|
||||
|
||||
return $this->webservice->generateMultipleLabels($waybills, $outputDocPageFormat, $session_type, $outputLabelType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates package labels
|
||||
*
|
||||
* @param string $outputDocFormat Document format
|
||||
* @param string $outputDocPageFormat Document page format
|
||||
* @param string $policy Policy type
|
||||
* @param string $outputLabelType
|
||||
* @return bool Labels generated successfully
|
||||
*/
|
||||
public function generateLabels($outputDocFormat = 'PDF', $outputDocPageFormat = 'A4', $policy = 'STOP_ON_FIRST_ERROR', $outputLabelType = 'BIC3')
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandPackageWS;
|
||||
|
||||
return $this->webservice->generateLabels($this, $outputDocFormat, $outputDocPageFormat, $policy, $outputLabelType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates labels for selected packages
|
||||
*
|
||||
* @param array $package_ids Packages IDs
|
||||
* @param string $outputDocFormat Document format
|
||||
* @param string $outputDocPageFormat Document page format
|
||||
* @param string $policy Policy type
|
||||
* @param string $outputLabelType
|
||||
* @return bool Labels generated successfully
|
||||
*/
|
||||
public function generateLabelsForMultiplePackages($package_ids, $outputDocFormat = 'PDF', $outputDocPageFormat = 'LBL_PRINTER', $policy = 'STOP_ON_FIRST_ERROR', $outputLabelType = 'BIC3')
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandPackageWS;
|
||||
|
||||
return $this->webservice->generateLabelsForMultiplePackages($package_ids, $outputDocFormat, $outputDocPageFormat, $policy, $outputLabelType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects sender address according to package
|
||||
*
|
||||
* @param int|string $package_number Package number
|
||||
* @return array Sender address data
|
||||
*/
|
||||
public function getSenderAddress()
|
||||
{
|
||||
if (!$this->webservice)
|
||||
$this->webservice = new DpdPolandPackageWS;
|
||||
|
||||
return $this->webservice->getSenderAddress($this->id_sender_address);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects data about order which has no saved shipments
|
||||
*
|
||||
* @return array Orders which has no saved shipments
|
||||
*/
|
||||
public static function getLabelExceptions()
|
||||
{
|
||||
$orders = Db::getInstance()->executeS('
|
||||
SELECT `id_order`
|
||||
FROM `' . _DB_PREFIX_ . 'orders`
|
||||
');
|
||||
|
||||
if (empty($orders)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
$orders_ids = array();
|
||||
|
||||
foreach ($orders as $order) {
|
||||
$orders_ids[] = (int)$order['id_order'];
|
||||
}
|
||||
|
||||
$packages = Db::getInstance()->executeS('
|
||||
SELECT `id_order`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '`
|
||||
');
|
||||
|
||||
if (empty($packages)) {
|
||||
return $orders_ids;
|
||||
}
|
||||
|
||||
$package_orders_ids = array();
|
||||
|
||||
foreach ($packages as $package) {
|
||||
$package_orders_ids[] = $package['id_order'];
|
||||
}
|
||||
|
||||
return array_diff($orders_ids, $package_orders_ids);
|
||||
}
|
||||
}
|
||||
296
modules/dpdpoland/classes/Parcel.php
Normal file
296
modules/dpdpoland/classes/Parcel.php
Normal file
@@ -0,0 +1,296 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandParcel Responsible for DPD parcels management
|
||||
*/
|
||||
class DpdPolandParcel extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Parcel ID
|
||||
*/
|
||||
public $id_parcel;
|
||||
|
||||
/**
|
||||
* @var int|string Parcel WebService ID
|
||||
*/
|
||||
public $id_package_ws;
|
||||
|
||||
/**
|
||||
* @var string Parcel waybill
|
||||
*/
|
||||
public $waybill;
|
||||
|
||||
/**
|
||||
* @var string Parcel content
|
||||
*/
|
||||
public $content;
|
||||
|
||||
/**
|
||||
* @var float Parcel weight
|
||||
*/
|
||||
public $weight;
|
||||
|
||||
/**
|
||||
* @var float Parcel weightAdr
|
||||
*/
|
||||
public $weight_adr;
|
||||
|
||||
/**
|
||||
* @var float Parcel height
|
||||
*/
|
||||
public $height;
|
||||
|
||||
/**
|
||||
* @var float Parcel length
|
||||
*/
|
||||
public $length;
|
||||
|
||||
/**
|
||||
* @var float Parcel width
|
||||
*/
|
||||
public $width;
|
||||
|
||||
/**
|
||||
* @var int|string Parcel number
|
||||
*/
|
||||
public $number;
|
||||
|
||||
/**
|
||||
* @var datetime Date when parcel was created
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when parcel data was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PARCEL_DB_,
|
||||
'primary' => 'id_parcel',
|
||||
'multilang' => false,
|
||||
'multishop' => false,
|
||||
'fields' => array(
|
||||
'id_parcel' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_package_ws' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'waybill' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'content' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'weight' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'weight_adr' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'height' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'length' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'width' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'number' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects orders waybills data
|
||||
*
|
||||
* @param array $orders_ids Orders IDs
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Orders Waybills
|
||||
*/
|
||||
public static function getOrdersWaybills(array $orders_ids)
|
||||
{
|
||||
if (empty($orders_ids)) {
|
||||
return array();
|
||||
}
|
||||
|
||||
$waybills = Db::getInstance()->executeS('
|
||||
SELECT parc.`waybill`, pack.`sessionType`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '` pack
|
||||
LEFT JOIN `' . _DB_PREFIX_ . _DPDPOLAND_PARCEL_DB_ . '` parc
|
||||
ON (parc.`id_package_ws` = pack.`id_package_ws`)
|
||||
WHERE pack.`id_order` IN (' . implode(',', $orders_ids) . ')
|
||||
');
|
||||
|
||||
return $waybills;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects parcels data for order
|
||||
*
|
||||
* @param int $id_order Order ID
|
||||
* @param null|int|string $id_package_ws Package WebServices ID
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Order parcels
|
||||
* @throws PrestaShopDatabaseException
|
||||
*/
|
||||
public static function getParcels($id_order, $id_package_ws = null)
|
||||
{
|
||||
if ($id_package_ws) {
|
||||
$parcels = Db::getInstance()->executeS('
|
||||
SELECT `id_parcel`, `content`, `weight`, `height`, `length`, `width`, `number`, `weight_adr`
|
||||
FROM `' . bqSQL(_DB_PREFIX_ . self::$definition['table']) . '`
|
||||
WHERE `id_package_ws`=' . (int)$id_package_ws
|
||||
);
|
||||
return $parcels;
|
||||
}
|
||||
|
||||
$products = DpdPolandParcelProduct::getShippedProducts($id_order);
|
||||
|
||||
$parcels = array();
|
||||
|
||||
$weight = $height = $length = $width = 0;
|
||||
|
||||
$products_count = count($products);
|
||||
|
||||
if ($products_count == 1) {
|
||||
$product = reset($products);
|
||||
$height = DpdPoland::convertDimension($product['height']);
|
||||
$length = DpdPoland::convertDimension($product['length']);
|
||||
$width = DpdPoland::convertDimension($product['width']);
|
||||
}
|
||||
|
||||
$content = DpdPolandParcel::getParcelContent($products);
|
||||
|
||||
foreach ($products as $product) {
|
||||
$weight += DpdPoland::convertWeight($product['weight']);
|
||||
}
|
||||
|
||||
$parcels[] = array(
|
||||
'number' => 1,
|
||||
'content' => $content,
|
||||
'weight' => $weight,
|
||||
'height' => sprintf('%.6f', $height),
|
||||
'length' => sprintf('%.6f', $length),
|
||||
'width' => sprintf('%.6f', $width),
|
||||
'weight_adr' => 0.0
|
||||
);
|
||||
|
||||
return $parcels;
|
||||
}
|
||||
|
||||
private static function getContentBySKU(array $products)
|
||||
{
|
||||
$content = '';
|
||||
$products_count = count($products);
|
||||
|
||||
foreach ($products as $product) {
|
||||
$content .= $product['reference'];
|
||||
|
||||
if (--$products_count)
|
||||
$content .= ', ';
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
|
||||
private static function getContentByProductId(array $products)
|
||||
{
|
||||
$content = '';
|
||||
$products_count = count($products);
|
||||
|
||||
foreach ($products as $product) {
|
||||
$content .= $product['id_product'] . '_' . $product['id_product_attribute'];
|
||||
|
||||
if (--$products_count)
|
||||
$content .= ', ';
|
||||
}
|
||||
return $content;
|
||||
|
||||
}
|
||||
|
||||
private static function getContentByProductName(array $products)
|
||||
{
|
||||
$content = '';
|
||||
$products_count = count($products);
|
||||
|
||||
foreach ($products as $product) {
|
||||
$content .= $product['name'];
|
||||
|
||||
if (--$products_count)
|
||||
$content .= ', ';
|
||||
}
|
||||
return $content;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Return parcel content
|
||||
* @param $settings
|
||||
* @param array $products
|
||||
*/
|
||||
public static function getParcelContent(array $products)
|
||||
{
|
||||
$settings = new DpdPolandConfiguration;
|
||||
switch ($settings->parcel_content_source) {
|
||||
case DpdPolandConfiguration::PARCEL_CONTENT_SOURCE_SKU:
|
||||
return DpdPolandParcel::getContentBySKU($products);
|
||||
case DpdPolandConfiguration::PARCEL_CONTENT_SOURCE_PRODUCT_ID:
|
||||
return DpdPolandParcel::getContentByProductId($products);
|
||||
case DpdPolandConfiguration::PARCEL_CONTENT_SOURCE_PRODUCT_NAME:
|
||||
return DpdPolandParcel::getContentByProductName($products);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
$order_way = Validate::isOrderWay($order_way) ? $order_way : 'ASC';
|
||||
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
$id_lang = (int)Context::getContext()->language->id;
|
||||
|
||||
$list = DB::getInstance()->executeS('
|
||||
SELECT
|
||||
p.`id_order` AS `id_order`,
|
||||
par.`waybill` AS `id_parcel`,
|
||||
CONCAT(a.`firstname`, " ", a.`lastname`) AS `receiver`,
|
||||
cl.`name` AS `country`,
|
||||
a.`postcode` AS `postcode`,
|
||||
a.`city` AS `city`,
|
||||
CONCAT(a.`address1`, " ", a.`address2`) AS `address`,
|
||||
p.`date_add` AS `date_add`
|
||||
FROM `' . _DB_PREFIX_ . _DPDPOLAND_PARCEL_DB_ . '` par
|
||||
LEFT JOIN `' . _DB_PREFIX_ . _DPDPOLAND_PACKAGE_DB_ . '` p ON (p.`id_package_ws` = par.`id_package_ws`)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'orders` o ON (o.`id_order` = p.`id_order`)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'address` a ON (a.`id_address` = p.`id_address_delivery`)
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'country_lang` cl ON (cl.`id_country` = a.`id_country` AND cl.`id_lang` = "' . (int)$id_lang . '")' .
|
||||
(version_compare(_PS_VERSION_, '1.5', '<') ? ' ' : 'WHERE o.`id_shop` = "' . (int)$id_shop . '" ') .
|
||||
$filter .
|
||||
($order_by && $order_way ? ' ORDER BY `' . bqSQL($order_by) . '` ' . pSQL($order_way) : '') .
|
||||
($start !== null && $pagination !== null ? ' LIMIT ' . (int)$start . ', ' . (int)$pagination : '')
|
||||
);
|
||||
|
||||
if (!$list)
|
||||
$list = array();
|
||||
|
||||
return $list;
|
||||
}
|
||||
}
|
||||
254
modules/dpdpoland/classes/ParcelProduct.php
Normal file
254
modules/dpdpoland/classes/ParcelProduct.php
Normal file
@@ -0,0 +1,254 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandParcelProduct Responsible for parcel products management
|
||||
*/
|
||||
class DpdPolandParcelProduct extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Parcel product ID
|
||||
*/
|
||||
public $id_parcel_product;
|
||||
|
||||
/**
|
||||
* @var int Parcel ID
|
||||
*/
|
||||
public $id_parcel;
|
||||
|
||||
/**
|
||||
* @var int Product ID
|
||||
*/
|
||||
public $id_product;
|
||||
|
||||
/**
|
||||
* @var int Product attribute ID
|
||||
*/
|
||||
public $id_product_attribute;
|
||||
|
||||
/**
|
||||
* @var string Product name
|
||||
*/
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @var Product weight
|
||||
*/
|
||||
public $weight;
|
||||
|
||||
/**
|
||||
* @var datetime Date when product was assigned for order
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when product data of assignation for order was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PARCEL_PRODUCT_DB_,
|
||||
'primary' => 'id_parcel_product',
|
||||
'multilang' => false,
|
||||
'multishop' => false,
|
||||
'fields' => array(
|
||||
'id_parcel' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_product' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_product_attribute' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'name' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
|
||||
'weight' => array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects data about parcels products details
|
||||
*
|
||||
* @param array $parcels Parcels
|
||||
* @return array Parcels products data
|
||||
*/
|
||||
public static function getProductDetailsByParcels($parcels)
|
||||
{
|
||||
$products = array();
|
||||
|
||||
foreach ($parcels as $parcel)
|
||||
{
|
||||
if (isset($parcel['id_parcel']))
|
||||
{
|
||||
if ($products_array = self::getProductByIdParcel($parcel['id_parcel']))
|
||||
{
|
||||
foreach ($products_array as $product)
|
||||
{
|
||||
if (self::isLabelPrinted($parcel['id_parcel']))
|
||||
{
|
||||
$product_data = self::getProductNameAndWeight($parcel['id_parcel'], $product['id_product'],
|
||||
$product['id_product_attribute']);
|
||||
$products[] = array_merge($product, array(
|
||||
'name' => $product_data['name'],
|
||||
'weight' => (float)$product_data['weight'],
|
||||
'id_parcel' => (int)$parcel['id_parcel'],
|
||||
'reference' => $product['reference']
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
$product_obj = new Product($product['id_product']);
|
||||
$combination = new Combination($product['id_product_attribute']);
|
||||
|
||||
$products[] = array_merge($product, array(
|
||||
'name' => (version_compare(_PS_VERSION_, '1.5', '<') ?
|
||||
$product_obj->name[(int)Context::getContext()->language->id] :
|
||||
Product::getProductName($product['id_product'], $product['id_product_attribute'])),
|
||||
'weight' => (float)$combination->weight + (float)$product_obj->weight,
|
||||
'id_parcel' => (int)$parcel['id_parcel'],
|
||||
'reference' => $product['reference']
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $products;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects products IDs according to parcel
|
||||
*
|
||||
* @param int $id_parcel Parcel ID
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Parcel products IDs
|
||||
*/
|
||||
private static function getProductByIdParcel($id_parcel)
|
||||
{
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT dp.`id_product`, dp.`id_product_attribute`, p.`reference`
|
||||
FROM `'._DB_PREFIX_.bqSQL(self::$definition['table']).'` dp
|
||||
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = dp.`id_product`)
|
||||
WHERE dp.`id_parcel`='.(int)$id_parcel
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and formats data about order shipped products
|
||||
*
|
||||
* @param int $id_order Order ID
|
||||
* @param array $products Products information
|
||||
* @return array Shipped products data
|
||||
*/
|
||||
public static function getShippedProducts($id_order, $products = array())
|
||||
{
|
||||
$order = is_object($id_order) ? $id_order : new Order((int)$id_order);
|
||||
|
||||
if (!$products)
|
||||
$products = $order->getProductsDetail();
|
||||
|
||||
$shipped_products = array();
|
||||
|
||||
foreach ($products as $product)
|
||||
{
|
||||
if (isset($product['product_quantity']))
|
||||
$quantity = (int)$product['product_quantity'];
|
||||
elseif (isset($product['quantity']))
|
||||
$quantity = (int)$product['quantity'];
|
||||
else
|
||||
$quantity = 1;
|
||||
|
||||
self::extractAndFormatProductData($product);
|
||||
|
||||
for ($i = 0; $i < $quantity; $i++)
|
||||
$shipped_products[] = $product;
|
||||
}
|
||||
|
||||
return $shipped_products;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and formats needed products data
|
||||
*
|
||||
* @param array $product Product properties
|
||||
*/
|
||||
private static function extractAndFormatProductData(&$product)
|
||||
{
|
||||
$id_product = isset($product['product_id']) ? (int)$product['product_id'] : (int)$product['id_product'];
|
||||
$id_product_attribute = isset($product['product_attribute_id']) ? (int)$product['product_attribute_id'] :
|
||||
(int)$product['id_product_attribute'];
|
||||
$product_name = isset($product['product_name']) ? $product['product_name'] : $product['name'];
|
||||
$product_weight = isset($product['product_weight']) ? $product['product_weight'] : $product['weight'];
|
||||
|
||||
if (isset($product['id_parcel']))
|
||||
$id_parcel = (int)$product['id_parcel'];
|
||||
|
||||
$product = array(
|
||||
'id_product' => $id_product,
|
||||
'id_product_attribute' => $id_product_attribute,
|
||||
'name' => $product_name,
|
||||
'weight' => DpdPoland::convertWeight($product_weight),
|
||||
'width' => isset($product['width']) ? DpdPoland::convertDimension($product['width']) : null,
|
||||
'height' => isset($product['height']) ? DpdPoland::convertDimension($product['height']) : null,
|
||||
'length' => isset($product['height']) ? DpdPoland::convertDimension($product['depth']) : null,
|
||||
'reference' => $product['reference']
|
||||
);
|
||||
|
||||
if (isset($id_parcel))
|
||||
$product['id_parcel'] = $id_parcel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if label is printed and record about it was saved in database
|
||||
*
|
||||
* @param int $id_parcel Parcel ID
|
||||
* @return bool Label was printed
|
||||
*/
|
||||
private static function isLabelPrinted($id_parcel)
|
||||
{
|
||||
return (bool)DB::getInstance()->getValue('
|
||||
SELECT pac.`labels_printed`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PARCEL_DB_.'` par
|
||||
LEFT JOIN `'._DB_PREFIX_._DPDPOLAND_PACKAGE_DB_.'` pac ON (pac.`id_package_ws` = par.`id_package_ws`)
|
||||
WHERE par.`id_parcel` = "'.(int)$id_parcel.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects product name and weight
|
||||
*
|
||||
* @param int $id_parcel Parcel ID
|
||||
* @param int $id_product Product ID
|
||||
* @param int $id_product_attribute Product combination ID
|
||||
* @return array|bool|null|object Product name and weight
|
||||
*/
|
||||
private static function getProductNameAndWeight($id_parcel, $id_product, $id_product_attribute)
|
||||
{
|
||||
return DB::getInstance()->getRow('
|
||||
SELECT `name`, `weight`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PARCEL_PRODUCT_DB_.'`
|
||||
WHERE `id_parcel` = "'.(int)$id_parcel.'"
|
||||
AND `id_product` = "'.(int)$id_product.'"
|
||||
AND `id_product_attribute` = "'.(int)$id_product_attribute.'"
|
||||
');
|
||||
}
|
||||
}
|
||||
123
modules/dpdpoland/classes/PayerNumber.php
Normal file
123
modules/dpdpoland/classes/PayerNumber.php
Normal file
@@ -0,0 +1,123 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandPayerNumber Responsible for payer number management
|
||||
*/
|
||||
class DpdPolandPayerNumber extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Payer number ID
|
||||
*/
|
||||
public $id_dpdpoland_payer_number;
|
||||
|
||||
/**
|
||||
* @var string|int Payer number
|
||||
*/
|
||||
public $payer_number;
|
||||
|
||||
/**
|
||||
* @var string Payer number name
|
||||
*/
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @var int Shop ID
|
||||
*/
|
||||
public $id_shop;
|
||||
|
||||
/**
|
||||
* @var datetime Date when payer number was added
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when payer number was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* DpdPolandPayerNumber class constructor
|
||||
* @param null|int $id_dpdpoland_payer_number DPD payer number ID
|
||||
*/
|
||||
public function __construct($id_dpdpoland_payer_number = null)
|
||||
{
|
||||
parent::__construct($id_dpdpoland_payer_number);
|
||||
$this->id_shop = (int)Context::getContext()->shop->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PAYER_NUMBERS_DB_,
|
||||
'primary' => 'id_dpdpoland_payer_number',
|
||||
'multilang_shop' => true,
|
||||
'multishop' => true,
|
||||
'fields' => array(
|
||||
'payer_number' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'name' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Checks if payer number exists in database
|
||||
*
|
||||
* @param string $number Payer number
|
||||
* @param null|int $id_shop Shop ID
|
||||
* @return bool Payer number exists in database
|
||||
*/
|
||||
public static function payerNumberExists($number, $id_shop = null)
|
||||
{
|
||||
if ($id_shop === null)
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
|
||||
return (bool)DB::getInstance()->getValue('
|
||||
SELECT `id_dpdpoland_payer_number`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PAYER_NUMBERS_DB_.'`
|
||||
WHERE `payer_number` = "'.pSQL($number).'"
|
||||
AND `id_shop` = "'.(int)$id_shop.'"
|
||||
');
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects data of merchant payer numbers saved in database
|
||||
*
|
||||
* @param null|int $id_shop Shop ID
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Payer numbers
|
||||
*/
|
||||
public static function getPayerNumbers($id_shop = null)
|
||||
{
|
||||
if ($id_shop === null)
|
||||
$id_shop = (int)Context::getContext()->shop->id;
|
||||
|
||||
return DB::getInstance()->executeS('
|
||||
SELECT `id_dpdpoland_payer_number`, `payer_number`, `name`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PAYER_NUMBERS_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)$id_shop.'"
|
||||
');
|
||||
}
|
||||
}
|
||||
188
modules/dpdpoland/classes/PickupHistory.php
Normal file
188
modules/dpdpoland/classes/PickupHistory.php
Normal file
@@ -0,0 +1,188 @@
|
||||
<?php
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandPickupHistory
|
||||
*/
|
||||
class DpdPolandPickupHistory extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Courier order ID, incremental
|
||||
*/
|
||||
public $id_pickup_history;
|
||||
|
||||
/**
|
||||
* @var string Order number
|
||||
*/
|
||||
public $order_number;
|
||||
|
||||
/**
|
||||
* @var string Sender address
|
||||
*/
|
||||
public $sender_address;
|
||||
|
||||
/**
|
||||
* @var string Sender company
|
||||
*/
|
||||
public $sender_company;
|
||||
|
||||
/**
|
||||
* @var string Sender name
|
||||
*/
|
||||
public $sender_name;
|
||||
|
||||
/**
|
||||
* @var string Sender phone
|
||||
*/
|
||||
public $sender_phone;
|
||||
|
||||
/**
|
||||
* @var datetime Pickup date
|
||||
*/
|
||||
public $pickup_date;
|
||||
|
||||
/**
|
||||
* @var string Pickup time range
|
||||
*/
|
||||
public $pickup_time;
|
||||
|
||||
/**
|
||||
* @var string Type
|
||||
*/
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @var int envelope
|
||||
*/
|
||||
public $envelope;
|
||||
|
||||
/**
|
||||
* @var int package
|
||||
*/
|
||||
public $package;
|
||||
|
||||
/**
|
||||
* @var decimal Package weight all
|
||||
*/
|
||||
public $package_weight_all;
|
||||
|
||||
/**
|
||||
* @var decimal Package heaviest weight
|
||||
*/
|
||||
public $package_heaviest_weight;
|
||||
|
||||
/**
|
||||
* @var decimal Package heaviest width
|
||||
*/
|
||||
public $package_heaviest_width;
|
||||
|
||||
/**
|
||||
* @var decimal Package heaviest length
|
||||
*/
|
||||
public $package_heaviest_length;
|
||||
|
||||
/**
|
||||
* @var decimal Package heaviest height
|
||||
*/
|
||||
public $package_heaviest_height;
|
||||
|
||||
/**
|
||||
* @var int Pallet
|
||||
*/
|
||||
public $pallet;
|
||||
|
||||
/**
|
||||
* @var decimal Pallet weight
|
||||
*/
|
||||
public $pallet_weight;
|
||||
|
||||
/**
|
||||
* @var decimal Pallet heaviest weight
|
||||
*/
|
||||
public $pallet_heaviest_weight;
|
||||
|
||||
/**
|
||||
* @var decimal Pallet heaviest height
|
||||
*/
|
||||
public $pallet_heaviest_height;
|
||||
|
||||
/**
|
||||
* @var datetime Date when sender address was saved
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when sender address was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var int Shop ID
|
||||
*/
|
||||
public $id_shop;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_PICKUP_HISTORY_DB_,
|
||||
'primary' => 'id_pickup_history',
|
||||
'multilang' => false,
|
||||
'multishop' => true,
|
||||
'fields' => array(
|
||||
'order_number' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'sender_address' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'sender_company' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'sender_name' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'sender_phone' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'pickup_date' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'pickup_time' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'type' => array('type' => self::TYPE_STRING, 'validate' => 'isAnything'),
|
||||
'envelope' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'package' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'pallet' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public static function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT *
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PICKUP_HISTORY_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
'.$filter.'
|
||||
ORDER BY `'.bqSQL($order_by).'` '.pSQL(Validate::isOrderWay($order_way) ? $order_way : 'ASC').
|
||||
($start !== null && $pagination !== null ? ' LIMIT '.(int)$start.', '.(int)$pagination : '')
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calculates how many addresses are saved in current shop
|
||||
*
|
||||
* @return int count
|
||||
*/
|
||||
public static function getCourierOrderCount()
|
||||
{
|
||||
return (int)Db::getInstance()->getValue('
|
||||
SELECT COUNT(`id_pickup_history`)
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_PICKUP_HISTORY_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
}
|
||||
}
|
||||
175
modules/dpdpoland/classes/SenderAddress.php
Normal file
175
modules/dpdpoland/classes/SenderAddress.php
Normal file
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandSenderAddress Responsible for sender addresses management
|
||||
*/
|
||||
class DpdPolandSenderAddress extends DpdPolandObjectModel
|
||||
{
|
||||
/**
|
||||
* @var int Sender address ID, incremental
|
||||
*/
|
||||
public $id_sender_address;
|
||||
|
||||
/**
|
||||
* @var string Sender address alias
|
||||
*/
|
||||
public $alias;
|
||||
|
||||
/**
|
||||
* @var string Sender name
|
||||
*/
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* @var string Sender phone number
|
||||
*/
|
||||
public $phone;
|
||||
|
||||
/**
|
||||
* @var string Sender address
|
||||
*/
|
||||
public $address;
|
||||
|
||||
/**
|
||||
* @var string Sender city name
|
||||
*/
|
||||
public $city;
|
||||
|
||||
/**
|
||||
* @var string Sender company name
|
||||
*/
|
||||
public $company;
|
||||
|
||||
/**
|
||||
* @var string Sender email address
|
||||
*/
|
||||
public $email;
|
||||
|
||||
/**
|
||||
* @var string Sender postcode
|
||||
*/
|
||||
public $postcode;
|
||||
|
||||
/**
|
||||
* @var datetime Date when sender address was saved
|
||||
*/
|
||||
public $date_add;
|
||||
|
||||
/**
|
||||
* @var datetime Date when sender address was updated
|
||||
*/
|
||||
public $date_upd;
|
||||
|
||||
/**
|
||||
* @var int Shop ID
|
||||
*/
|
||||
public $id_shop;
|
||||
|
||||
/**
|
||||
* @var array Class variables and their validation types
|
||||
*/
|
||||
public static $definition = array(
|
||||
'table' => _DPDPOLAND_SENDER_ADDRESS_DB_,
|
||||
'primary' => 'id_sender_address',
|
||||
'multilang' => false,
|
||||
'multishop' => false,
|
||||
'fields' => array(
|
||||
'alias' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
|
||||
'company' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
|
||||
'name' => array('type' => self::TYPE_STRING, 'validate' => 'isName'),
|
||||
'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber'),
|
||||
'address' => array('type' => self::TYPE_STRING, 'validate' => 'isAddress'),
|
||||
'city' => array('type' => self::TYPE_STRING, 'validate' => 'isCityName'),
|
||||
'email' => array('type' => self::TYPE_STRING, 'validate' => 'isEmail'),
|
||||
'postcode' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode'),
|
||||
'id_shop' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
|
||||
'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'),
|
||||
'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate')
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Collects list data and prepares it to be displayed
|
||||
*
|
||||
* @param string $order_by List order by criteria
|
||||
* @param string $order_way List sorting way (ascending, descending)
|
||||
* @param string $filter Criteria by which list is filtered
|
||||
* @param int $start From which element list will be displayed
|
||||
* @param int $pagination How many elements will be displayed in list
|
||||
* @return array|false|mysqli_result|null|PDOStatement|resource Collected list data
|
||||
*/
|
||||
public function getList($order_by, $order_way, $filter, $start, $pagination)
|
||||
{
|
||||
$order_way = Validate::isOrderWay($order_way) ? $order_way : 'ASC';
|
||||
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT *
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_SENDER_ADDRESS_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
'.$filter.'
|
||||
ORDER BY `'.bqSQL($order_by).'` '.pSQL($order_way).
|
||||
($start !== null && $pagination !== null ? ' LIMIT '.(int)$start.', '.(int)$pagination : '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and returns data about sender addresses saved in current shop
|
||||
*
|
||||
* @return array Sender addresses
|
||||
*/
|
||||
public static function getAddresses()
|
||||
{
|
||||
$result = array();
|
||||
|
||||
$addresses = Db::getInstance()->executeS('
|
||||
SELECT `id_sender_address`, `alias`
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_SENDER_ADDRESS_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
|
||||
if (!$addresses) {
|
||||
return $result;
|
||||
}
|
||||
|
||||
foreach ($addresses as $address) {
|
||||
$result[$address['id_sender_address']] = $address['alias'];
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates how many addresses are saved in current shop
|
||||
*
|
||||
* @return int Sender addresses count
|
||||
*/
|
||||
public static function getAddressesCount()
|
||||
{
|
||||
return (int)Db::getInstance()->getValue('
|
||||
SELECT COUNT(`id_sender_address`)
|
||||
FROM `'._DB_PREFIX_._DPDPOLAND_SENDER_ADDRESS_DB_.'`
|
||||
WHERE `id_shop` = "'.(int)Context::getContext()->shop->id.'"
|
||||
');
|
||||
}
|
||||
}
|
||||
29
modules/dpdpoland/classes/index.php
Normal file
29
modules/dpdpoland/classes/index.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
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;
|
||||
7
modules/dpdpoland/composer.json
Normal file
7
modules/dpdpoland/composer.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "prestashop/dpdpoland",
|
||||
"description": "DPD Poland",
|
||||
"autoload": { "psr-4": { "DpdPoland\\": "src/" } },
|
||||
"license": "DPDPoland",
|
||||
"type": "prestashop-module"
|
||||
}
|
||||
18
modules/dpdpoland/composer.lock
generated
Normal file
18
modules/dpdpoland/composer.lock
generated
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "1c31ad2d85a801c4a5c2fc9fa1e24bf1",
|
||||
"packages": [],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.2.0"
|
||||
}
|
||||
284
modules/dpdpoland/config.api.php
Normal file
284
modules/dpdpoland/config.api.php
Normal file
@@ -0,0 +1,284 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/* URI constants */
|
||||
|
||||
if (!defined('_DPDPOLAND_MODULE_URI_'))
|
||||
/**
|
||||
* URL to module directory
|
||||
*/
|
||||
define('_DPDPOLAND_MODULE_URI_', _MODULE_DIR_.'dpdpoland/');
|
||||
|
||||
if (!defined('_DPDPOLAND_LIBRARIES_DIR_'))
|
||||
/**
|
||||
* Path to module libraries directory
|
||||
*/
|
||||
define('_DPDPOLAND_LIBRARIES_DIR_', _PS_MODULE_DIR_.'dpdpoland/libraries/');
|
||||
|
||||
if (!defined('_DPDPOLAND_CSS_URI_'))
|
||||
/**
|
||||
* URL to module CSS files
|
||||
*/
|
||||
define('_DPDPOLAND_CSS_URI_', _DPDPOLAND_MODULE_URI_.'css/');
|
||||
|
||||
if (!defined('_DPDPOLAND_JS_URI_'))
|
||||
/**
|
||||
* URL to module JS files
|
||||
*/
|
||||
define('_DPDPOLAND_JS_URI_', _DPDPOLAND_MODULE_URI_.'js/');
|
||||
|
||||
if (!defined('_DPDPOLAND_IMG_URI_'))
|
||||
/**
|
||||
* URL to module images
|
||||
*/
|
||||
define('_DPDPOLAND_IMG_URI_', _DPDPOLAND_MODULE_URI_.'img/');
|
||||
|
||||
if (!defined('_DPDPOLAND_AJAX_URI_'))
|
||||
/**
|
||||
* URL to module AJAX file
|
||||
*/
|
||||
define('_DPDPOLAND_AJAX_URI_', _DPDPOLAND_MODULE_URI_.'dpdpoland.ajax.php');
|
||||
|
||||
if (!defined('_DPDPOLAND_PDF_URI_'))
|
||||
/**
|
||||
* URL to module file used for PDF files printing
|
||||
*/
|
||||
define('_DPDPOLAND_PDF_URI_', _DPDPOLAND_MODULE_URI_.'dpdpoland.pdf.php');
|
||||
|
||||
/* Directories constants */
|
||||
|
||||
if (!defined('_DPDPOLAND_CONTROLLERS_DIR_'))
|
||||
/**
|
||||
* Path to module controllers directory
|
||||
*/
|
||||
define('_DPDPOLAND_CONTROLLERS_DIR_', dirname(__FILE__).'/controllers/');
|
||||
|
||||
if (!defined('_DPDPOLAND_SERVICES_DIR_'))
|
||||
/**
|
||||
* Path to module services directory
|
||||
*/
|
||||
define('_DPDPOLAND_SERVICES_DIR_', dirname(__FILE__).'/services/');
|
||||
|
||||
if (!defined('_DPDPOLAND_TPL_DIR_'))
|
||||
/**
|
||||
* Path to module templates directory
|
||||
*/
|
||||
define('_DPDPOLAND_TPL_DIR_', dirname(__FILE__).'/views/templates/');
|
||||
|
||||
if (!defined('_DPDPOLAND_CLASSES_DIR_'))
|
||||
/**
|
||||
* Path to module classes directory
|
||||
*/
|
||||
define('_DPDPOLAND_CLASSES_DIR_', dirname(__FILE__).'/classes/');
|
||||
|
||||
if (!defined('_DPDPOLAND_MODULE_DIR_'))
|
||||
/**
|
||||
* Path to module directory
|
||||
*/
|
||||
define('_DPDPOLAND_MODULE_DIR_', _PS_MODULE_DIR_.'dpdpoland/');
|
||||
|
||||
if (!defined('_DPDPOLAND_IMG_DIR_'))
|
||||
/**
|
||||
* Path to module images directory
|
||||
*/
|
||||
define('_DPDPOLAND_IMG_DIR_', _DPDPOLAND_MODULE_DIR_.'img/');
|
||||
|
||||
/* */
|
||||
|
||||
if (!defined('_DPDPOLAND_DEBUG_MODE_'))
|
||||
/**
|
||||
* Is debug mode enabled or not
|
||||
*/
|
||||
define('_DPDPOLAND_DEBUG_MODE_', false);
|
||||
|
||||
if (!defined('_DPDPOLAND_PRICE_RULE_DB_'))
|
||||
/**
|
||||
* Database table name for price rules data
|
||||
*/
|
||||
define('_DPDPOLAND_PRICE_RULE_DB_', 'dpdpoland_price_rule');
|
||||
|
||||
if (!defined('_DPDPOLAND_PAYER_NUMBERS_DB_'))
|
||||
/**
|
||||
* Database table name for payer numbers
|
||||
*/
|
||||
define('_DPDPOLAND_PAYER_NUMBERS_DB_', 'dpdpoland_payer_number');
|
||||
|
||||
if (!defined('_DPDPOLAND_COUNTRY_DB_'))
|
||||
/**
|
||||
* Database table name for available countries data
|
||||
*/
|
||||
define('_DPDPOLAND_COUNTRY_DB_', 'dpdpoland_country');
|
||||
|
||||
if (!defined('_DPDPOLAND_MANIFEST_DB_'))
|
||||
/**
|
||||
* Database table name for manifests data
|
||||
*/
|
||||
define('_DPDPOLAND_MANIFEST_DB_', 'dpdpoland_manifest');
|
||||
|
||||
if (!defined('_DPDPOLAND_SENDER_ADDRESS_DB_'))
|
||||
/**
|
||||
* Database table name for sender address data
|
||||
*/
|
||||
define('_DPDPOLAND_SENDER_ADDRESS_DB_', 'dpdpoland_sender_address');
|
||||
|
||||
if (!defined('_DPDPOLAND_PACKAGE_DB_'))
|
||||
/**
|
||||
* Database table name for packages data
|
||||
*/
|
||||
define('_DPDPOLAND_PACKAGE_DB_', 'dpdpoland_package');
|
||||
|
||||
if (!defined('_DPDPOLAND_PARCEL_DB_'))
|
||||
/**
|
||||
* Database table name for parcels data
|
||||
*/
|
||||
define('_DPDPOLAND_PARCEL_DB_', 'dpdpoland_parcel');
|
||||
|
||||
if (!defined('_DPDPOLAND_PARCEL_PRODUCT_DB_'))
|
||||
/**
|
||||
* Database table name for parcel products data
|
||||
*/
|
||||
define('_DPDPOLAND_PARCEL_PRODUCT_DB_', 'dpdpoland_parcel_product');
|
||||
|
||||
|
||||
if (!defined('_DPDPOLAND_CARRIER_DB_'))
|
||||
/**
|
||||
* Database table name for carriers assignations to their references on PS 1.4
|
||||
*/
|
||||
define('_DPDPOLAND_CARRIER_DB_', 'dpdpoland_carrier');
|
||||
|
||||
if (!defined('_DPDPOLAND_PICKUP_HISTORY_DB_'))
|
||||
/**
|
||||
* Database table name for sender address data
|
||||
*/
|
||||
define('_DPDPOLAND_PICKUP_HISTORY_DB_', 'dpdpoland_pickup_history');
|
||||
|
||||
if (!defined('_DPDPOLAND_CSV_DELIMITER_'))
|
||||
/**
|
||||
* CSV file delimiter
|
||||
*/
|
||||
define('_DPDPOLAND_CSV_DELIMITER_', ';');
|
||||
|
||||
if (!defined('_DPDPOLAND_CSV_FILENAME_'))
|
||||
/**
|
||||
* CSV file name
|
||||
*/
|
||||
define('_DPDPOLAND_CSV_FILENAME_', 'dpdpoland');
|
||||
|
||||
if (!defined('_DPDPOLAND_STANDARD_ID_'))
|
||||
/**
|
||||
* Standard service (carrier) ID
|
||||
*/
|
||||
define('_DPDPOLAND_STANDARD_ID_', 1);
|
||||
|
||||
if (!defined('_DPDPOLAND_STANDARD_COD_ID_'))
|
||||
/**
|
||||
* Standard COD service (carrier) ID
|
||||
*/
|
||||
define('_DPDPOLAND_STANDARD_COD_ID_', 2);
|
||||
|
||||
if (!defined('_DPDPOLAND_CLASSIC_ID_'))
|
||||
/**
|
||||
* Classic / international service (carrier) ID
|
||||
*/
|
||||
define('_DPDPOLAND_CLASSIC_ID_', 3);
|
||||
|
||||
if (!defined('_DPDPOLAND_PUDO_ID_'))
|
||||
/**
|
||||
* Pickup point service (carrier) ID
|
||||
*/
|
||||
define('_DPDPOLAND_PUDO_ID_', 4);
|
||||
|
||||
if (!defined('_DPDPOLAND_PUDO_COD_ID_'))
|
||||
/**
|
||||
* Pickup point service (carrier) with COD ID
|
||||
*/
|
||||
define('_DPDPOLAND_PUDO_COD_ID_', 5);
|
||||
|
||||
if (!defined('_DPDPOLAND_SWIPBOX_ID_'))
|
||||
/**
|
||||
* Swip box service (carrier) ID
|
||||
*/
|
||||
define('_DPDPOLAND_SWIPBOX_ID_', 6);
|
||||
|
||||
if (!defined('_DPDPOLAND_CURRENCY_ISO_'))
|
||||
/**
|
||||
* DPD Poland currency
|
||||
*/
|
||||
define('_DPDPOLAND_CURRENCY_ISO_', 'PLN');
|
||||
|
||||
if (!defined('_DPDPOLAND_DEFAULT_WEIGHT_UNIT_'))
|
||||
/**
|
||||
* Weight unit
|
||||
*/
|
||||
define('_DPDPOLAND_DEFAULT_WEIGHT_UNIT_', 'kg');
|
||||
|
||||
if (!defined('_DPDPOLAND_DEFAULT_DIMENSION_UNIT_'))
|
||||
/**
|
||||
* Dimension unit
|
||||
*/
|
||||
define('_DPDPOLAND_DEFAULT_DIMENSION_UNIT_', 'cm');
|
||||
|
||||
if (!defined('_DPDPOLAND_DIMENTION_WEIGHT_DIVISOR_'))
|
||||
/**
|
||||
* Weight divisor
|
||||
*/
|
||||
define('_DPDPOLAND_DIMENTION_WEIGHT_DIVISOR_', 6000);
|
||||
|
||||
if (!defined('_DPDPOLAND_TRACKING_URL_'))
|
||||
/**
|
||||
* Tracking URL
|
||||
*/
|
||||
define('_DPDPOLAND_TRACKING_URL_',
|
||||
'https://tracktrace.dpd.com.pl/parcelDetails?typ=1&p1=@');
|
||||
|
||||
|
||||
if (!defined('_DPDPOLAND_TRACKING_URL_WITHOUT_AT_'))
|
||||
/**
|
||||
* Tracking URL
|
||||
*/
|
||||
define('_DPDPOLAND_TRACKING_URL_WITHOUT_AT_',
|
||||
'https://tracktrace.dpd.com.pl/parcelDetails?typ=1&p1=');
|
||||
|
||||
if (!defined('_DPDPOLAND_PRICES_ZIP_URL_'))
|
||||
/**
|
||||
* Information about prices ZIP file URL address
|
||||
*/
|
||||
define('_DPDPOLAND_PRICES_ZIP_URL_', 'https://www.dpd.com/pl/pl/oferta-dla-firm/warunki-wysylki/warunki-wykonywania-uslug-krajowych/');
|
||||
|
||||
if (!defined('_DPDPOLAND_CONTENT_HEADER_URL_'))
|
||||
/**
|
||||
* Link to DPD website
|
||||
*/
|
||||
define('_DPDPOLAND_CONTENT_HEADER_URL_', 'http://www.dpd.com.pl');
|
||||
|
||||
if (!defined('_DPDPOLAND_REFERENCE3_'))
|
||||
/**
|
||||
* Reference #3 content
|
||||
*/
|
||||
define('_DPDPOLAND_REFERENCE3_', 'PSMODUL#');
|
||||
|
||||
if (!defined('_DPDPOLAND_COOKIE_'))
|
||||
/**
|
||||
* DPD module cookie name
|
||||
*/
|
||||
define('_DPDPOLAND_COOKIE_', 'dpdpoland_cookie');
|
||||
12
modules/dpdpoland/config.xml
Normal file
12
modules/dpdpoland/config.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>dpdpoland</name>
|
||||
<displayName><![CDATA[DPD Polska Sp. z o.o.]]></displayName>
|
||||
<version><![CDATA[4.5.0]]></version>
|
||||
<description><![CDATA[DPD Polska Sp. z o.o. shipping module]]></description>
|
||||
<author><![CDATA[DPD Polska Sp. z o.o.]]></author>
|
||||
<tab><![CDATA[shipping_logistics]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>1</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
||||
29
modules/dpdpoland/config/index.php
Normal file
29
modules/dpdpoland/config/index.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
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;
|
||||
17
modules/dpdpoland/config/routes.yml
Normal file
17
modules/dpdpoland/config/routes.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
dpdpoland_generate_shipping_list:
|
||||
path: dpdpoland/bulk/generate_shipping_list
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: 'DpdPoland\Controller\Admin\BulkGenerateShippingController::generate'
|
||||
|
||||
dpdpoland_generate_shipping_list_with_label:
|
||||
path: dpdpoland/bulk/dpdpoland_generate_shipping_list_with_label
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: 'DpdPoland\Controller\Admin\BulkGenerateShippingController::generateWithLabel'
|
||||
|
||||
dpdpoland_generate_shipping_label:
|
||||
path: dpdpoland/bulk/dpdpoland_generate_shipping_label
|
||||
methods: [POST]
|
||||
defaults:
|
||||
_controller: 'DpdPoland\Controller\Admin\BulkGenerateShippingController::generateLabel'
|
||||
12
modules/dpdpoland/config_pl.xml
Normal file
12
modules/dpdpoland/config_pl.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>dpdpoland</name>
|
||||
<displayName><![CDATA[DPD Polska Sp. z o.o.]]></displayName>
|
||||
<version><![CDATA[4.5.0]]></version>
|
||||
<description><![CDATA[DPD Polska Moduł Wysyłkowy]]></description>
|
||||
<author><![CDATA[DPD Polska Sp. z o.o.]]></author>
|
||||
<tab><![CDATA[shipping_logistics]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>1</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
||||
347
modules/dpdpoland/controllers/arrange_pickup.controller.php
Normal file
347
modules/dpdpoland/controllers/arrange_pickup.controller.php
Normal file
@@ -0,0 +1,347 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandArrangePickUpController Responsible for Arrange Pickup page view and actions
|
||||
*/
|
||||
class DpdPolandArrangePickUpController extends DpdPolandController
|
||||
{
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'arrange_pickup.controller';
|
||||
|
||||
/**
|
||||
* @var array Pickup data
|
||||
*/
|
||||
private $data = array();
|
||||
|
||||
/**
|
||||
* @var array Arrange Pickup fields visible in this page
|
||||
*/
|
||||
private $rules = array();
|
||||
|
||||
/**
|
||||
* DpdPolandArrangePickUpController class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->rules = array(
|
||||
'customerCompany' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Customer company name'),
|
||||
'required' => true
|
||||
),
|
||||
'customerName' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Customer name and surname'),
|
||||
'required' => true
|
||||
),
|
||||
'customerPhone' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Customer tel. No.'),
|
||||
'required' => true
|
||||
),
|
||||
'pickupDate' => array(
|
||||
'validate' => 'isDate',
|
||||
'fieldname' => $this->l('Date of pickup'),
|
||||
'required' => true
|
||||
),
|
||||
'pickupTime' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Timeframe of pickup'),
|
||||
'required' => true
|
||||
),
|
||||
'orderType' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Shipment type'),
|
||||
'required' => true
|
||||
),
|
||||
'orderContent' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('General shipment content'),
|
||||
'required' => false
|
||||
),
|
||||
'dox' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Envelopes'),
|
||||
'required' => false
|
||||
),
|
||||
'doxCount' => array(
|
||||
'validate' => 'isUnsignedInt',
|
||||
'fieldname' => $this->l('Number of envelopes'),
|
||||
'required' => true,
|
||||
'dependency' => 'dox'
|
||||
),
|
||||
'parcels' => array(
|
||||
'validate' => 'isUnsignedInt',
|
||||
'fieldname' => $this->l('Parcels'),
|
||||
'required' => false
|
||||
),
|
||||
'parcelsCount' => array(
|
||||
'validate' => 'isUnsignedInt',
|
||||
'fieldname' => $this->l('Number of parcels'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'parcelsWeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Summary weight'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'parcelMaxWeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Weight of the heaviest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'parcelMaxHeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Height of the tallest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'parcelMaxDepth' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Length of the largest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'parcelMaxWidth' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Width of the longest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'parcels'
|
||||
),
|
||||
'pallet' => array(
|
||||
'validate' => 'isAnything',
|
||||
'fieldname' => $this->l('Pallets'),
|
||||
'required' => false
|
||||
),
|
||||
'palletsCount' => array(
|
||||
'validate' => 'isUnsignedInt',
|
||||
'fieldname' => $this->l('Number of pallets'),
|
||||
'required' => true,
|
||||
'dependency' => 'pallet'
|
||||
),
|
||||
'palletsWeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Summary weight'),
|
||||
'required' => true,
|
||||
'dependency' => 'pallet'
|
||||
),
|
||||
'palletMaxWeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Weight of the heaviest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'pallet'
|
||||
),
|
||||
'palletMaxHeight' => array(
|
||||
'validate' => 'isUnsignedFloat',
|
||||
'fieldname' => $this->l('Height of the tallest item'),
|
||||
'required' => true,
|
||||
'dependency' => 'pallet'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns arrange pickup data parameter
|
||||
*
|
||||
* @param string $name Parameter name
|
||||
* @return mixed|null Arrange pickup data value
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
return isset($this->data[$name]) ? $this->data[$name] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if given date is weekend
|
||||
*
|
||||
* @param datetime $date Date
|
||||
* @return bool Given date is weekend
|
||||
*/
|
||||
public static function isWeekend($date)
|
||||
{
|
||||
return (date('N', strtotime($date)) >= 6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays Arrange Pickup page content
|
||||
*
|
||||
* @return string Page content in HTML
|
||||
*/
|
||||
public function getPage()
|
||||
{
|
||||
$date = date('Y-m-d');
|
||||
$pickup_date = (Tools::getValue('pickupDate') ? Tools::getValue('pickupDate') :
|
||||
($this->isWeekend($date) ? date('Y-m-d', strtotime('next monday')) : $date));
|
||||
$sender_addresses = DpdPolandSenderAddress::getAddresses();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'settings' => new DpdPolandConfiguration,
|
||||
'pickupDate' => $pickup_date,
|
||||
'sender_addresses' => $sender_addresses
|
||||
));
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.6', '>='))
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/arrange_pickup_16.tpl');
|
||||
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/arrange_pickup.tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if time frames are valid
|
||||
*
|
||||
* @param array $timeframes Time frames
|
||||
* @param int $poland_time_in_seconds Poland country current time in seconds
|
||||
* @param bool $is_today Is time frames of today
|
||||
*/
|
||||
public static function validateTimeframes(&$timeframes, $poland_time_in_seconds, $is_today)
|
||||
{
|
||||
$count_timeframes = count($timeframes);
|
||||
|
||||
for ($i = 0; $i < $count_timeframes; $i++)
|
||||
{
|
||||
if (!isset($timeframes[$i]['range']))
|
||||
{
|
||||
unset($timeframes[$i]);
|
||||
continue;
|
||||
}
|
||||
|
||||
$end_time = explode('-', $timeframes[$i]['range']);
|
||||
$end_time = strtotime($end_time[1]);
|
||||
|
||||
if ($is_today && round(abs($end_time - $poland_time_in_seconds) / 60) < 120)
|
||||
unset($timeframes[$i]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates additional time frame which wraps other time frames from first to last
|
||||
*
|
||||
* @param array $pickup_timeframes Time frames
|
||||
* @return bool|string Additional time frame
|
||||
*/
|
||||
public static function createExtraTimeframe($pickup_timeframes)
|
||||
{
|
||||
if (!$pickup_timeframes || !isset($pickup_timeframes[0]['range']))
|
||||
return false;
|
||||
|
||||
$extra_time_from = null;
|
||||
$extra_time_to = null;
|
||||
|
||||
foreach ($pickup_timeframes as $frame)
|
||||
{
|
||||
if (isset($frame['range']))
|
||||
{
|
||||
list($pickup_time_from, $pickup_time_to) = explode('-', $frame['range']);
|
||||
|
||||
if (!$extra_time_from || (str_replace(':', '', $pickup_time_from) < str_replace(':', '', $extra_time_from)))
|
||||
$extra_time_from = $pickup_time_from;
|
||||
if (!$extra_time_to || (str_replace(':', '', $pickup_time_to) > str_replace(':', '', $extra_time_to)))
|
||||
$extra_time_to = $pickup_time_to;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$extra_time_from || !$extra_time_to)
|
||||
return false;
|
||||
|
||||
if ($extra_time_from.'-'.$extra_time_to == $pickup_timeframes[0]['range'])
|
||||
return false;
|
||||
|
||||
return $extra_time_from.'-'.$extra_time_to;
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and returns Arrange Pickup data
|
||||
*
|
||||
* @return array Arrange Pickup data
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
if (!$this->data)
|
||||
foreach (array_keys($this->rules) as $element)
|
||||
$this->data[$element] = Tools::getValue($element);
|
||||
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if Arrange Pickup parameters are valid
|
||||
*
|
||||
* @return bool Arrange Pickup parameters are valid
|
||||
*/
|
||||
public function validate()
|
||||
{
|
||||
$date = Tools::getValue('pickupDate');
|
||||
|
||||
if (!Validate::isDateFormat($date))
|
||||
{
|
||||
self::$errors[] = $this->l('Wrong date format');
|
||||
return false;
|
||||
}
|
||||
|
||||
if (strtotime($date) < strtotime(date('Y-m-d')))
|
||||
{
|
||||
self::$errors[] = $this->l('Date can not be earlier than').' '.date('Y-m-d');
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->isWeekend($date))
|
||||
{
|
||||
self::$errors[] = $this->l('Weekends can not be chosen');
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$this->dox && !$this->parcels && !$this->pallet)
|
||||
{
|
||||
self::$errors[] = $this->l('At least one service must be selected');
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($this->rules as $element => $rules)
|
||||
{
|
||||
if (!isset($rules['dependency']) || (isset($rules['dependency']) && $this->{$rules['dependency']}))
|
||||
{
|
||||
if ($rules['required'] && !$this->$element)
|
||||
{
|
||||
self::$errors[] = sprintf($this->l('The "%s" field is required.'), $rules['fieldname']);
|
||||
return false;
|
||||
}
|
||||
elseif ($this->$element && method_exists('Validate', $rules['validate']) &&
|
||||
!call_user_func(array('Validate', $rules['validate']), $this->$element))
|
||||
{
|
||||
self::$errors[] = sprintf($this->l('The "%s" field is invalid.'), $rules['fieldname']);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
260
modules/dpdpoland/controllers/configuration.controller.php
Normal file
260
modules/dpdpoland/controllers/configuration.controller.php
Normal file
@@ -0,0 +1,260 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandConfigurationController Responsible for setting page view and actions
|
||||
*/
|
||||
class DpdPolandConfigurationController extends DpdPolandController
|
||||
{
|
||||
/**
|
||||
* @var array Available services (carriers) IDs
|
||||
*/
|
||||
public $available_services_ids = array();
|
||||
|
||||
/**
|
||||
* Name of settings saving action
|
||||
*/
|
||||
const SETTINGS_SAVE_ACTION = 'saveModuleSettings';
|
||||
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'configuration.controller';
|
||||
|
||||
/**
|
||||
* Displays settings page content
|
||||
*
|
||||
* @return string Settings page content in HTML
|
||||
*/
|
||||
public function getSettingsPage()
|
||||
{
|
||||
$configuration_obj = new DpdPolandConfiguration();
|
||||
|
||||
$payment_modules = array();
|
||||
foreach (DpdPoland::getPaymentModules() as $payment_module)
|
||||
{
|
||||
$module = Module::getInstanceByName($payment_module['name']);
|
||||
|
||||
if (!Validate::isLoadedObject($module))
|
||||
continue;
|
||||
|
||||
$payment_modules[] = array(
|
||||
'displayName' => $module->displayName,
|
||||
'name' => $payment_module['name']
|
||||
);
|
||||
}
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'saveAction' => $this->module_instance->module_url,
|
||||
'settings' => $configuration_obj,
|
||||
'payer_numbers' => DpdPolandPayerNumber::getPayerNumbers(),
|
||||
'payment_modules' => $payment_modules,
|
||||
'zones' => Zone::getZones(),
|
||||
'carrier_zones' => array(
|
||||
'classic' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_CLASSIC_ID),
|
||||
'standard' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_STANDARD_ID),
|
||||
'standard_cod' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_STANDARD_COD_ID),
|
||||
'pudo' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_PUDO_ID),
|
||||
'pudo_cod' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_PUDO_COD_ID),
|
||||
'swipbox' => $this->getZonesForCarrier(DpdPolandConfiguration::CARRIER_SWIPBOX_ID)
|
||||
)
|
||||
));
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.6', '>='))
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/configuration_16.tpl');
|
||||
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/configuration.tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and returns carrier zones
|
||||
*
|
||||
* @param int|string $carrier_type Carrier type
|
||||
* @return array Carrier zones
|
||||
*/
|
||||
private function getZonesForCarrier($carrier_type)
|
||||
{
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'service.php');
|
||||
|
||||
$id_carrier = (int)Configuration::get($carrier_type);
|
||||
$carrier = DpdPolandService::getCarrierByReference((int)$id_carrier);
|
||||
|
||||
if (Validate::isLoadedObject($carrier))
|
||||
$id_carrier = $carrier->id;
|
||||
|
||||
$carrier_zones = DpdPolandConfiguration::getCarrierZones((int)$id_carrier);
|
||||
$carrier_zones_list = array();
|
||||
|
||||
foreach ($carrier_zones as $zone)
|
||||
$carrier_zones_list[] = $zone['id_zone'];
|
||||
|
||||
return $carrier_zones_list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates selected DPD sevices (carriers)
|
||||
* Deletes other DPD carriers
|
||||
*/
|
||||
public function createDeleteCarriers()
|
||||
{
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_classic.service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_standard.service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_standard_cod.service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_pudo.service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_pudo_cod.service.php');
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'dpd_swipbox.service.php');
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_SWIPBOX))
|
||||
{
|
||||
if (!DpdPolandCarrierSwipBoxService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD Poland Swip Box service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierSwipBoxService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD Poland Swip Box service');
|
||||
}
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_PUDO))
|
||||
{
|
||||
if (!DpdPolandCarrierPudoService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD Poland Reception Point Pickup service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierPudoService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD Poland Reception Point Pickup service');
|
||||
}
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_PUDO_COD))
|
||||
{
|
||||
if (!DpdPolandCarrierPudoCodService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD Poland Reception Point Pickup with COD service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierPudoCodService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD Poland Reception Point Pickup with COD service');
|
||||
}
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_CLASSIC))
|
||||
{
|
||||
if (!DpdPolandCarrierClassicService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD international shipment (DPD Classic) service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierClassicService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD international shipment (DPD Classic) service');
|
||||
}
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_STANDARD))
|
||||
{
|
||||
if (!DpdPolandCarrierStandardService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD domestic shipment - Standard service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierStandardService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD domestic shipment - Standard service');
|
||||
}
|
||||
|
||||
if (Tools::getValue(DpdPolandConfiguration::CARRIER_STANDARD_COD))
|
||||
{
|
||||
if (!DpdPolandCarrierStandardCODService::install())
|
||||
self::$errors[] = $this->l('Could not save DPD domestic shipment - Standard with COD service');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!DpdPolandCarrierStandardCODService::delete())
|
||||
self::$errors[] = $this->l('Could not delete DPD domestic shipment - Standard with COD service');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if settings are valid before saving them
|
||||
*/
|
||||
public function validateSettings()
|
||||
{
|
||||
if (!Tools::getValue(DpdPolandConfiguration::LOGIN))
|
||||
self::$errors[] = $this->l('Login can not be empty');
|
||||
$configuration_obj = new DpdPolandConfiguration();
|
||||
if (!isset($configuration_obj->password) && !Tools::getValue(DpdPolandConfiguration::PASSWORD))
|
||||
self::$errors[] = $this->l('Password can not be empty');
|
||||
|
||||
if (!Tools::getValue(DpdPolandConfiguration::CLIENT_NUMBER))
|
||||
self::$errors[] = $this->l('Default client number must be set');
|
||||
|
||||
if (Tools::isSubmit(DpdPolandConfiguration::CARRIER_STANDARD_COD))
|
||||
{
|
||||
$checked = false;
|
||||
|
||||
foreach (DpdPoland::getPaymentModules() as $payment_module)
|
||||
if (Tools::isSubmit(DpdPolandConfiguration::COD_MODULE_PREFIX.$payment_module['name']))
|
||||
$checked = true;
|
||||
|
||||
if (!$checked)
|
||||
self::$errors[] = $this->l('At least one COD payment method must be checked');
|
||||
}
|
||||
|
||||
if (!Tools::getValue(DpdPolandConfiguration::WEIGHT_CONVERSATION_RATE))
|
||||
self::$errors[] = $this->l('Weight conversation rate can not be empty');
|
||||
elseif (!Validate::isUnsignedFloat(Tools::getValue(DpdPolandConfiguration::WEIGHT_CONVERSATION_RATE)))
|
||||
self::$errors[] = $this->l('Weight conversation rate is not valid');
|
||||
|
||||
if (!Tools::getValue(DpdPolandConfiguration::DIMENSION_CONVERSATION_RATE))
|
||||
self::$errors[] = $this->l('Dimension conversation rate can not be empty');
|
||||
elseif (!Validate::isUnsignedFloat(Tools::getValue(DpdPolandConfiguration::DIMENSION_CONVERSATION_RATE)))
|
||||
self::$errors[] = $this->l('Dimension conversation rate is not valid');
|
||||
|
||||
if (!Tools::getValue(DpdPolandConfiguration::CUSTOMER_FID))
|
||||
self::$errors[] = $this->l('Customer FID can not be empty');
|
||||
elseif (!ctype_alnum(Tools::getValue(DpdPolandConfiguration::CUSTOMER_FID)))
|
||||
self::$errors[] = $this->l('Customer FID is not valid');
|
||||
|
||||
if (!Tools::getValue(DpdPolandConfiguration::WS_URL))
|
||||
self::$errors[] = $this->l('Web Services URL can not be empty');
|
||||
elseif (!Validate::isUrl(Tools::getValue(DpdPolandConfiguration::WS_URL)))
|
||||
self::$errors[] = $this->l('Web Services URL is not valid');
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves settings into database
|
||||
*/
|
||||
public function saveSettings()
|
||||
{
|
||||
if (DpdPolandConfiguration::saveConfiguration())
|
||||
{
|
||||
if (!DpdPolandConfiguration::saveZonesForCarriers())
|
||||
DpdPoland::addFlashError($this->l('Settings saved successfully but could not assign zones for carriers'));
|
||||
else
|
||||
{
|
||||
DpdPoland::addFlashMessage($this->l('Settings saved successfully'));
|
||||
Tools::redirectAdmin($this->module_instance->module_url.'&menu=configuration');
|
||||
}
|
||||
}
|
||||
else
|
||||
DpdPoland::addFlashError($this->l('Could not save settings'));
|
||||
}
|
||||
}
|
||||
206
modules/dpdpoland/controllers/controller.php
Normal file
206
modules/dpdpoland/controllers/controller.php
Normal file
@@ -0,0 +1,206 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandController Responsible for view and actions in module pages
|
||||
*/
|
||||
class DpdPolandController
|
||||
{
|
||||
/**
|
||||
* @var Context Context object
|
||||
*/
|
||||
protected $context;
|
||||
|
||||
/**
|
||||
* @var Module Module instance
|
||||
*/
|
||||
protected $module_instance;
|
||||
|
||||
/**
|
||||
* @var array Available paginations
|
||||
*/
|
||||
protected $pagination = array(10, 20, 50, 100, 300);
|
||||
|
||||
/**
|
||||
* @var int Default pagination
|
||||
*/
|
||||
private $default_pagination = 50;
|
||||
|
||||
/**
|
||||
* @var array Collected pages errors
|
||||
*/
|
||||
public static $errors = array();
|
||||
|
||||
/**
|
||||
* @var array Collected pages notices
|
||||
*/
|
||||
public static $notices = array();
|
||||
|
||||
/**
|
||||
* @var string Child class name
|
||||
*/
|
||||
private $child_class_name;
|
||||
|
||||
|
||||
/**
|
||||
* DpdPolandController class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->context = Context::getContext();
|
||||
$this->module_instance = Module::getInstanceByName('dpdpoland');
|
||||
$this->child_class_name = get_class($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates texts
|
||||
*
|
||||
* @param string $text Text
|
||||
* @return string Translated text
|
||||
*/
|
||||
protected function l($text)
|
||||
{
|
||||
$child_class_name = $this->child_class_name;
|
||||
$reflection = new ReflectionClass($child_class_name);
|
||||
$filename = $reflection->hasConstant('FILENAME') ?
|
||||
$reflection->getConstant('FILENAME') : false;
|
||||
|
||||
return $this->module_instance->l($text, $filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects and formats lists filter parameters
|
||||
*
|
||||
* @param array $keys_array Filter keys
|
||||
* @param string $table Database table name
|
||||
* @return string Formatted filter query
|
||||
*/
|
||||
protected function getFilterQuery($keys_array = array(), $table)
|
||||
{
|
||||
$sql = '';
|
||||
|
||||
foreach ($keys_array as $key)
|
||||
if ($this->context->cookie->__isset($table.'Filter_'.$key))
|
||||
{
|
||||
$value = $this->context->cookie->{$table.'Filter_'.$key};
|
||||
if (Validate::isSerializedArray($value))
|
||||
{
|
||||
$date = $this->module_instance->unSerialize($value);
|
||||
|
||||
if (!empty($date[0]))
|
||||
$sql .= '`'.bqSQL($key).'` > "'.pSQL($date[0]).'" AND ';
|
||||
|
||||
if (!empty($date[1]))
|
||||
$sql .= '`'.bqSQL($key).'` < "'.pSQL($date[1]).'" AND ';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($value != '')
|
||||
$sql .= '`'.bqSQL($key).'` LIKE "%'.pSQL($value).'%" AND ';
|
||||
}
|
||||
}
|
||||
|
||||
if ($sql)
|
||||
$sql = ' HAVING '.Tools::substr($sql, 0, -4); // remove 'AND ' from the end of query
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares list data to be displayed in page
|
||||
*
|
||||
* @param array $keys_array Filter keys
|
||||
* @param string $table Database table name
|
||||
* @param string $model Class name
|
||||
* @param string $default_order_by Default sorting value
|
||||
* @param string $default_order_way Default sorting way value
|
||||
* @param string $menu_page Current menu page
|
||||
* @param null $selected_pagination
|
||||
*/
|
||||
public function prepareListData($keys_array, $table, $model, $default_order_by, $default_order_way, $menu_page)
|
||||
{
|
||||
if (Tools::isSubmit('submitFilterButton'.$table))
|
||||
{
|
||||
foreach ($_POST as $key => $value)
|
||||
{
|
||||
if (strpos($key, $table.'Filter_') !== false) // looking for filter values in $_POST
|
||||
{
|
||||
if (is_array($value))
|
||||
$this->context->cookie->$key = serialize($value);
|
||||
else
|
||||
$this->context->cookie->$key = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('submitReset'.$table))
|
||||
{
|
||||
foreach ($keys_array as $key)
|
||||
{
|
||||
if ($this->context->cookie->__isset($table.'Filter_'.$key))
|
||||
{
|
||||
$this->context->cookie->__unset($table.'Filter_'.$key);
|
||||
$_POST[$table.'Filter_'.$key] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.6', '>='))
|
||||
$page = (int)Tools::getValue('submitFilterButton'.$table);
|
||||
else
|
||||
$page = (int)Tools::getValue('submitFilter'.$table);
|
||||
|
||||
if (!$page)
|
||||
$page = 1;
|
||||
|
||||
$selected_pagination = (int)Tools::getValue('pagination', $this->default_pagination);
|
||||
$start = ($selected_pagination * $page) - $selected_pagination;
|
||||
|
||||
$order_by = Tools::getValue($table.'OrderBy', $default_order_by);
|
||||
$order_way = Tools::getValue($table.'OrderWay', $default_order_way);
|
||||
|
||||
$filter = $this->getFilterQuery($keys_array, $table);
|
||||
|
||||
$table_data = $model->getList($order_by, $order_way, $filter, $start, $selected_pagination);
|
||||
$list_total = count($model->getList($order_by, $order_way, $filter, null, null));
|
||||
|
||||
$total_pages = ceil($list_total / $selected_pagination);
|
||||
|
||||
if (!$total_pages)
|
||||
$total_pages = 1;
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'full_url' => $this->module_instance->module_url.'&menu='.$menu_page.'&'.$table.'OrderBy='.$order_by.'&'.$table.'OrderWay='.$order_way,
|
||||
'table_data' => $table_data,
|
||||
'page' => $page,
|
||||
'selected_pagination' => $selected_pagination,
|
||||
'pagination' => $this->pagination,
|
||||
'total_pages' => $total_pages,
|
||||
'list_total' => $list_total,
|
||||
'filters_has_value' => (bool)$filter,
|
||||
'order_by' => $order_by,
|
||||
'order_way' => $order_way,
|
||||
'order_link' => 'index.php?controller=AdminOrders&vieworder&token='.Tools::getAdminTokenLite('AdminOrders')
|
||||
));
|
||||
}
|
||||
}
|
||||
191
modules/dpdpoland/controllers/countryList.controller.php
Normal file
191
modules/dpdpoland/controllers/countryList.controller.php
Normal file
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCountryListController Responsible for DPD countries list view and actions
|
||||
*/
|
||||
class DpdPolandCountryListController extends DpdPolandController
|
||||
{
|
||||
/**
|
||||
* Countries list order by value
|
||||
*/
|
||||
const DEFAULT_ORDER_BY = 'id_country';
|
||||
|
||||
/**
|
||||
* Countries list order way value
|
||||
*/
|
||||
const DEFAULT_ORDER_WAY = 'asc';
|
||||
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'countryList.controller';
|
||||
|
||||
/**
|
||||
* Success message after changing country enable / disable value
|
||||
*/
|
||||
public function displaySuccessStatusChangingMessage()
|
||||
{
|
||||
$page = (int)Tools::getValue('submitFilterCountries');
|
||||
|
||||
if (!$page)
|
||||
$page = 1;
|
||||
|
||||
$selected_pagination = (int)Tools::getValue('pagination', $this->pagination[0]);
|
||||
$order_by = Tools::getValue('CountryOrderBy', self::DEFAULT_ORDER_BY);
|
||||
$order_way = Tools::getValue('CountryOrderWay', self::DEFAULT_ORDER_WAY);
|
||||
|
||||
DpdPoland::addFlashMessage($this->l('Country status changed successfully'));
|
||||
|
||||
$redirect_url = $this->module_instance->module_url;
|
||||
$redirect_url .= '&menu=country_list&pagination='.$selected_pagination;
|
||||
$redirect_url .= '&CountryOrderBy='.$order_by;
|
||||
$redirect_url .= '&CountryOrderWay='.$order_way;
|
||||
$redirect_url .= '&submitFilterCountries='.$page;
|
||||
|
||||
die(Tools::redirectAdmin($redirect_url));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets enable / disable value for multiple countries
|
||||
*
|
||||
* @param array $countries Selected countries
|
||||
* @param bool $disable Is action to disable countries
|
||||
*/
|
||||
public function changeEnabledMultipleCountries($countries = array(), $disable = false)
|
||||
{
|
||||
foreach ($countries as $id_country)
|
||||
if (!$this->changeEnabled((int)$id_country, $disable))
|
||||
self::$errors[] = sprintf($this->l('Could not change country status, ID: %s'), $id_country);
|
||||
|
||||
if (!empty(self::$errors))
|
||||
{
|
||||
$this->module_instance->outputHTML(
|
||||
$this->module_instance->displayErrors(
|
||||
self::$errors
|
||||
)
|
||||
);
|
||||
|
||||
reset(self::$errors);
|
||||
}
|
||||
else
|
||||
{
|
||||
$page = (int)Tools::getValue('submitFilterCountries');
|
||||
|
||||
if (!$page)
|
||||
$page = 1;
|
||||
|
||||
$selected_pagination = (int)Tools::getValue('pagination', $this->pagination[0]);
|
||||
$order_by = Tools::getValue('CountryOrderBy', self::DEFAULT_ORDER_BY);
|
||||
$order_way = Tools::getValue('CountryOrderWay', self::DEFAULT_ORDER_WAY);
|
||||
|
||||
DpdPoland::addFlashMessage($this->l('Selected countries statuses changed successfully'));
|
||||
|
||||
$redirect_url = $this->module_instance->module_url;
|
||||
$redirect_url .= '&menu=country_list&pagination='.$selected_pagination;
|
||||
$redirect_url .= '&CountryOrderBy='.$order_by;
|
||||
$redirect_url .= '&CountryOrderWay='.$order_way;
|
||||
$redirect_url .= '&submitFilterCountries='.$page;
|
||||
|
||||
die(Tools::redirectAdmin($redirect_url));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes country status
|
||||
*
|
||||
* @param int $id_country Country ID
|
||||
* @param bool $disable Disable or enable action
|
||||
* @return bool Status changed successfully
|
||||
*/
|
||||
public function changeEnabled($id_country, $disable = false)
|
||||
{
|
||||
$country_obj = new DpdPolandCountry(DpdPolandCountry::getIdByCountry((int)$id_country));
|
||||
$country_obj->enabled = $disable ? 0 : 1;
|
||||
$country_obj->id_country = (int)$id_country;
|
||||
return $country_obj->save();
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares list data to be displayed in page
|
||||
*
|
||||
* @return string Page content in HTML
|
||||
*/
|
||||
public function getListHTML()
|
||||
{
|
||||
$keys_array = array('id_country', 'name', 'iso_code', 'enabled');
|
||||
$this->prepareListData($keys_array, 'Countries', new DpdPolandCountry(), self::DEFAULT_ORDER_BY, self::DEFAULT_ORDER_WAY, 'country_list');
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.6', '>='))
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/country_list_16.tpl');
|
||||
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/country_list.tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables specific DPD countries during module installation
|
||||
*
|
||||
* @return bool Countries disabled successfully
|
||||
*/
|
||||
public static function disableDefaultCountries()
|
||||
{
|
||||
$context = Context::getContext();
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.5', '<'))
|
||||
{
|
||||
foreach (Country::getCountries((int)$context->language->id) as $country)
|
||||
if (!in_array($country['iso_code'], DpdPolandCountry::$default_enabled_countries)
|
||||
&& !self::disableCountryById($context, (int)$country['id_country']))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
foreach (array_keys(Shop::getShops()) as $id_shop)
|
||||
foreach (Country::getCountriesByIdShop($id_shop, Configuration::get('PS_LANG_DEFAULT')) as $country)
|
||||
if (!in_array($country['iso_code'], DpdPolandCountry::$default_enabled_countries)
|
||||
&& !self::disableCountryById($context, (int)$country['id_country'], (int)$id_shop))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables specific DPD country
|
||||
*
|
||||
* @param Context $context Context object
|
||||
* @param int $id_country Country ID
|
||||
* @param null|int $id_shop Shop ID
|
||||
* @return bool Country disabled successfully
|
||||
*/
|
||||
private static function disableCountryById($context, $id_country, $id_shop = null)
|
||||
{
|
||||
if ($id_shop === null)
|
||||
$id_shop = (int)$context->shop->id;
|
||||
|
||||
$dpdpoland_country = new DpdPolandCountry();
|
||||
$dpdpoland_country->id_country = (int)$id_country;
|
||||
$dpdpoland_country->id_shop = (int)$id_shop;
|
||||
$dpdpoland_country->enabled = 0;
|
||||
|
||||
return $dpdpoland_country->save();
|
||||
}
|
||||
}
|
||||
671
modules/dpdpoland/controllers/csv.controller.php
Normal file
671
modules/dpdpoland/controllers/csv.controller.php
Normal file
@@ -0,0 +1,671 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCSVController Responsible for price rules page view and actions
|
||||
*/
|
||||
class DpdPolandCSVController extends DpdPolandController
|
||||
{
|
||||
/**
|
||||
* Poland country ISO code
|
||||
*/
|
||||
const POLAND_ISO_CODE = 'PL';
|
||||
|
||||
/**
|
||||
* @var array CSV file titles
|
||||
*/
|
||||
private $csv_titles = array();
|
||||
|
||||
/**
|
||||
* Name of action to save CSV file
|
||||
*/
|
||||
const SETTINGS_SAVE_CSV_ACTION = 'saveModuleCSVSettings';
|
||||
|
||||
/**
|
||||
* Name of action to download CSV file
|
||||
*/
|
||||
const SETTINGS_DOWNLOAD_CSV_ACTION = 'downloadModuleCSVSettings';
|
||||
|
||||
/**
|
||||
* Name of action to delete price rules
|
||||
*/
|
||||
const SETTINGS_DELETE_CSV_ACTION = 'deleteModuleCSVSettings';
|
||||
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'csv.controller';
|
||||
|
||||
/**
|
||||
* Index of CSV file first line where CSV rules are written (not titles)
|
||||
*/
|
||||
const DEFAULT_FIRST_LINE_INDEX = 2;
|
||||
|
||||
/**
|
||||
* Error message type for invalid usage of star symbol
|
||||
*/
|
||||
const STAR_COUNTRY_ERROR = 1;
|
||||
|
||||
/**
|
||||
* Invalid country error type
|
||||
*/
|
||||
const PRESTASHOP_COUNTRY_ERROR = 2;
|
||||
|
||||
/**
|
||||
* Error type of invalid Poland country
|
||||
*/
|
||||
const PL_COUNTRY_ERROR = 3;
|
||||
|
||||
/**
|
||||
* Error type for invalid countries which are not Poland
|
||||
*/
|
||||
const NOT_PL_COUNTRY_ERROR = 4;
|
||||
|
||||
/**
|
||||
* DpdPolandCSVController class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->setCSVTitles();
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares CSV file titles
|
||||
*/
|
||||
private function setCSVTitles()
|
||||
{
|
||||
$this->csv_titles = array(
|
||||
'iso_country' => $this->l('Country'),
|
||||
'price_from' => $this->l('Cart price from (PLN)'),
|
||||
'price_to' => $this->l('Cart price to (PLN)'),
|
||||
'weight_from' => $this->l('Parcel weight from (kg)'),
|
||||
'weight_to' => $this->l('Parcel weight to (kg)'),
|
||||
'parcel_price' => $this->l('Parcel price (PLN)'),
|
||||
'id_carrier' => $this->l('Carrier'),
|
||||
'cod_price' => $this->l('COD cost (PLN)')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays price rules page content
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getCSVPage()
|
||||
{
|
||||
$selected_pagination = Tools::getValue('pagination', '20');
|
||||
$page = Tools::getValue('current_page', '1');
|
||||
$start = ($selected_pagination * $page) - $selected_pagination;
|
||||
|
||||
$selected_products_data = DpdPolandCSV::getAllData($start, $selected_pagination);
|
||||
$list_total = count(DpdPolandCSV::getAllData());
|
||||
$pagination = array(20, 50, 100, 300);
|
||||
|
||||
$total_pages = ceil($list_total / $selected_pagination);
|
||||
|
||||
if (!$total_pages)
|
||||
$total_pages = 1;
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'saveAction' => $this->module_instance->module_url.'&menu=csv',
|
||||
'csv_data' => $selected_products_data,
|
||||
'page' => $page,
|
||||
'total_pages' => $total_pages,
|
||||
'pagination' => $pagination,
|
||||
'list_total' => $list_total,
|
||||
'selected_pagination' => $selected_pagination
|
||||
));
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.6', '>='))
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/csv_16.tpl');
|
||||
|
||||
return $this->context->smarty->fetch(_DPDPOLAND_TPL_DIR_.'admin/csv.tpl');
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all price rules for current shop
|
||||
*/
|
||||
public function deleteCSV()
|
||||
{
|
||||
if (DpdPolandCSV::deleteAllData())
|
||||
DpdPoland::addFlashMessage($this->l('Price rules deleted successfully'));
|
||||
else
|
||||
DpdPoland::addFlashError($this->l('Price rules could not be deleted'));
|
||||
|
||||
Tools::redirectAdmin($this->module_instance->module_url.'&menu=csv');
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates CSV file according to saved price rules
|
||||
*/
|
||||
public function generateCSV()
|
||||
{
|
||||
$csv_data = array($this->csv_titles);
|
||||
$csv_data = array_merge($csv_data, DpdPolandCSV::getCSVData());
|
||||
$this->arrayToCSV($csv_data, _DPDPOLAND_CSV_FILENAME_.'.csv', _DPDPOLAND_CSV_DELIMITER_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets CSV rules to be downloadable as CSV data
|
||||
*
|
||||
* @param array $array Price rules
|
||||
* @param string $filename CSV file name
|
||||
* @param string $delimiter CSV file delimiter
|
||||
*/
|
||||
private function arrayToCSV($array, $filename, $delimiter)
|
||||
{
|
||||
// open raw memory as file so no temp files needed, you might run out of memory though
|
||||
$f = fopen('php://memory', 'w');
|
||||
// loop over the input array
|
||||
foreach ($array as $line)
|
||||
{
|
||||
// generate csv lines from the inner arrays
|
||||
fputcsv($f, $line, $delimiter);
|
||||
}
|
||||
// rewrind the "file" with the csv lines
|
||||
fseek($f, 0);
|
||||
// tell the browser it's going to be a csv file
|
||||
header('Content-Type: application/csv; charset=utf-8');
|
||||
// tell the browser we want to save it instead of displaying it
|
||||
header('Content-Disposition: attachement; filename="'.$filename.'"');
|
||||
// make php send the generated csv lines to the browser
|
||||
fpassthru($f);
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates uploaded CSV file data
|
||||
*
|
||||
* @param array $csv_data CSV data
|
||||
* @return array|bool Error messages | CSV data is valid
|
||||
*/
|
||||
public function validateCSVData($csv_data)
|
||||
{
|
||||
$errors = array();
|
||||
|
||||
if (!$this->validateCSVStructure($csv_data))
|
||||
{
|
||||
$errors[] = $this->l('Wrong CSV file structure or empty lines');
|
||||
return $errors;
|
||||
}
|
||||
|
||||
if (!$this->validatePLNCurrency())
|
||||
{
|
||||
$errors[] = $this->l('PLN currency must be installed before CSV import.');
|
||||
return $errors;
|
||||
}
|
||||
|
||||
$countries_validation = $this->validateCSVCountries($csv_data);
|
||||
|
||||
if ($countries_validation !== true)
|
||||
{
|
||||
if (!empty($countries_validation[0]))
|
||||
$errors[] = $this->l('Country: country code does not exist in your PrestaShop system. Invalid lines:').' '.$countries_validation[0];
|
||||
if (!empty($countries_validation[1]))
|
||||
$errors[] = sprintf($this->l('Country: country "*" can be used only with carrier ID %d. Invalid lines:'), _DPDPOLAND_CLASSIC_ID_).
|
||||
' '.$countries_validation[1];
|
||||
if (!empty($countries_validation[2]))
|
||||
$errors[] = sprintf($this->l('Country: country code PL can be used only with carrier ID %1$d, %2$d, %3$d, %4$d, %5$d. Invalid lines:'),
|
||||
_DPDPOLAND_STANDARD_ID_, _DPDPOLAND_STANDARD_COD_ID_, _DPDPOLAND_PUDO_ID_, _DPDPOLAND_PUDO_COD_ID_, _DPDPOLAND_SWIPBOX_ID_).' '.$countries_validation[2];
|
||||
if (!empty($countries_validation[3]))
|
||||
$errors[] = sprintf($this->l('Country: international shipping is compatible only with carrier ID %d. Invalid lines:'),
|
||||
_DPDPOLAND_CLASSIC_ID_).' '.$countries_validation[3];
|
||||
}
|
||||
|
||||
$price_from_validation = $this->validateCSVPriceFrom($csv_data);
|
||||
|
||||
if ($price_from_validation !== true)
|
||||
$errors[] = $this->l('Price (From): invalid lines:').' '.$price_from_validation;
|
||||
|
||||
$price_to_validation = $this->validateCSVPriceTo($csv_data);
|
||||
|
||||
if ($price_to_validation !== true)
|
||||
$errors[] = $this->l('Price (To): invalid lines:').' '.$price_to_validation;
|
||||
|
||||
$weight_from_validation = $this->validateCSVWeightFrom($csv_data);
|
||||
|
||||
if ($weight_from_validation !== true)
|
||||
$errors[] = $this->l('Weight (From): invalid lines:').' '.$weight_from_validation;
|
||||
|
||||
$weight_to_validation = $this->validateCSVWeightTo($csv_data);
|
||||
|
||||
if ($weight_to_validation !== true)
|
||||
$errors[] = $this->l('Weight (To): invalid lines:').' '.$weight_to_validation;
|
||||
|
||||
$parcel_prices_validation = $this->validateCSVParcelPrices($csv_data);
|
||||
|
||||
if ($parcel_prices_validation !== true)
|
||||
$errors[] = $this->l('Parcel price (PLN): invalid lines:').' '.$parcel_prices_validation;
|
||||
|
||||
$carrier_validation = $this->validateCSVCarriers($csv_data);
|
||||
|
||||
if ($carrier_validation !== true)
|
||||
$errors[] = $this->l('Carrier: invalid lines:').' '.$carrier_validation;
|
||||
|
||||
$cod_price = $this->validateCSVCODPrice($csv_data);
|
||||
|
||||
if ($cod_price !== true)
|
||||
{
|
||||
if (!empty($cod_price[0]))
|
||||
$errors[] = $this->l('COD cost (PLN): Value should be >=0. Invalid lines:').' '.$cod_price[0];
|
||||
if (!empty($cod_price[1]))
|
||||
$errors[] = $this->l('COD cost (PLN): It\'s possible to use COD only with "DPD domestic shipment - Standard with COD". Leave empty COD field otherwise. Invalid lines:').' '.$cod_price[1];
|
||||
if (!empty($cod_price[2]))
|
||||
$errors[] = $this->l('COD cost (PLN): COD is available only in Poland. Leave empty COD field otherwise. Invalid lines:').' '.$cod_price[2];
|
||||
}
|
||||
|
||||
if (!empty($errors))
|
||||
return $errors;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if PLN currency is installed
|
||||
*
|
||||
* @return bool PLN currency exists in PrestaShop
|
||||
*/
|
||||
private function validatePLNCurrency()
|
||||
{
|
||||
return (bool)Currency::getIdByIsoCode('PLN');
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if CSV file structure is valid
|
||||
*
|
||||
* @param array $csv_data CSV data
|
||||
* @return bool CSV file structure is valid
|
||||
*/
|
||||
private function validateCSVStructure($csv_data)
|
||||
{
|
||||
$csv_data_count = count($csv_data);
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!isset($csv_data[$i][DpdPolandCSV::COLUMN_COD_PRICE]))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates country column in CSV data
|
||||
*
|
||||
* @param array $csv_data CSV data
|
||||
* @return array|bool Countries are valid
|
||||
*/
|
||||
private function validateCSVCountries($csv_data)
|
||||
{
|
||||
$csv_data_count = count($csv_data); //number of CSV data lines without titles
|
||||
$wrong_countries = '';
|
||||
$wrong_star_countries = '';
|
||||
$wrong_pl_countries = '';
|
||||
$wrong_not_pl_countries = '';
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
{
|
||||
$country_validation = $this->validateCSVCountry($csv_data[$i][DpdPolandCSV::COLUMN_COUNTRY], $csv_data[$i][DpdPolandCSV::COLUMN_CARRIER]);
|
||||
|
||||
if ($country_validation !== true)
|
||||
{
|
||||
switch ($country_validation)
|
||||
{
|
||||
case self::STAR_COUNTRY_ERROR:
|
||||
$wrong_star_countries .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
break;
|
||||
case self::PRESTASHOP_COUNTRY_ERROR:
|
||||
$wrong_countries .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
break;
|
||||
case self::PL_COUNTRY_ERROR:
|
||||
$wrong_pl_countries .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
break;
|
||||
case self::NOT_PL_COUNTRY_ERROR:
|
||||
$wrong_not_pl_countries .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($wrong_countries))
|
||||
$wrong_countries = Tools::substr($wrong_countries, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
if (!empty($wrong_star_countries))
|
||||
$wrong_star_countries = Tools::substr($wrong_star_countries, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
if (!empty($wrong_pl_countries))
|
||||
$wrong_pl_countries = Tools::substr($wrong_pl_countries, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
if (!empty($wrong_not_pl_countries))
|
||||
$wrong_not_pl_countries = Tools::substr($wrong_not_pl_countries, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_countries) && empty($wrong_star_countries) && empty($wrong_pl_countries) && empty($wrong_not_pl_countries) ? true :
|
||||
array($wrong_countries, $wrong_star_countries, $wrong_pl_countries, $wrong_not_pl_countries);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates CSV rule country
|
||||
*
|
||||
* @param string $iso_code Country ISO code
|
||||
* @param int $id_carrier Carrier ID
|
||||
* @return bool|int Country is valid
|
||||
*/
|
||||
private function validateCSVCountry($iso_code, $id_carrier)
|
||||
{
|
||||
if ($iso_code === '*')
|
||||
if ($id_carrier == _DPDPOLAND_CLASSIC_ID_)
|
||||
return true;
|
||||
else
|
||||
return self::STAR_COUNTRY_ERROR;
|
||||
|
||||
if (!Country::getByIso($iso_code))
|
||||
return self::PRESTASHOP_COUNTRY_ERROR;
|
||||
|
||||
if ($iso_code == self::POLAND_ISO_CODE)
|
||||
if ($id_carrier == _DPDPOLAND_STANDARD_ID_ ||
|
||||
$id_carrier == _DPDPOLAND_STANDARD_COD_ID_ ||
|
||||
$id_carrier == _DPDPOLAND_PUDO_ID_ ||
|
||||
$id_carrier == _DPDPOLAND_SWIPBOX_ID_ ||
|
||||
$id_carrier == _DPDPOLAND_PUDO_COD_ID_)
|
||||
return true;
|
||||
else
|
||||
return self::PL_COUNTRY_ERROR;
|
||||
else
|
||||
if ($id_carrier == _DPDPOLAND_CLASSIC_ID_)
|
||||
return true;
|
||||
else
|
||||
return self::NOT_PL_COUNTRY_ERROR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates Price From field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string Price From field is valid
|
||||
*/
|
||||
private function validateCSVPriceFrom($csv_data)
|
||||
{
|
||||
$wrong_prices = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_PRICE_FROM]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_PRICE_FROM] < 0)
|
||||
$wrong_prices .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_prices))
|
||||
$wrong_prices = Tools::substr($wrong_prices, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_prices) ? true : $wrong_prices;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates Price To field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string Price To field is valid
|
||||
*/
|
||||
private function validateCSVPriceTo($csv_data)
|
||||
{
|
||||
$wrong_prices = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_PRICE_TO]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_PRICE_TO] <= 0 ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_PRICE_TO] < $csv_data[$i][DpdPolandCSV::COLUMN_PRICE_FROM])
|
||||
$wrong_prices .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_prices))
|
||||
$wrong_prices = Tools::substr($wrong_prices, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_prices) ? true : $wrong_prices;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates Weight From field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string Weight From field is valid
|
||||
*/
|
||||
private function validateCSVWeightFrom($csv_data)
|
||||
{
|
||||
$wrong_weights = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_FROM]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_FROM] < 0)
|
||||
$wrong_weights .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_weights))
|
||||
$wrong_weights = Tools::substr($wrong_weights, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_weights) ? true : $wrong_weights;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates Weight To field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string Weight To field is valid
|
||||
*/
|
||||
private function validateCSVWeightTo($csv_data)
|
||||
{
|
||||
$wrong_weights = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_TO]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_TO] <= 0 ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_TO] < $csv_data[$i][DpdPolandCSV::COLUMN_WEIGHT_FROM])
|
||||
$wrong_weights .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_weights))
|
||||
$wrong_weights = Tools::substr($wrong_weights, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_weights) ? true : $wrong_weights;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates carrier price field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string carrier price field is valid
|
||||
*/
|
||||
private function validateCSVParcelPrices($csv_data)
|
||||
{
|
||||
$wrong_prices = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_PARCEL_PRICE]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_PARCEL_PRICE] < 0)
|
||||
$wrong_prices .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_prices))
|
||||
$wrong_prices = Tools::substr($wrong_prices, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_prices) ? true : $wrong_prices;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates carrier ID field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return bool|string Carrier ID field is valid
|
||||
*/
|
||||
private function validateCSVCarriers($csv_data)
|
||||
{
|
||||
$available_methods = array(_DPDPOLAND_STANDARD_ID_, _DPDPOLAND_STANDARD_COD_ID_, _DPDPOLAND_CLASSIC_ID_, _DPDPOLAND_PUDO_ID_, _DPDPOLAND_PUDO_COD_ID_, _DPDPOLAND_SWIPBOX_ID_);
|
||||
$wrong_methods = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
if (!in_array($csv_data[$i][DpdPolandCSV::COLUMN_CARRIER], $available_methods) && $csv_data[$i][DpdPolandCSV::COLUMN_CARRIER] !== '*')
|
||||
$wrong_methods .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if (!empty($wrong_methods))
|
||||
$wrong_methods = Tools::substr($wrong_methods, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_methods) ? true : $wrong_methods;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates COD additional price field
|
||||
*
|
||||
* @param array $csv_data CSV file data
|
||||
* @return array|bool COD additional price field is valid
|
||||
*/
|
||||
private function validateCSVCODPrice($csv_data)
|
||||
{
|
||||
$wrong_price = '';
|
||||
$wrong_price_method = '';
|
||||
$wrong_price_country = '';
|
||||
$csv_data_count = count($csv_data);
|
||||
|
||||
for ($i = 0; $i < $csv_data_count; $i++)
|
||||
{
|
||||
if (!empty($csv_data[$i][DpdPolandCSV::COLUMN_COD_PRICE]))
|
||||
{
|
||||
if (!Validate::isFloat($csv_data[$i][DpdPolandCSV::COLUMN_COD_PRICE]) ||
|
||||
$csv_data[$i][DpdPolandCSV::COLUMN_COD_PRICE] < 0)
|
||||
$wrong_price .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
else
|
||||
{
|
||||
if ($csv_data[$i][DpdPolandCSV::COLUMN_CARRIER] != _DPDPOLAND_STANDARD_COD_ID_ && $csv_data[$i][DpdPolandCSV::COLUMN_CARRIER] != _DPDPOLAND_PUDO_COD_ID_)
|
||||
$wrong_price_method .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
|
||||
if ($csv_data[$i][DpdPolandCSV::COLUMN_COUNTRY] !== self::POLAND_ISO_CODE)
|
||||
$wrong_price_country .= ($i + self::DEFAULT_FIRST_LINE_INDEX).', ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($wrong_price))
|
||||
$wrong_price = Tools::substr($wrong_price, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
if (!empty($wrong_price_method))
|
||||
$wrong_price_method = Tools::substr($wrong_price_method, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
if (!empty($wrong_price_country))
|
||||
$wrong_price_country = Tools::substr($wrong_price_country, 0, -2); //remove last two symbols (comma & space)
|
||||
|
||||
return empty($wrong_price) && empty($wrong_price_method) && empty($wrong_price_country) ? true :
|
||||
array($wrong_price, $wrong_price_method, $wrong_price_country);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if uploaded file has no errors and if extension is 'csv'.
|
||||
*
|
||||
* @param string $file_name File name
|
||||
* @return bool Uploaded file is valid
|
||||
*/
|
||||
private function isUploadedCsvValid($file_name)
|
||||
{
|
||||
if (!isset($_FILES[$file_name]))
|
||||
return false;
|
||||
|
||||
if (!empty($_FILES[$file_name]['error']))
|
||||
return false;
|
||||
|
||||
if (!preg_match('/.*\.csv$/i', $_FILES[$file_name]['name']))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads CSV file line by line and collects it's data
|
||||
*
|
||||
* @return array|bool CSV file content
|
||||
*/
|
||||
public function readCSVData()
|
||||
{
|
||||
if (!$this->isUploadedCsvValid(DpdPolandCSV::CSV_FILE))
|
||||
return false;
|
||||
|
||||
$csv_data = array();
|
||||
$row = 0;
|
||||
|
||||
if (($handle = fopen($_FILES[DpdPolandCSV::CSV_FILE]['tmp_name'], 'r')) !== false) {
|
||||
while (($data = fgetcsv($handle, 1000, _DPDPOLAND_CSV_DELIMITER_)) !== false) {
|
||||
if (!$data) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$csv_data_line = array();
|
||||
$row++;
|
||||
|
||||
if ($row == 1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$num = count($data);
|
||||
$row++;
|
||||
|
||||
for ($i = 0; $i < $num; $i++) {
|
||||
$csv_data_line[] = $data[$i];
|
||||
}
|
||||
|
||||
$csv_data[] = $csv_data_line;
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
return $csv_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves price rules into database
|
||||
*
|
||||
* @param array $csv_data Valid CSV data
|
||||
* @return bool Price rules saved successfully
|
||||
*/
|
||||
public function saveCSVData($csv_data)
|
||||
{
|
||||
if (!DpdPolandCSV::deleteAllData()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($csv_data as $data)
|
||||
{
|
||||
$csv_obj = new DpdPolandCSV();
|
||||
$csv_obj->id_shop = (int)$this->context->shop->id;
|
||||
$csv_obj->iso_country = $data[DpdPolandCSV::COLUMN_COUNTRY];
|
||||
$csv_obj->price_from = $data[DpdPolandCSV::COLUMN_PRICE_FROM];
|
||||
$csv_obj->price_to = $data[DpdPolandCSV::COLUMN_PRICE_TO];
|
||||
$csv_obj->weight_from = $data[DpdPolandCSV::COLUMN_WEIGHT_FROM];
|
||||
$csv_obj->weight_to = $data[DpdPolandCSV::COLUMN_WEIGHT_TO];
|
||||
$csv_obj->parcel_price = $data[DpdPolandCSV::COLUMN_PARCEL_PRICE];
|
||||
$csv_obj->id_carrier = $data[DpdPolandCSV::COLUMN_CARRIER];
|
||||
$csv_obj->cod_price = $data[DpdPolandCSV::COLUMN_COD_PRICE];
|
||||
|
||||
if (!$csv_obj->save()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
128
modules/dpdpoland/controllers/dpd_classic.service.php
Normal file
128
modules/dpdpoland/controllers/dpd_classic.service.php
Normal file
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCarrierClassicService Responsible for specific DPD service (carrier) management
|
||||
*/
|
||||
class DpdPolandCarrierClassicService extends DpdPolandService
|
||||
{
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'dpd_classic.service';
|
||||
|
||||
/**
|
||||
* Installs specific DPD service (carrier)
|
||||
*
|
||||
* @return bool Carrier installed successfully
|
||||
*/
|
||||
public static function install()
|
||||
{
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
$id_carrier = (int)Configuration::get(DpdPolandConfiguration::CARRIER_CLASSIC_ID, null, $id_shop_group, $id_shop);
|
||||
$carrier = self::getCarrierByReference((int)$id_carrier);
|
||||
if ($id_carrier && Validate::isLoadedObject($carrier))
|
||||
if (!$carrier->deleted)
|
||||
return true;
|
||||
else {
|
||||
$carrier->deleted = 0;
|
||||
return (bool)$carrier->save();
|
||||
}
|
||||
|
||||
$carrier_classic = new DpdPolandCarrierClassicService();
|
||||
|
||||
$carrier = new Carrier();
|
||||
$carrier->name = $carrier_classic->module_instance->l('DPD international shipment (DPD Classic)', self::FILENAME);
|
||||
$carrier->active = 1;
|
||||
$carrier->is_free = 0;
|
||||
$carrier->shipping_handling = 1;
|
||||
$carrier->shipping_external = 1;
|
||||
$carrier->shipping_method = 1;
|
||||
$carrier->max_width = 0;
|
||||
$carrier->max_height = 0;
|
||||
$carrier->max_depth = 0;
|
||||
$carrier->max_weight = 0;
|
||||
$carrier->grade = 0;
|
||||
$carrier->is_module = 1;
|
||||
$carrier->need_range = 1;
|
||||
$carrier->range_behavior = 1;
|
||||
$carrier->external_module_name = $carrier_classic->module_instance->name;
|
||||
$carrier->url = _DPDPOLAND_TRACKING_URL_;
|
||||
|
||||
$delay = array();
|
||||
|
||||
foreach (Language::getLanguages(false) as $language)
|
||||
$delay[$language['id_lang']] = $carrier_classic->module_instance->l('DPD international shipment (DPD Classic)', self::FILENAME);
|
||||
|
||||
$carrier->delay = $delay;
|
||||
|
||||
if (!$carrier->save())
|
||||
return false;
|
||||
|
||||
$dpdpoland_carrier = new DpdPolandCarrier();
|
||||
$dpdpoland_carrier->id_carrier = (int)$carrier->id;
|
||||
$dpdpoland_carrier->id_reference = (int)$carrier->id;
|
||||
|
||||
if (!$dpdpoland_carrier->save())
|
||||
return false;
|
||||
|
||||
if (!copy(_DPDPOLAND_IMG_DIR_ . DpdPolandCarrierClassicService::IMG_DIR . '/' . _DPDPOLAND_CLASSIC_ID_ . '.' .
|
||||
DpdPolandCarrierClassicService::IMG_EXTENSION, _PS_SHIP_IMG_DIR_ . '/' . (int)$carrier->id . '.jpg'))
|
||||
return false;
|
||||
|
||||
$zones = Zone::getZones(false);
|
||||
foreach ($zones as $zone)
|
||||
$carrier->addZone((int)$zone["id_zone"]);
|
||||
|
||||
if (!$range_obj = $carrier->getRangeObject())
|
||||
return false;
|
||||
|
||||
$range_obj->id_carrier = (int)$carrier->id;
|
||||
$range_obj->delimiter1 = 0;
|
||||
$range_obj->delimiter2 = 1;
|
||||
|
||||
if (!$range_obj->add())
|
||||
return false;
|
||||
|
||||
if (!self::assignCustomerGroupsForCarrier($carrier))
|
||||
return false;
|
||||
|
||||
if (!Configuration::updateValue(DpdPolandConfiguration::CARRIER_CLASSIC_ID, (int)$carrier->id))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes DPD carrier
|
||||
*
|
||||
* @return bool DPD carrier deleted successfully
|
||||
*/
|
||||
public static function delete()
|
||||
{
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
return (bool)self::deleteCarrier((int)Configuration::get(DpdPolandConfiguration::CARRIER_CLASSIC_ID, null, $id_shop_group, $id_shop));
|
||||
}
|
||||
}
|
||||
0
modules/dpdpoland/controllers/dpd_pudo.service.php
Normal file
0
modules/dpdpoland/controllers/dpd_pudo.service.php
Normal file
131
modules/dpdpoland/controllers/dpd_pudo_cod.service.php
Normal file
131
modules/dpdpoland/controllers/dpd_pudo_cod.service.php
Normal file
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
/**
|
||||
* 2022 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
require_once(_DPDPOLAND_CONTROLLERS_DIR_.'service.php');
|
||||
|
||||
if (!defined('_PS_VERSION_'))
|
||||
exit;
|
||||
|
||||
/**
|
||||
* Class DpdPolandCarrierPudoCodService Responsible for specific DPD service (carrier) management
|
||||
*/
|
||||
class DpdPolandCarrierPudoCodService extends DpdPolandService
|
||||
{
|
||||
/**
|
||||
* Current file name
|
||||
*/
|
||||
const FILENAME = 'dpd_pudo_cod.service';
|
||||
|
||||
/**
|
||||
* Installs specific DPD service (carrier)
|
||||
*
|
||||
* @return bool Carrier installed successfully
|
||||
*/
|
||||
public static function install()
|
||||
{
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
$id_carrier = (int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_COD_ID, null, $id_shop_group, $id_shop);
|
||||
$carrier = self::getCarrierByReference((int)$id_carrier);
|
||||
|
||||
if ($id_carrier && Validate::isLoadedObject($carrier))
|
||||
if (!$carrier->deleted)
|
||||
return true;
|
||||
else {
|
||||
$carrier->deleted = 0;
|
||||
return (bool)$carrier->save();
|
||||
}
|
||||
|
||||
$carrier_pudo = new DpdPolandCarrierPudoCodService();
|
||||
|
||||
$carrier = new Carrier();
|
||||
$carrier->name = $carrier_pudo->module_instance->l('DPD Poland Reception Point Pickup with COD', self::FILENAME);
|
||||
$carrier->active = 1;
|
||||
$carrier->is_free = 0;
|
||||
$carrier->shipping_handling = 1;
|
||||
$carrier->shipping_external = 1;
|
||||
$carrier->shipping_method = 1;
|
||||
$carrier->max_width = 0;
|
||||
$carrier->max_height = 0;
|
||||
$carrier->max_depth = 0;
|
||||
$carrier->max_weight = 0;
|
||||
$carrier->grade = 0;
|
||||
$carrier->is_module = 1;
|
||||
$carrier->need_range = 1;
|
||||
$carrier->range_behavior = 1;
|
||||
$carrier->external_module_name = $carrier_pudo->module_instance->name;
|
||||
$carrier->url = _DPDPOLAND_TRACKING_URL_;
|
||||
|
||||
$delay = array();
|
||||
|
||||
foreach (Language::getLanguages(false) as $language)
|
||||
$delay[$language['id_lang']] = $carrier_pudo->module_instance->l('DPD Poland Reception Point Pickup with COD', self::FILENAME);
|
||||
|
||||
$carrier->delay = $delay;
|
||||
|
||||
if (!$carrier->save())
|
||||
return false;
|
||||
|
||||
$dpdpoland_carrier = new DpdPolandCarrier();
|
||||
$dpdpoland_carrier->id_carrier = (int)$carrier->id;
|
||||
$dpdpoland_carrier->id_reference = (int)$carrier->id;
|
||||
|
||||
if (!$dpdpoland_carrier->save())
|
||||
return false;
|
||||
|
||||
if (!copy(_DPDPOLAND_IMG_DIR_ . DpdPolandCarrierPudoCodService::IMG_DIR . '/' . _DPDPOLAND_PUDO_COD_ID_ . '.' .
|
||||
DpdPolandCarrierPudoCodService::IMG_EXTENSION, _PS_SHIP_IMG_DIR_ . '/' . (int)$carrier->id . '.jpg'))
|
||||
return false;
|
||||
|
||||
$zones = Zone::getZones(false);
|
||||
foreach ($zones as $zone)
|
||||
$carrier->addZone((int)$zone["id_zone"]);
|
||||
|
||||
if (!$range_obj = $carrier->getRangeObject())
|
||||
return false;
|
||||
|
||||
$range_obj->id_carrier = (int)$carrier->id;
|
||||
$range_obj->delimiter1 = 0;
|
||||
$range_obj->delimiter2 = 1;
|
||||
|
||||
if (!$range_obj->add())
|
||||
return false;
|
||||
|
||||
if (!self::assignCustomerGroupsForCarrier($carrier))
|
||||
return false;
|
||||
|
||||
if (!Configuration::updateValue(DpdPolandConfiguration::CARRIER_PUDO_COD_ID, (int)$carrier->id))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes DPD carrier
|
||||
*
|
||||
* @return bool DPD carrier deleted successfully
|
||||
*/
|
||||
public static function delete()
|
||||
{
|
||||
$id_shop = Shop::getContextShopID(true);
|
||||
$id_shop_group = Shop::getContextShopGroupID(true);
|
||||
return (bool)self::deleteCarrier((int)Configuration::get(DpdPolandConfiguration::CARRIER_PUDO_COD_ID, null, $id_shop_group, $id_shop));
|
||||
}
|
||||
}
|
||||
134
modules/dpdpoland/dpdpoland.ajax.php
Normal file
134
modules/dpdpoland/dpdpoland.ajax.php
Normal file
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
include_once(dirname(__FILE__) . '/../../config/config.inc.php');
|
||||
|
||||
if (version_compare(_PS_VERSION_, '1.5', '<')) {
|
||||
include_once(dirname(__FILE__) . '/../../init.php');
|
||||
}
|
||||
|
||||
/** @var DpdPoland $module_instance */
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if (!Tools::isSubmit('token') || (Tools::isSubmit('token')) && Tools::getValue('token') != sha1(_COOKIE_KEY_ . $module_instance->name)) exit;
|
||||
|
||||
if (Tools::isSubmit('save_pudo_id')) {
|
||||
echo $module_instance->savePudoMapCodeFrontend();
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('call_pudo_address')) {
|
||||
$pudo_code = Tools::getValue('pudo_code');
|
||||
$pudoAddress = $module_instance->pudoService->getPudoAddress($pudo_code);
|
||||
if ($pudoAddress != null) {
|
||||
$parts = array_filter([
|
||||
$pudoAddress->company,
|
||||
$pudoAddress->address1,
|
||||
trim($pudoAddress->postcode . ' ' . $pudoAddress->city)
|
||||
]);
|
||||
|
||||
echo implode(', ', $parts);
|
||||
}
|
||||
else
|
||||
echo $pudo_code;
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('call_has_pudo_cod')) {
|
||||
$pudo_code = Tools::getValue('pudo_code');
|
||||
echo $module_instance->pudoService->hasCodService($pudo_code);
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getFormattedAddressHTML')) {
|
||||
$id_address = (int)Tools::getValue('id_address');
|
||||
echo $module_instance->getFormattedAddressHTML($id_address);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getFormattedSenderAddressHTML')) {
|
||||
$id_address = (int)Tools::getValue('id_address');
|
||||
echo $module_instance->getFormattedSenderAddressHTML($id_address);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('getProducts')) {
|
||||
echo json_encode($module_instance->searchProducts(Tools::getValue('q')));
|
||||
exit;
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('savePackagePrintLabels')) {
|
||||
if (!$id_package_ws = $module_instance->savePackageFromPost()) {
|
||||
die(json_encode(array(
|
||||
'error' => reset(DpdPoland::$errors)
|
||||
)));
|
||||
}
|
||||
|
||||
$printout_format = Tools::getValue('dpdpoland_printout_format');
|
||||
|
||||
if ($printout_format != DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL && $printout_format != DpdPolandConfiguration::PRINTOUT_FORMAT_A4)
|
||||
$printout_format = DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL;
|
||||
|
||||
die(json_encode(array(
|
||||
'error' => false,
|
||||
'id_package_ws' => (int)$id_package_ws,
|
||||
'link_to_labels_pdf' => '?printLabels&id_package_ws=' . (int)$id_package_ws . '&printout_format=' . $printout_format . '&token=' . Tools::getValue('token')
|
||||
)));
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('printLabels')) {
|
||||
$printout_format = Tools::getValue('dpdpoland_printout_format');
|
||||
|
||||
if ($printout_format != DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL && $printout_format != DpdPolandConfiguration::PRINTOUT_FORMAT_A4)
|
||||
$printout_format = DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL;
|
||||
|
||||
die(json_encode(array(
|
||||
'error' => false,
|
||||
'link_to_labels_pdf' => '?printLabels&id_package_ws=' . (int)Tools::getValue('id_package_ws') .
|
||||
'&printout_format=' . $printout_format . '&token=' . Tools::getValue('token')
|
||||
)));
|
||||
}
|
||||
|
||||
if (Tools::getValue('addDPDClientNumber')) {
|
||||
$result = $module_instance->addDPDClientNumber();
|
||||
die(json_encode($result));
|
||||
}
|
||||
|
||||
if (Tools::getValue('deleteDPDClientNumber')) {
|
||||
$result = $module_instance->deleteDPDClientNumber();
|
||||
die(json_encode($result));
|
||||
}
|
||||
|
||||
if (Tools::getValue('getPayerNumbersTableHTML')) {
|
||||
$html = $module_instance->getPayerNumbersTableHTML();
|
||||
die(json_encode($html));
|
||||
}
|
||||
|
||||
if (Tools::getValue('calculateTimeLeft')) {
|
||||
$time_left = $module_instance->calculateTimeLeft();
|
||||
die(json_encode($time_left));
|
||||
}
|
||||
|
||||
if (Tools::getValue('getTimeFrames')) {
|
||||
$html = $module_instance->getTimeFrames();
|
||||
die(json_encode($html));
|
||||
}
|
||||
157
modules/dpdpoland/dpdpoland.lang.php
Normal file
157
modules/dpdpoland/dpdpoland.lang.php
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class DpdPolandLanguage Responsible for DPD module error messages translations
|
||||
*/
|
||||
class DpdPolandLanguage
|
||||
{
|
||||
const FILENAME = 'dpdpoland.lang';
|
||||
|
||||
private $translations = array();
|
||||
private $module_instance;
|
||||
|
||||
/**
|
||||
* DpdPolandLanguage class constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
$this->translations = array(
|
||||
'1002' => $this->module_instance->l('ERROR_INCORRECT_WEIGHT_FOR_COUNTRY', self::FILENAME),
|
||||
'1003' => $this->module_instance->l('ERROR_INCORRECT_PARCELS_COUNT_FOR_DOX', self::FILENAME),
|
||||
'1004' => $this->module_instance->l('ERROR_GUARANTEE_TIMEFIXED_OUT_OF_RANGE', self::FILENAME),
|
||||
'1005' => $this->module_instance->l('ERROR_DECLARED_VALUE_AMOUNT_OUT_OF_RANGE', self::FILENAME),
|
||||
'1008' => $this->module_instance->l('ERROR_COD_AMOUNT_OUT_OF_RANGE', self::FILENAME),
|
||||
'1009' => $this->module_instance->l('ERROR_INCORRECT_COD_CURRENCY_FOR_PL', self::FILENAME),
|
||||
'1011' => $this->module_instance->l('ERROR_INCORRECT_WEIGHT', self::FILENAME),
|
||||
'1013' => $this->module_instance->l('ERROR_PALLET_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1014' => $this->module_instance->l('ERROR_DUTY_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1015' => $this->module_instance->l('ERROR_CARRY_IN_NOT_AVAILABLE_FOR_PAYER_FID', self::FILENAME),
|
||||
'1016' => $this->module_instance->l('ERROR_COD_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1017' => $this->module_instance->l('ERROR_ROD_NOT_AVAILBLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1018' => $this->module_instance->l('ERROR_CUD_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1019' => $this->module_instance->l('ERROR_CARRY_IN_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1020' => $this->module_instance->l('ERROR_IN_PERS_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1021' => $this->module_instance->l('ERROR_PRIV_PERS_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1022' => $this->module_instance->l('ERROR_DOX_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1023' => $this->module_instance->l('ERROR_SELF_COL_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1024' => $this->module_instance->l('ERROR_GUARANTEE_TIME0930_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1025' => $this->module_instance->l('ERROR_GUARANTEE_TIME1200_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1026' => $this->module_instance->l('ERROR_GUARANTEE_TIMEFIXED_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1028' => $this->module_instance->l('ERROR_GUARANTEE_SATURDAY_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1030' => $this->module_instance->l('ERROR_GUARANTEE_B2C_NOT_AVAILABLE_FOR_COUNTRY', self::FILENAME),
|
||||
'1032' => $this->module_instance->l('ERROR_GUARANTEE_TIME0930_NOT_AVAILABLE_FOR_POSTAL_CODE', self::FILENAME),
|
||||
'1033' => $this->module_instance->l('ERROR_GUARANTEE_TIME1200_NOT_AVAILABLE_FOR_POSTAL_CODE', self::FILENAME),
|
||||
'1034' => $this->module_instance->l('ERROR_GUARANTEE_INTER_NOT_AVAILABLE_FOR_POSTAL_CODE', self::FILENAME),
|
||||
'1036' => $this->module_instance->l('ERROR_PALLET_NOT_AVAILABLE_FOR_POSTAL_CODE', self::FILENAME),
|
||||
'1037' => $this->module_instance->l('ERROR_CARRYIN_NOT_AVAILABLE_FOR_POSTAL_CODE', self::FILENAME),
|
||||
'1038' => $this->module_instance->l('ERROR_GUARANTEE_B2C_NOT_AVAILABLE_FOR_PAYER_FID', self::FILENAME),
|
||||
'1039' => $this->module_instance->l('ERROR_INCORRECT_GUARANTEE_B2C_RANGE', self::FILENAME),
|
||||
'1042' => $this->module_instance->l('ERROR_INCORRECT_PAYMENT_TYPE', self::FILENAME),
|
||||
'1043' => $this->module_instance->l('ERROR_INCORRECT_PARCELS_COUNT_FOR_CARRYIN', self::FILENAME),
|
||||
'1044' => $this->module_instance->l('ERROR_INCORRECT_WEIGHT_FOR_CARRYIN', self::FILENAME),
|
||||
'1045' => $this->module_instance->l('ERROR_PARCEL_SIZE_X_OUT_OF_RANGE', self::FILENAME),
|
||||
'1046' => $this->module_instance->l('ERROR_PARCEL_SIZE_Y_OUT_OF_RANGE', self::FILENAME),
|
||||
'1047' => $this->module_instance->l('ERROR_PARCEL_SIZE_Z_OUT_OF_RANGE', self::FILENAME),
|
||||
'1048' => $this->module_instance->l('ERROR_PARCEL_SIZES_EXCEEDED_DIMENISIONS_80X120X180', self::FILENAME),
|
||||
'1049' => $this->module_instance->l('ERROR_INT_PARCEL_SIZES_EXCEEDED_300', self::FILENAME),
|
||||
'1051' => $this->module_instance->l('ERROR_PARCEL_SIZES_EXCEEDED_300', self::FILENAME),
|
||||
'1052' => $this->module_instance->l('ERROR_PARCEL_CAPACITY_EXCEEDED', self::FILENAME),
|
||||
'1053' => $this->module_instance->l('ERROR_PARCEL_SIZE_X_EXCEEDED', self::FILENAME),
|
||||
'1054' => $this->module_instance->l('ERROR_PARCEL_SIZE_Y_EXCEEDED', self::FILENAME),
|
||||
'1055' => $this->module_instance->l('ERROR_PARCEL_SIZE_Z_EXCEEDED', self::FILENAME),
|
||||
'1056' => $this->module_instance->l('ERROR_RECEIVER_NAME_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1057' => $this->module_instance->l('ERROR_RECEIVER_COMPANY_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1058' => $this->module_instance->l('ERROR_RECEIVER_ADDRESS_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1059' => $this->module_instance->l('ERROR_RECEIVER_CITY_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1060' => $this->module_instance->l('ERROR_RECEIVER_EMAIL_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1061' => $this->module_instance->l('ERROR_RECEIVER_PHONE_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1062' => $this->module_instance->l('ERROR_EMPTY_RECEIVER_ADDRESS', self::FILENAME),
|
||||
'1063' => $this->module_instance->l('ERROR_EMPTY_RECEIVER_CITY', self::FILENAME),
|
||||
'1064' => $this->module_instance->l('ERROR_EMPTY_RECEIVER_NAME_AND_COMPANY', self::FILENAME),
|
||||
'1065' => $this->module_instance->l('ERROR_SENDER_NAME_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1066' => $this->module_instance->l('ERROR_SENDER_COMPANY_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1067' => $this->module_instance->l('ERROR_SENDER_ADDRESS_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1068' => $this->module_instance->l('ERROR_SENDER_CITY_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1069' => $this->module_instance->l('ERROR_SENDER_EMAIL_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1070' => $this->module_instance->l('ERROR_SENDER_PHONE_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1071' => $this->module_instance->l('ERROR_EMPTY_SENDER_ADDRESS', self::FILENAME),
|
||||
'1072' => $this->module_instance->l('ERROR_EMPTY_SENDER_CITY', self::FILENAME),
|
||||
'1073' => $this->module_instance->l('ERROR_EMPTY_SENDER_NAME_AND_COMPANY', self::FILENAME),
|
||||
'1074' => $this->module_instance->l('ERROR_REF1_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1075' => $this->module_instance->l('ERROR_REF2_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1076' => $this->module_instance->l('ERROR_REF3_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1077' => $this->module_instance->l('ERROR_PARCEL_CONTENT_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1078' => $this->module_instance->l('ERROR_PARCEL_CUSTOMER_DATA1_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1079' => $this->module_instance->l('ERROR_PARCEL_CUSTOMER_DATA2_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1080' => $this->module_instance->l('ERROR_PARCEL_CUSTOMER_DATA3_MAX_SIZE_EXCEEDED', self::FILENAME),
|
||||
'1081' => $this->module_instance->l('ERROR_INCORRECT_SENDER_COUNTRY', self::FILENAME),
|
||||
'1082' => $this->module_instance->l('ERROR_INCORRECT_RECEIVER_COUNTRY', self::FILENAME),
|
||||
'1085' => $this->module_instance->l('ERROR_GUARANTEE_TIMEFIXED_INCORRECT_FORMAT', self::FILENAME),
|
||||
'1086' => $this->module_instance->l('ERROR_CARRY_IN_FOR_GABARIT_WEIGHT', self::FILENAME),
|
||||
'1087' => $this->module_instance->l('ERROR_IN_PERS_REQUIRES_RECEIVER_NAME', self::FILENAME),
|
||||
'1088' => $this->module_instance->l('ERROR_PALLET_INCORRECT_FOR_WEIGHT', self::FILENAME),
|
||||
'1110' => $this->module_instance->l('ERROR_SIZE_X_OUT_OF_RANGE', self::FILENAME),
|
||||
'1111' => $this->module_instance->l('ERROR_SIZE_Y_OUT_OF_RANGE', self::FILENAME),
|
||||
'1112' => $this->module_instance->l('ERROR_SIZE_Z_OUT_OF_RANGE', self::FILENAME),
|
||||
'2005' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_CUD_EXCLUDING', self::FILENAME),
|
||||
'2006' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_CARRY_IN_EXCLUDING', self::FILENAME),
|
||||
'2007' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_COD_EXCLUDING', self::FILENAME),
|
||||
'2008' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_DECL_VALUE_EXCLUDING', self::FILENAME),
|
||||
'2009' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_DOX_EXCLUDING', self::FILENAME),
|
||||
'2010' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_DUTY_EXCLUDING', self::FILENAME),
|
||||
'2011' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_IN_PERS_EXCLUDING', self::FILENAME),
|
||||
'2012' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_PALLET_EXCLUDING', self::FILENAME),
|
||||
'2013' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_PRIV_PERS_EXCLUDING', self::FILENAME),
|
||||
'2014' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_ROD_EXCLUDING', self::FILENAME),
|
||||
'2015' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_SELF_COL_EXCLUDING', self::FILENAME),
|
||||
'2016' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_TIME0930_EXCLUDING', self::FILENAME),
|
||||
'2017' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_TIME1200_EXCLUDING', self::FILENAME),
|
||||
'2018' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_TIMEFIXED_EXCLUDING', self::FILENAME),
|
||||
'2019' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_OVERTIME2_EXCLUDING', self::FILENAME),
|
||||
'2020' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_B2C_EXCLUDING', self::FILENAME),
|
||||
'2021' => $this->module_instance->l('ERROR_DEDICATED_DELIVERY_TIRES_EXCLUDING', self::FILENAME)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns translated error message according to error code
|
||||
*
|
||||
* @param int $id_translation Error code from WebServices
|
||||
* @return mixed|string Error message
|
||||
*/
|
||||
public function getTranslation($id_translation)
|
||||
{
|
||||
if (isset($this->translations[(int)$id_translation]))
|
||||
return $this->translations[(int)$id_translation];
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
public function getTranslationByCode($errorCode)
|
||||
{
|
||||
if ($errorCode === "NOT_FOUND")
|
||||
return $this->module_instance->l('NOT_FOUND', self::FILENAME);
|
||||
|
||||
return $errorCode;
|
||||
}
|
||||
}
|
||||
75
modules/dpdpoland/dpdpoland.pdf.php
Normal file
75
modules/dpdpoland/dpdpoland.pdf.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
include_once(dirname(__FILE__).'/../../config/config.inc.php');
|
||||
include_once(dirname(__FILE__).'/../../init.php');
|
||||
|
||||
$module_instance = Module::getInstanceByName('dpdpoland');
|
||||
|
||||
if (!Tools::isSubmit('token') || (Tools::isSubmit('token')) && Tools::getValue('token') != sha1(_COOKIE_KEY_.$module_instance->name)) exit;
|
||||
|
||||
if (Tools::isSubmit('printLabels'))
|
||||
{
|
||||
$cookie = new Cookie(_DPDPOLAND_COOKIE_);
|
||||
if (isset($cookie->dpdpoland_package_id))
|
||||
{
|
||||
$package_id = $cookie->dpdpoland_package_id;
|
||||
$printout_format = $cookie->dpdpoland_printout_format;
|
||||
unset($cookie->dpdpoland_package_id);
|
||||
unset($cookie->dpdpoland_printout_format);
|
||||
$cookie->write();
|
||||
$package = new DpdPolandPackage((int)$package_id);
|
||||
$pdf_file_contents = $package->generateLabels('PDF', $printout_format);
|
||||
|
||||
ob_end_clean();
|
||||
header('Content-type: application/pdf');
|
||||
header('Content-Disposition: attachment; filename="package_labels_'.(int)Tools::getValue('id_package_ws').'.pdf"');
|
||||
echo $pdf_file_contents;
|
||||
exit;
|
||||
}
|
||||
|
||||
$package = new DpdPolandPackage((int)Tools::getValue('id_package_ws'));
|
||||
|
||||
if ($pdf_file_contents = $package->generateLabels())
|
||||
{
|
||||
$cookie->dpdpoland_package_id = (int)Tools::getValue('id_package_ws');
|
||||
|
||||
$printout_format = Tools::getValue('printout_format');
|
||||
if (!in_array($printout_format, array(DpdPolandConfiguration::PRINTOUT_FORMAT_A4, DpdPolandConfiguration::PRINTOUT_FORMAT_LABEL)))
|
||||
$printout_format = DpdPolandConfiguration::PRINTOUT_FORMAT_A4;
|
||||
|
||||
$cookie->dpdpoland_printout_format = $printout_format;
|
||||
Tools::redirectAdmin(Tools::getValue('returnOnErrorTo').'&scrollToShipment');
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
DpdPoland::addFlashError(reset(DpdPolandPackageWS::$errors));
|
||||
Tools::redirectAdmin(Tools::getValue('returnOnErrorTo').'&scrollToShipment');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (Tools::isSubmit('downloadModuleCSVSettings'))
|
||||
{
|
||||
include_once(_DPDPOLAND_CONTROLLERS_DIR_.'csv.controller.php');
|
||||
$controller = new DpdPolandCSVController;
|
||||
$controller->generateCSV();
|
||||
}
|
||||
2836
modules/dpdpoland/dpdpoland.php
Normal file
2836
modules/dpdpoland/dpdpoland.php
Normal file
File diff suppressed because it is too large
Load Diff
397
modules/dpdpoland/en.php
Normal file
397
modules/dpdpoland/en.php
Normal file
@@ -0,0 +1,397 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_e14e32e9af6abe9075e171d1e699d2b1'] = 'DPD Polska sp. z o.o.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_cf6bdbe90ce14e8574b95617ddecd62b'] = 'DPD Polska sp. z o.o. shipping module';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD domestic shipment - Standard';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD domestic shipment - Standard with COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_d2069e632908fea7573dca46cc582f17'] = 'DPD international shipment (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_d0949e93073cf252d5687ee5714e98fe'] = 'Module is in DEBUG mode';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2e780f41b60cc7adce7ec82c077b1328'] = 'View debug file';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_6881bfc8704c70e00cdccd3a889c656e'] = 'PL country and PLN currency must be installed; CURL must be enabled';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Module is not configured yet. Please check required settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_df6c55d89e6ab2b9bb40dac719af0ad3'] = 'Arrange PickUp';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_f4f70727dc34561dfde1a3c529b6205c'] = 'Settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_c02d804fa902ea3b9cf1372e91c6c07d'] = 'CSV prices import';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_17472ee8349195ad503c351f0707635d'] = 'CSV management is disabled when all shops or group of shops are selected';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_6a26f548831e6a8c26bfbbd9f6ec61e0'] = 'Help';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_7be24e7f2e42a87f6eed6461ee6019c3'] = 'Manifest list';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_133b95b4eff09dd92f6fb89365cfc5c9'] = 'Manifests functionality is disabled when all shops or group of shops are chosen';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_defa603474fa0b26abf74e04cf3f37dc'] = 'Parcels history';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_76eabb488f3d8677aa8456f6cf8e3cd6'] = 'Parcels functionality is disabled when all shops or group of shops are chosen';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_9e4af51bbda475a4c3f1be6d0d8ca79b'] = 'Shipment countries';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_adf178668a06fd135f315626c64cfcab'] = 'Countries functionality is disabled when all shops or group of shops are chosen';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_27fe4eb3edbaff8f250e2d51f7462681'] = 'Packages';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_662903aaf4484465ea3685e7eda39631'] = 'Packages functionality is disabled when all shops or group of shops are chosen';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1fc78230db5bda0cce0fe26f8308b0e1'] = 'Parcel #%d does not exists';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_185f3a44910c149fb3932fe466a67c39'] = 'Unable to save product #%s to parcel #%d';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2fe4721acab2b52c4ed95fffbbc5d56e'] = 'You have chosen a group of shops, all the changes will be set for all shops in this group';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_437e0167a401ddea924849640e08bfe0'] = 'You have chosen all shops, all the changes will be set for all shops';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_dc5982c9e79b6dfbd6f2b0bbdaddb972'] = 'DPD client number is required';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1e00bbef535c75b71d1763a3580a1e5e'] = 'DPD client number is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b2a5b30126d6c7beef59e4c719ebcb11'] = 'Client name is required';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_f99abd737754e44ba1954da710986e94'] = 'Client name is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_9b36b4083416f24c568a5db65cefb775'] = 'DPD client number already exists';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_bb5edb204502b74d1dc141b4c4d5c8ca'] = 'DPD client number / name could not be saved';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_c8ef9bdc2f02d07dc6079c73c2a63266'] = 'DPD client number / name saved successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_346a047982b951c1884d870bdde83732'] = 'Could not delete DPD client number / name';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_27ec7e6bbcee87d7bcaee9bdefc45e09'] = 'Could not delete default client number setting';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_3bf8fa7e6f2443cc31ed07a933f7f265'] = 'DPD client number / name deleted successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.ws_0de36710a01a183e825821bd8c114678'] = 'Could not connect to webservice server. Please check webservice URL';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.ws_34e10ce9a0142bdf21b53c412f9b8971'] = 'Missing WebServices configuration data';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_557ce4d7ebf32761d89025560b39988e'] = 'Date of pickup';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_b01578a8d93f59f03da1295d41224835'] = 'Timeframe of pickup';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_f4b4439e9f3732ee91a5321a88fca1d0'] = 'Shipment type';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_417e0d7ca5c467a90ad6281f8dbdc902'] = 'General shipment content';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_fa9218f2927bf28f67029569c2c86b58'] = 'Envelopes';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_188512a8e454a4459576581f17c4cf24'] = 'Number of envelopes';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_3e9e1484cdd872f48f218fcf0a0ac882'] = 'Parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_8c74ac4eaa2b297614fb822143339da2'] = 'Number of parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_d0af198cb80a8b9fb791ecfe537ae058'] = 'Summary weight';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_5ad6a9b6909709fda6a6260140a577f2'] = 'Weight of the heaviest item';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_b566a0262a11710fec1bdefe70a9af75'] = 'Height of the tallest item';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_8cd26badce05229f3b4aef08e937e45f'] = 'Length of the largest item';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_63e5bd6e3ba8c6f7b3673adb344b0acb'] = 'Width of the longest item';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_3f9cff795224f5232cca142b122d6d46'] = 'Pallets';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_4e68f204aa87d54877bae0682c91e945'] = 'Number of pallets';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_2d3e1556af332fb39dbb336b7dbd815c'] = 'Pickup was successfully arranged. Number of order is: %d';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_e9db232320d68ed823146c578c4e57e8'] = 'At least one service must be selected';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_ca032b19074848f60a64765cf1a2b902'] = 'The \"%s\" field is required.';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_d3351a5a321eff4a2b2dd23f91014a09'] = 'The \"%s\" field is invalid.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_6295e9fb03aee799ad17c1a7051bce54'] = 'Could not save DPD international shipment (DPD Classic) service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_81f6684cb92278192ea83e1e2d52b1a5'] = 'Could not delete DPD international shipment (DPD Classic) service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d86de4cac15afc1d6bde5b95679e6bf5'] = 'Could not save DPD domestic shipment - Standard service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_4095eb6e01f03f08bec8a018d6af4e42'] = 'Could not delete DPD domestic shipment - Standard service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e60eef2b54e550e3aa0765a8534bf851'] = 'Could not save DPD domestic shipment - Standard with COD service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_096d9693810ab908011699bc2683d8b4'] = 'Could not delete DPD domestic shipment - Standard with COD service';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2a691c13904a57bf08a9a97d6a29bb73'] = 'Login can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_50ae1a2cad21b6d7b4b8caa4df0ee128'] = 'Password can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_f1bc76917b4b9eefae0a2c2f249eae3e'] = 'Password is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_516f2bab6ea17ccfb2881d2d7244f2d0'] = 'Default client number must be set';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_43a51a7515589e5d0da53d6d34d92165'] = 'Company name can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_f1010bd631c658108fb79ee8a8e15b48'] = 'Company name is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2630937e141eb50884534de42d5e5ee2'] = 'Name and Surname can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_60f899abeec0138f8c0eb005baa445ec'] = 'Name and surname are not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_aa8d12747028e054f46691ff7356dfcd'] = 'Address can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_024d391fbc28c4feae076f242b5e9663'] = 'Address is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_7b83329279ee90c78179e9bca6e71e36'] = 'Postal code not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_a3d30200506ef2f8f64f9da626fab198'] = 'Postal code is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d1935ae9107bc14513878b353a40ad66'] = 'City can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_caff49a1a94d0a314aeb172fefe2c6b5'] = 'City is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2e33dfccd5912a2b071d30460bd072dd'] = 'Email can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_a1d11f0c167629d356bc2cbdbbf9950f'] = 'Email is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_b9f7e2d6505c78b639bbf411b1fdf53d'] = 'Tel. No. can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e3d6fd38c0970a247a2efe6135189b26'] = 'Tel. No. is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_ab86bd3c2acbfe84e03c9f25ddfec749'] = 'At least one COD payment method must be checked';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_352dc479bd09930c3741d4d2b08f52ad'] = 'Weight conversation rate can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_6d2fcce4872f354734a5ab22522bbc22'] = 'Weight conversation rate is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_02cc06808d47444a9b6070a70223937d'] = 'Dimension conversation rate can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d6069dd010a2c50fbbd7b1e0c05def48'] = 'Dimension conversation rate is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d8731cfb7b2fcc4d4a9a6d93a15b340f'] = 'Customer company name can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_10a5edb2f28bbeadcbe2ceb7452dd21b'] = 'Customer company name is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d744cb91532d27fc295efb095ca35a7a'] = 'Customer name and surname can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_36eab302759930b2e87b5f58c82038b8'] = 'Customer name and surname is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_aa897175306dbf694b3c8aecc348820c'] = 'Customer tel. No. can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_c67952f0dd83b2025c62ae00d7d11e2a'] = 'Customer tel. No. is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_49164735e5be270db81a0b37c22c32b0'] = 'Customer FID can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_8189ae3b628cd0a0a01b9e85516163dc'] = 'Customer FID is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d6534487cf5e32f16491d0177581cf40'] = 'Master FID can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d57cce4f5f6024b838e22710d8b23baa'] = 'Master FID is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_ab4e2671faf3a670e8e0c59beffb9529'] = 'Web Services URL can not be empty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e4f36ce03f2b1d1c4c875ace06a7de2c'] = 'Web Services URL is not valid';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_fe016d3b990c2a9dd72ab6b45892f2ae'] = 'Settings saved successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_95fc952eb3f8cdf77b8fd878ec312099'] = 'Could not save settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_a108e14a7baadb5f412289e78e6e8cd4'] = 'Could not change country status';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_dcadd34de7e627ea1da1dfe62b6cf424'] = 'No selected countries';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_811e14e4f6a0a810bd7134b0efee372c'] = 'Country status changed successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_5d9b9872005f3cf1a4def3fb3528eba9'] = 'Could not change country status, ID: %s';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_243911a3d5a8cd0425b6445f1226409c'] = 'Selected countries statuses changed successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_192faee3a49294fda6d13c0b121a1e4f'] = 'Parcel weight from (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_60ae6f36eeef0bd69b3589cb4197ea29'] = 'Parcel weight to (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_5a3110fd78c7e72bf6f793bbb22f1a27'] = 'Parcel price (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_914419aa32f04011357d3b604a86d7eb'] = 'Carrier';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_cc22f9c1c006612224c8f14fcb8618a9'] = 'COD cost (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_8d751864a3f79a19d2e06e2acf4234f2'] = 'Wrong CSV file';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_e3fb87f38c7ff3e310a8206daa79f82a'] = 'CSV data was successfully saved';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_37dc8118fa211f43b2ca2a52a6ee787d'] = 'CSV data could not be saved';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_db913c2ee13ffcfa8220f9082f55555d'] = 'Price rules deleted successfully';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_7d2d424cfc11ed9b4428825cd834b1fd'] = 'Price rules could not be deleted';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_7a93533b6e32e4c65ccd7f3785a4d086'] = 'Wrong CSV file structure or empty lines';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_45d626539112348088b22e53c8f42c31'] = 'PLN currency must be installed before CSV import.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_269b83bdcdbede79ca4372e4cca0b550'] = 'Country: country code does not exists in your PrestaShop system - invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_f1f970c877f6b5d05c0b06114f6e8d51'] = 'Weight (From): invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_d2a7fae53a6ad2f729990f1f5d3a329d'] = 'Weight (To): invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_d8c27219c58175bf167fe761745c7b18'] = 'Parcel price (PLN): invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_5eebaf4c4354c2fa66c9a23f8625be48'] = 'Carrier: invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_2b1254f68ef36bf8144fe8f5d3998b9b'] = 'COD cost (PLN): Value should be >=0. Invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_fa7efd29ee54335b8eee557c0896272e'] = 'COD cost (PLN): It\'s possible to use COD only with \"DPD domestic shipment - Standard with COD\". Leave empty COD field otherwise. Invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_abdd02f527c5fea88a2f261f966d97e6'] = 'COD cost (PLN): COD is available only in Poland. Leave empty COD field otherwise. Invalid lines:';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_classic.service_d2069e632908fea7573dca46cc582f17'] = 'DPD international shipment (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_standard.service_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD domestic shipment - Standard';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_standard_cod.service_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD domestic shipment - Standard with COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_a7927259433038cdaab4fedd3891fc2c'] = 'Manifests of DOMESTIC shipments cannot be mixed with INTERNATIONAL shipments';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_fb14705e99f84ade2bbdb747ab45c028'] = 'Customer does not exists';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_83ef8de8a773717790a7db47d7893c22'] = 'Receiver address does not exists';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_706aefe3f1a249726beddd13681060d3'] = 'Package was successfully created but we were unable to save its data locally';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_a7927259433038cdaab4fedd3891fc2c'] = 'Manifests of DOMESTIC shipments cannot be mixed with INTERNATIONAL shipments';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup_88f4da5ddbc4666535176a1251cb4d8f'] = 'Error code: %s, fields: %s';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup_443a89770439e69c92ec317079d15fbb'] = 'Order number is undefined';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup_789d957565edc09c2a436fca63b30c03'] = 'Cannot get TimeFrames from webservices. Please check if sender\'s postal code is typed in correctly';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_5e116ceb48a98fb755f22df7ea1e2396'] = 'Company name:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_2e07aecf995754708a89dd0766cce085'] = 'Name and surname:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_72b6d26677f7289a541e4fdbf4c8ca53'] = 'Street and house no.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_da67a6777d9e5451375f8ab27e15af8b'] = 'Postal code:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_bffb711ec36f280459d11dce315da72f'] = 'City:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_f64be5eef68442a8f50cf535b92ad3e4'] = 'Country:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_0936b8d13555e80a1e3b4382274f06bd'] = 'Tel. No.';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_7d06182c98480873fd25664fb3f7a698'] = 'Sender address';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_94880bda83bda77c5692876700711f15'] = 'Poland';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_3f2bbf3ee64eb0d86ebe7730b3c6ccde'] = 'Sender address must be specified in settings first';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_40f404095c708619cdd4d0f808a9570e'] = 'Date and time for pickup';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_d76cabde06a3b3f49b88d0bedfd64928'] = 'Date of pickup:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_2f88c2f48e2eaa600cb461062abc5db7'] = 'Order placement is possible only on working days, if you select non working day your order will be realized on first available working day';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_cdaf42bc870c754a964420ba2ac49b02'] = 'Timeframe of pickup:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_209802fb858e2c83205027dbbb5d9e6c'] = 'Package';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_325a369b3c10840846bf208b09e42685'] = 'Shipment type:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_86760af0540a2a6d4b4ca61ef3d6187c'] = 'Domestic';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_8189ecf686157db0c0274c1f49373318'] = 'International';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_e1ed989ed1284aedc6dba9b1680fefaf'] = 'Envelopes:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_ab7702eaa2e0331f91205686efa40d69'] = 'Number of envelopes:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_e1f142b36e05805b333c1e038d95b0d8'] = 'Parcels:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_9fda8e6e97311e1f7d755ac477dea38f'] = 'Number of parcels:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_c4c3afb13f59f8ede266475851fbfbac'] = 'Summary weight (in kg):';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_1abfd647ddf71e80424f3fc60b50e60c'] = 'Weight of the heaviest item (in kg):';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_730b2819f18ff8dd9d1bf5df925f64eb'] = 'Height of the tallest item (in cm):';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_a54fde62a06b28e231fc7fbeb0690abd'] = 'Length of the largest item (in cm):';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_6c5cbb81d5b2cff0dbc530681dafdcc2'] = 'Width of the longest item (in cm):';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_902d421176a411f4d956205e7d5c8059'] = 'Pallets:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_8995f444a649d88c69c5580131df1177'] = 'Number of pallets:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_94966d90747b97d1f0f206c98a8b1ac3'] = 'Send';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_332dc7ba3252c80249de22d335d1ccf3'] = 'Some text for merchants information - to be agreed on.';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_973ddc69a5ff591471c0376488db8579'] = 'Arrange Pickup';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_ea4788705e6873b424c65e91c2846b19'] = 'Cancel';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f4f70727dc34561dfde1a3c529b6205c'] = 'Settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d7ee719da6f2c80eaf00d5538a2517bd'] = 'DPD credentials';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_051672911a3f1f05efba78a553ef6fe2'] = 'Login:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_b341a59d5636ed3d6a819137495b08a0'] = 'Password:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_49fbab040daede070f6af9e1da021fad'] = 'DPD client number:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_de8df59907fdac33cd15aa585a4cef84'] = 'Client name:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_ec211f7c20af43e742bf2570c3cb84f9'] = 'Add';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_436a25178dc1cd89996743d657142bd2'] = 'Default client number:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c9cc8cce247e49bae79f15173ce97354'] = 'Save';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_19f823c6453c2b1ffd09cb715214813d'] = 'Required field';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_58d579673df0c3e3c03a9692e1263952'] = 'Senders data';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5e116ceb48a98fb755f22df7ea1e2396'] = 'Company name:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2e07aecf995754708a89dd0766cce085'] = 'Name and surname:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2bf1d5fae1c321d594fdedf05058f709'] = 'Address:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_3011ea97a695e0d9ea2a9a38bb60f8e4'] = 'Company name or First and surname is mandatory';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_da67a6777d9e5451375f8ab27e15af8b'] = 'Postal code:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_bffb711ec36f280459d11dce315da72f'] = 'City:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_94880bda83bda77c5692876700711f15'] = 'Poland';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_230ff5a82d6f00782ac18f7d7dd594e8'] = 'Tel. No.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_a000119beed256188e530a804bb79ef4'] = 'Active shiping services';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_4aeaca207f10d8b2a25475f3f135a4ac'] = 'DPD domestic shipment - Standard:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f03584af7399afb18d478900e06b025c'] = 'DPD domestic shipment - Standard with COD:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD domestic shipment - Standard with COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d66f656d939860707d874607f42500f9'] = 'RULE: DPD Polska sp. z o.o. allows payment on the delivery ONLY by cash. In your payment modules you have available this types of payment, please mark those payment methods that support this rule.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_961489f954ec2135d8094496df2ac259'] = 'DPD international shipment (DPD Classic):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d2069e632908fea7573dca46cc582f17'] = 'DPD international shipment (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c2ce0e9a6aa6854e42ce2354208bfc1e'] = 'Please note that after module installation carriers are not created.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d6576c8f0f67964194302b2fe773b9b9'] = 'Price calculation';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_42d054e877c92fa2201f38d2159cd490'] = 'Shipping price calculation method:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5cd4346a553c6168b4d296232d24ad65'] = 'Weight measurement units conversation';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c31a6a651c1080cb4c1716eadfe856cd'] = 'System default weight units:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_10df976caf081bfa86d39f626456e1da'] = 'DPD weight units:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5d984b2060bfae52a2abe2e9f05def92'] = 'Conversation rate:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_3d98ce8c59b0f830f296f902efe42ef0'] = 'Conversation rate from system to DPD weight units. If your system uses the same weight units as DPD then leave this field blank.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_086688900e2a055c719faebe0bfe0c38'] = 'Dimension measurement units conversation';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_ac594a3e6f56f10169ab633f27eb0e9f'] = 'System default dimension units:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_60f05f3f2847d78f32849479929b7ddd'] = 'DPD dimension units:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_21a258f58e4e128f018e82bcbc74e64f'] = 'Conversatoin rate from system to DPD dimension units. If your system uses the same dimension units as DPD then leave this field blank.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_4473b41d1a4095be325afd76182eeb4f'] = 'General WS parameters';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d56e808757f47edcf82ff3fec2a93704'] = 'Customer company name:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_65de6f35022d3cf8490f9a0c5efc2643'] = 'Customer name and surname:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_13d7b53519833fc35b46e1f5eb08cead'] = 'Customer tel. No.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5cd9a6211e54713fa09670b9a06a7820'] = 'Customer FID:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d0424144fb77191573ef83a495abb98f'] = 'Master FID:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_6c0729f778568e67fcc9cc9297240283'] = 'Web Services URL';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2ca9c180d73e6abdfa19c2d207e5ea0e'] = 'Web Services URL:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5ec828cf7c89f7cb7735abdf8629b844'] = 'Standard URL: http://egproduction.dpd.com/IT4EMWebServices/eshop/';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_193cfc9be3b995831c6af2fea6650e60'] = 'Page';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Display';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_dd8921b41e0279a02c6a26a509241700'] = 'result(s)';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filter';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ad68f9bafd9bf2dcf3865dac55662fd5'] = 'ISO code';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Enabled';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_93cba07454f06a4a960172bbd6e2a435'] = 'Yes';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_bafd7322c6e97d25b6299b5d6fe8920b'] = 'No';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b9f5c797ebbf55adccdd8539a65a0241'] = 'Disabled';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_e1ba5c602cbc3752cca2f0f80ee0117f'] = 'No countries';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_729a51874fe901b092899e9e8b31c97a'] = 'Are you sure?';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ab7fd6e250b64a46027a996088fdff74'] = 'Disable selection';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ede4759c9afae620fd586628789fa304'] = 'Enable selection';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_f9b167f250a964c308cfe8575dab99de'] = 'Settings |';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_88a2abe73767716fd72aed8725591da5'] = 'Price rules import';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_bebd96a4a11b7c01ff97a513a821c574'] = 'Upload CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_91412465ea9169dfd901dd5e7c96dd99'] = 'Upload';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b56bed0c2ecdfb749ae7dfa7349fd86'] = 'Download CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_801ab24683a4a8c433c6eb40c48bcd9d'] = 'Download';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_881110e35ba1f9ba37aef045e655c1ed'] = 'Preview imported prices:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_78945de8de090e90045d299651a68a9b'] = 'Available';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_b6b0216b599f49e6af80a5b55a909734'] = 'carriers';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_78eef451236c53b445e7ba6d5b902f8c'] = '(shipping methods) and their ID\'s:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_fe2002b422737cfc0766df87109c750a'] = '* DPD domestic shipment - Standard with COD:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_0dcd5647184d1731b71bc2b4b62f18c7'] = '* DPD international shipment (DPD Classic):';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_3a0de12ea59c2c247ab7837d15ade991'] = '- this column should contain the full name of the country (the letters are not case sensitive, or as an abbreviation, e.g. PL, DE, GB.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_8bcdc441379cbf584638b0589a3f9adb'] = 'Postcode';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4bcb934420a471b412c662631b9fed5e'] = '- this column includes the post code - the application should accept the domestic post codes in the format of (00-000 or 00000) and international postcodes in the format of numbers + letters up to 7 characters, e.g. inor in Ireland 1.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b08bbe48e297bff8c60c10f17cc4856'] = 'Parcel weight from';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_654242ec1434474a9f528677139a5386'] = '- this column contains the parcel weight which is the lower limit of the weight range for the specified price.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b9664bced247a7e3d5820398dbe02a9'] = 'Parcel weight to';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_35df0b639b79320c9a3746f4a0585915'] = '- this column contains the parcel weight which is the upper limit of the weight range for the specified price.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_5c792b7fcda62b33ae8d5805718964b9'] = 'Parcel price';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_308d7003f4ba2d580e461848548ab5ae'] = '- in this column the user enters the price in PLN which will be charged to the client for dispatch of one parcel with the weight within the specified weight range.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_2e01b86887d023c873d0ebb2811e3bd8'] = 'First page';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16ded2dc32322d80ce2362a47f4d7ef4'] = 'Previous page';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_374bea6cf8bd1e8fd64570b629cc6562'] = 'Next page';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_339aaf6f96935365023a6e4c95c0ba95'] = 'Last page';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_192faee3a49294fda6d13c0b121a1e4f'] = 'Parcel weight from (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_60ae6f36eeef0bd69b3589cb4197ea29'] = 'Parcel weight to (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_5a3110fd78c7e72bf6f793bbb22f1a27'] = 'Parcel price (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_914419aa32f04011357d3b604a86d7eb'] = 'Carrier';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_cc22f9c1c006612224c8f14fcb8618a9'] = 'COD cost (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_f564528cd4716fd14397b32ca0c345bd'] = 'No prices';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_58ed7fc51269deb0030cc40b55e47fb3'] = 'Delete all prices';
|
||||
$_MODULE['<{dpdpoland}prestashop>errors_2169b4627df97333ed94d1e30a9b8148'] = '%d errors';
|
||||
$_MODULE['<{dpdpoland}prestashop>global_variables_099eb94b23ca0630da8a84205da91ad6'] = 'No COD modules found';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_193cfc9be3b995831c6af2fea6650e60'] = 'Page';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Display';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_dd8921b41e0279a02c6a26a509241700'] = 'result(s)';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filter';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_7b26b01c4e5deea6764e23f57f859a31'] = 'Manifest Number';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_e7c5549bbf8d3f401303b4440534501a'] = 'Number of Parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_ad70456116fb04deb6ee65334cf02bd1'] = 'Number of Orders';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_bea2be7035c3c22f3081d02d160f676c'] = 'Date of printout';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Actions';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_5da618e8e4b89c66fe86e32cdafde142'] = 'From';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'To';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_862e7e2976be83770203c5a8197c8eea'] = 'Print manifest';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_d60f54ec9bb09f0d8a16dd7a23c79eef'] = 'There are no manifests yet';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_973ddc69a5ff591471c0376488db8579'] = 'Arrange Pickup';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_1959f2f4256262bfcfccb049920df476'] = 'Packages list';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_7be24e7f2e42a87f6eed6461ee6019c3'] = 'Manifest list';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_defa603474fa0b26abf74e04cf3f37dc'] = 'Parcels history';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_9e4af51bbda475a4c3f1be6d0d8ca79b'] = 'Shipment countries';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_c02d804fa902ea3b9cf1372e91c6c07d'] = 'CSV prices import';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_f4f70727dc34561dfde1a3c529b6205c'] = 'Settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_6a26f548831e6a8c26bfbbd9f6ec61e0'] = 'Help';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_193cfc9be3b995831c6af2fea6650e60'] = 'Page';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Display';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_dd8921b41e0279a02c6a26a509241700'] = 'result(s)';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filter';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_c004ddb608f079bc80ce406f6d27724c'] = 'Printout date';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_4049d979b8e6b7d78194e96c3208a5a5'] = 'Order number';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_e7c5549bbf8d3f401303b4440534501a'] = 'Number of Parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Receiver';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_572ed696f21038e6cc6c86bb272a3222'] = 'Postal code';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_57d056ed0984166336b7879c2af3657f'] = 'City';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_dd7bf230fde8d4836917806aff6a6b27'] = 'Address';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Actions';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_5da618e8e4b89c66fe86e32cdafde142'] = 'From';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'To';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_4351cfebe4b61d8aa5efa1d020710005'] = 'View';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_cef29e3a250ad945dced5a825c58278e'] = 'No packages';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_f217fbfafa30da1967ecd3da1f9a45df'] = 'Print selected manifest(s)?';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_5ad8adf8bcb1c359b87c0f3fb4a87bb7'] = 'Manifest printout';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_3b2d2f8475efad88c145a284b814010a'] = 'Label duplicate printout';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_193cfc9be3b995831c6af2fea6650e60'] = 'Page';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Display';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_dd8921b41e0279a02c6a26a509241700'] = 'result(s)';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filter';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_d79cf3f429596f77db95c65074663a54'] = 'Order ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_c5513c96dedd85c20b7c8ce4d89c1a46'] = 'Parcel Number';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Receiver';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Country';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_572ed696f21038e6cc6c86bb272a3222'] = 'Postal code';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_57d056ed0984166336b7879c2af3657f'] = 'City';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_dd7bf230fde8d4836917806aff6a6b27'] = 'Address';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_3513b3d0b07729be9d4649b113728a69'] = 'Shipment date';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Actions';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_5da618e8e4b89c66fe86e32cdafde142'] = 'From';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'To';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_4351cfebe4b61d8aa5efa1d020710005'] = 'View';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_766072dc9c8227c158885c628ef15f37'] = 'No parcels history';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_94a07a8c84a4738d80d30bdb4f3c5f45'] = 'Client number';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_0d380be17f8c1b5508dddc0ff5bf8dc6'] = 'Client name';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_7a1920d61156abc05a60135aefe8bc67'] = 'Default';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_f2a6c498fb90ee345d997f888fce3b18'] = 'Delete';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_892a8778e8ee9a7fafc3e7b5c18e4507'] = 'Delete selected client numbers?';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_9e8e981726883fc8124a14c27877db87'] = 'No numbers';
|
||||
$_MODULE['<{dpdpoland}prestashop>warnings_b4372757bcd49be89af758f485f8666f'] = '%d warnings';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_aad9c2452ad2af0a0731c349e4308f1f'] = 'All products should be assigned to a particular parcel!';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_459d31643ac6afd02cb05e37b4cd62c2'] = 'DPD Polska sp. z o.o. shipping';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_1a721faf2df53972bfd0831c64b6146d'] = 'collapse';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_31407b18c5a9dd810565caedda2d0e42'] = 'expand';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d0949e93073cf252d5687ee5714e98fe'] = 'Module is in DEBUG mode';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_2e780f41b60cc7adce7ec82c077b1328'] = 'View debug file';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_092052146ff023c4bd1f904846dfc00c'] = 'Shipment mode:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD domestic shipment - Standard';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD domestic shipment - Standard with COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d2069e632908fea7573dca46cc582f17'] = 'DPD international shipment (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c171a57242868e49d3608da466642580'] = 'DPD client number (Payer):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c66d035abc5a2df1dded3f17486ed89c'] = 'Sender:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c3e885b15c648365e50fc2126d698f7e'] = 'Sender address can be changed in module settings page.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3841356b3344dcaf14dbccbe6e2b6fae'] = 'Recipient:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_5e69f9d5bc6e6f0d29abb4990c21595d'] = 'Recipient address:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_eb6a633d6af6b5e6819f4ed4884c9bb3'] = 'COD:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_72d691a9e17cc6098782639bf0538184'] = 'Enter the amount of COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_fd9d62700b7f3063c3e08b6266e5bf43'] = 'Valuable parcel:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3821d89292f0543e98ac2c7cd0779e43'] = 'Leave blank if service is not needed';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_1e3578cde9a2a7d29fd8fe188dde1a20'] = 'Additional shipment information:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_83fa39a28a4d159061c408fbd6a249e7'] = 'Order ID:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_129142cc236a68ed5288614ce1f911fb'] = 'Reference number 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_db2d9ca9b008f4cdb2c5902adaa84fdc'] = 'Invoice number:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_4ab7be371a4f201c7a97a876ed0d59b3'] = 'Reference number 2';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_9cbf474d9a3d5deae6e47a2cede2f536'] = 'Group the products in your shipment into parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_ca92c5cc1d3c1d7d0a5336511faf61ec'] = 'This module lets you organize your products into parcels using the table below. Select parcel number.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_deb10517653c255364175796ace3553f'] = 'Product';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_8c489d0946f66d17d73f26366a4bf620'] = 'Weight';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_f38e9081d395bb971dd1bf81f65f22e6'] = 'Parcel';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_11a738dd0c48f1401a059bca54bc119c'] = 'Add product';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d31e97ad5d951fd5703d588011ccd63a'] = 'Begin typing the first letters of the product name, then select the product from the drop-down list.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_0b55aebbd8b86751f6c70c6cf91094b1'] = 'Manage parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_adfb1922c661200f46a4a5fee00720fc'] = 'Here you can change parcel parameters, create new parcels';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_74d206f6125b574f5156627cac72de0d'] = 'Content of parcel';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_91721604210524b7051d99c4c8478715'] = 'Weight (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_20fbaa7c1bf32aa91ed46514737a0687'] = 'Height (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d39e1498c3bd289bb7ed63f790adfb0d'] = 'Length (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3d0ed3e9145be53d081d10fe37c93290'] = 'Width (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d4250cdd2996e67db50a1fa27ca4379b'] = 'Dimension weight';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_89dcc0ff4130fb8e1d64c5ee3c4bb4fc'] = 'When adding new parcel: Additional fee will be charged by DPD PL depending on your DPD PL contract. Price for shipment that was shown to your customer always includes only one parcel per order.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_af0924a4a04778667c6e5afb3024f8da'] = 'Add parcel';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_119e5a3da4a4debfbcb786d189d2605d'] = 'It will not be possible to edit shipment after printintig labels.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_5359e0d1b7e3d42fded6e0a420dbaffc'] = 'Save and print labels';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c879cb3351593188d1178647eb2032fe'] = 'Print labels';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_f9134937ba5da4d91eead723aee72481'] = 'Current status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_004bf6c9a40003140292e97330236c53'] = 'Action';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_ec53a8c4f07baed5d8825072c89799be'] = 'Status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_611528c50da4256e1df65bc386518d70'] = 'Labels printed';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_93cba07454f06a4a960172bbd6e2a435'] = 'Yes';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_bafd7322c6e97d25b6299b5d6fe8920b'] = 'No';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c91d3279341507c91f2de83a3b174638'] = 'Manifest printed';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Module is not configured yet. Please check required settings';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_6c92285fa6d3e827b198d120ea3ac674'] = 'here';
|
||||
29
modules/dpdpoland/index.php
Normal file
29
modules/dpdpoland/index.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* 2019 DPD Polska Sp. z o.o.
|
||||
*
|
||||
* 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
|
||||
* prestashop@dpd.com.pl so we can send you a copy immediately.
|
||||
*
|
||||
* @author DPD Polska Sp. z o.o.
|
||||
* @copyright 2019 DPD Polska Sp. z o.o.
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of DPD Polska Sp. z o.o.
|
||||
*/
|
||||
|
||||
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;
|
||||
BIN
modules/dpdpoland/logo.gif
Normal file
BIN
modules/dpdpoland/logo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 253 B |
BIN
modules/dpdpoland/logo.png
Normal file
BIN
modules/dpdpoland/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
BIN
modules/dpdpoland/logo.webp
Normal file
BIN
modules/dpdpoland/logo.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
895
modules/dpdpoland/pl.php
Normal file
895
modules/dpdpoland/pl.php
Normal file
@@ -0,0 +1,895 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_49b49e618660fd863b6840d99fd65f55'] = 'Błąd danych w usługach dodatkowych';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_cca50fb5d420a823867d1f11210d189f'] = 'Maksymalna waga paczki to 31,5 kg';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_54d1bf92e047677609c917413e52e25f'] = 'Usługa \'DOX\' dostępna tylko dla przesyłek jednopaczkowych';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_4bbb11684f6d2c79280fc54597124e31'] = 'Dozwolony przedział godzin dla usługi \'DPD na godzinę\' to 10:30-16:00';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_cba4ca81e8b0b7daca578b49543d1729'] = 'Usług \"Przesyłka wartościowa\' dostępna dla wartości przesyłki do 500000 PLN';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_f959bb1421c5fb86a58f9895e9239bb8'] = 'Kwota usługi \'COD\' powinna zawierać się w przedziale 0.01 - 12 000 PLN';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_b4a3cbda59e3cf2001f24090ba30fced'] = 'Waluta usługi \'COD\' musi przyjmować wartość PLN';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_87b2912715fb0c2e5f6732b54bc9a6c2'] = 'Maksymalna dopuszczalna waga paczki to 700 kg';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ab69e7e5f9138455f90688cce314c4b3'] = 'Usługa \'Paleta\' jest dozwolona tylko dla krajów: LT,LV oraz EE';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_191a66dbec95c95332608c6bd40d558e'] = 'Usługa \'Odprawa celna\' jest niedozwolona dla wybranego kraju doręczenia';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_4728a7896087c3c20515f8f589f5dbce'] = 'Usługa \'Wniesienie\' nie jest dostępna dla wybranego numeru klienta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_eb76c8b034b8439c7f989311b89ff53f'] = 'Usługa \'COD\' jest dowzwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_008b82a71f35d59bfa6d5942b1f04e58'] = 'Usługa \'Dokumenty zwrotne\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_81d62240c445a8fa9d1c88e61767c009'] = 'Usługa \'Przesyłka zwrotna\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_be71c568193020cb0943bdd13ddd625f'] = 'Usługa \'Wniesienie\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_9522a5e07cfff4d715520a91fb718fdc'] = 'Usługa \'Do rąk własnych\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_bd1527a12c8453b9941cfff8fc2b7fbc'] = 'Usługa \'Adres prywatny\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_8a143f8295a782168d2a57ccd36d44d6'] = 'Usługa \'DOX\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_2f06d8fe56c1ee0715ad8f56fad39aca'] = 'Usługa \'Odbiór własny\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_3f4f11243e77789ddfa1e8feb00f03ab'] = 'Usługa \'Gwarant 9:30\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ae1b34f8820c51e7ff04294f7303197d'] = 'Usługa \'Gwarant 12:00\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ea87c6147afcaea0e94a927a42618e37'] = 'Usługa \'DPD na godzinę\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_7c14120ec48617fdf875b0d5aa4e5433'] = 'Usługa \'Gwarant Sobota\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_c2f320fbd9d90ad90e1fb1ab586cdf10'] = 'Usługa \'Gwarant B2C\' jest dozwolona tylko dla przesyłki krajowej';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_26a8017fcc5e056c411fcf74508fb806'] = 'Usługa \'Gwarant 9:30\' nie jest dozwolona dla wybranego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_66ae7361ff60bb38853795f71853345f'] = 'Usługa \'Gwarant 12:00\' nie jest dozwolona dla wybranego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_53b0c601d48a682e2fa80d55951b999c'] = 'Usługa \'Gwarant międzynarodowy\' nie jest dozwolona dla wybranego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_377f8a29d21fd2a0aed9a6375b5e67b8'] = 'Usługa \'Paleta\' nie jest dozwolona dla wybranego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ab2bce8bdf90fbc76f0dfc806c8eb51b'] = 'Usługa \'Wniesienie\' nie jest dozwolona dla wybranego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_c8c49ab25340daa0f69f891448e6b2a9'] = 'Usługa \'B2C\' nie jest dostępna dla wybranego numeru klienta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_be4a7918fa1ff670a0453c00df6ca2ab'] = 'Niepoprawny przedział czasowy usługi \'B2C\' dla podanego kodu pocztowego odbiorcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_470a22e0b5048863ed93f0f81176a542'] = 'Niepoprawny typ płatności';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_b71f928e3549655f6bd720edefa0365e'] = 'Usługa \'Wniesienie\' jest dostępna tylko dla przesyłek jednopaczkowych';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_7ce897885d6b8dac4c9c17e929ea3213'] = 'Usługa \'Wniesienie\' jest dostępna dla paczek o wadze rzeczywistej od 31,5 do 150 kg';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_d58ed95a7237445296fdc5d61ba6bbee'] = 'Maksymalny wymiar jednego boku paczki to 250 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_a0267f9728cc47804bb7e1c6dcbf0459'] = 'Maksymalny wymiar jednego boku paczki to 250 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_358a8d88499a4f43972278e8b35ae7a4'] = 'Maksymalny wymiar jednego boku paczki to 250 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_763aeaea0fb7246f0dd9d07677399e7c'] = 'Maksymalny dopuszczalny wymiary paczki to 180 cm x120 cm x80 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_7ff217464e7139412e28485908e480eb'] = '3 x dł. boku 1 + 2 x dł. boku 2 + wysokość nie mogą przekroczyć 300 cm, wysokość to najdłuższy bok paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_a383a81ac19b40859fa42af2ba266703'] = 'Maksymalna dopuszczalna suma wymiarów paczki to 300 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_3d6cd1886d3c54a4ef5094e792cb5ae9'] = 'Maksymalna dopuszczalna objętość paczki to 0,35 cm4';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_45b171646eacb5282235cc3dd5a5d3cb'] = 'Maksymalna długość paczki to 175 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_8e5100c0115c9156d4b0cdee0eae801f'] = 'Maksymalna długość paczki to 175 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_483f94ea535c60b38944531f38d34e22'] = 'Maksymalna długość paczki to 175 cm';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_6b2f00241edb9f69f4ee562e9a88af34'] = 'Nazwa odbiorcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_b87e0ea228e34bb3c5315df3b2a076bc'] = 'Firma odbiorcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_e22d1cf02270a653149c96caaaec2dc9'] = 'Ulica odbiorcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_6af6990d407dcaf6809a606fc3e87f2c'] = 'Miasto odbiorcy przekracza dozwoloną długość(50)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_2b21117ef6c3490960d5cdf7e6daca61'] = 'Email odbiorcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_d81a95283c4e04aac60711596ea13e18'] = 'Telefon odbiorcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_e62d1b816488b0f965c85a09430010c9'] = 'Ulica odbiorcy nie może być pusta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_89435f4a8df91811208ff44787748b02'] = 'Miasto odbiorcy nie może być puste';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_e8fa963974b7218a7b3fc584eb66bb38'] = 'Nazwa i firma odbiorcy nie mogą być puste';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_379b43e149409ee80008eb690194727b'] = 'Nazwa nadawcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_10a77a8f39fd680cd0aa12ef9fb1b646'] = 'Firma nadawcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_4fd721ba1dc1f51ec0eeada54d4d4bbb'] = 'Ulica nadawcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_529158e2146823e5ea333fb37b105a3e'] = 'Miasto nadawcy przekracza dozwoloną długość(50)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_6afd6792e323c1386d71c2cebd5fdb39'] = 'Email nadawcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_8ed64cf5309b5e1dcf2cbf5bcd862e52'] = 'Telefon nadawcy przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_9c0d18b57c2c97ac4b56f999cbc303c5'] = 'Ulica nadawcy nie może być pusta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_3cc009b7f305df4d0849730c9e003036'] = 'Miasto nadawcy nie może być puste';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_0e27d010d6d0c2178cc74d3d7435f0ed'] = 'Nazwa i firma nadawcy nie mogą być puste';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_77ce4902f0011190eba46676da24bf64'] = 'Numer referencyjny 1 przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_daf6a039318797ed5b73ca1a0cae1aa6'] = 'Numer referencyjny 1 przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_d21b219839819a27e13d08f5b7548c7d'] = 'Numer referencyjny 3 przekracza dozwoloną długość(100)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_6ce8c775a5453ab156e38f65540d62a1'] = 'Zawartość paczki przekracza dozwoloną długość(300)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_b59f7499bfb5cb0e051d856296829626'] = 'Dane klienta 1 przekraczają dozwoloną długość(200)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ba611ff8b2509fa8e9479293d90a83b9'] = 'Dane klienta 2 przekraczają dozwoloną długość(200)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_ff40b2ca6663fa1a32783932c5a25385'] = 'Dane klienta 3 przekraczają dozwoloną długość(200)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_c7ff083de587a3484c2c6f1d5839e1e2'] = 'Błędny kraj nadania';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_91d5e6837e26e57698bd96be32dead13'] = 'Błędny kraj doręczenia';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_3ccdd90dc2282faaef8e674ab9af4e31'] = 'Wymagany format godziny: HH:MM';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_e81c74576c72f3c616f491df898d04b3'] = 'Usługa \'Wniesienie\' jest dostępna dla paczek o wadze gabarytowej poniżej 312 kg';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_1c6d05ade371f0f0e19abd83047f8c31'] = 'Brak Imienia i Nazwiska Odbiorcy dla usługi \'Doręczenie do rąk własnych\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_c7d824e31562f1efa15ddae0803752a7'] = 'Usługa \'Paleta\' dostępna dla paczek o wadze od 31,5 kg do 700 kg';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_7eff903e1a1089f4d69e8b3ef3c6b541'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Przesyłka zwrotna\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_e29ec6b3e2105d1ee7efa40bc6699910'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Wniesienie\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_659d3cf3ddfa40f66c6ae7b60b54661d'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'COD\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_80f40c2208e5d0aeacd158278dc2665a'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Przesyłka wartościowa\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_83bd0c9ceb7857c2e60492dc3fe4c114'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'DOX\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_1bc24c51aeb5b740dbb08b86b5bf518b'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Odprawa celna\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_a7252ed2ae4b4463dd025d273f9b7666'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Do rąk własnych\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_8c4e933b8a7b79c4fca25210c112a083'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Paleta\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_d57c6154852e4a27ddb9ad4f8f998fd5'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Osoba prywatna\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_72e8f1213e72fad527c491f111cf4588'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Dokumenty zwrotne\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_73ec30c06cdf72821d05284f5d44c961'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Odbiór własny\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_f6224c6a99fa10dcc65fe1a62a5b8d9d'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Gwarant 09:30\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_54ff3c240f1052017d753ceb8dfc3173'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Gwarant 12:00\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_2d1be8526517ae49935418da58fe24d3'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'DPD na godzinę\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_455afa8605810eeaf4f50874da8b1453'] = 'Wybrane usługi wykluczają się wzajemnie: Gwarant sobota, Dedykowane doręczenie';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_a6a6ed74275b0398caf6284672fba248'] = 'Usługa \'Dedykowane doręczenie\' wyklucza się z usługą \'Gwarant B2C\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland.lang_347be40984e59b58b8749611bbc963ed'] = 'Wybrane usługi wykluczają się wzajemnie: Dedykowane doręczenie, Opony Krajowe';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_df399b9e6489d7b428fe242b9ffa0614'] = 'DPD Polska Sp. z o.o.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_4388e1bcd27f4369e0ee085dcfd36988'] = 'DPD Polska Moduł Wysyłkowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_a2df4b0afaf33f1f5aeeac9d4224532b'] = 'Moduł nie jest kompatybilny z aktualną wersją sklepu. Proszę zainstalować moduł w odpowiedniej wersji.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_43afcf518501900c45f1e78208189d48'] = 'Brak biblioteki obsługującej protokół Soap';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_6a7b06d0570845964f64eb62546ce89f'] = 'Brak klasy obsługującej protokół Soap';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_6881bfc8704c70e00cdccd3a889c656e'] = 'Kraj PL i waluta PLN muszą być zainstalowane; Funkcja cURL musi być aktywowana';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Moduł nie został skonfigurowany poprawnie. Proszę sprawdzić ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2d3e1556af332fb39dbb336b7dbd815c'] = 'Zlecenie zostało przyjęte do realizacji pod numerem: %d';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_df6c55d89e6ab2b9bb40dac719af0ad3'] = 'Zamów kuriera';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_f4f70727dc34561dfde1a3c529b6205c'] = 'Ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_8d751864a3f79a19d2e06e2acf4234f2'] = 'Błędny plik CSV.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_e3fb87f38c7ff3e310a8206daa79f82a'] = 'Dane z pliiku CSV zostały zapisane.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_37dc8118fa211f43b2ca2a52a6ee787d'] = 'Dane z pliiku CSV nie mogą być zapisane.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_c02d804fa902ea3b9cf1372e91c6c07d'] = 'Import cenników (CSV)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_17472ee8349195ad503c351f0707635d'] = 'Import cenników (CSV) jest niedostępny, proszę wybrać sklep';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_6a26f548831e6a8c26bfbbd9f6ec61e0'] = 'Pomoc';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_7be24e7f2e42a87f6eed6461ee6019c3'] = 'Lista protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_133b95b4eff09dd92f6fb89365cfc5c9'] = 'Lista protokołów jest niedostępna, proszę wybrać sklep';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_defa603474fa0b26abf74e04cf3f37dc'] = 'Historia wysyłek';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_76eabb488f3d8677aa8456f6cf8e3cd6'] = 'Historia wysyłek jest niedostępna, proszę wybrać sklep';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_9e4af51bbda475a4c3f1be6d0d8ca79b'] = 'Kraje dostępne w wysyłce';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_adf178668a06fd135f315626c64cfcab'] = 'Lista krajów dostępnych w wysyłce jest niedostępna, proszę wybrać sklep';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_a108e14a7baadb5f412289e78e6e8cd4'] = 'Nie można zmienić status kraju';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_dcadd34de7e627ea1da1dfe62b6cf424'] = 'Nie wybrano żadnego kraju';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_27fe4eb3edbaff8f250e2d51f7462681'] = 'Przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_662903aaf4484465ea3685e7eda39631'] = 'Lista przesyłek jest niedostępna, proszę wybrać sklep';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_d0949e93073cf252d5687ee5714e98fe'] = 'Moduł działa w trybie DEBUG';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_eb25d061f085939ed608cc5ad6f4f67a'] = ', plik:';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2e780f41b60cc7adce7ec82c077b1328'] = 'Podgląd pliku logów (DEBUG)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_3c78b35502b2693fefdfc51cba3a53a5'] = 'instrukcja';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_079b435861f0db79b48b0c84b57ae30d'] = 'Wskazany adres doręczenia jest niezgodny z wybraną metodą wysyłki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_85ace57ddece4c93754023c098761bf8'] = 'Metoda wysyłki DPD Krajowa (DPD Classic) jest dostępna jedynie dla polskich adresów doręczenie.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_ef990ea7a6f088ed46080aa757b69b62'] = 'Metoda wysyłki DPD Międzynarodowa (DPD Classic International) jest dostępna jedynie dla zagranicznych adresów doręczenia.';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_efd822746347b781e416a379324bc8dc'] = 'Nie udało się zapisać adresu klienta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_7d06182c98480873fd25664fb3f7a698'] = 'Adres nadawcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_3084cbce99cb5d19357a6fbbbf7855db'] = 'Nie udało się zapisać adresu nadawcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_45d4b3afac71a54470a6cbf828e8cb0d'] = 'Niepoprawny identyfikator metody wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_e52d022f0fb2160ec1cf7b4122ab9589'] = 'Niepoprawny numer przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_601080dc24bc02a653a5a9e25cc61f79'] = 'Nie znaleziono danych klienta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_561918c3c49ff748f543e28f5c405d3c'] = 'Wystąpił błąd podczas wysyłania wiadomości email do klienta';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_f465ea6c7866853ecc49286449720ac9'] = 'Nie można zmienić metody wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2e03576d5d621365f9d2e38bd3d53814'] = 'Nie znaleziono klienta lub metody wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1fc78230db5bda0cce0fe26f8308b0e1'] = 'Paczka #%d nie istnieje';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_185f3a44910c149fb3932fe466a67c39'] = 'Brak możliwości przypisania produktu #%s do paczki #%d\'';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_2fe4721acab2b52c4ed95fffbbc5d56e'] = 'Wybrano grupę sklepów, wszystkie zmiany zostaną zapisane dla wszystkich wybranych sklepów';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_437e0167a401ddea924849640e08bfe0'] = 'Wybrano wszystkie sklepy, wszystkie zmiany zostaną zapisane dla wszystkiech sklepów';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_973ddc69a5ff591471c0376488db8579'] = 'Zamów kuriera';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1959f2f4256262bfcfccb049920df476'] = 'Przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b4be93136a337fcef40c9eb87004c9d0'] = 'Brak produktu';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_dc5982c9e79b6dfbd6f2b0bbdaddb972'] = 'Numer Klienta DPD jest wymagany';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1e00bbef535c75b71d1763a3580a1e5e'] = 'Numer Klienta DPD jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b2a5b30126d6c7beef59e4c719ebcb11'] = 'Nazwa Klienta DPD jest wymagana';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_f99abd737754e44ba1954da710986e94'] = 'Nazwa Klienta DPD jest niepoprawna';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_9b36b4083416f24c568a5db65cefb775'] = 'Numer Klienta DPD już istnieje';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_bb5edb204502b74d1dc141b4c4d5c8ca'] = 'Nie można zapisać numeru/nazwy Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_c8ef9bdc2f02d07dc6079c73c2a63266'] = 'Numer i nazwa Klienta DPD zapisana poprawnie';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_346a047982b951c1884d870bdde83732'] = 'Nie można usunąć numeru i nazwy Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_27ec7e6bbcee87d7bcaee9bdefc45e09'] = 'Nie można usunąć domyślnego numeru i nazwy Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_3bf8fa7e6f2443cc31ed07a933f7f265'] = 'Usunięto numer i nazwę Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_13f44ac5eb4210ca3bd3c8dd2fc36c88'] = 'Zły format daty';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_e98620878a90c95bd9f811422e5ff386'] = 'Data nie może być wcześniejsza niż';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_73c9c95f3bb8bf48925e86ec31bb924a'] = 'Należy wybrać dzień roboczy';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_a7c25a37304f431000c2c19b03df78d7'] = 'Brak dostępnych przedziałów odbioru';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_62adb5ea6578081c584c950b3c68e059'] = 'Niezgodny sposób dostawy z wybraną metodą płatności';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_1977d6b143e6dde9c23d219bf0a90739'] = 'Metoda płatności za pobraniem (COD) niedostępna dla kraju odbiorcy innego niż Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_ada59a21ad5e5c53bd30acaf1f37869d'] = 'Dla odbiorcy w Polsce i metody płatności za pobraniem (COD), proszę wybrać DPD Krajowa za pobraniem (COD) lub Odbiór w punkcie DPD Pickup - Pobranie';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpdpoland_b0c92be6cfc2fe4063022537803f74a8'] = 'Dla odbiorcy w Polsce i płatności innej niż za pobraniem (COD), proszę wybrać DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_557ce4d7ebf32761d89025560b39988e'] = 'Data odbioru';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_b01578a8d93f59f03da1295d41224835'] = 'Przedział godzinowy odbioru';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_f4b4439e9f3732ee91a5321a88fca1d0'] = 'Typ wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_417e0d7ca5c467a90ad6281f8dbdc902'] = 'Zawartość wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_fa9218f2927bf28f67029569c2c86b58'] = 'Koperty';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_188512a8e454a4459576581f17c4cf24'] = 'Liczba kopert';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_3e9e1484cdd872f48f218fcf0a0ac882'] = 'Paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_8c74ac4eaa2b297614fb822143339da2'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_d0af198cb80a8b9fb791ecfe537ae058'] = 'Waga sumaryczna (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_5ad6a9b6909709fda6a6260140a577f2'] = 'Waga najcięższej (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_b566a0262a11710fec1bdefe70a9af75'] = 'Wysokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_8cd26badce05229f3b4aef08e937e45f'] = 'Długość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_63e5bd6e3ba8c6f7b3673adb344b0acb'] = 'Szerokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_3f9cff795224f5232cca142b122d6d46'] = 'Palety';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_4e68f204aa87d54877bae0682c91e945'] = 'Liczba Palet';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_13f44ac5eb4210ca3bd3c8dd2fc36c88'] = 'Zły format danych';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_e98620878a90c95bd9f811422e5ff386'] = 'Wybrana data nie może być wcześniejsza niż';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_73c9c95f3bb8bf48925e86ec31bb924a'] = 'Należy wybrać dzień roboczy';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_e9db232320d68ed823146c578c4e57e8'] = 'Należy wybrać przynajmniej jeden rodzaj pakowania';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_ca032b19074848f60a64765cf1a2b902'] = 'Pole \"%s\" jest wymagane';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup.controller_d3351a5a321eff4a2b2dd23f91014a09'] = 'Wartość pola \"%s\" jest nieprawidłowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_6295e9fb03aee799ad17c1a7051bce54'] = 'Błąd techniczny - brak możliwości zapisu sposobu dostawy DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_81f6684cb92278192ea83e1e2d52b1a5'] = 'Błąd techniczny - brak możliwości usunięcia sposobu dostawy DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d86de4cac15afc1d6bde5b95679e6bf5'] = 'Błąd techniczny - brak możliwości zapisu sposobu dostawy DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_4095eb6e01f03f08bec8a018d6af4e42'] = 'Błąd techniczny - brak możliwości usunięcia sposobu dostawy DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e60eef2b54e550e3aa0765a8534bf851'] = 'Błąd techniczny - brak możliwości zapisu sposobu dostawy DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_096d9693810ab908011699bc2683d8b4'] = 'Błąd techniczny - brak możliwości usunięcia sposobu dostawy DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2a691c13904a57bf08a9a97d6a29bb73'] = 'Login jest wymagany';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_50ae1a2cad21b6d7b4b8caa4df0ee128'] = 'Hasło jest wymagane';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_f1bc76917b4b9eefae0a2c2f249eae3e'] = 'Hasło jest niepoprawne';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_516f2bab6ea17ccfb2881d2d7244f2d0'] = 'Domyślny numer klienta musi być ustawiony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_43a51a7515589e5d0da53d6d34d92165'] = 'Nazwa Firmy musi być wypełniona';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_f1010bd631c658108fb79ee8a8e15b48'] = 'Nazwa Firmy jest niepoprawna';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2630937e141eb50884534de42d5e5ee2'] = 'Imię i Nazwisko musi być wypełnione';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2f1535ecfb146c0960eb31cfbcb51e3d'] = 'Imię i nazwisko jest niepoprawne. Proszę używać jedynie liter i rozdzielić imię i nazwisko spacją.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_aa8d12747028e054f46691ff7356dfcd'] = 'Adres musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_024d391fbc28c4feae076f242b5e9663'] = 'Adres jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_7b83329279ee90c78179e9bca6e71e36'] = 'Kod pocztowy musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_a3d30200506ef2f8f64f9da626fab198'] = 'Kod pocztowy jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d1935ae9107bc14513878b353a40ad66'] = 'Miejscowość musi być wypełniona';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_caff49a1a94d0a314aeb172fefe2c6b5'] = 'Miejscowość jest niepoprawna';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_2e33dfccd5912a2b071d30460bd072dd'] = 'Pole Email musi być wypełnione';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_a1d11f0c167629d356bc2cbdbbf9950f'] = 'Pole Email jest niepoprawne';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_b9f7e2d6505c78b639bbf411b1fdf53d'] = 'Telefon musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e3d6fd38c0970a247a2efe6135189b26'] = 'Telefon jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_ab86bd3c2acbfe84e03c9f25ddfec749'] = 'Należy zaznaczyć przynajmniej jedną metodę płatności COD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_352dc479bd09930c3741d4d2b08f52ad'] = 'Przelicznik wagi nie może być pusty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_6d2fcce4872f354734a5ab22522bbc22'] = 'Przelicznik wagi jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_02cc06808d47444a9b6070a70223937d'] = 'Przelicznik wymiarów nie może być pusty';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d6069dd010a2c50fbbd7b1e0c05def48'] = 'Przelicznik wymiarów jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d8731cfb7b2fcc4d4a9a6d93a15b340f'] = 'Nazwa Firmy Zleceniodawcy musi być wypełniona';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_10a5edb2f28bbeadcbe2ceb7452dd21b'] = 'Nazwa Firmy Zleceniodawcy jest niepoprawna';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d744cb91532d27fc295efb095ca35a7a'] = 'Imię i Nazwisko Zleceniodawcy musi być wypełnione';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_36eab302759930b2e87b5f58c82038b8'] = 'Imię i Nazwisko Zleceniodawcy jest niepoprwane';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_aa897175306dbf694b3c8aecc348820c'] = 'Telefon Zleceniodawcy musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_c67952f0dd83b2025c62ae00d7d11e2a'] = 'Telefon Zleceniodawcy jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_49164735e5be270db81a0b37c22c32b0'] = 'Główny numer Klienta musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_8189ae3b628cd0a0a01b9e85516163dc'] = 'Główny numer Klienta jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d6534487cf5e32f16491d0177581cf40'] = 'Master FID musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_d57cce4f5f6024b838e22710d8b23baa'] = 'Master FID jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_ab4e2671faf3a670e8e0c59beffb9529'] = 'Adres URL webserwisu DPD musi być wypełniony';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_e4f36ce03f2b1d1c4c875ace06a7de2c'] = 'Adres URL webservisu DPD jest niepoprawny';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_c127359802e17aada119cc7e35fa4d87'] = 'Ustawienia zapisane ale nie udało się przypisać stref wysyłkowych';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_fe016d3b990c2a9dd72ab6b45892f2ae'] = 'Ustawienia zapisane';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration.controller_95fc952eb3f8cdf77b8fd878ec312099'] = 'Błąd przy zapisywaniu Ustawień';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_811e14e4f6a0a810bd7134b0efee372c'] = 'Zmieniono status kraju';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_5d9b9872005f3cf1a4def3fb3528eba9'] = 'Nie udało się zmienić statusu kraju, identyfikator: %s';
|
||||
$_MODULE['<{dpdpoland}prestashop>countrylist.controller_243911a3d5a8cd0425b6445f1226409c'] = 'Zmieniono status wybranych krajów';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_192faee3a49294fda6d13c0b121a1e4f'] = 'Waga paczki od (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_60ae6f36eeef0bd69b3589cb4197ea29'] = 'Waga paczki do (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_5a3110fd78c7e72bf6f793bbb22f1a27'] = 'Cena za paczkę (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_914419aa32f04011357d3b604a86d7eb'] = 'Sposób dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_cc22f9c1c006612224c8f14fcb8618a9'] = 'Cena za usługę COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_db913c2ee13ffcfa8220f9082f55555d'] = 'Reguły cennikowe usunięte';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_7d2d424cfc11ed9b4428825cd834b1fd'] = 'Błąd podczas usuwania reguł cennikowych';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_7a93533b6e32e4c65ccd7f3785a4d086'] = 'Błędny format pliku CSV, np. puste wiersze';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_45d626539112348088b22e53c8f42c31'] = 'Waluta PLN musi być zainstalowana przed importem cennika z pliku CSV.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_2daa0ff143f5090432872416711fba68'] = 'Kraj: kod kraju nie istnieje w systemie PrestaShop. Nieprawidłowe wiersze: ';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_59bbd1464bf431cceb990b20a4d78e94'] = 'Kraj: wartość “*” w polu kraj może być użyta tylko dla metody wysyłki %d. Nieprawidłowe wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_f69a216993ca1dbbfda7e2db4f292431'] = 'Kraj: kod kraju PL może być użyty tylko dla metody wysyłki ID %1$d lub %2$d. Nieprawidłowe wiersze: ';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_091833900387d9ade396a16f41ea5c13'] = 'Kraj: wysyłka międzynarodowa jest kompatybilna tylko ze sposobem dostawy ID % d. Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_f1f970c877f6b5d05c0b06114f6e8d51'] = 'Waga paczki od (kg): Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_d2a7fae53a6ad2f729990f1f5d3a329d'] = 'Waga paczki do (kg): Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_d8c27219c58175bf167fe761745c7b18'] = 'Cena za paczkę (PLN)): Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_5eebaf4c4354c2fa66c9a23f8625be48'] = 'Sposób dostawy: Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_2b1254f68ef36bf8144fe8f5d3998b9b'] = 'Cena za usługę COD (PLN): Wartość powinna być większa od 0. Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_fa7efd29ee54335b8eee557c0896272e'] = 'Cena za usługę COD (PLN): Dostępne jedynie dla sposobu dostawy \"DPD Krajowa za pobraniem (COD)\". Wiersze dla innych sposobów dostawy należy pozostawić puste. Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv.controller_abdd02f527c5fea88a2f261f966d97e6'] = 'Cena za usługę COD (PLN): Dostępne jedynie dla wysyłki do Polski. Wiersze dla innych krajów proszę pozostawić puste. Niepoprawne wiersze:';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_classic.service_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_standard_cod.service_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>dpd_standard.service_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifestlist.controller_5af05d972991494a3d0c6c508c15eddd'] = 'Nie można usunąć starego pliku PDF. Proszę sprawdzić czy moduł posiada uprawnienia do zapisu na dysku.';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifestlist.controller_239401843002a1713462f449f6264c23'] = 'Nie można zapisać pliku PDF. Proszę sprawdzić czy moduł posiada uprawnienia do zapisu na dysku.';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest.webservice_a7927259433038cdaab4fedd3891fc2c'] = 'Na protokole nie mogą znajdować się jednocześnie przesyłki krajowe i zagraniczne';
|
||||
$_MODULE['<{dpdpoland}prestashop>packagelist.controller_41d4ff7b2e4d15b00321b813167e2abb'] = 'Wydruk protokołu możliwy jedynie dla paczek z tym samym adresem nadania.';
|
||||
$_MODULE['<{dpdpoland}prestashop>packagelist.controller_8741263b936ea7ec443f456cf750f7b5'] = 'Nie można usunąć starego pliku PDF. Proszę sprawdzić czy moduł posiada uprawnienia do zapisu na dysku.';
|
||||
$_MODULE['<{dpdpoland}prestashop>packagelist.controller_239401843002a1713462f449f6264c23'] = 'Nie można zapisać pliku PDF. Proszę sprawdzić czy moduł posiada uprawnienia do zapisu na dysku.';
|
||||
$_MODULE['<{dpdpoland}prestashop>packagelist.controller_37c3189f4ac4f3454b2e2787bfdb151c'] = 'Nie znaleziono etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>package.webservice_706aefe3f1a249726beddd13681060d3'] = 'Paczka została utworzona ale nie udało się zapisać danych';
|
||||
$_MODULE['<{dpdpoland}prestashop>package.webservice_aee9784c03b80d38d3271cde2b252b8d'] = 'Nieznany błąd';
|
||||
$_MODULE['<{dpdpoland}prestashop>package.webservice_fb14705e99f84ade2bbdb747ab45c028'] = 'Klient nie istnieje';
|
||||
$_MODULE['<{dpdpoland}prestashop>package.webservice_83ef8de8a773717790a7db47d7893c22'] = 'Wybrany adres odbiorcy nie istnieje';
|
||||
$_MODULE['<{dpdpoland}prestashop>package.webservice_a7927259433038cdaab4fedd3891fc2c'] = 'Na protokole nie mogą znajdować się jednocześnie przesyłki krajowe i zagraniczne';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup.webservice_88f4da5ddbc4666535176a1251cb4d8f'] = 'Błąd: %s, pola: %s';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup.webservice_443a89770439e69c92ec317079d15fbb'] = 'Numer zlecenia nie został zdefiniowany';
|
||||
$_MODULE['<{dpdpoland}prestashop>pickup.webservice_789d957565edc09c2a436fca63b30c03'] = 'Brak dostępnych przedziałów czasowych. Sprawdź poprawność kodu pocztowego nadawcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>webservice_0de36710a01a183e825821bd8c114678'] = 'Brak połączenia z webserwisem. Sprawdź adres URL webserwisu';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_72b6d26677f7289a541e4fdbf4c8ca53'] = 'Adres:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_f64be5eef68442a8f50cf535b92ad3e4'] = 'Kraj:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_16_0936b8d13555e80a1e3b4382274f06bd'] = 'Telefon';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_72b6d26677f7289a541e4fdbf4c8ca53'] = 'Adres:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_f64be5eef68442a8f50cf535b92ad3e4'] = 'Kraj:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_0936b8d13555e80a1e3b4382274f06bd'] = 'Telefon:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_72b6d26677f7289a541e4fdbf4c8ca53'] = 'Adres:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_f64be5eef68442a8f50cf535b92ad3e4'] = 'Kraj:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_17_0936b8d13555e80a1e3b4382274f06bd'] = 'Telefon';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_72b6d26677f7289a541e4fdbf4c8ca53'] = 'Adres:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_f64be5eef68442a8f50cf535b92ad3e4'] = 'Kraj:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>address_0936b8d13555e80a1e3b4382274f06bd'] = 'Telefon:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_7d06182c98480873fd25664fb3f7a698'] = 'Adres nadania';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_94880bda83bda77c5692876700711f15'] = 'Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_3f2bbf3ee64eb0d86ebe7730b3c6ccde'] = 'Adres nadawcy musi być ustawiony w ustawieniach Modułu Wysyłki DPD Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_40f404095c708619cdd4d0f808a9570e'] = 'Data i godziny odbiorów';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_d76cabde06a3b3f49b88d0bedfd64928'] = 'Data odbioru:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_2f88c2f48e2eaa600cb461062abc5db7'] = 'Zamówienie kuriera DPD możliwe jedynie w dni robocze, w przypadku wyboru dnia wolnego odbiór nastąpi w pierwszym dniu roboczym po wybranej dacie';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_cdaf42bc870c754a964420ba2ac49b02'] = 'Przedział godzinowy odbioru:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_209802fb858e2c83205027dbbb5d9e6c'] = 'Wysyłka';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_325a369b3c10840846bf208b09e42685'] = 'Typ wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_86760af0540a2a6d4b4ca61ef3d6187c'] = 'Krajowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_8189ecf686157db0c0274c1f49373318'] = 'Międzynarodowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_e1ed989ed1284aedc6dba9b1680fefaf'] = 'Koperty:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_ab7702eaa2e0331f91205686efa40d69'] = 'Liczba kopert:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_e1f142b36e05805b333c1e038d95b0d8'] = 'Paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_9fda8e6e97311e1f7d755ac477dea38f'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_c4c3afb13f59f8ede266475851fbfbac'] = 'Waga sumaryczna (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_1abfd647ddf71e80424f3fc60b50e60c'] = 'Waga najcięższej (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_730b2819f18ff8dd9d1bf5df925f64eb'] = 'Wysokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_a54fde62a06b28e231fc7fbeb0690abd'] = 'Długość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_6c5cbb81d5b2cff0dbc530681dafdcc2'] = 'Szerokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_902d421176a411f4d956205e7d5c8059'] = 'Palety';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_8995f444a649d88c69c5580131df1177'] = 'Liczba palet';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_94966d90747b97d1f0f206c98a8b1ac3'] = 'Wyślij zamówienie';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_332dc7ba3252c80249de22d335d1ccf3'] = 'Regulamin zamówienia kuriera dostępny na stronie www.dpd.com.pl';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_ea4788705e6873b424c65e91c2846b19'] = 'Anuluj';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_16_973ddc69a5ff591471c0376488db8579'] = 'Zamów kuriera';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_7d06182c98480873fd25664fb3f7a698'] = 'Adres nadania';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_94880bda83bda77c5692876700711f15'] = 'Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_3f2bbf3ee64eb0d86ebe7730b3c6ccde'] = 'Adres nadawcy musi być ustawiony w ustawieniach Modułu Wysyłki DPD Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_40f404095c708619cdd4d0f808a9570e'] = 'Data i godziny odbiorów';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_d76cabde06a3b3f49b88d0bedfd64928'] = 'Data odbioru:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_2f88c2f48e2eaa600cb461062abc5db7'] = 'Zamówienie kuriera DPD możliwe jedynie w dni robocze, w przypadku wyboru dnia wolnego odbiór nastąpi w pierwszym dniu roboczym po wybranej dacie';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_cdaf42bc870c754a964420ba2ac49b02'] = 'Przedział godzinowy odbioru:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_209802fb858e2c83205027dbbb5d9e6c'] = 'Wysyłka';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_325a369b3c10840846bf208b09e42685'] = 'Typ wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_86760af0540a2a6d4b4ca61ef3d6187c'] = 'Krajowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_8189ecf686157db0c0274c1f49373318'] = 'Międzynarodowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_e1ed989ed1284aedc6dba9b1680fefaf'] = 'Koperty:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_ab7702eaa2e0331f91205686efa40d69'] = 'Liczba kopert:';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_e1f142b36e05805b333c1e038d95b0d8'] = 'Paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_9fda8e6e97311e1f7d755ac477dea38f'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_c4c3afb13f59f8ede266475851fbfbac'] = 'Waga sumaryczna (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_1abfd647ddf71e80424f3fc60b50e60c'] = 'Waga najcięższej (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_730b2819f18ff8dd9d1bf5df925f64eb'] = 'Wysokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_a54fde62a06b28e231fc7fbeb0690abd'] = 'Długość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_6c5cbb81d5b2cff0dbc530681dafdcc2'] = 'Szerokość największej (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_902d421176a411f4d956205e7d5c8059'] = 'Palety';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_8995f444a649d88c69c5580131df1177'] = 'Liczba palet';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_94966d90747b97d1f0f206c98a8b1ac3'] = 'Wyślij zamówienie';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_332dc7ba3252c80249de22d335d1ccf3'] = 'Regulamin zamówienia kuriera dostępny na stronie www.dpd.com.pl';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_973ddc69a5ff591471c0376488db8579'] = 'Zamów kuriera DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>arrange_pickup_ea4788705e6873b424c65e91c2846b19'] = 'Anuluj';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_8f7f4c1ce7a4f933663d10543562b096'] = 'Więcej o';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_ed22ef10b55fc97c3d85dd96704d0738'] = 'Jako wiodący dostawca standardowych i ekspresowych usług kurierskich w Polsce, DPD tworzy sprawną sieć transportową z ponad 500 oddziałami w 40 krajach. DPD oferuje również indywidualne rozwiązania, które dają dostęp do wszystkich głównych regionów gospodarczych świata.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_e0dacf33eeeb9776c4e8f1c4e7c6d460'] = 'Rozwiązania DPD z pewnością spełnią wszystkie Twoje wymagania.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_95970d0985a11275406c6bf8f3686a7d'] = 'Serwis krajowy?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_1496d26e17e9e463cf3cd4f665eb3709'] = 'Od standardowego doręczenia po przesyłkę , która dotrze do odbiorcy w wyznaczonym czasie następnego dnia – DPD dostarczy szybko i niezawodnie!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_f38391a227d2280e96dc6a68f319f69f'] = 'Dostawa międzynarodowa?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_bd128b5439f47f547860af5682892585'] = 'Zaufaj nam – dotrzemy do interesujących Cię rynków na całym świecie szybko i sprawnie!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_08e4a1a8972a7d3a0cbc718c076680d0'] = 'Paczka za pobraniem?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_5ab335ae2fa6711044e7b3df711a4bcc'] = 'Skorzystaj z naszego serwisu krajowego! Dostarczymy Twoją przesyłkę, odbiorcy, który uiści odpowiednią opłatę w momencie dostawy. Odbierzemy Twoje pieniądze i bezpiecznie przekażemy je na Twoje konto.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_6b913c191636b752f3275bb80ff12fa1'] = 'Sprawdź nasze ceny!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_623db1599af96341e0aa3c109e4b50f8'] = 'Jeśli chcesz skorzystać z naszych usług, skontaktuj się z nami pod adresem:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_2f8a6bf31f3bd67bd2d9720c58b19c9a'] = 'prestashop@dpd.com.pl,';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d3b9b3894502a92b95b6038506168a9b'] = 'a następnie skonfiguruj moduł.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d7ee719da6f2c80eaf00d5538a2517bd'] = 'Dane konta webserwisu DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_051672911a3f1f05efba78a553ef6fe2'] = 'Login';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_b341a59d5636ed3d6a819137495b08a0'] = 'Hasło';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_49fbab040daede070f6af9e1da021fad'] = 'Numer Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_de8df59907fdac33cd15aa585a4cef84'] = 'Nazwa Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_ec211f7c20af43e742bf2570c3cb84f9'] = 'Dodaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_436a25178dc1cd89996743d657142bd2'] = 'Domyślny numer Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_58d579673df0c3e3c03a9692e1263952'] = 'Dane nadawcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_2bf1d5fae1c321d594fdedf05058f709'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_94880bda83bda77c5692876700711f15'] = 'Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_230ff5a82d6f00782ac18f7d7dd594e8'] = 'Telefon:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_a000119beed256188e530a804bb79ef4'] = 'Aktywne sposoby dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_4aeaca207f10d8b2a25475f3f135a4ac'] = 'DPD Krajowa (DPD Classic):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_f03584af7399afb18d478900e06b025c'] = 'DPD Krajowa za pobraniem (COD):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_877229395328b4beffb4a5f3ad891820'] = 'DPD Polska sp. z o.o. pobiera płatność przy doręczeniu TYLKO gotówką. W zainstalowanych modułach płatności są dostępne następujace metody płatności, proszę zaznaczyć metody płatności, które dotyczą płatności przy odbiorze z użyciem gotówki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_961489f954ec2135d8094496df2ac259'] = 'DPD Międzynarodowa (DPD Classic International):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_c2ce0e9a6aa6854e42ce2354208bfc1e'] = 'Informacja: sposoby wysyłki należy zaznaczyć, by były dostępne dla kupującego';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d3a1a4c4c400b9c73244a77d52b3f251'] = 'Aktywne strefy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Classic (standardowe przesyłki krajowe)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_4fc237a54425f79f7ed49f82f016ecd7'] = 'Proszę zdefiniować przedziały cenowe dla każdego przewoźnika na stronie konfiguracji lub zaimportować plik CSV z przedziałami cenowymi.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d6576c8f0f67964194302b2fe773b9b9'] = 'Wyliczenie ceny wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_42d054e877c92fa2201f38d2159cd490'] = 'Metoda wyliczania ceny wysyłki:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_160a702987cdf041c97df6dbee304216'] = 'CSV';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_f48d3860fd804467ecf07b1ed91c5c1c'] = 'Ustawienia PrestaShop';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_5cd4346a553c6168b4d296232d24ad65'] = 'Przelicznik jednostek wagi';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_c31a6a651c1080cb4c1716eadfe856cd'] = 'Systemowa jednostka wagi:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_10df976caf081bfa86d39f626456e1da'] = 'Jednostka wagi używana w DPD Polska Sp. z o.o.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_5d984b2060bfae52a2abe2e9f05def92'] = 'Przelicznik:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_f2e4671e2bbb582ca7327026677d76e0'] = 'Przelicznik jednostki wagi systemowej na wagę używaną w DPD Polska (kg). Jeżeli przelicznik jest 1 do 1, w pole należy wpisać: 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_086688900e2a055c719faebe0bfe0c38'] = 'Przelicznik jednostek wymiarów';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_ac594a3e6f56f10169ab633f27eb0e9f'] = 'Systemowa jednostka wymiarów:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_60f05f3f2847d78f32849479929b7ddd'] = 'Jednostka wymiarów używana w DPD Polska sp. z o.o.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_fba04ae95e9228bc2cfbfcaa2ba94bd9'] = 'Przelicznik jednostki wymiarów systemowych na jednostkę wymiarów używanych w DPD Polska (cm). Jeżeli przelicznik jest 1 do 1, w pole należy wpisać: 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_4473b41d1a4095be325afd76182eeb4f'] = 'PARAMETRY ZLECENIODAWCY';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d56e808757f47edcf82ff3fec2a93704'] = 'Nazwa Firmy Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_65de6f35022d3cf8490f9a0c5efc2643'] = 'Imię i Nazwisko Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_13d7b53519833fc35b46e1f5eb08cead'] = 'Telefon Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_5cd9a6211e54713fa09670b9a06a7820'] = 'Główny numer Klienta:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_d0424144fb77191573ef83a495abb98f'] = 'Master FID:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_6c0729f778568e67fcc9cc9297240283'] = 'Adres URL webserwisu';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_2ca9c180d73e6abdfa19c2d207e5ea0e'] = 'Adres URL webserwisu:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_af46d9582c046726ece5ecaf4e54133d'] = 'Standardowy adres URL webserwisu: https://dpdservices.dpd.com.pl/DPDPackageObjServicesService/DPDPackageObjServices?wsdl';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_8f7f4c1ce7a4f933663d10543562b096'] = 'Więcej o';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_ed22ef10b55fc97c3d85dd96704d0738'] = 'Jako wiodący dostawca standardowych i ekspresowych usług kurierskich w Polsce, DPD tworzy sprawną sieć transportową z ponad 500 oddziałami w 40 krajach. DPD oferuje również indywidualne rozwiązania, które dają dostęp do wszystkich głównych regionów gospodarczych świata.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_e0dacf33eeeb9776c4e8f1c4e7c6d460'] = 'Rozwiązania DPD z pewnością spełnią wszystkie Twoje wymagania.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_95970d0985a11275406c6bf8f3686a7d'] = 'Serwis krajowy?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_1496d26e17e9e463cf3cd4f665eb3709'] = 'Od standardowego doręczenia po przesyłkę , która dotrze do odbiorcy w wyznaczonym czasie następnego dnia – DPD dostarczy szybko i niezawodnie!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f38391a227d2280e96dc6a68f319f69f'] = 'Dostawa międzynarodowa?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_bd128b5439f47f547860af5682892585'] = 'Zaufaj nam – dotrzemy do interesujących Cię rynków na całym świecie szybko i sprawnie!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_08e4a1a8972a7d3a0cbc718c076680d0'] = 'Paczka za pobraniem?';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5ab335ae2fa6711044e7b3df711a4bcc'] = 'Skorzystaj z naszego serwisu krajowego! Dostarczymy Twoją przesyłkę, odbiorcy, który uiści odpowiednią opłatę w momencie dostawy. Odbierzemy Twoje pieniądze i bezpiecznie przekażemy je na Twoje konto.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_6b913c191636b752f3275bb80ff12fa1'] = 'Sprawdź nasze ceny!';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_623db1599af96341e0aa3c109e4b50f8'] = 'Jeśli chcesz skorzystać z naszych usług, skontaktuj się z nami pod adresem:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2f8a6bf31f3bd67bd2d9720c58b19c9a'] = 'prestashop@dpd.com.pl,';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d3b9b3894502a92b95b6038506168a9b'] = 'a następnie skonfiguruj moduł.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f4f70727dc34561dfde1a3c529b6205c'] = 'Ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d7ee719da6f2c80eaf00d5538a2517bd'] = 'Dane konta webserwisu DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_051672911a3f1f05efba78a553ef6fe2'] = 'Login';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_b341a59d5636ed3d6a819137495b08a0'] = 'Hasło';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_49fbab040daede070f6af9e1da021fad'] = 'Numer Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_de8df59907fdac33cd15aa585a4cef84'] = 'Nazwa Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_ec211f7c20af43e742bf2570c3cb84f9'] = 'Dodaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_436a25178dc1cd89996743d657142bd2'] = 'Domyślny numer Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c9cc8cce247e49bae79f15173ce97354'] = 'Zapisz';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_19f823c6453c2b1ffd09cb715214813d'] = 'Pole wymagane';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_58d579673df0c3e3c03a9692e1263952'] = 'Dane nadawcy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5e116ceb48a98fb755f22df7ea1e2396'] = 'Nazwa Firmy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2e07aecf995754708a89dd0766cce085'] = 'Imię i nazwisko';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2bf1d5fae1c321d594fdedf05058f709'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_da67a6777d9e5451375f8ab27e15af8b'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_bffb711ec36f280459d11dce315da72f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_94880bda83bda77c5692876700711f15'] = 'Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_df1555fe48479f594280a2e03f9a8186'] = 'E-mail:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_230ff5a82d6f00782ac18f7d7dd594e8'] = 'Telefon:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_a000119beed256188e530a804bb79ef4'] = 'Aktywne sposoby dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_4aeaca207f10d8b2a25475f3f135a4ac'] = 'DPD Krajowa (DPD Classic):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f03584af7399afb18d478900e06b025c'] = 'DPD Krajowa za pobraniem (COD):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_877229395328b4beffb4a5f3ad891820'] = 'DPD Polska sp. z o.o. pobiera płatność przy doręczeniu TYLKO gotówką. W zainstalowanych modułach płatności są dostępne następujace metody płatności, proszę zaznaczyć metody płatności, które dotyczą płatności przy odbiorze z użyciem gotówki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_961489f954ec2135d8094496df2ac259'] = 'DPD Międzynarodowa (DPD Classic International):';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c2ce0e9a6aa6854e42ce2354208bfc1e'] = 'Informacja: sposoby wysyłki należy zaznaczyć, by były dostępne dla kupującego';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d3a1a4c4c400b9c73244a77d52b3f251'] = 'Aktywne strefy';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Classic (standardowe przesyłki krajowe)';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_4fc237a54425f79f7ed49f82f016ecd7'] = 'Proszę zdefiniować przedziały cenowe dla każdego przewoźnika na stronie konfiguracji lub zaimportować plik CSV z przedziałami cenowymi.';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d6576c8f0f67964194302b2fe773b9b9'] = 'Wyliczenie ceny wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_42d054e877c92fa2201f38d2159cd490'] = 'Metoda wyliczania ceny wysyłki:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_160a702987cdf041c97df6dbee304216'] = 'CSV';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f48d3860fd804467ecf07b1ed91c5c1c'] = 'Ustawienia PrestaShop';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5cd4346a553c6168b4d296232d24ad65'] = 'Przelicznik jednostek wagi';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_c31a6a651c1080cb4c1716eadfe856cd'] = 'Systemowa jednostka wagi:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_10df976caf081bfa86d39f626456e1da'] = 'Jednostka wagi używana w DPD Polska Sp. z o.o.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5d984b2060bfae52a2abe2e9f05def92'] = 'Przelicznik:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_f2e4671e2bbb582ca7327026677d76e0'] = 'Przelicznik jednostki wagi systemowej na wagę używaną w DPD Polska (kg). Jeżeli przelicznik jest 1 do 1, w pole należy wpisać: 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_086688900e2a055c719faebe0bfe0c38'] = 'Przelicznik jednostek wymiarów';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_ac594a3e6f56f10169ab633f27eb0e9f'] = 'Systemowa jednostka wymiarów:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_60f05f3f2847d78f32849479929b7ddd'] = 'Jednostka wymiarów używana w DPD Polska sp. z o.o.:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_fba04ae95e9228bc2cfbfcaa2ba94bd9'] = 'Przelicznik jednostki wymiarów systemowych na jednostkę wymiarów używanych w DPD Polska (cm). Jeżeli przelicznik jest 1 do 1, w pole należy wpisać: 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_4473b41d1a4095be325afd76182eeb4f'] = 'PARAMETRY ZLECENIODAWCY';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d56e808757f47edcf82ff3fec2a93704'] = 'Nazwa Firmy Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_65de6f35022d3cf8490f9a0c5efc2643'] = 'Imię i Nazwisko Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_13d7b53519833fc35b46e1f5eb08cead'] = 'Telefon Zleceniodawcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_5cd9a6211e54713fa09670b9a06a7820'] = 'Główny numer Klienta:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_d0424144fb77191573ef83a495abb98f'] = 'Master FID:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_6c0729f778568e67fcc9cc9297240283'] = 'Adres URL webserwisu';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_2ca9c180d73e6abdfa19c2d207e5ea0e'] = 'Adres URL webserwisu:';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_af46d9582c046726ece5ecaf4e54133d'] = 'Standardowy adres URL webserwisu: https://dpdservices.dpd.com.pl/DPDPackageObjServicesService/DPDPackageObjServices?wsdl';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_9e4af51bbda475a4c3f1be6d0d8ca79b'] = 'Kraje dostępne w wysyłce';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_ad68f9bafd9bf2dcf3865dac55662fd5'] = 'Kod ISO';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Aktywne';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_93cba07454f06a4a960172bbd6e2a435'] = 'TAK';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_bafd7322c6e97d25b6299b5d6fe8920b'] = 'NIE';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_13348442cc6a27032d2b4aa28b75a5d3'] = 'Szukaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_526d688f37a86d3c3f27d0c5016eb71d'] = 'Wyczyść';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_b9f5c797ebbf55adccdd8539a65a0241'] = 'Wyłączony';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_e1ba5c602cbc3752cca2f0f80ee0117f'] = 'Brak krajów';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_9ffa4765d2da990741800bbe1ad4e7f8'] = 'Wybierz akcję';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_4c41e0bd957698b58100a5c687d757d9'] = 'Zaznacz wszystko';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_237c7b6874386141a095e321c9fdfd38'] = 'Odznacz wszystko';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_ede4759c9afae620fd586628789fa304'] = 'Aktywuj wybrane';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_ab7fd6e250b64a46027a996088fdff74'] = 'Dezaktywuj wybrane';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_16_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filtruj';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset widoku';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ad68f9bafd9bf2dcf3865dac55662fd5'] = 'Kod ISO';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Aktywne';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_93cba07454f06a4a960172bbd6e2a435'] = 'TAK';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_bafd7322c6e97d25b6299b5d6fe8920b'] = 'NIE';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_b9f5c797ebbf55adccdd8539a65a0241'] = 'Nieaktywne';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_e1ba5c602cbc3752cca2f0f80ee0117f'] = 'Brak krajów';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_729a51874fe901b092899e9e8b31c97a'] = 'Czy jesteś pewny?';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ab7fd6e250b64a46027a996088fdff74'] = 'Dezaktywuj wybrane';
|
||||
$_MODULE['<{dpdpoland}prestashop>country_list_ede4759c9afae620fd586628789fa304'] = 'Aktywuj wybrane';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_88a2abe73767716fd72aed8725591da5'] = 'Import cenników z pliku CSV';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_bebd96a4a11b7c01ff97a513a821c574'] = 'Wczytaj plik CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_91412465ea9169dfd901dd5e7c96dd99'] = 'Wczytaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_4b56bed0c2ecdfb749ae7dfa7349fd86'] = 'Pobierz plik CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_801ab24683a4a8c433c6eb40c48bcd9d'] = 'Pobierz';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_d338b6e97ac60e51a9c665b9f2a62c48'] = 'Podgląd zaimportowanych cen:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_78945de8de090e90045d299651a68a9b'] = 'Dostępne';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_b6b0216b599f49e6af80a5b55a909734'] = 'sposoby dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_78eef451236c53b445e7ba6d5b902f8c'] = '(metody wysyłki) i ich identyfikatory: ';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_d9d59203d3fefd4f48faacae9c680a88'] = '* DPD Krajowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_fe2002b422737cfc0766df87109c750a'] = '* DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_0dcd5647184d1731b71bc2b4b62f18c7'] = '* DPD Międzynarodowa (DPD Classic International):';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_3a0de12ea59c2c247ab7837d15ade991'] = '- kolumna ta zawiera kraj - skrót dwuliterowy kraju w standardzie ISO np. PL, DE, GB.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_8bcdc441379cbf584638b0589a3f9adb'] = 'Kod poczowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_4bcb934420a471b412c662631b9fed5e'] = '- kolumna ta zawiera kod pocztowy - kod pocztowy dla Polski należy podać w formacie XXXXX lub XX-XXX, kody pocztowe międzynarodowe mogą być zapisane przy użyciu znaków alfanumerycznych o długości maksymalnej nie wiekszej niż 7 znaków, np. dla Irlandii może to być 1.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_4b08bbe48e297bff8c60c10f17cc4856'] = 'Waga paczki od (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_654242ec1434474a9f528677139a5386'] = '- kolumna ta zawiera informację o początku przedziału wagowego dla danej ceny.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_4b9664bced247a7e3d5820398dbe02a9'] = 'Waga paczki do (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_35df0b639b79320c9a3746f4a0585915'] = '- kolumna ta zawiera informację o końcu przedziału wagowego dla danej ceny.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_5c792b7fcda62b33ae8d5805718964b9'] = 'Cena za paczkę (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_308d7003f4ba2d580e461848548ab5ae'] = '- kolumna ta zawiera informację o cenie jaka zostanie wyliczona za jedną paczkę wysłaną do wskazanego kraju o określonym przedziale wagowym.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_2e01b86887d023c873d0ebb2811e3bd8'] = 'Pierwsza';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_16ded2dc32322d80ce2362a47f4d7ef4'] = 'Poprzednia';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_374bea6cf8bd1e8fd64570b629cc6562'] = 'Następna';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_339aaf6f96935365023a6e4c95c0ba95'] = 'Ostatnia';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_192faee3a49294fda6d13c0b121a1e4f'] = 'Waga paczki od (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_60ae6f36eeef0bd69b3589cb4197ea29'] = 'Waga paczki do (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_5a3110fd78c7e72bf6f793bbb22f1a27'] = 'Cena za paczkę (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_914419aa32f04011357d3b604a86d7eb'] = 'Sposób dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_cc22f9c1c006612224c8f14fcb8618a9'] = 'Cena za usługę COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_f564528cd4716fd14397b32ca0c345bd'] = 'Brak cen';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16_58ed7fc51269deb0030cc40b55e47fb3'] = 'Usuń wszystkie ceny';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_f9b167f250a964c308cfe8575dab99de'] = 'Ustawienia |';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_88a2abe73767716fd72aed8725591da5'] = 'Import cenników z pliku CSV';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_bebd96a4a11b7c01ff97a513a821c574'] = 'Wczytaj plik CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_91412465ea9169dfd901dd5e7c96dd99'] = 'Wczytaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b56bed0c2ecdfb749ae7dfa7349fd86'] = 'Pobierz plik CSV:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_801ab24683a4a8c433c6eb40c48bcd9d'] = 'Pobierz';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_881110e35ba1f9ba37aef045e655c1ed'] = 'Podgląd zaimportowanych cen:';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_78945de8de090e90045d299651a68a9b'] = 'Dostępne';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_b6b0216b599f49e6af80a5b55a909734'] = 'sposoby dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_78eef451236c53b445e7ba6d5b902f8c'] = '(metody wysyłki) i ich identyfikatory: ';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_d9d59203d3fefd4f48faacae9c680a88'] = '* DPD Krajowa';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_fe2002b422737cfc0766df87109c750a'] = '* DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_0dcd5647184d1731b71bc2b4b62f18c7'] = '* DPD Międzynarodowa (DPD Classic International):';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_3a0de12ea59c2c247ab7837d15ade991'] = '- kolumna ta zawiera kraj - skrót dwuliterowy kraju w standardzie ISO np. PL, DE, GB.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_8bcdc441379cbf584638b0589a3f9adb'] = 'Kod poczowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4bcb934420a471b412c662631b9fed5e'] = '- kolumna ta zawiera kod pocztowy - kod pocztowy dla Polski należy podać w formacie XXXXX lub XX-XXX, kody pocztowe międzynarodowe mogą być zapisane przy użyciu znaków alfanumerycznych o długości maksymalnej nie wiekszej niż 7 znaków, np. dla Irlandii może to być 1.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b08bbe48e297bff8c60c10f17cc4856'] = 'Waga paczki od (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_654242ec1434474a9f528677139a5386'] = '- kolumna ta zawiera informację o początku przedziału wagowego dla danej ceny.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_4b9664bced247a7e3d5820398dbe02a9'] = 'Waga paczki do (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_35df0b639b79320c9a3746f4a0585915'] = '- kolumna ta zawiera informację o końcu przedziału wagowego dla danej ceny.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_5c792b7fcda62b33ae8d5805718964b9'] = 'Cena za paczkę (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_308d7003f4ba2d580e461848548ab5ae'] = '- kolumna ta zawiera informację o cenie jaka zostanie wyliczona za jedną paczkę wysłaną do wskazanego kraju o określonym przedziale wagowym.';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_2e01b86887d023c873d0ebb2811e3bd8'] = 'Pierwsza';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_16ded2dc32322d80ce2362a47f4d7ef4'] = 'Poprzednia';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_374bea6cf8bd1e8fd64570b629cc6562'] = 'Następna';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_339aaf6f96935365023a6e4c95c0ba95'] = 'Ostatnia';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_192faee3a49294fda6d13c0b121a1e4f'] = 'Waga paczki od (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_60ae6f36eeef0bd69b3589cb4197ea29'] = 'Waga paczki do (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_5a3110fd78c7e72bf6f793bbb22f1a27'] = 'Cena za paczkę (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_914419aa32f04011357d3b604a86d7eb'] = 'Sposób dostawy';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_cc22f9c1c006612224c8f14fcb8618a9'] = 'Cena za usługę COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_f564528cd4716fd14397b32ca0c345bd'] = 'Brak cen';
|
||||
$_MODULE['<{dpdpoland}prestashop>csv_58ed7fc51269deb0030cc40b55e47fb3'] = 'Usuń wszystkie ceny';
|
||||
$_MODULE['<{dpdpoland}prestashop>errors_07213a0161f52846ab198be103b5ab43'] = 'błędy';
|
||||
$_MODULE['<{dpdpoland}prestashop>global_variables_099eb94b23ca0630da8a84205da91ad6'] = 'Nie znaleziono metod płatności za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>help_2ef1e4f9bf8b245af3fc7b76eb26dff1'] = 'Instrukcja użytkownika w języku Polskim';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_91a1b5bbdce19dcf3116c938c1cd1285'] = 'Protokół';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_7b26b01c4e5deea6764e23f57f859a31'] = 'Numer protokołu';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_e7c5549bbf8d3f401303b4440534501a'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_ad70456116fb04deb6ee65334cf02bd1'] = 'Liczba zamówień';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_bea2be7035c3c22f3081d02d160f676c'] = 'Data wydruku';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_e12167aa0a7698e6ebc92b4ce3909b53'] = 'Do';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_13348442cc6a27032d2b4aa28b75a5d3'] = 'Szukaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_526d688f37a86d3c3f27d0c5016eb71d'] = 'Wyczyść';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_862e7e2976be83770203c5a8197c8eea'] = 'Wydruk protokołu';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_16_087fb8756d4add87f2d162304ccd486b'] = 'Brak protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filtruj';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset widoku';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_7b26b01c4e5deea6764e23f57f859a31'] = 'Numer protokołu';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_e7c5549bbf8d3f401303b4440534501a'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_ad70456116fb04deb6ee65334cf02bd1'] = 'Liczba zamówień';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_bea2be7035c3c22f3081d02d160f676c'] = 'Data wydruku';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Operacje';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'Do';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_862e7e2976be83770203c5a8197c8eea'] = 'Wydruk protokołu';
|
||||
$_MODULE['<{dpdpoland}prestashop>manifest_list_d60f54ec9bb09f0d8a16dd7a23c79eef'] = 'Brak protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_973ddc69a5ff591471c0376488db8579'] = 'Zamów Kuriera DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_1959f2f4256262bfcfccb049920df476'] = 'Przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_7be24e7f2e42a87f6eed6461ee6019c3'] = 'Lista protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_defa603474fa0b26abf74e04cf3f37dc'] = 'Historia wysyłek';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_9e4af51bbda475a4c3f1be6d0d8ca79b'] = 'Kraje dostępne w wysyłce';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_c02d804fa902ea3b9cf1372e91c6c07d'] = 'Import cenników (CSV)';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_f4f70727dc34561dfde1a3c529b6205c'] = 'Ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>navigation_6a26f548831e6a8c26bfbbd9f6ec61e0'] = 'Pomoc';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_27fe4eb3edbaff8f250e2d51f7462681'] = 'Przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_c004ddb608f079bc80ce406f6d27724c'] = 'Data wydruku etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_4049d979b8e6b7d78194e96c3208a5a5'] = 'Numer zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_3e080a600745b2b82d24fb9bb29c1b52'] = 'Numer przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_e7c5549bbf8d3f401303b4440534501a'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Odbiorca';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_572ed696f21038e6cc6c86bb272a3222'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_57d056ed0984166336b7879c2af3657f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_dd7bf230fde8d4836917806aff6a6b27'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_e12167aa0a7698e6ebc92b4ce3909b53'] = 'Do';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_13348442cc6a27032d2b4aa28b75a5d3'] = 'Szukaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_526d688f37a86d3c3f27d0c5016eb71d'] = 'Wyczyść';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_4351cfebe4b61d8aa5efa1d020710005'] = 'Podgląd';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_087fb8756d4add87f2d162304ccd486b'] = 'Brak danych do wyświetlenia';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_9ffa4765d2da990741800bbe1ad4e7f8'] = 'Akcja';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_4c41e0bd957698b58100a5c687d757d9'] = 'Zaznacz wszystko';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_237c7b6874386141a095e321c9fdfd38'] = 'Odznacz wszystko';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_5ad8adf8bcb1c359b87c0f3fb4a87bb7'] = 'Wydruk protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_370c8c7dda6455af81cc9ad18a5657ab'] = 'Duplikat etykiety – etykieciarka';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_16_8f233402765e1ff010715a282c0ce7e0'] = 'Duplikat etykiety – A4';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filtruj';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset widoku';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_c004ddb608f079bc80ce406f6d27724c'] = 'Data wydruku etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_4049d979b8e6b7d78194e96c3208a5a5'] = 'Numer zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_3e080a600745b2b82d24fb9bb29c1b52'] = 'Numer przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_e7c5549bbf8d3f401303b4440534501a'] = 'Liczba paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Odbiorca';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_572ed696f21038e6cc6c86bb272a3222'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_57d056ed0984166336b7879c2af3657f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_dd7bf230fde8d4836917806aff6a6b27'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Operacje';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'Do';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_4351cfebe4b61d8aa5efa1d020710005'] = 'Podgląd';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_cef29e3a250ad945dced5a825c58278e'] = 'Brak przesyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_f217fbfafa30da1967ecd3da1f9a45df'] = 'Drukuj protokoły dla wybranych?';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_5ad8adf8bcb1c359b87c0f3fb4a87bb7'] = 'Wydruk protokołów';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_370c8c7dda6455af81cc9ad18a5657ab'] = 'Duplikat etykiety – etykieciarka';
|
||||
$_MODULE['<{dpdpoland}prestashop>package_list_8f233402765e1ff010715a282c0ce7e0'] = 'Duplikat etykiety – A4';
|
||||
$_MODULE['<{dpdpoland}prestashop>_pagination_16_dded9ca4fe86a11c3020558ac9802ab1'] = 'Wyświetl na stronie:';
|
||||
$_MODULE['<{dpdpoland}prestashop>_pagination_16_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_defa603474fa0b26abf74e04cf3f37dc'] = 'Historia wysyłek';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_d79cf3f429596f77db95c65074663a54'] = 'ID zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_c5513c96dedd85c20b7c8ce4d89c1a46'] = 'Numer paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Odbiorca';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_572ed696f21038e6cc6c86bb272a3222'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_57d056ed0984166336b7879c2af3657f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_dd7bf230fde8d4836917806aff6a6b27'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_3513b3d0b07729be9d4649b113728a69'] = 'Data wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_e12167aa0a7698e6ebc92b4ce3909b53'] = 'DO';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_13348442cc6a27032d2b4aa28b75a5d3'] = 'Szukaj';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_526d688f37a86d3c3f27d0c5016eb71d'] = 'Wyczyść';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_4351cfebe4b61d8aa5efa1d020710005'] = 'Podgląd';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_16_766072dc9c8227c158885c628ef15f37'] = 'Brak paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_193cfc9be3b995831c6af2fea6650e60'] = 'Strona';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_b9987a246a537f4fe86f1f2e3d10dbdb'] = 'Wyświetl na stronie';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_dd8921b41e0279a02c6a26a509241700'] = 'wynik(i)';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_d7778d0c64b6ba21494c97f77a66885a'] = 'Filtruj';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_526d688f37a86d3c3f27d0c5016eb71d'] = 'Reset widoku';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_d79cf3f429596f77db95c65074663a54'] = 'ID zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_c5513c96dedd85c20b7c8ce4d89c1a46'] = 'Numer paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_a9d093d11bc6e98b0c8e586ffa545c85'] = 'Odbiorca';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_59716c97497eb9694541f7c3d37b1a4d'] = 'Kraj';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_572ed696f21038e6cc6c86bb272a3222'] = 'Kod pocztowy';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_57d056ed0984166336b7879c2af3657f'] = 'Miejscowość';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_dd7bf230fde8d4836917806aff6a6b27'] = 'Adres';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_3513b3d0b07729be9d4649b113728a69'] = 'Data wysyłki';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_06df33001c1d7187fdd81ea1f5b277aa'] = 'Historia';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_5da618e8e4b89c66fe86e32cdafde142'] = 'Od';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_e12167aa0a7698e6ebc92b4ce3909b53'] = 'Do';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_4351cfebe4b61d8aa5efa1d020710005'] = 'Podgląd';
|
||||
$_MODULE['<{dpdpoland}prestashop>parcel_history_list_766072dc9c8227c158885c628ef15f37'] = 'Brak paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_94a07a8c84a4738d80d30bdb4f3c5f45'] = 'Numer Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_0d380be17f8c1b5508dddc0ff5bf8dc6'] = 'Nazwa Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_7a1920d61156abc05a60135aefe8bc67'] = 'Domyślny';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_f2a6c498fb90ee345d997f888fce3b18'] = 'Usuń';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_892a8778e8ee9a7fafc3e7b5c18e4507'] = 'Usunać wybrane numery Klienta DPD?';
|
||||
$_MODULE['<{dpdpoland}prestashop>payer_numbers_table_9e8e981726883fc8124a14c27877db87'] = 'Brak numerów Klienta DPD';
|
||||
$_MODULE['<{dpdpoland}prestashop>timeframes_00db7aae85aecb79c75afca7daa8f22e'] = 'Pozostało';
|
||||
$_MODULE['<{dpdpoland}prestashop>timeframes_d39e2f00765d16aaf8cd77b4fd5b770a'] = 'minut do złożenie zlecenia odbioru dla wybranego przedziału';
|
||||
$_MODULE['<{dpdpoland}prestashop>warnings_b4372757bcd49be89af758f485f8666f'] = '%d ostrzeżenia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_aad9c2452ad2af0a0731c349e4308f1f'] = 'Wszystkie produkty powinny być przypisane do paczek!';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_9de8e0c21384ddfd634fd87a48f6b3b2'] = 'Pole zmodyfikowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_f5248d9b83c683ed331bfa7d2c8775ce'] = 'Wysyłka z DPD Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_1a721faf2df53972bfd0831c64b6146d'] = 'zwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_31407b18c5a9dd810565caedda2d0e42'] = 'rozwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_d0949e93073cf252d5687ee5714e98fe'] = 'Moduł działa w trybie DEBUG';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_2e780f41b60cc7adce7ec82c077b1328'] = 'Podgląd pliku logów (DEBUG)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_092052146ff023c4bd1f904846dfc00c'] = 'Sposób dostawy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_c171a57242868e49d3608da466642580'] = 'Numer Klienta DPD (Płatnik):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_8aace3ec18d83874d22850b7eee93c7d'] = 'Nadawca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_c3e885b15c648365e50fc2126d698f7e'] = 'Dane adresowe nadawcy mogą być zmienione w ustawieniach modułu DPD Polska.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_5d6103b662f41b07e10687f03aca8fdc'] = 'Odbiorca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_5e69f9d5bc6e6f0d29abb4990c21595d'] = 'Adres Odbiorcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_72d691a9e17cc6098782639bf0538184'] = 'Wartość COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_eb6a633d6af6b5e6819f4ed4884c9bb3'] = 'Za pobraniem (COD):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_3821d89292f0543e98ac2c7cd0779e43'] = 'Pozostaw puste jeżeli nie chcesz skorzystać z tej usługi';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_fd9d62700b7f3063c3e08b6266e5bf43'] = 'Paczka wartościowa:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_1e3578cde9a2a7d29fd8fe188dde1a20'] = 'Uwagi dodatkowe:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_129142cc236a68ed5288614ce1f911fb'] = 'Numer referencyjny 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_83fa39a28a4d159061c408fbd6a249e7'] = 'Numer zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_4ab7be371a4f201c7a97a876ed0d59b3'] = 'Numer referencyjny 2';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_db2d9ca9b008f4cdb2c5902adaa84fdc'] = 'Numer faktury:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_9cbf474d9a3d5deae6e47a2cede2f536'] = 'Przypisz produkty do paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_ca92c5cc1d3c1d7d0a5336511faf61ec'] = 'Używając poniższej tabeli możesz przypisać konkretny produkt do konkretnej paczki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_deb10517653c255364175796ace3553f'] = 'Produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_8c489d0946f66d17d73f26366a4bf620'] = 'Waga';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_f38e9081d395bb971dd1bf81f65f22e6'] = 'Paczka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_d31e97ad5d951fd5703d588011ccd63a'] = 'Zacznij wpisywać pierwsze litery nazwy produktu, a następnie wybierz produkt z listy rozwijanej.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_7bb36e0f484d91aeba5d83fe2af63d28'] = 'Szukaj produktu';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_11a738dd0c48f1401a059bca54bc119c'] = 'Dodaj produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_0b55aebbd8b86751f6c70c6cf91094b1'] = 'Zarządzaj paczkami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_adfb1922c661200f46a4a5fee00720fc'] = 'Tutaj możesz tworzyć nowe paczki i zarządzać ich parametrami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_74d206f6125b574f5156627cac72de0d'] = 'Zawartość paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_91721604210524b7051d99c4c8478715'] = 'Waga (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_20fbaa7c1bf32aa91ed46514737a0687'] = 'Wysokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_d39e1498c3bd289bb7ed63f790adfb0d'] = 'Długość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_3d0ed3e9145be53d081d10fe37c93290'] = 'Szerokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_d4250cdd2996e67db50a1fa27ca4379b'] = 'Waga gabarytowa (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_89dcc0ff4130fb8e1d64c5ee3c4bb4fc'] = 'Dodając paczkę: Dodatkowa opłata będzie doliczona przez DPD Polska sp. z o.o. w zależności od cennika Klienta DPD. Cena prezentowana kupującemu zawsze dotyczy jednej paczki dla zamówienia.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_af0924a4a04778667c6e5afb3024f8da'] = 'Dodaj paczkę';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_a5dc92780d2900af80753034fde4d386'] = 'Po wydruku etykiet nie będzie możliwości edycji danych wysyłki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_006e74c9a72986777f0e4beb4d170671'] = 'Format wydruku:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_0c2f3adf2a48bab3adb470f4da57f3d0'] = 'A4';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_5a85bf1e6ff978507cc2be5e833b2dd1'] = 'Etykieciarka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_5359e0d1b7e3d42fded6e0a420dbaffc'] = 'Zapisz i drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_c879cb3351593188d1178647eb2032fe'] = 'Drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_f9134937ba5da4d91eead723aee72481'] = 'Aktualny status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_004bf6c9a40003140292e97330236c53'] = 'Operacja';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_ec53a8c4f07baed5d8825072c89799be'] = 'Status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_611528c50da4256e1df65bc386518d70'] = 'Etykiety wydrukowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_93cba07454f06a4a960172bbd6e2a435'] = 'TAK';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_bafd7322c6e97d25b6299b5d6fe8920b'] = 'NIE';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_c91d3279341507c91f2de83a3b174638'] = 'Protokół wydrukowany';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Moduł nie został skonfigurowany poprawnie. Proszę sprawdzić ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_16_6c92285fa6d3e827b198d120ea3ac674'] = 'tu';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_aad9c2452ad2af0a0731c349e4308f1f'] = 'Wszystkie produkty powinny być przypisane do paczek!';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_9de8e0c21384ddfd634fd87a48f6b3b2'] = 'Pole zmodyfikowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_f5248d9b83c683ed331bfa7d2c8775ce'] = 'Wysyłka z DPD Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_1a721faf2df53972bfd0831c64b6146d'] = 'zwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_31407b18c5a9dd810565caedda2d0e42'] = 'rozwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_d0949e93073cf252d5687ee5714e98fe'] = 'Moduł działa w trybie DEBUG';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_2e780f41b60cc7adce7ec82c077b1328'] = 'Podgląd pliku logów (DEBUG)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_092052146ff023c4bd1f904846dfc00c'] = 'Sposób dostawy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_c171a57242868e49d3608da466642580'] = 'Numer Klienta DPD (Płatnik):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_8aace3ec18d83874d22850b7eee93c7d'] = 'Nadawca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_c3e885b15c648365e50fc2126d698f7e'] = 'Dane adresowe nadawcy mogą być zmienione w ustawieniach modułu DPD Polska.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_5d6103b662f41b07e10687f03aca8fdc'] = 'Odbiorca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_5e69f9d5bc6e6f0d29abb4990c21595d'] = 'Adres Odbiorcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_72d691a9e17cc6098782639bf0538184'] = 'Wartość COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_eb6a633d6af6b5e6819f4ed4884c9bb3'] = 'Za pobraniem (COD):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_3821d89292f0543e98ac2c7cd0779e43'] = 'Pozostaw puste jeżeli nie chcesz skorzystać z tej usługi';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_fd9d62700b7f3063c3e08b6266e5bf43'] = 'Paczka wartościowa:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_1e3578cde9a2a7d29fd8fe188dde1a20'] = 'Uwagi dodatkowe:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_129142cc236a68ed5288614ce1f911fb'] = 'Numer referencyjny 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_83fa39a28a4d159061c408fbd6a249e7'] = 'Numer zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_4ab7be371a4f201c7a97a876ed0d59b3'] = 'Numer referencyjny 2';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_db2d9ca9b008f4cdb2c5902adaa84fdc'] = 'Numer faktury:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_9cbf474d9a3d5deae6e47a2cede2f536'] = 'Przypisz produkty do paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_ca92c5cc1d3c1d7d0a5336511faf61ec'] = 'Używając poniższej tabeli możesz przypisać konkretny produkt do konkretnej paczki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_deb10517653c255364175796ace3553f'] = 'Produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_8c489d0946f66d17d73f26366a4bf620'] = 'Waga';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_f38e9081d395bb971dd1bf81f65f22e6'] = 'Paczka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_d31e97ad5d951fd5703d588011ccd63a'] = 'Zacznij wpisywać pierwsze litery nazwy produktu, a następnie wybierz produkt z listy rozwijanej.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_7bb36e0f484d91aeba5d83fe2af63d28'] = 'Szukaj produktu';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_11a738dd0c48f1401a059bca54bc119c'] = 'Dodaj produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_0b55aebbd8b86751f6c70c6cf91094b1'] = 'Zarządzaj paczkami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_adfb1922c661200f46a4a5fee00720fc'] = 'Tutaj możesz tworzyć nowe paczki i zarządzać ich parametrami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_74d206f6125b574f5156627cac72de0d'] = 'Zawartość paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_91721604210524b7051d99c4c8478715'] = 'Waga (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_20fbaa7c1bf32aa91ed46514737a0687'] = 'Wysokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_d39e1498c3bd289bb7ed63f790adfb0d'] = 'Długość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_3d0ed3e9145be53d081d10fe37c93290'] = 'Szerokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_d4250cdd2996e67db50a1fa27ca4379b'] = 'Waga gabarytowa (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_89dcc0ff4130fb8e1d64c5ee3c4bb4fc'] = 'Dodając paczkę: Dodatkowa opłata będzie doliczona przez DPD Polska sp. z o.o. w zależności od cennika Klienta DPD. Cena prezentowana kupującemu zawsze dotyczy jednej paczki dla zamówienia.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_af0924a4a04778667c6e5afb3024f8da'] = 'Dodaj paczkę';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_a5dc92780d2900af80753034fde4d386'] = 'Po wydruku etykiet nie będzie możliwości edycji danych wysyłki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_006e74c9a72986777f0e4beb4d170671'] = 'Format wydruku:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_0c2f3adf2a48bab3adb470f4da57f3d0'] = 'A4';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_5a85bf1e6ff978507cc2be5e833b2dd1'] = 'Etykieciarka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_5359e0d1b7e3d42fded6e0a420dbaffc'] = 'Zapisz i drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_c879cb3351593188d1178647eb2032fe'] = 'Drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_f9134937ba5da4d91eead723aee72481'] = 'Aktualny status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_004bf6c9a40003140292e97330236c53'] = 'Operacja';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_ec53a8c4f07baed5d8825072c89799be'] = 'Status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_611528c50da4256e1df65bc386518d70'] = 'Etykiety wydrukowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_93cba07454f06a4a960172bbd6e2a435'] = 'TAK';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_bafd7322c6e97d25b6299b5d6fe8920b'] = 'NIE';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_c91d3279341507c91f2de83a3b174638'] = 'Protokół wydrukowany';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Moduł nie został skonfigurowany poprawnie. Proszę sprawdzić ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_17_6c92285fa6d3e827b198d120ea3ac674'] = 'tu';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_aad9c2452ad2af0a0731c349e4308f1f'] = 'Wszystkie produkty powinny być przypisane do paczek!';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_9de8e0c21384ddfd634fd87a48f6b3b2'] = 'Pole zmodyfikowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_f5248d9b83c683ed331bfa7d2c8775ce'] = 'Wysyłka z DPD Polska';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_1a721faf2df53972bfd0831c64b6146d'] = 'zwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_31407b18c5a9dd810565caedda2d0e42'] = 'rozwiń';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d0949e93073cf252d5687ee5714e98fe'] = 'Moduł działa w trybie DEBUG';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_2e780f41b60cc7adce7ec82c077b1328'] = 'Podgląd pliku logów (DEBUG)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_092052146ff023c4bd1f904846dfc00c'] = 'Sposób dostawy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_95834a67fc218c91e0dac20af36dbf0a'] = 'DPD Krajowa (DPD Classic)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b78bc3c561d92a0e21c15bebcb5a096c'] = 'DPD Krajowa za pobraniem (COD)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d2069e632908fea7573dca46cc582f17'] = 'DPD Międzynarodowa (DPD Classic International)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c171a57242868e49d3608da466642580'] = 'Numer Klienta DPD (Płatnik):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c66d035abc5a2df1dded3f17486ed89c'] = 'Nadawca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c3e885b15c648365e50fc2126d698f7e'] = 'Dane adresowe nadawcy mogą być zmienione w ustawieniach modułu DPD Polska.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3841356b3344dcaf14dbccbe6e2b6fae'] = 'Odbiorca:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_5e69f9d5bc6e6f0d29abb4990c21595d'] = 'Adres Odbiorcy:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_eb6a633d6af6b5e6819f4ed4884c9bb3'] = 'Za pobraniem (COD):';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_72d691a9e17cc6098782639bf0538184'] = 'Wartość COD (PLN)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_fd9d62700b7f3063c3e08b6266e5bf43'] = 'Paczka wartościowa:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3821d89292f0543e98ac2c7cd0779e43'] = 'Pozostaw puste jeżeli nie chcesz skorzystać z tej usługi';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_1e3578cde9a2a7d29fd8fe188dde1a20'] = 'Uwagi dodatkowe:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_83fa39a28a4d159061c408fbd6a249e7'] = 'Numer zamówienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_129142cc236a68ed5288614ce1f911fb'] = 'Numer referencyjny 1';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_db2d9ca9b008f4cdb2c5902adaa84fdc'] = 'Numer faktury:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_4ab7be371a4f201c7a97a876ed0d59b3'] = 'Numer referencyjny 2';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_9cbf474d9a3d5deae6e47a2cede2f536'] = 'Przypisz produkty do paczek';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_ca92c5cc1d3c1d7d0a5336511faf61ec'] = 'Używając poniższej tabeli możesz przypisać konkretny produkt do konkretnej paczki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_deb10517653c255364175796ace3553f'] = 'Produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_8c489d0946f66d17d73f26366a4bf620'] = 'Waga';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_f38e9081d395bb971dd1bf81f65f22e6'] = 'Paczka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_11a738dd0c48f1401a059bca54bc119c'] = 'Dodaj produkt';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d31e97ad5d951fd5703d588011ccd63a'] = 'Zacznij wpisywać pierwsze litery nazwy produktu, a następnie wybierz produkt z listy rozwijanej.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_0b55aebbd8b86751f6c70c6cf91094b1'] = 'Zarządzaj paczkami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_adfb1922c661200f46a4a5fee00720fc'] = 'Tutaj możesz tworzyć nowe paczki i zarządzać ich parametrami';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_74d206f6125b574f5156627cac72de0d'] = 'Zawartość paczki';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_91721604210524b7051d99c4c8478715'] = 'Waga (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_20fbaa7c1bf32aa91ed46514737a0687'] = 'Wysokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d39e1498c3bd289bb7ed63f790adfb0d'] = 'Długość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_3d0ed3e9145be53d081d10fe37c93290'] = 'Szerokość (cm)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_d4250cdd2996e67db50a1fa27ca4379b'] = 'Waga gabarytowa (kg)';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_89dcc0ff4130fb8e1d64c5ee3c4bb4fc'] = 'Dodając paczkę: Dodatkowa opłata będzie doliczona przez DPD Polska sp. z o.o. w zależności od cennika Klienta DPD. Cena prezentowana kupującemu zawsze dotyczy jednej paczki dla zamówienia.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_af0924a4a04778667c6e5afb3024f8da'] = 'Dodaj paczkę';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_119e5a3da4a4debfbcb786d189d2605d'] = 'Po wydruku etykiet nie będzie możliwości edycji danych wysyłki.';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_5359e0d1b7e3d42fded6e0a420dbaffc'] = 'Zapisz i drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c879cb3351593188d1178647eb2032fe'] = 'Drukuj etykiety';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_0c2f3adf2a48bab3adb470f4da57f3d0'] = 'A4';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_5a85bf1e6ff978507cc2be5e833b2dd1'] = 'Etykieciarka';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_006e74c9a72986777f0e4beb4d170671'] = 'Format wydruku:';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_f9134937ba5da4d91eead723aee72481'] = 'Aktualny status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_004bf6c9a40003140292e97330236c53'] = 'Operacja';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_ec53a8c4f07baed5d8825072c89799be'] = 'Status';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_611528c50da4256e1df65bc386518d70'] = 'Etykiety wydrukowane';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_93cba07454f06a4a960172bbd6e2a435'] = 'TAK';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_bafd7322c6e97d25b6299b5d6fe8920b'] = 'NIE';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_c91d3279341507c91f2de83a3b174638'] = 'Protokół wydrukowany';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_b9ef6fb0879ec82c0446bda7233f01a2'] = 'Moduł nie został skonfigurowany poprawnie. Proszę sprawdzić ustawienia';
|
||||
$_MODULE['<{dpdpoland}prestashop>adminorder_6c92285fa6d3e827b198d120ea3ac674'] = 'tu';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_a7d08faa4a52f066b672fdce45efb17e'] = 'Dostęp do systemu produkcyjnego';
|
||||
$_MODULE['<{dpdpoland}prestashop>configuration_16_41e0c41b4b28d608b75d4ad5df333865'] = 'Dostęp do systemu demonstracyjnego';
|
||||
@@ -12,6 +12,13 @@
|
||||
|
||||
{block name='step_carrier'}
|
||||
|
||||
<style>
|
||||
.delivery_option_title--highlight {
|
||||
font-weight: bold !important;
|
||||
color: red !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
var is_necessary_postcode = Boolean({if isset($is_necessary_postcode)}{$is_necessary_postcode}{/if});
|
||||
var is_necessary_city = Boolean({if isset($is_necessary_city)}{$is_necessary_city}{/if});
|
||||
@@ -68,7 +75,7 @@
|
||||
<img src="{$ONEPAGECHECKOUTPS_IMG}shipping.png" alt="{$carrier.name}" class="img-thumbnail"/>
|
||||
{/if}
|
||||
{else}
|
||||
<div class="delivery_option_title">{$carrier.name}</div>
|
||||
<div class="delivery_option_title{if $carrier.name == 'DPD Pickup – automaty paczkowe'} delivery_option_title--highlight{/if}">{$carrier.name}</div>
|
||||
<div class="delivery_option_price">{$carrier.price}</div>
|
||||
{/if}
|
||||
|
||||
@@ -85,7 +92,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
<div class="delivery_option_price">
|
||||
<div class="delivery_option_title"><strong>{$carrier.name}</strong></div>
|
||||
<div class="delivery_option_title{if $carrier.name == 'DPD Pickup – automaty paczkowe'} delivery_option_title--highlight{/if}">{$carrier.name}</div>
|
||||
({$carrier.price})
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{*
|
||||
* We offer the best and most useful modules PrestaShop and modifications for your online store.
|
||||
*
|
||||
* We are experts and professionals in PrestaShop
|
||||
*
|
||||
* @author PresTeamShop.com <support@presteamshop.com>
|
||||
* @copyright 2011-2017 PresTeamShop
|
||||
* @license see file: LICENSE.txt
|
||||
* @category PrestaShop
|
||||
* @category Module
|
||||
*}
|
||||
|
||||
{if !$register_customer}
|
||||
<div id="onepagecheckoutps_step_review_container" class="{$classes|escape:'htmlall':'UTF-8'}">
|
||||
<div class="loading_small"><i class="fa-pts fa-pts-spin fa-pts-refresh fa-pts-2x"></i></div>
|
||||
<h5 class="onepagecheckoutps_p_step onepagecheckoutps_p_step_four">
|
||||
<i class="fa-pts fa-pts-check fa-pts-2x"></i>
|
||||
{l s='Order Summary' mod='onepagecheckoutps'}
|
||||
</h5>
|
||||
<div id="onepagecheckoutps_step_review"></div>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -142,6 +142,10 @@ div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery_option{
|
||||
div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery_option .delivery_option_title{
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery_option .delivery_option_title--highlight{
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
div#onepagecheckoutps div#onepagecheckoutps_step_two .delivery_option .delivery_option_price{
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
@@ -9,9 +9,7 @@
|
||||
* @category PrestaShop
|
||||
* @category Module
|
||||
*}
|
||||
|
||||
{block name='step_carrier'}
|
||||
|
||||
<script type="text/javascript">
|
||||
var is_necessary_postcode = Boolean({if isset($is_necessary_postcode)}{$is_necessary_postcode}{/if});
|
||||
var is_necessary_city = Boolean({if isset($is_necessary_city)}{$is_necessary_city}{/if});
|
||||
@@ -62,13 +60,13 @@
|
||||
--><div class="delivery_option_logo {if !$CONFIGS.OPC_SHOW_IMAGE_CARRIER && !$CONFIGS.OPC_SHOW_DESCRIPTION_CARRIER}col-xs-11 col-11{else}{if $CONFIGS.OPC_SHOW_IMAGE_CARRIER}col-xs-3 col-3{else}col-xs-4 col-4{/if}{/if}">
|
||||
{if ($CONFIGS.OPC_SHOW_IMAGE_CARRIER)}
|
||||
{if $carrier.logo}
|
||||
|
||||
|
||||
<img src="{$carrier.logo}" alt="{$carrier.name}" class="img-thumbnail"/>
|
||||
{else}
|
||||
<img src="{$ONEPAGECHECKOUTPS_IMG}shipping.png" alt="{$carrier.name}" class="img-thumbnail"/>
|
||||
{/if}
|
||||
{else}
|
||||
<div class="delivery_option_title">{$carrier.name}</div>
|
||||
<div class="delivery_option_title{if $carrier.external_module_name == 'dpdpoland'} delivery_option_title--highlight{/if}">{$carrier.name}</div>
|
||||
{/if}
|
||||
|
||||
{if $carrier.external_module_name != ''}
|
||||
@@ -84,7 +82,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
<div class="delivery_option_price">
|
||||
<div class="delivery_option_title">{$carrier.name}</div>
|
||||
<div class="delivery_option_title{if $carrier.external_module_name == 'dpdpoland'} delivery_option_title--highlight{/if}">{$carrier.name}</div>
|
||||
({$carrier.price})
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user