Skip to content

Commit 1bdf371

Browse files
author
php-schubser
committed
feat: install language automatically
1 parent 62da553 commit 1bdf371

File tree

6 files changed

+66
-31
lines changed

6 files changed

+66
-31
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );
3+
?>
4+
5+
<style>
6+
.disabled_button {
7+
opacity: 0.5;
8+
border: none;
9+
pointer-events: none;
10+
}
11+
</style>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
// Check if module is installed
3+
if (!defined('MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_STATUS') || MODULE_FS_SERBIAN_LANGUAGE_PACKAGE_STATUS != 'true') return;
4+
// Check if user is on the page for managing modules
5+
if (pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME) != 'module_export') return;
6+
// Check if user is deleting the module
7+
if (!isset($_GET['action']) || $_GET['action'] != 'remove') return;
8+
// Check if user is deleting 'fs_serbian_language_package' module
9+
if (!isset($_GET['module']) || $_GET['module'] != 'fs_serbian_language_package') return;
10+
// Check if selected language is default language of the shop
11+
use Gulliver72\ModifiedStdLanguageModule\Classes\StdLanguageModule;
12+
require_once DIR_FS_DOCUMENT_ROOT . '/vendor-no-composer/autoload.php';
13+
// Check if selected language is default language of the shop
14+
$stdLanguageModule = new StdLanguageModule();
15+
$stdLanguageModule->setLanguageIdByCode('sr');
16+
$isDefaultLanguage = $stdLanguageModule->getIsStandard();
17+
?>
18+
19+
<script type="text/javascript">
20+
$(document).ready(function(){
21+
var deleteMessage = $('.contentTable').find('td.infoBoxContent')[0];
22+
$(deleteMessage).empty().html('<?php echo $isDefaultLanguage ? TEXT_DELETE_LANGUAGE_DEFAULT_CONFIRM : TEXT_DELETE_LANGUAGE_CONFIRM; ?>');
23+
24+
});
25+
</script>
26+
27+
<?php
28+
if ($isDefaultLanguage) {
29+
?>
30+
31+
<script type="text/javascript">
32+
$(document).ready(function(){
33+
var deleteButton = $('.contentTable').find('input.button');
34+
$(deleteButton).addClass('disabled_button');
35+
$('.disabled_button').on('click', (e) => {e.preventDefault()});
36+
});
37+
</script>
38+
39+
<?php
40+
}
41+
?>

new_files/admin/includes/modules/system/fs_serbian_language_package.php

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,8 @@ function display()
4545
$description .= sprintf(TEXT_LANGUAGE_STATUS, $languages_id_result['status'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
4646
$description .= '<br/><br/>' . sprintf(TEXT_LANGUAGE_STATUS_ADMIN, $languages_id_result['status_admin'] == 1 ? TEXT_ACTIVE : TEXT_INACTIVE);
4747

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>"];
48+
return ['text' => $description . '<br /><div align="center">' . xtc_button(BUTTON_EDIT) .
49+
xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=fs_serbian_language_package')) . "</div>"];
5150
}
5251

5352
function install()
@@ -71,32 +70,10 @@ function install()
7170

7271
function remove()
7372
{
74-
$languages_id_query = xtc_db_query("SELECT languages_id FROM " . TABLE_LANGUAGES . " WHERE code='sr'");
75-
$languages_id_result = xtc_db_fetch_array($languages_id_query);
76-
if (isset($languages_id_result['languages_id'])) {
77-
$this->deleteLanguage($languages_id_result['languages_id']);
78-
}
73+
$stdLanguageModule = new StdLanguageModule;
74+
$stdLanguageModule->setLanguageIdByCode('sr');
75+
$stdLanguageModule->deleteLanguage();
7976
parent::remove();
8077
}
8178

82-
/**
83-
* Delete all data for given languages id
84-
*
85-
* @param string $languagesId
86-
* @return void
87-
*/
88-
private function deleteLanguage($languagesId)
89-
{
90-
xtc_db_query("DELETE FROM " . TABLE_LANGUAGES . " WHERE languages_id = '" . $languagesId . "'");
91-
xtc_db_query("DELETE FROM " . TABLE_CATEGORIES_DESCRIPTION . " WHERE language_id = '" . $languagesId . "'");
92-
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_DESCRIPTION . " WHERE language_id = '" . $languagesId . "'");
93-
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_OPTIONS . " WHERE language_id = '" . $languagesId . "'");
94-
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_OPTIONS_VALUES . " WHERE language_id = '" . $languagesId . "'");
95-
xtc_db_query("DELETE FROM " . TABLE_MANUFACTURERS_INFO . " WHERE language_id = '" . $languagesId . "'");
96-
xtc_db_query("DELETE FROM " . TABLE_ORDERS_STATUS . " WHERE language_id = '" . $languagesId . "'");
97-
xtc_db_query("DELETE FROM " . TABLE_SHIPPING_STATUS . " WHERE language_id = '" . $languagesId . "'");
98-
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_XSELL_GROUPS . " WHERE language_id = '" . $languagesId . "'");
99-
xtc_db_query("DELETE FROM " . TABLE_CONTENT_MANAGER . " WHERE languages_id = '" . $languagesId . "'");
100-
xtc_db_query("DELETE FROM " . TABLE_PRODUCTS_CONTENT . " WHERE languages_id = '" . $languagesId . "'");
101-
}
10279
}

