/** * @static * @return BitrixGems */ public static function getInstance() { if (!self::$oInstance instanceof self) { try { self::$oInstance = new self(); self::$oInstance->initInstalledGems(); } catch (Exception $e) { //На случай хитрожопого кирпичика. if (defined('ADMIN_SECTION')) { var_dump($e->getMessage()); } } } return self::$oInstance; }
} } // ��� ����� � ����������� � ����... $mSortBy = SORT_ASC; if (strtolower($GLOBALS[$oSort->ord_name]) == "desc") { $mSortBy = SORT_DESC; } $aFilteredCat = array_orderby($aFilteredCat, substr($GLOBALS[$oSort->by_name], 2), $mSortBy, 'GEM', SORT_ASC); } $rsData->InitFromArray($aFilteredCat); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint("BitrixGems")); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_NAME, $arRes); $bCanBeInstalled = BitrixGems::checkRequirements($arRes); $row->AddViewField("TYPE", GetMessage('GEM_TYPE_' . $f_TYPE)); if (empty($f_PICTURE)) { $f_PICTURE = '/bitrix/images/iv.bitrixgems/ruby.png'; } $row->AddViewField("PICTURE", '<div style="text-align:center;"><img src="' . $f_PICTURE . '" alt="' . $f_NAME . '" title="' . $f_NAME . '"/></div>'); $row->AddViewField("DESCRIPTION", nl2br($f_DESCRIPTION)); $row->AddViewField("REQUIREMENTS", '<font style="color:' . ($bCanBeInstalled ? 'green' : 'red') . '">' . $f_REQUIREMENTS . GetMessage('TR_REQ_MODULE_VERSION') . $f_REQUIRED_MIN_MODULE_VERSION . (!empty($f_REQUIRED_MODULES) ? GetMessage('TR_REQ_MODULES') . implode(', ', $f_REQUIRED_MODULES) : '') . (!empty($f_REQUIRED_GEMS) ? GetMessage('TR_REQ_GEMS') . implode(', ', $f_REQUIRED_GEMS) : '') . '</font>'); $row->AddViewField("VERSION", $f_VERSION); $row->AddViewField("LIKES", $f_LIKES); $row->AddViewField("DOWNLOADS", $f_DOWNLOADS); $row->AddViewField("AUTHOR", !empty($f_AUTHOR_LINK) ? '<a href="' . $f_AUTHOR_LINK . '">' . $f_AUTHOR . '</a>' : $f_AUTHOR); $sAction = ' '; if ($oGemManager->isVotingAllowed($f_GEM)) { $sAction = '<input type="image" src="/bitrix/images/iv.bitrixgems/star.png" class="gem_action" name="like" title="' . GetMessage('LIKE') . '">'; }
<?php $module_id = "iv.bitrixgems"; require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/".$module_id."/include.php"); require( $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/iv.bitrixgems/classes/general/BitrixGemsHelper.class.php" ); IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/".$module_id."/options.php"); $oGemManager = BitrixGems::getInstance(); $GEMS_RIGHT = $APPLICATION->GetGroupRight($module_id); if($GEMS_RIGHT>="R"): if($REQUEST_METHOD=="POST" && strlen($Update)>0 && check_bitrix_sessid()){ foreach( $_POST['GEMS_ACCESS'] as $sGem => $aAllowedUG ){ $oGemManager->setGemAccessRights( $sGem, $aAllowedUG ); } } $aTabs = array( array("DIV" => "access", "TAB" => GetMessage("MAIN_TAB_ACCESS"), "ICON" => "form_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_ACCESS")), array("DIV" => "rights", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "form_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS")) ); $tabControl = new CAdminTabControl("tabControl", $aTabs); $tabControl->Begin(); ?> <form method="POST" action="<?echo $APPLICATION->GetCurPage()?>?mid=<?=htmlspecialchars($mid)?>&lang=<?=LANGUAGE_ID?>"><?=bitrix_sessid_post()?> <?$tabControl->BeginNextTab();?> <? $aInstalledGems = $oGemManager->getInstalledGems( $bReturnGems = true );