Skip to content

Commit c917c25

Browse files
author
php-schubser
committed
feat: change how we install module
1 parent 46fd6a2 commit c917c25

File tree

7 files changed

+131
-14
lines changed

7 files changed

+131
-14
lines changed

docs/install.md

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
1-
##### Während der Installation des Sprachpakets werden keine Änderungen an der Datenbank vorgenommen.
1+
##### Erstellen Sie vor der Installation dieses Moduls ein Backup der Datenbank.
22
---
3-
##### Nachdem wir das Modul in MMLC installiert haben, können wir eine neue Sprache in ***Land/Steuer -> Sprachen*** mit folgenden Daten erstellen:
4-
5-
- Name: Srpski
6-
- Codierung: sr
7-
- Charset: utf-8
8-
- Symbol: icon.gif
9-
- Verzeichnis: serbian
10-
11-
### Für dieses Modul sind keine manuellen Änderungen erforderlich.
3+
##### Gehen Sie nach der Installation zum Admin-Menü, ***System Module -> Sprachpaket serbisch*** und drücken Sie auf Installieren.
4+
---
5+
##### Für dieses Modul sind keine manuellen Änderungen erforderlich.

docs/usage.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
- Nach der Installation müssen Sie die Sprache in ***Land/Steuer -> Sprachen*** aktivieren.
2-
3-
- Bevor Sie das Paket in MMLC deinstallieren, deaktivieren Sie bitte die Sprache in ***Land/Steuer -> Sprachen***
1+
Serbisches Sprachpaket ab Modified 2.0.5.0

moduleinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"developer": "fishnetservices",
1111
"developerWebsite": "https://www.shopbetreuung.com/",
1212
"website": "https://www.shopbetreuung.com/",
13-
"category": "Sprachpaketen",
13+
"category": "language",
1414

