/** * **/ function manage_droplet_perms() { global $parser, $settings, $val, $backend; $info = NULL; $groups = array(); $rows = array(); $this_user_groups = CAT_Users::get_groups_id(); if (!CAT_Helper_Droplet::is_allowed('manage_droplet_perms', $this_user_groups)) { $backend->print_error($backend->lang()->translate("You don't have the permission to do this")); } $groups = CAT_Users::getGroups(); if ($val->get('_REQUEST', 'save') || $val->get('_REQUEST', 'save_and_back')) { foreach ($settings as $key => $value) { if ($val->get('_REQUEST', $key)) { CAT_Helper_Droplet::updateDropletSettings($key, implode('|', $val->get('_REQUEST', $key))); } } // reload settings $settings = get_settings(); $info = $backend->lang()->translate('Permissions saved'); if ($val->get('_REQUEST', 'save_and_back')) { return list_droplets($info); } } foreach ($settings as $key => $value) { $line = array(); foreach ($groups as $id => $name) { $line[] = '<input type="checkbox" name="' . $key . '[]" id="' . $key . '_' . $id . '" value="' . $id . '"' . (is_in_array($value, $id) ? ' checked="checked"' : NULL) . '>' . '<label for="' . $key . '_' . $id . '">' . $name . '</label>' . "\n"; } $rows[] = array('groups' => implode('', $line), 'name' => $backend->lang()->translate($key)); } // sort rows by permission name (=text) $array = CAT_Helper_Array::getInstance(); $rows = $array->ArraySort($rows, 'name', 'asc', true); $parser->output('permissions', array('rows' => $rows, 'info' => $info)); }
/** * determine default page * * @access public * @return void **/ public static function getDefaultPage() { if (!count(self::$pages)) { self::init(); } // for all pages with level 0... $root = array(); $now = time(); $ordered = CAT_Helper_Array::getInstance()->ArraySort(self::$pages, 'position'); foreach ($ordered as $page) { if ($page['level'] == 0 && $page['visibility'] == 'public' && self::isActive($page['page_id'])) { if (!PAGE_LANGUAGES || $page['language'] == LANGUAGE) { return $page['page_id']; } } } }
/** * **/ function getPagesList($fieldname, $selected, $add_empty = false) { $pages_list = CAT_Helper_Page::getPages(CAT_Backend::isBackend()); $deleted = CAT_Helper_Page::getPagesByVisibility('deleted'); if (count($deleted)) { $arrh = CAT_Helper_Array::getInstance(); foreach ($deleted as $page) { $arrh->ArrayRemove($page, $pages_list, 'page_id'); } } if ($add_empty) { array_unshift($pages_list, array('page_id' => 0, 'parent' => 0, 'level' => 0, 'is_open' => false, 'menu_title' => CAT_Helper_Page::getInstance()->lang()->translate('[none (use internal)]'))); } return CAT_Helper_ListBuilder::getInstance(true)->config(array('space' => '|-- '))->dropdown($fieldname, $pages_list, 0, $selected); }
foreach ($users->get_groups_id() as $cur_gid) { if (in_array($cur_gid, $old_admin_groups)) { $in_old_group = true; } } if (!$in_old_group && !is_numeric(array_search($users->get_user_id(), $old_admin_users))) { $backend->print_error('You do not have permissions to modify this page'); } // // ! delete link // if ($val->sanitizeGet('del')) { list($lang, $page_id) = explode('_', $val->sanitizeGet('del')); CAT_Helper_Page::deleteLanguageLink($page_id, $lang); } $arrh = CAT_Helper_Array::getInstance(); // =========================== // ! find already linked pages // =========================== $items = CAT_Helper_Page::getInstance($page_id)->getLinkedByLanguage($page_id); // ========================= // ! get installed languages // ========================= $addons = CAT_Helper_Addons::getInstance(); $avail = $addons->get_addons($page['language'], 'language'); // skip current lang foreach ($avail as $i => &$l) { if ($l['VALUE'] == $page['language']) { unset($avail[$i]); break; }