AntonLV 9 лет назад
Родитель
Сommit
acaa859653
3 измененных файлов с 22 добавлено и 0 удалено
  1. 15 0
      inc/classes/BxDolLanguages.php
  2. 5 0
      inc/classes/BxDolLanguagesQuery.php
  3. 2 0
      install/sql/system.sql

+ 15 - 0
inc/classes/BxDolLanguages.php

@@ -9,6 +9,9 @@
 
 define('BX_DOL_LANGUAGE_DEFAULT', 'en');
 
+define('BX_DOL_LANGUAGE_DIRECTION_LTR', 'LTR');
+define('BX_DOL_LANGUAGE_DIRECTION_RTL', 'RTL');
+
 define('BX_DOL_LANGUAGE_CATEGORY_SYSTEM', 1);
 define('BX_DOL_LANGUAGE_CATEGORY_CUSTOM', 2);
 
@@ -89,9 +92,18 @@ class BxDolLanguages extends BxDolFactory implements iBxDolSingleton
     {
         if (!$sLang)
             $sLang = $this->getCurrentLanguage();
+
         return $this->oDb->getLanguageFlag($sLang);
     }
 
+    function getLangDirection($sLang = '')
+    {
+        if (!$sLang)
+            $sLang = $this->getCurrentLanguage();
+
+        return $this->oDb->getLanguageDirection($sLang);
+    }
+
     function getDefaultLangName()
     {
         return getParam('lang_default');
@@ -228,6 +240,9 @@ class BxDolLanguages extends BxDolFactory implements iBxDolSingleton
                 BxDolStudioLanguagesUtils::getInstance()->compileLanguage();
 
             require($sPath);
+
+            if($this->getLangDirection($GLOBALS['sCurrentLanguage']) == BX_DOL_LANGUAGE_DIRECTION_RTL)
+                BxDolTemplate::getInstance()->addCss('rtl.css');
         }
 
         $GLOBALS['bxDolClasses'][__CLASS__]->getCurrentLangName(true);

+ 5 - 0
inc/classes/BxDolLanguagesQuery.php

@@ -47,6 +47,11 @@ class BxDolLanguagesQuery extends BxDolDb implements iBxDolSingleton
         return $this->getLanguageField($sName, 'Flag', $bFromCache);
     }
 
+    function getLanguageDirection($sName, $bFromCache = true)
+    {
+        return $this->getLanguageField($sName, 'Direction', $bFromCache);
+    }
+    
     protected function getLanguageField($sName, $sField, $bFromCache = true)
     {
         $sSql = $this->prepare("SELECT `" . $sField . "` FROM `sys_localization_languages` WHERE `Name`=? AND `Enabled`='1' LIMIT 1", $sName);

+ 2 - 0
install/sql/system.sql

@@ -508,6 +508,8 @@ CREATE TABLE `sys_localization_languages` (
   `Name` varchar(5) NOT NULL default '',
   `Flag` varchar(2) NOT NULL default '',
   `Title` varchar(255) NOT NULL default '',
+  `Direction` enum('LTR','RTL') NOT NULL DEFAULT 'LTR',
+  `LanguageCountry` varchar(8) NOT NULL,
   `Enabled` tinyint(1) unsigned NOT NULL default '0',
   PRIMARY KEY  (`ID`),
   UNIQUE KEY `Name` (`Name`)