function set_link($value) { if (!of_class($value, URL__CLASS)) { $value = new Url($value); } $this->link = $value->absolute(); }
function menu_admin_link(&$menu, $mode) { $link = ''; switch ($mode) { case 'edit': if (of_class($menu, LINKS_MENU__CLASS)) { $link = 'links.php?'; } elseif (of_class($menu, CONTENT_MENU__CLASS)) { $link = 'content.php?'; } elseif (of_class($menu, FEED_MENU__CLASS)) { $link = 'feed.php?'; } else { $link = 'auth.php?'; } break; case 'delete': if (of_class($menu, CONTENT_MENU__CLASS) || of_class($menu, LINKS_MENU__CLASS) || of_class($menu, FEED_MENU__CLASS)) { $link = 'menus.php?action=delete&'; } else { return ''; } break; case 'up': $link = 'menus.php?action=up&'; break; case 'down': $link = 'menus.php?action=down&'; break; case 'move': $link = 'menus.php?'; break; } global $Session; return $link . 'id=' . $menu->get_id() . '&token=' . $Session->get_token(); }
function set_guid($value) { if (of_class($value, URL__CLASS)) { $this->guid = $value->absolute(); } else { $this->guid = $value; } }
$menu->set_display_title(retrieve(POST, 'display_title', false)); $menu->set_content((string) $_POST['contents']); MenuService::save($menu); MenuService::generate_cache(); redirect('menus.php#m' . $id_post); } $edit = !empty($id); include 'lateral_menu.php'; lateral_menu(); $tpl = new Template('admin/menus/content.tpl'); $tpl->assign_vars(array('KERNEL_EDITOR' => display_editor(), 'L_REQUIRE_TITLE' => to_js_string($LANG['require_title']), 'L_REQUIRE_TEXT' => to_js_string($LANG['require_text']), 'L_NAME' => $LANG['name'], 'L_STATUS' => $LANG['status'], 'L_AUTHS' => $LANG['auths'], 'L_ENABLED' => $LANG['enabled'], 'L_DISABLED' => $LANG['disabled'], 'L_ACTIVATION' => $LANG['activation'], 'L_GUEST' => $LANG['guest'], 'L_USER' => $LANG['member'], 'L_MODO' => $LANG['modo'], 'L_ADMIN' => $LANG['admin'], 'L_LOCATION' => $LANG['location'], 'L_ACTION_MENUS' => $edit ? $LANG['menus_edit'] : $LANG['add'], 'L_ACTION' => $edit ? $LANG['update'] : $LANG['submit'], 'L_RESET' => $LANG['reset'], 'ACTION' => 'save', 'L_DISPLAY_TITLE' => $LANG['display_title'])); $block = BLOCK_POSITION__HEADER; $array_location = array(BLOCK_POSITION__HEADER => $LANG['menu_header'], BLOCK_POSITION__SUB_HEADER => $LANG['menu_subheader'], BLOCK_POSITION__LEFT => $LANG['menu_left'], BLOCK_POSITION__TOP_CENTRAL => $LANG['menu_top_central'], BLOCK_POSITION__BOTTOM_CENTRAL => $LANG['menu_bottom_central'], BLOCK_POSITION__RIGHT => $LANG['menu_right'], BLOCK_POSITION__TOP_FOOTER => $LANG['menu_top_footer'], BLOCK_POSITION__FOOTER => $LANG['menu_footer']); if ($edit) { $menu = MenuService::load($id); if (!of_class($menu, CONTENT_MENU__CLASS)) { redirect('menus.php'); } $block = $menu->get_block(); $content = $menu->get_content(); $tpl->assign_vars(array('IDMENU' => $id, 'NAME' => $menu->get_title(), 'AUTH_MENUS' => Authorizations::generate_select(AUTH_MENUS, $menu->get_auth()), 'C_ENABLED' => $menu->is_enabled(), 'CONTENTS' => !empty($content) ? unparse($content) : '', 'DISPLAY_TITLE_CHECKED' => $menu->get_display_title() ? 'checked="checked"' : '')); } else { $tpl->assign_vars(array('C_ENABLED' => true, 'AUTH_MENUS' => Authorizations::generate_select(AUTH_MENUS, array(), array(-1 => true, 0 => true, 1 => true, 2 => true)))); } $locations = ''; foreach ($array_location as $key => $name) { $locations .= '<option value="' . $key . '" ' . ($block == $key ? 'selected="selected"' : '') . '>' . $name . '</option>'; } $tpl->assign_vars(array('LOCATIONS' => $locations)); $tpl->parse(); require_once PATH_TO_ROOT . '/admin/admin_footer.php';
static function _load($db_result) { $menu = unserialize($db_result['object']); $menu->id($db_result['id']); $menu->enabled($db_result['enabled']); $menu->set_block($db_result['block']); $menu->set_block_position($db_result['position']); if (of_class($menu, LINKS_MENU__CLASS) || of_class($menu, LINKS_MENU_LINK__CLASS)) { $menu->update_uid(); } return $menu; }
$menu->set_auth(Authorizations::build_auth_array_from_form(AUTH_MENUS)); MenuService::save($menu); MenuService::generate_cache(); redirect('menus.php#m' . $id_post); } $edit = !empty($id); include 'lateral_menu.php'; lateral_menu(); $tpl = new Template('admin/menus/feed.tpl'); $tpl->assign_vars(array('JL_REQUIRE_TITLE' => to_js_string($LANG['require_title']), 'JL_REQUIRE_FEED' => to_js_string($LANG['choose_feed_in_list']), 'L_FEED' => $LANG['feed'], 'L_AVAILABLES_FEEDS' => $LANG['availables_feeds'], 'L_NAME' => $LANG['name'], 'L_STATUS' => $LANG['status'], 'L_AUTHS' => $LANG['auths'], 'L_ENABLED' => $LANG['enabled'], 'L_DISABLED' => $LANG['disabled'], 'L_ACTIVATION' => $LANG['activation'], 'L_GUEST' => $LANG['guest'], 'L_USER' => $LANG['member'], 'L_MODO' => $LANG['modo'], 'L_ADMIN' => $LANG['admin'], 'L_LOCATION' => $LANG['location'], 'L_ACTION_MENUS' => $edit ? $LANG['menus_edit'] : $LANG['add'], 'L_ACTION' => $edit ? $LANG['update'] : $LANG['submit'], 'L_RESET' => $LANG['reset'], 'ACTION' => 'save')); $block = BLOCK_POSITION__HEADER; $array_location = array(BLOCK_POSITION__HEADER => $LANG['menu_header'], BLOCK_POSITION__SUB_HEADER => $LANG['menu_subheader'], BLOCK_POSITION__LEFT => $LANG['menu_left'], BLOCK_POSITION__TOP_CENTRAL => $LANG['menu_top_central'], BLOCK_POSITION__BOTTOM_CENTRAL => $LANG['menu_bottom_central'], BLOCK_POSITION__RIGHT => $LANG['menu_right'], BLOCK_POSITION__TOP_FOOTER => $LANG['menu_top_footer'], BLOCK_POSITION__FOOTER => $LANG['menu_footer']); $feed_url = ''; if ($edit) { $menu = MenuService::load($id); if (!of_class($menu, FEED_MENU__CLASS)) { redirect('menus.php'); } $block = $menu->get_block(); $feed_url = $menu->get_url(true); $tpl->assign_vars(array('IDMENU' => $id, 'NAME' => $menu->get_title(), 'AUTH_MENUS' => Authorizations::generate_select(AUTH_MENUS, $menu->get_auth()), 'C_ENABLED' => $menu->is_enabled(), 'C_EDIT' => true)); } else { $tpl->assign_vars(array('C_NEW' => true, 'C_ENABLED' => true, 'AUTH_MENUS' => Authorizations::generate_select(AUTH_MENUS, array(), array(-1 => true, 0 => true, 1 => true, 2 => true)))); } import('util/url'); import('modules/modules_discovery_service'); $modules = new ModulesDiscoveryService(); $feeds_modules = $modules->get_available_modules('get_feeds_list'); function build_feed_urls($elts, $module_id, &$feed_type, $level = 0) { $urls = array();
function get_parsed($module_id, $name = DEFAULT_FEED_NAME, $idcat = 0, $tpl = false, $number = 10, $begin_at = 0) { if (of_class($tpl, 'template')) { $template = $tpl->copy(); } else { import('io/template'); $template = new Template($module_id . '/framework/content/syndication/feed.tpl'); if (gettype($tpl) == 'array') { $template->assign_vars($tpl); } } $feed_data_cache_file = FEEDS_PATH . $module_id . '_' . $name . '_' . $idcat . '.php'; $result = @(include $feed_data_cache_file); if ($result === false) { import('modules/modules_discovery_service'); $modules = new ModulesDiscoveryService(); $module = $modules->get_module($module_id); if ($module->got_error() || !$module->has_functionality('get_feed_data_struct')) { return ''; } $data = $module->functionality('get_feed_data_struct', $idcat); if (!$module->got_error()) { Feed::update_cache($module_id, $name, $data, $idcat); } } if (!DEBUG) { $result = @(include $feed_data_cache_file); } else { if (file_exists($feed_data_cache_file)) { $result = (include $feed_data_cache_file); } else { $result = FALSE; } } if ($result === false) { user_error(sprintf(ERROR_GETTING_CACHE, $module_id, $idcat), E_USER_WARNING); return ''; } $feed = new Feed($module_id, $name); $feed->load_data($__feed_object); return $feed->export($template, $number, $begin_at); }
} MenuService::generate_cache(); redirect('menus.php#m' . $menu->get_id()); } include 'lateral_menu.php'; lateral_menu(); $tpl = new Template('admin/menus/links.tpl'); $tpl->assign_vars(array('L_REQUIRE_TITLE' => $LANG['require_title'], 'L_REQUIRE_TEXT' => $LANG['require_text'], 'L_NAME' => $LANG['name'], 'L_URL' => $LANG['url'], 'L_IMAGE' => $LANG['img'], 'L_STATUS' => $LANG['status'], 'L_AUTHS' => $LANG['auths'], 'L_ENABLED' => $LANG['enabled'], 'L_DISABLED' => $LANG['disabled'], 'L_ACTIVATION' => $LANG['activation'], 'L_GUEST' => $LANG['guest'], 'L_USER' => $LANG['member'], 'L_MODO' => $LANG['modo'], 'L_ADMIN' => $LANG['admin'], 'L_LOCATION' => $LANG['location'], 'L_ACTION_MENUS' => $menu_id > 0 ? $LANG['menus_edit'] : $LANG['add'], 'L_ACTION' => $menu_id > 0 ? $LANG['update'] : $LANG['submit'], 'L_RESET' => $LANG['reset'], 'ACTION' => 'save', 'L_TYPE' => $LANG['type'], 'L_CONTENT' => $LANG['content'], 'L_AUTHORIZATIONS' => $LANG['authorizations'], 'L_ADD' => $LANG['add'], 'J_AUTH_FORM' => to_js_string(Authorizations::generate_select(AUTH_MENUS, array('r-1' => AUTH_MENUS, 'r0' => AUTH_MENUS, 'r1' => AUTH_MENUS), array(), 'menu_element_##UID##_auth')), 'JL_AUTHORIZATIONS' => to_js_string($LANG['authorizations']), 'JL_PROPERTIES' => to_js_string($LANG['properties']), 'JL_NAME' => to_js_string($LANG['name']), 'JL_URL' => to_js_string($LANG['url']), 'JL_IMAGE' => to_js_string($LANG['img']), 'JL_DELETE_ELEMENT' => to_js_string($LANG['confirm_delete_element']), 'JL_MORE' => to_js_string($LANG['more_details']), 'JL_DELETE' => to_js_string($LANG['delete']), 'JL_ADD_SUB_ELEMENT' => to_js_string($LANG['add_sub_element']), 'JL_ADD_SUB_MENU' => to_js_string($LANG['add_sub_menu']))); $block = BLOCK_POSITION__HEADER; $array_location = array(BLOCK_POSITION__HEADER => $LANG['menu_header'], BLOCK_POSITION__SUB_HEADER => $LANG['menu_subheader'], BLOCK_POSITION__LEFT => $LANG['menu_left'], BLOCK_POSITION__TOP_CENTRAL => $LANG['menu_top_central'], BLOCK_POSITION__BOTTOM_CENTRAL => $LANG['menu_bottom_central'], BLOCK_POSITION__RIGHT => $LANG['menu_right'], BLOCK_POSITION__TOP_FOOTER => $LANG['menu_top_footer'], BLOCK_POSITION__FOOTER => $LANG['menu_footer']); $edit_menu_tpl = new Template('admin/menus/menu_edition.tpl'); $edit_menu_tpl->assign_vars(array('L_NAME' => $LANG['name'], 'L_IMAGE' => $LANG['img'], 'L_URL' => $LANG['url'], 'L_PROPERTIES' => $LANG['properties'], 'L_AUTHORIZATIONS' => $LANG['authorizations'], 'L_ADD_SUB_ELEMENT' => $LANG['add_sub_element'], 'L_ADD_SUB_MENU' => $LANG['add_sub_menu'], 'L_MORE' => $LANG['more_details'], 'L_DELETE' => $LANG['delete'])); $menu = null; if ($menu_id > 0) { $menu = MenuService::load($menu_id); if (!of_class($menu, LINKS_MENU__CLASS)) { redirect('menus.php'); } } else { $menu = new LinksMenu('', '', '', VERTICAL_MENU); } $block = $menu->get_block(); $tpl->assign_vars(array('IDMENU' => $menu_id, 'AUTH_MENUS' => Authorizations::generate_select(AUTH_MENUS, $menu->get_auth(), array(), 'menu_element_' . $menu->get_uid() . '_auth'), 'C_ENABLED' => !empty($menu_id) ? $menu->is_enabled() : true, 'MENU_ID' => $menu->get_id(), 'MENU_TREE' => $menu->display($edit_menu_tpl, LINKS_MENU_ELEMENT__FULL_DISPLAYING), 'MENU_NAME' => $menu->get_title(), 'MENU_URL' => $menu->get_url(true), 'MENU_IMG' => $menu->get_image(true), 'ID' => $menu->get_uid())); foreach (LinksMenu::get_menu_types_list() as $type_name) { $tpl->assign_block_vars('type', array('NAME' => $type_name, 'L_NAME' => $LANG[$type_name . '_menu'], 'SELECTED' => $menu->get_type() == $type_name ? ' selected="selected"' : '')); } foreach ($array_location as $key => $name) { $tpl->assign_block_vars('location', array('C_SELECTED' => $block == $key, 'VALUE' => $key, 'NAME' => $name)); } $tpl->assign_vars(array('ID_MAX' => get_uid())); $tpl->parse();