1515
"modifiedCompatibility": [
1616
"2.0.5.0", "2.0.5.1"
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<?php
2+
3+
defined('_VALID_XTC') or die('Direct Access to this location is not allowed.');
4+
5+
use Gulliver72\ModifiedStdLanguageModule\Classes\StdLanguageModule;
6+
use RobinTheHood\ModifiedStdModule\Classes\StdModule;
7+
8+
require_once DIR_FS_DOCUMENT_ROOT . '/vendor-no-composer/autoload.php';
9+
10+
class fs_serbian_language_package extends StdModule
11+
{
12+
function __construct()
13+
{
14+
$this->init('MODULE_FS_SERBIAN_LANGUAGE_PACKAGE');
15+
$this->keys_dispnone = ['MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_STATUS'];
16+
}
17+
18+
function process($file)
19+
{
20+
xtc_redirect(xtc_href_link_admin('admin/' . FILENAME_LANGUAGES));
21+
}
22+
23+
public function keys()
24+
{
25+
return [];
26+
}
27+
28+
function getDescription()
29+
{
30+
if (!$this->getEnabled()) return TEXT_LANGUAGE_DESRIPTION;
31+
$languages_id_query = xtc_db_query("SELECT languages_id, status, status_admin FROM languages WHERE code = 'sr'");
32+
$languages_id_result = xtc_db_fetch_array($languages_id_query);
33+
$description = TEXT_LANGUAGE_CONFIGURATION . '<br/><br/>';
34+
$description .= sprintf(TEXT_LANGUAGE_STATUS, $languages_id_result['status'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
35+
$description .= '<br/><br/>' . sprintf(TEXT_LANGUAGE_STATUS_ADMIN, $languages_id_result['status_admin'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
36+
37+
return $description;
38+
}
39+
40+
function display()
41+
{
42+
$languages_id_query = xtc_db_query("SELECT languages_id, status, status_admin FROM languages WHERE code = 'sr'");
43+
$languages_id_result = xtc_db_fetch_array($languages_id_query);
44+
$description = TEXT_LANGUAGE_CONFIGURATION . '<br/><br/>';
45+
$description .= sprintf(TEXT_LANGUAGE_STATUS, $languages_id_result['status'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
46+
$description .= '<br/><br/>' . sprintf(TEXT_LANGUAGE_STATUS_ADMIN, $languages_id_result['status_admin'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
47+
48+
return [
49+
'text' => $description . '<br /><div align="center">' . xtc_button(BUTTON_EDIT) .
50+
xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=fs_serbian_language_package')) . "</div>"];
51+
}
52+
53+
function install()
54+
{
55+
$sort_order_query = xtc_db_query("SELECT sort_order FROM languages ORDER BY sort_order DESC LIMIT 1");
56+
$sort_order_result = xtc_db_fetch_array($sort_order_query);
57+
$serbianLanguageData = [
58+
'name' => 'Srpski',
59+
'code' => 'sr',
60+
'image' => 'icon.gif',
61+
'sort_order' => $sort_order_result['sort_order'] ? (int)$sort_order_result['sort_order'] + 1 : 1,
62+
'language_charset' => 'utf8',
63+
'directory' => 'serbian'
64+
];
65+
$stdLanguageModule = new StdLanguageModule;
66+
$stdLanguageModule->init($serbianLanguageData, 2);
67+
parent::install();
68+
}
69+
70+
function remove()
71+
{
72+
$languages_id_query = xtc_db_query("SELECT languages_id FROM " . TABLE_LANGUAGES . " WHERE code='sr'");
73+
$languages_id_result = xtc_db_fetch_array($languages_id_query);
74+
if (isset($languages_id_result['languages_id'])) {
75+
$this->deleteLanguage($languages_id_result['languages_id']);
76+
}
77+
parent::remove();
78+
}
79+
80+
/**
81+
* Delete all data for given languages id
82+
*
83+
* @param string $languagesId
84+
* @return void
85+
*/
86+
private function deleteLanguage($languagesId)
87+
{
88+
xtc_db_query("DELETE FROM " . TABLE_LANGUAGES . " WHERE languages_id = '" . $languagesId . "'");
89+
xtc_db_query("DELETE FROM " . TABLE_CATEGORIES_DESCRIPTION . " WHERE language_id = '" . $languagesId . "'");
90+
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE language_id = '" . $languagesId . "'");
91+
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_OPTIONS . " WHERE language_id = '" . $languagesId . "'");
92+
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_OPTIONS_VALUES . " WHERE language_id = '" . $languagesId . "'");
93+
xtc_db_query("DELETE FROM " . TABLE_MANUFACTURERS_INFO . " WHERE language_id = '" . $languagesId . "'");
94+
xtc_db_query("DELETE FROM " . TABLE_ORDERS_STATUS . " WHERE language_id = '" . $languagesId . "'");
95+
xtc_db_query("DELETE FROM " . TABLE_SHIPPING_STATUS . " WHERE language_id = '" . $languagesId . "'");
96+
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_XSELL_GROUPS . " WHERE language_id = '" . $languagesId . "'");
97+
xtc_db_query("DELETE FROM " . TABLE_CONTENT_MANAGER . " WHERE languages_id = '" . $languagesId . "'");
98+
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_CONTENT . " WHERE languages_id = '" . $languagesId . "'");
99+
}
100+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
define('MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_TITLE', '<img src="../lang/serbian/admin/images/icon.gif" alt="Srpski" title="Srpski" style="border:0;"> Serbian language package © by <a href="https://www.shopbetreuung.com/" target="_blank" style="color: #007bff; font-size: inherit; font-weight: inherit;">FishnetServices</a>');
3+
define('TEXT_LANGUAGE_STATUS', 'Language package status: %s');
4+
define('TEXT_LANGUAGE_STATUS_ADMIN', 'Language package status admin: %s');
5+
define('TEXT_LANGUAGE_CONFIGURATION', 'You can change configuration for language <a href="languages.php"><strong>here</strong></a> .');
6+
define('TEXT_LANGUAGE_DESRIPTION', 'Serbian language package for Modified from version 2.0.5.0.');
7+
define('TEXT_ACTIVE', '<strong style="color:green;">Enabled</strong>');
8+
define('TEXT_INACTIVE', '<strong style="color:red;">Disabled</strong>');
9+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
define('MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_TITLE', '<img src="../lang/serbian/admin/images/icon.gif" alt="Srpski" title="Srpski" style="border:0;"> Sprachpaket serbisch © by <a href="https://www.shopbetreuung.com/" target="_blank" style="color: #007bff; font-size: inherit; font-weight: inherit;">FishnetServices</a>');
3+
define('TEXT_LANGUAGE_STATUS', 'Sprachpaket status: %s');
4+
define('TEXT_LANGUAGE_STATUS_ADMIN', 'Sprachpaket status admin: %s');
5+
define('TEXT_LANGUAGE_CONFIGURATION', '<a href="languages.php"><strong>Hier</strong></a> k&ouml;nnen Sie die Sprachkonfiguration bearbeiten.');
6+
define('TEXT_LANGUAGE_DESRIPTION', 'Serbisches Sprachpaket ab Modified 2.0.5.0');
7+
define('TEXT_ACTIVE', '<strong style="color:green;">Aktiviert</strong>');
8+
define('TEXT_INACTIVE', '<strong style="color:red;">Behinderte</strong>');
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
define('MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_TITLE', '<img src="../lang/serbian/admin/images/icon.gif" alt="Srpski" title="Srpski" style="border:0;"> Srpski jezi&#x10D;ki paket © by <a href="https://www.shopbetreuung.com/" target="_blank" style="color: #007bff; font-size: inherit; font-weight: inherit;">FishnetServices</a>');
3+
define('TEXT_LANGUAGE_STATUS', 'Status jezi&#x10D;kog paketa: %s');
4+
define('TEXT_LANGUAGE_STATUS_ADMIN', 'Status jezi&#x10D;kog paketa u admin delu: %s');
5+
define('TEXT_LANGUAGE_CONFIGURATION', '<a href="languages.php"><strong>Ovde</strong></a> mo&#x17E;ete konfigurisati jezi&#x10D;ki paket.');
6+
define('TEXT_LANGUAGE_DESRIPTION', 'Srpski jezi&#x10D;ki paket za Modified od 2.0.5.0');
7+
define('TEXT_ACTIVE', '<strong style="color:green;">Uklju&#x10D;en</strong>');
8+
define('TEXT_INACTIVE', '<strong style="color:red;">Isklju&#x10D;en</strong>');

0 commit comments

Comments
 (0)