public static function getAdminListViewHTML($property, $value, $strHTMLControlName) { $rsLang = LanguageTable::query()->setFilter(['LID' => $value['VALUE']])->setSelect(['NAME'])->exec(); if ($lang = $rsLang->fetch()) { return $lang['NAME']; } }
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)]; }