new_files/lang/english/modules/system/fs_serbian_language_package.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
define('TEXT_LANGUAGE_DESRIPTION', 'Serbian language package for Modified from version 2.0.5.0.');
77
define('TEXT_ACTIVE', '<strong style="color:green;">Active</strong>');
88
define('TEXT_INACTIVE', '<strong style="color:red;">Inactive</strong>');
9-
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Serbian language was successfully installed. If you want to copy content from other languages into this language, you can do so <a style="font-size:12px; color:green;" href="languages.php"><strong>here</strong></a>.');
9+
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Serbian language was successfully installed. If you want to copy content from other languages into this language, you can do so <a style="font-size:12px; color:green;" href="languages.php"><strong>here</strong></a>.');
10+
define('TEXT_DELETE_LANGUAGE_CONFIRM', 'Do you want to uninstall the module?<br /><br /><b>WARNING</b>: All data for articles, categories and content will also be deleted in this language!');
11+
define('TEXT_DELETE_LANGUAGE_DEFAULT_CONFIRM', '<b>WARNING</b>: You can\'t delete this module, because this is the default language of the store.');

new_files/lang/german/modules/system/fs_serbian_language_package.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
define('TEXT_LANGUAGE_DESRIPTION', 'Serbisches Sprachpaket ab Modified 2.0.5.0');
77
define('TEXT_ACTIVE', '<strong style="color:green;">Aktiviert</strong>');
88
define('TEXT_INACTIVE', '<strong style="color:red;">Deaktiviert</strong>');
9-
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Sprache serbisch wurde erfolgreich installiert. Wenn Sie Inhalte aus anderen Sprachen in diese Sprache kopieren m&ouml;chten, k&ouml;nnen Sie dies <a style="font-size:12px; color:green;" href="languages.php"><strong>hier</strong></a> tun.');
9+
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Sprache serbisch wurde erfolgreich installiert. Wenn Sie Inhalte aus anderen Sprachen in diese Sprache kopieren m&ouml;chten, k&ouml;nnen Sie dies <a style="font-size:12px; color:green;" href="languages.php"><strong>hier</strong></a> tun.');
10+
define('TEXT_DELETE_LANGUAGE_CONFIRM', 'Wollen Sie das Modul deinstallieren?<br /><br /><b>ACHTUNG</b>: Alle Daten f&uuml;r Artikel, Kategorien und Content werden in dieser Sprache ebenfalls gel&ouml;scht!');
11+
define('TEXT_DELETE_LANGUAGE_DEFAULT_CONFIRM', '<b>ACHTUNG</b>: Sie k&ouml;nnen dieses Modul nicht l&ouml;schen, da dies die Standardsprache des Shops ist.');

new_files/lang/serbian/modules/system/fs_serbian_language_package.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
define('TEXT_LANGUAGE_DESRIPTION', 'Srpski jezi&#x10D;ki paket za Modified od 2.0.5.0');
77
define('TEXT_ACTIVE', '<strong style="color:green;">Uklju&#x10D;en</strong>');
88
define('TEXT_INACTIVE', '<strong style="color:red;">Isklju&#x10D;en</strong>');
9-
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Srpski jezik je uspe&#x161;no instaliran. Ako &#x17E;elite da kopirate podatke od drugog jezika, to mo&#x17E;ete uraditi <a style="font-size:12px; color:green;" href="languages.php"><strong>ovde</strong></a>.');
9+
define('TEXT_LANGUAGE_INSTALLED_SUCCESSFULLY', 'Srpski jezik je uspe&#x161;no instaliran. Ako &#x17E;elite da kopirate podatke od drugog jezika, to mo&#x17E;ete uraditi <a style="font-size:12px; color:green;" href="languages.php"><strong>ovde</strong></a>.');
10+
define('TEXT_DELETE_LANGUAGE_CONFIRM', 'Da li ste sigurni da &#x17E;elite da obri&#x161;ete modul?<br /><br /><b>UPOZORENJE</b>: Svi podaci za proizvode, kategorije i sadr&#x17E;aj prodavnice &#x107;e biti obrisani za ovaj jezik!');
11+
define('TEXT_DELETE_LANGUAGE_DEFAULT_CONFIRM', '<b>UPOZORENJE</b>: Ne mo&#x17E;ete obrisati ovaj modul, ovo je standardni jezik prodavnice.');

0 commit comments

Comments
 (0)