コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: home.io.php プロジェクト: suxinde2009/www
    }
    $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);
コード例 #3
0
 /**
  * @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, '', '&#38;');
         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, '', '&#38;');
                 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, '', '&#38;');
         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, '', '&#38;');
                 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, '', '&#38;');
         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, '', '&#38;');
                 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, '', '&#38;');
         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, '', '&#38;');
                 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, '', '&#38;');
         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, '', '&#38;');
                 $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();
     }
 }
コード例 #4
0
 /**
  * @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, '', '&#38;');
                 $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();
     }
 }
コード例 #5
0
 public function __construct($name, $url)
 {
     parent::__construct($name, $url, AppContext::get_current_user()->check_level(User::ADMIN_LEVEL));
 }
コード例 #6
0
 /**
  * @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, '', '&#38;');
                         $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);
     }
 }