예제 #1
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();
     }
 }
 /**
  * @throws OrganisationUnitIDMissingException
  */
 public static function detail()
 {
     global $user;
     if ($_GET['id']) {
         $organisation_unit_id = $_GET['id'];
         $template = new HTMLTemplate("organisation_unit/admin/organisation_unit/detail.html");
         if ($user->is_admin()) {
             $template->set_var("is_admin", true);
         } else {
             $template->set_var("is_admin", false);
         }
         $organisation_unit = new OrganisationUnit($organisation_unit_id);
         $template->set_var("name", $organisation_unit->get_name());
         $template->set_var("title", $organisation_unit->get_name());
         $paramquery = $_GET;
         $paramquery['action'] = "rename";
         $params = http_build_query($paramquery, '', '&#38;');
         $template->set_var("name_params", $params);
         // 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) {
                 $owner = new User($value);
                 if ($ou_owners) {
                     $ou_owners .= ", " . $owner->get_full_name(true);
                 } else {
                     $ou_owners .= $owner->get_full_name(true);
                 }
             }
         } else {
             $ou_owners = "<span class='italic'>none</span>";
         }
         $number_of_owners = $organisation_unit->get_number_of_owners();
         if ($number_of_owners > 12) {
             $number_of_owners = $number_of_owners - 12;
             $ou_owners .= " (+ " . $number_of_owners . " more)";
         }
         $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);
                 if ($ou_leaders) {
                     $ou_leaders .= ", " . $leader->get_full_name(true);
                 } else {
                     $ou_leaders .= $leader->get_full_name(true);
                 }
             }
         } else {
             $ou_leaders = "<span class='italic'>none</span>";
         }
         $number_of_leaders = $organisation_unit->get_number_of_leaders();
         if ($number_of_leaders > 12) {
             $number_of_leaders = $number_of_leaders - 12;
             $ou_leaders .= " (+ " . $number_of_leaders . " more)";
         }
         $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);
                 if ($ou_members) {
                     $ou_members .= ", " . $member->get_full_name(true);
                 } else {
                     $ou_members .= $member->get_full_name(true);
                 }
             }
         } else {
             $ou_members = "<span class='italic'>none</span>";
         }
         $number_of_users = $organisation_unit->get_number_of_users();
         if ($number_of_users > 12) {
             $number_of_users = $number_of_users - 12;
             $ou_members .= " (+ " . $number_of_users . " more)";
         }
         $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);
                 if ($ou_quality_managers) {
                     $ou_quality_managers .= ", " . $quality_manager->get_full_name(true);
                 } else {
                     $ou_quality_managers .= $quality_manager->get_full_name(true);
                 }
             }
         } else {
             $ou_quality_managers = "<span class='italic'>none</span>";
         }
         $number_of_quality_managers = $organisation_unit->get_number_of_quality_managers();
         if ($number_of_quality_managers > 12) {
             $number_of_quality_managers = $number_of_quality_managers - 12;
             $ou_quality_managers .= " (+ " . $number_of_quality_managers . " more)";
         }
         $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);
                 if ($ou_groups) {
                     $ou_groups .= ", " . $group->get_name();
                 } else {
                     $ou_groups .= $group->get_name();
                 }
             }
         } else {
             $ou_groups = "<span class='italic'>none</span>";
         }
         $number_of_groups = $organisation_unit->get_number_of_groups();
         if ($number_of_groups > 12) {
             $number_of_groups = $number_of_groups - 12;
             $ou_groups .= " (+ " . $number_of_groups . " more)";
         }
         $template->set_var("groups", $ou_groups);
         $template->output();
     } else {
         throw new OrganisationUnitIDMissingException();
     }
 }