Example #1
0
 public static function getTypes(array $filter = null)
 {
     if (!($types =& static::$types)) {
         static::getTypesInternal();
     }
     if (!static::$ready) {
         static::$ready = true;
         uasort($types, function ($a, $b) {
             $a = $a['SORT'];
             $b = $b['SORT'];
             return $a < $b ? -1 : ($a > $b ? 1 : 0);
         });
         if (static::$checkModule) {
             $modules = Config::getModules();
             foreach ($types as &$type) {
                 $module = $modules[$type['MODULE']];
                 $type['ACTIVE'] = $module && $module['ACTIVE'];
             }
             unset($type);
         }
     }
     if ($filter) {
         $count = count($filter);
         return array_filter($types, function (array $type) use($count, $filter) {
             return $count == count(array_intersect_assoc($filter, $type));
         });
     } else {
         return $types;
     }
 }
Example #2
0
if (!$USER->IsAdmin()) {
    return;
}
$modules = Config::getModules();
// TODO all modules with attributes must be active
unset($modules['conversion'], $modules['abtest'], $modules['sender'], $modules['seo']);
$currency = Config::getBaseCurrency();
if (!(Loader::includeModule('currency') && ($currencies = CurrencyManager::getCurrencyList()))) {
    $currencies = array($currency => $currency);
}
if ($REQUEST_METHOD == 'POST' && strlen($Update . $Apply . $RestoreDefaults) > 0 && check_bitrix_sessid()) {
    if (strlen($RestoreDefaults) > 0) {
        Config::setBaseCurrency(null);
        $currency = Config::getBaseCurrency();
        Config::setModules(array());
        $modules = Config::getModules();
    } else {
        if ($currencies[$_POST['CURRENCY']]) {
            $currency = $_POST['CURRENCY'];
            Config::setBaseCurrency($currency);
        }
        foreach ($modules as $name => $config) {
            $modules[$name]['ACTIVE'] = isset($_POST['MODULE'][$name]['ACTIVE']);
        }
        Config::setModules($modules);
    }
    //	if(strlen($Update)>0 && strlen($_REQUEST["back_url_settings"])>0)
    //		LocalRedirect($_REQUEST["back_url_settings"]);
    //	else
    //		LocalRedirect($APPLICATION->GetCurPage()."?mid=".urlencode($mid)."&lang=".urlencode(LANGUAGE_ID)."&back_url_settings=".urlencode($_REQUEST["back_url_settings"])."&".$tabControl->ActiveTabParam());
}