public static function getAdminListViewHTML($property, $value, $strHTMLControlName)
 {
     $rsLang = LanguageTable::query()->setFilter(['LID' => $value['VALUE']])->setSelect(['NAME'])->exec();
     if ($lang = $rsLang->fetch()) {
         return $lang['NAME'];
     }
 }
Exemple #2
0
 public function GetAdminListViewHTML($userField, $htmlControl)
 {
     $rsLang = LanguageTable::query()->setFilter(['LID' => $htmlControl['VALUE']])->setSelect(['NAME'])->exec();
     if ($lang = $rsLang->fetch()) {
         return $lang['NAME'];
     }
 }
 /**
  * Convert the info block to i18n.
  * 
  * @param string $propCodePublicId
  * @param string $propCodeLang
  * @param string $defaultLang
  * 
  * @throws InternationalizeException
  * @throws \Exception
  */
 public function convert($propCodePublicId, $propCodeLang, $defaultLang)
 {
     $rsDefaultLang = LanguageTable::query()->setFilter(['LID' => $defaultLang])->exec();
     if ($rsDefaultLang->getSelectedRowsCount() <= 0) {
         throw new InternationalizeException([Loc::getMessage('NOTAMEDIA_I18N_IMANAGER_NOT_FOUND_LANG')]);
     }
     foreach ($this->converters as $converter) {
         $this->connection->startTransaction();
         try {
             $converter->internationalize($propCodePublicId, $propCodeLang, $defaultLang);
             $converter->fill($propCodePublicId, $propCodeLang, $defaultLang);
         } catch (\Exception $e) {
             $this->connection->rollbackTransaction();
             throw $e;
         }
         $this->connection->commitTransaction();
     }
 }
 /**
  * Gets menu with language select box.
  * 
  * @return array|null
  */
 public static function getLangMenu()
 {
     global $APPLICATION;
     $request = Application::getInstance()->getContext()->getRequest();
     $relatedId = $request->get('I18N_RELATED_ID') ? $request->get('I18N_RELATED_ID') : $request->get('ID');
     $page = basename($request->getRequestedPage());
     if ($page === 'iblock_element_edit.php') {
         $model = static::MODEL_ELEMENT;
     } elseif ($page === 'iblock_section_edit.php') {
         $model = static::MODEL_SECTION;
     } else {
         $model = null;
     }
     if ($model === null || !$request->get('IBLOCK_ID') || !$relatedId) {
         return null;
     }
     $menu = [];
     $currentLang = static::getCurrentLang($model);
     $settings = static::getIblockSettings($request->get('IBLOCK_ID'));
     $itemVersions = static::getItemVersions($model, $relatedId, $settings);
     $rsLangs = LanguageTable::query()->setSelect(['LID', 'NAME'])->exec();
     while ($lang = $rsLangs->fetch()) {
         $queryParams = 'I18N_RELATED_ID=' . $relatedId . '&i18n_lang=' . $lang['LID'];
         if (isset($itemVersions[$lang['LID']])) {
             $queryParams .= '&ID=' . $itemVersions[$lang['LID']];
         }
         $menu[$lang['LID']] = ['TEXT' => $lang['NAME'], 'LINK' => $APPLICATION->GetCurPageParam($queryParams, ['ID', 'i18n_lang', 'I18N_RELATED_ID'])];
     }
     return ['TEXT' => $menu[$currentLang]['TEXT'], 'ICON' => 'btn_copy', 'MENU' => array_filter($menu, function ($key) use($currentLang) {
         if ($key === $currentLang) {
             return false;
         } else {
             return true;
         }
     }, ARRAY_FILTER_USE_KEY)];
 }