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
+ }
0 commit comments