public static function display_admin_actions_menu(Module $module) { $id_module = $module->get_id(); $configuration = $module->get_configuration(); $admin_main_page = $configuration->get_admin_main_page(); $tpl = new FileTemplate('framework/module/admin_module_actions_links_menu.tpl'); $tpl->put_all(array('U_LINK' => TPL_PATH_TO_ROOT . '/' . $id_module . '/' . $configuration->get_admin_main_page(), 'NAME' => $configuration->get_name(), 'IMG' => TPL_PATH_TO_ROOT . '/' . $id_module . '/' . $id_module . '_mini.png', 'C_HAS_SUB_LINK' => false, 'C_DISPLAY' => !empty($admin_main_page))); $tree_links = self::get_tree_links($id_module); if ($tree_links !== null) { $actions_tree_links = $tree_links->get_actions_tree_links(); $tpl->put_all(array('C_HAS_SUB_LINK' => $actions_tree_links->has_links(), 'C_DISPLAY' => $actions_tree_links->has_links() || !empty($admin_main_page))); $home_page = $configuration->get_home_page(); if (!empty($home_page)) { $module_home = new ModuleLink(LangLoader::get_message('home', 'main'), new Url('/' . $id_module . '/' . $home_page)); $tpl->assign_block_vars('element', array(), array('ELEMENT' => $module_home->export())); } return self::display($actions_tree_links, $tpl); } return $tpl; }
} $template->set_var("HOME_SUMMARY_LEFT_ARRAY", $content_array); } $home_summery_right_array = ModuleDialog::list_dialogs_by_type("home_summary_right"); if (is_array($home_summery_right_array) and count($home_summery_right_array) >= 1) { $content_array = array(); $counter = 0; foreach ($home_summery_right_array as $key => $value) { require_once $value['class_path']; $content_array[$counter]['content'] = $value['class']::$value['method'](); $counter++; } $template->set_var("HOME_SUMMARY_RIGHT_ARRAY", $content_array); } // Menu $module_link_array = ModuleLink::list_links_by_type("home_button"); if (is_array($module_link_array) and count($module_link_array) >= 1) { $content_array = array(); $counter = 0; foreach ($module_link_array as $key => $value) { $button_template = new HTMLTemplate($value['file']); $button_paramquery = array(); $button_paramquery['username'] = $_GET['username']; $button_paramquery['session_id'] = $_GET['session_id']; if (is_array($value['array']) and count($value['array']) >= 1) { foreach ($value['array'] as $array_key => $array_value) { $button_paramquery[$array_key] = $array_value; } } $button_params = http_build_query($button_paramquery, '', '&'); $button_template->set_var("params", $button_params);
/** * @throws OrganisationUnitIDMissingException */ public static function detail() { global $user; if ($_GET['ou_id']) { $organisation_unit = new OrganisationUnit($_GET['ou_id']); $template = new HTMLTemplate("organisation_unit/organisation_unit_detail.html"); $template->set_var("title", $organisation_unit->get_name()); if ($user->is_admin() == true) { $paramquery = $_GET; $paramquery['nav'] = "administration"; $paramquery['run'] = "organisation_unit"; $paramquery['action'] = "detail"; $paramquery['id'] = $_GET['ou_id']; unset($paramquery['ou_id']); $params = http_build_query($paramquery, '', '&'); $template->set_var("admin_params", $params); $template->set_var("is_owner", true); } else { $template->set_var("is_owner", false); } // OWNERS $organisation_unit_owner_array = $organisation_unit->list_owners(12); if (is_array($organisation_unit_owner_array) and count($organisation_unit_owner_array) >= 1) { $ou_owners = null; foreach ($organisation_unit_owner_array as $key => $value) { if ($value == $user->get_user_id()) { $paramquery = $_GET; $paramquery['nav'] = "administration"; $paramquery['run'] = "organisation_unit"; $paramquery['action'] = "detail"; $paramquery['id'] = $_GET['ou_id']; unset($paramquery['ou_id']); $params = http_build_query($paramquery, '', '&'); $template->set_var("admin_params", $params); $template->set_var("is_owner", true); } $owner = new User($value); $owner_paramquery = $_GET; $owner_paramquery['run'] = "common_dialog"; $owner_paramquery['dialog'] = "user_detail"; $owner_paramquery['id'] = $value; $owner_params = http_build_query($owner_paramquery, '', '&'); if ($ou_owners) { $ou_owners .= ", <a href='index.php?" . $owner_params . "'>" . $owner->get_full_name(true) . "</a>"; } else { $ou_owners .= "<a href='index.php?" . $owner_params . "'>" . $owner->get_full_name(true) . "</a>"; } } } else { $ou_owners = "<span class='italic'>none</span>"; } $number_of_owners = $organisation_unit->get_number_of_owners(); $owner_list_paramquery = $_GET; $owner_list_paramquery['run'] = "common_dialog"; $owner_list_paramquery['dialog'] = "ou_detail"; $owner_list_paramquery['action'] = "list_owners"; $owner_list_paramquery['ou_id'] = $_GET['ou_id']; $owner_list_params = http_build_query($owner_list_paramquery, '', '&'); if ($number_of_owners > 12) { $number_of_owners = $number_of_owners - 12; $ou_owners .= " (+ <a href='index.php?" . $owner_list_params . "'>" . $number_of_owners . " more</a>)"; } else { $ou_owners .= " (<a href='index.php?" . $owner_list_params . "'>list</a>)"; } $template->set_var("owners", $ou_owners); // LEADERS $organisation_unit_leader_array = $organisation_unit->list_leaders(12); if (is_array($organisation_unit_leader_array) and count($organisation_unit_leader_array) >= 1) { $ou_leaders = null; foreach ($organisation_unit_leader_array as $key => $value) { $leader = new User($value); $leader_paramquery = $_GET; $leader_paramquery['run'] = "common_dialog"; $leader_paramquery['dialog'] = "user_detail"; $leader_paramquery['id'] = $value; $leader_params = http_build_query($leader_paramquery, '', '&'); if ($ou_leaders) { $ou_leaders .= ", <a href='index.php?" . $leader_params . "'>" . $leader->get_full_name(true) . "</a>"; } else { $ou_leaders .= "<a href='index.php?" . $leader_params . "'>" . $leader->get_full_name(true) . "</a>"; } } } else { $ou_leaders = "<span class='italic'>none</span>"; } $number_of_leaders = $organisation_unit->get_number_of_leaders(); $leader_list_paramquery = $_GET; $leader_list_paramquery['run'] = "common_dialog"; $leader_list_paramquery['dialog'] = "ou_detail"; $leader_list_paramquery['action'] = "list_leaders"; $leader_list_paramquery['ou_id'] = $_GET['ou_id']; $leader_list_params = http_build_query($leader_list_paramquery, '', '&'); if ($number_of_leaders > 12) { $number_of_leaders = $number_of_leaders - 12; $ou_leaders .= " (+ <a href='index.php?" . $leader_list_params . "'>" . $number_of_leaders . " more</a>)"; } else { $ou_leaders .= " (<a href='index.php?" . $leader_list_params . "'>list</a>)"; } $template->set_var("leaders", $ou_leaders); // MEMBERS $organisation_unit_member_array = $organisation_unit->list_members(12); if (is_array($organisation_unit_member_array) and count($organisation_unit_member_array) >= 1) { $ou_members = null; foreach ($organisation_unit_member_array as $key => $value) { $member = new User($value); $member_paramquery = $_GET; $member_paramquery['run'] = "common_dialog"; $member_paramquery['dialog'] = "user_detail"; $member_paramquery['id'] = $value; $member_params = http_build_query($member_paramquery, '', '&'); if ($ou_members) { $ou_members .= ", <a href='index.php?" . $member_params . "'>" . $member->get_full_name(true) . "</a>"; } else { $ou_members .= "<a href='index.php?" . $member_params . "'>" . $member->get_full_name(true) . "</a>"; } } } else { $ou_members = "<span class='italic'>none</span>"; } $number_of_users = $organisation_unit->get_number_of_users(); $member_list_paramquery = $_GET; $member_list_paramquery['run'] = "common_dialog"; $member_list_paramquery['dialog'] = "ou_detail"; $member_list_paramquery['action'] = "list_members"; $member_list_paramquery['ou_id'] = $_GET['ou_id']; $member_list_params = http_build_query($member_list_paramquery, '', '&'); if ($number_of_users > 12) { $number_of_users = $number_of_users - 12; $ou_members .= " (+ <a href='index.php?" . $member_list_params . "'>" . $number_of_users . " more</a>)"; } else { $ou_members .= " (<a href='index.php?" . $member_list_params . "'>list</a>)"; } $template->set_var("members", $ou_members); // QUALITY MANAGERS $organisation_unit_quality_manager_array = $organisation_unit->list_quality_managers(12); if (is_array($organisation_unit_quality_manager_array) and count($organisation_unit_quality_manager_array) >= 1) { $ou_quality_managers = null; foreach ($organisation_unit_quality_manager_array as $key => $value) { $quality_manager = new User($value); $quality_manager_paramquery = $_GET; $quality_manager_paramquery['run'] = "common_dialog"; $quality_manager_paramquery['dialog'] = "user_detail"; $quality_manager_paramquery['id'] = $value; $quality_manager_params = http_build_query($quality_manager_paramquery, '', '&'); if ($ou_quality_managers) { $ou_quality_managers .= ", <a href='index.php?" . $quality_manager_params . "'>" . $quality_manager->get_full_name(true) . "</a>"; } else { $ou_quality_managers .= "<a href='index.php?" . $quality_manager_params . "'>" . $quality_manager->get_full_name(true) . "</a>"; } } } else { $ou_quality_managers = "<span class='italic'>none</span>"; } $number_of_quality_managers = $organisation_unit->get_number_of_quality_managers(); $quality_manager_list_paramquery = $_GET; $quality_manager_list_paramquery['run'] = "common_dialog"; $quality_manager_list_paramquery['dialog'] = "ou_detail"; $quality_manager_list_paramquery['action'] = "list_quality_managers"; $quality_manager_list_paramquery['ou_id'] = $_GET['ou_id']; $quality_manager_list_params = http_build_query($quality_manager_list_paramquery, '', '&'); if ($number_of_quality_managers > 12) { $number_of_quality_managers = $number_of_quality_managers - 12; $ou_quality_managers .= " (+ <a href='index.php?" . $quality_manager_list_params . "'>" . $number_of_quality_managers . " more</a>)"; } else { $ou_quality_managers .= " (<a href='index.php?" . $quality_manager_list_params . "'>list</a>)"; } $template->set_var("quality_managers", $ou_quality_managers); // GROUPS $organisation_unit_group_array = $organisation_unit->list_groups(12); if (is_array($organisation_unit_group_array) and count($organisation_unit_group_array) >= 1) { $ou_groups = null; foreach ($organisation_unit_group_array as $key => $value) { $group = new Group($value); $group_paramquery = $_GET; $group_paramquery['run'] = "common_dialog"; $group_paramquery['dialog'] = "group_detail"; $group_paramquery['id'] = $value; $group_params = http_build_query($group_paramquery, '', '&'); if ($ou_groups) { $ou_groups .= ", <a href='index.php?" . $group_params . "'>" . $group->get_name() . "</a>"; } else { $ou_groups .= "<a href='index.php?" . $group_params . "'>" . $group->get_name() . "</a>"; } } } else { $ou_groups = "<span class='italic'>none</span>"; } $number_of_groups = $organisation_unit->get_number_of_groups(); $group_list_paramquery = $_GET; $group_list_paramquery['run'] = "common_dialog"; $group_list_paramquery['dialog'] = "ou_detail"; $group_list_paramquery['action'] = "list_groups"; $group_list_paramquery['ou_id'] = $_GET['ou_id']; $group_list_params = http_build_query($group_list_paramquery, '', '&'); if ($number_of_groups > 12) { $number_of_groups = $number_of_groups - 12; $ou_groups .= " (+ <a href='index.php?" . $group_list_params . "'>" . $number_of_groups . " more</a>)"; } else { $ou_groups .= " (<a href='index.php?" . $group_list_params . "'>list</a>)"; } $template->set_var("groups", $ou_groups); $module_link_array = ModuleLink::list_links_by_type("ou_detail_buttons"); if (is_array($module_link_array) and count($module_link_array) >= 1) { $content_array = array(); $counter = 0; foreach ($module_link_array as $key => $value) { $button_template = new HTMLTemplate($value['file']); $button_paramquery = array(); $button_paramquery['username'] = $_GET['username']; $button_paramquery['session_id'] = $_GET['session_id']; if (is_array($value['array']) and count($value['array']) >= 1) { foreach ($value['array'] as $array_key => $array_value) { if (strpos($array_value, "%") === 0 and strpos($array_value, "%", 1) !== false) { $array_value_key = strtolower(str_replace("%", "", $array_value)); if ($_GET[$array_value_key]) { $button_paramquery[$array_key] = $_GET[$array_value_key]; } } else { $button_paramquery[$array_key] = $array_value; } } } $button_params = http_build_query($button_paramquery, '', '&'); $button_template->set_var("params", $button_params); $content_array[$counter]['content'] = $button_template->get_string(); $counter++; } $template->set_var("OU_FOOTER_ARRAY", $content_array); } $template->output(); } else { throw new OrganisationUnitIDMissingException(); } }
/** * @param string $json_column_array * @param string $json_argument_array * @param string $get_array * @param string $css_page_id * @param string $css_row_sort_id * @param string $entries_per_page * @param string $page * @param string $sortvalue * @param string $sortmethod * @return string * @throws UserIDMissingException */ public static function list_organisation_units_by_user_id($json_column_array, $json_argument_array, $get_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod) { if ($get_array) { $_GET = unserialize($get_array); } $argument_array = json_decode($json_argument_array); $user_id = $argument_array[1]; if (is_numeric($user_id)) { $list_request = new ListRequest_IO(); $list_request->set_column_array($json_column_array); if (!is_numeric($entries_per_page) or $entries_per_page < 1) { $entries_per_page = 20; } $list_array = OrganisationUnit_Wrapper::list_organisation_units_by_user_id($user_id, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page); if (is_array($list_array) and count($list_array) >= 1) { $module_link_array = ModuleLink::list_links_by_type("ou_navigation"); foreach ($list_array as $key => $value) { $paramquery['username'] = $_GET['username']; $paramquery['session_id'] = $_GET['session_id']; if (is_array($module_link_array[0]['array']) and count($module_link_array[0]['array']) >= 1) { foreach ($module_link_array[0]['array'] as $array_key => $array_value) { if ($array_value == "%OU_ID%") { $paramquery['ou_id'] = $list_array[$key]['id']; } else { $paramquery[$array_key] = $array_value; } } } $params = http_build_query($paramquery, '', '&'); $tmp_symbol = $list_array[$key]['symbol']; unset($list_array[$key]['symbol']); $list_array[$key]['symbol']['link'] = $params; $list_array[$key]['symbol']['content'] = "<img src='images/icons/" . $tmp_symbol . "' alt='N' border='0' />"; $tmp_name = $list_array[$key]['name']; unset($list_array[$key]['name']); $list_array[$key]['name']['link'] = $params; $list_array[$key]['name']['content'] = $tmp_name; if ($list_array[$key]['is_member']) { $my_status_string = "Member"; } if ($list_array[$key]['is_owner']) { if ($my_status_string) { $my_status_string .= ", Owner"; } else { $my_status_string = "Owner"; } } if ($list_array[$key]['is_leader']) { if ($my_status_string) { $my_status_string .= ", Leader"; } else { $my_status_string = "Leader"; } } if ($list_array[$key]['is_quality_manager']) { if ($my_status_string) { $my_status_string .= ", Quality Manager"; } else { $my_status_string = "Quality Manager"; } } $list_array[$key]['mystatus'] = $my_status_string; } } else { $list_request->empty_message("<span class='italic'>No Organisation Unit found!</span>"); } $list_request->set_array($list_array); return $list_request->get_page($page); } else { throw new UserIDMissingException(); } }
public function __construct($name, $url) { parent::__construct($name, $url, AppContext::get_current_user()->check_level(User::ADMIN_LEVEL)); }
/** * @param integer $id */ public static function get_children($id) { if (is_numeric($id) and $id != 0) { $return_array = array(); $organisation_unit = new OrganisationUnit($id); $organisation_unit_array = $organisation_unit->get_organisation_unit_children(); if (is_array($organisation_unit_array) and count($organisation_unit_array) >= 1) { $counter = 0; foreach ($organisation_unit_array as $key => $value) { $organisation_unit = new OrganisationUnit($value); $return_array[$counter][0] = -1; $return_array[$counter][1] = $value; $return_array[$counter][2] = $organisation_unit->get_name(); $return_array[$counter][3] = $organisation_unit->get_icon(); $return_array[$counter][4] = true; // Permission if ($organisation_unit->get_stores_data() == true) { $module_link_array = ModuleLink::list_links_by_type("ou_navigation"); if (is_array($module_link_array) and count($module_link_array) >= 1) { $paramquery['username'] = $_GET['username']; $paramquery['session_id'] = $_GET['session_id']; $module_link_array_key = 0; foreach ($module_link_array as $array_key => $array_value) { if ($array_value['array']['nav'] == $_GET['vnav']) { $module_link_array_key = $array_key; } } if (is_array($module_link_array[$module_link_array_key]['array']) and count($module_link_array[$module_link_array_key]['array']) >= 1) { foreach ($module_link_array[$module_link_array_key]['array'] as $array_key => $array_value) { if ($array_value == "%OU_ID%") { $paramquery['ou_id'] = $value; } else { $paramquery[$array_key] = $array_value; } } } $params = http_build_query($paramquery, '', '&'); $return_array[$counter][5] = true; $return_array[$counter][6] = $params; //link } else { $return_array[$counter][5] = true; $return_array[$counter][6] = ""; //link } } else { $return_array[$counter][5] = false; $return_array[$counter][6] = ""; } $return_array[$counter][7] = false; //open $counter++; } } echo json_encode($return_array); } }