Example #1
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 BaseUserAccessDeniedException
  */
 public static function list_groups($json_column_array, $json_argument_array, $get_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod)
 {
     global $user;
     if ($user->is_admin()) {
         if ($get_array) {
             $_GET = unserialize($get_array);
         }
         $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 = User_Wrapper::list_groups($sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page);
         if (is_array($list_array) and count($list_array) >= 1) {
             foreach ($list_array as $key => $value) {
                 $group = new Group($list_array[$key]['id']);
                 $paramquery = $_GET;
                 $paramquery['action'] = "detail";
                 $paramquery['id'] = $list_array[$key]['id'];
                 $params = http_build_query($paramquery, '', '&#38;');
                 unset($list_array[$key]['name']);
                 $list_array[$key]['symbol']['link'] = $params;
                 $list_array[$key]['symbol']['content'] = "<img src='images/icons/groups.png' alt='' style='border: 0;' />";
                 $list_array[$key]['name']['link'] = $params;
                 $list_array[$key]['name']['content'] = $group->get_name();
                 $list_array[$key]['users'] = $group->get_number_of_user_members();
                 $paramquery = $_GET;
                 $paramquery['action'] = "delete";
                 $paramquery['id'] = $list_array[$key]['id'];
                 $params = http_build_query($paramquery, '', '&#38;');
                 if ($list_array[$key]['id'] < 100) {
                     $list_array[$key]['delete'] = "<img src='images/icons/delete_group_na.png' alt='' style='border: 0;' />";
                 } else {
                     $list_array[$key]['delete']['link'] = $params;
                     $list_array[$key]['delete']['content'] = "<img src='images/icons/delete_group.png' alt='' style='border: 0;' />";
                 }
             }
         } else {
             $list_request->empty_message("<span class='italic'>No groups found!</span>");
         }
         $list_request->set_array($list_array);
         return $list_request->get_page($page);
     } else {
         throw new BaseUserAccessDeniedException();
     }
 }
Example #2
0
 /**
  * @todo remove code; merge with IO permission function (GET <-> POST)
  * @return string
  * @throws FolderIDMissingException
  */
 public static function permission_window()
 {
     global $user;
     if ($_POST['file_id'] or $_POST['value_id'] or $_POST['parameter_id'] or $_POST['folder_id']) {
         if ($_POST['file_id']) {
             $id = $_POST['file_id'];
             $object = File::get_instance($id);
             $type = "file";
             $title = $object->get_name();
         }
         if ($_POST['value_id']) {
             $id = $_POST['value_id'];
             $object = Value::get_instance($id);
             $type = "value";
             $title = $object->get_type_name();
         }
         if ($_POST['parameter_id']) {
             $id = $_POST['parameter_id'];
             $object = Parameter::get_instance($id);
             $type = "parameter";
             $title = $object->get_name();
         }
         if ($_POST['folder_id']) {
             $id = $_POST['folder_id'];
             $object = Folder::get_instance($id);
             $type = "folder";
             $title = $object->get_name();
         }
     } else {
         throw new FolderIDMissingException();
     }
     $data_permission = new DataPermission($type, $id);
     $template = new HTMLTemplate("data/data_permission_window.html");
     $template->set_var("title", $title);
     $user = new User($data_permission->get_owner_id());
     $group = new Group($data_permission->get_owner_group_id());
     $template->set_var("owner", $user->get_full_name(false));
     $template->set_var("owner_group", $group->get_name());
     if ($object->can_set_automatic()) {
         $disable_automatic = false;
     } else {
         $disable_automatic = true;
     }
     if ($object->can_set_data_entity()) {
         $disable_project = false;
     } else {
         $disable_project = true;
     }
     if ($object->can_set_control()) {
         $disable_control = false;
     } else {
         $disable_control = true;
     }
     if ($object->can_set_remain()) {
         $disable_remain = false;
     } else {
         $disable_remain = true;
     }
     if ($disable_automatic == true) {
         $template->set_var("disabled_automatic", "disabled='disabled'");
     } else {
         $template->set_var("disabled_automatic", "");
     }
     if ($data_permission->get_automatic() == true) {
         $template->set_var("checked_automatic", "checked='checked'");
         if ($disable_automatic == true) {
             $template->set_var("hidden_automatic", "<input type='hidden' name='automatic' value='1' />");
         } else {
             $template->set_var("hidden_automatic", "");
         }
     } else {
         $template->set_var("checked_automatic", "");
         $template->set_var("hidden_automatic", "");
     }
     $permission_array = $data_permission->get_permission_array();
     for ($i = 1; $i <= 4; $i++) {
         for ($j = 1; $j <= 4; $j++) {
             $checked_name = "checked_" . $i . "_" . $j;
             $disabled_name = "disabled_" . $i . "_" . $j;
             $hidden_name = "hidden_" . $i . "_" . $j;
             if ($i == 3 and $disable_project == true) {
                 $template->set_var($disabled_name, "disabled='disabled'");
                 $disabled = true;
             } else {
                 if (($j == 3 or $j == 4) and $disable_control == true) {
                     $template->set_var($disabled_name, "disabled='disabled'");
                     $disabled = true;
                 } else {
                     if ($disable_remain == true) {
                         $template->set_var($disabled_name, "disabled='disabled'");
                         $disabled = true;
                     } else {
                         $template->set_var($disabled_name, "");
                         $disabled = false;
                     }
                 }
             }
             if ($permission_array[$i][$j] == true) {
                 $template->set_var($checked_name, "checked='checked'");
                 if ($disabled == true) {
                     $template->set_var($hidden_name, "<input type='hidden' name='" . $checked_name . "' value='1' />");
                 } else {
                     $template->set_var($hidden_name, "");
                 }
             } else {
                 $template->set_var($checked_name, "");
                 $template->set_var($hidden_name, "");
             }
             $disabled = false;
         }
     }
     $paramquery = $_GET;
     $paramquery['nav'] = "data";
     unset($paramquery['action']);
     $params = http_build_query($paramquery, '', '&#38;');
     return $template->get_string();
 }
 /**
  * @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 OrganisationUnitIDMissingException
  */
 public static function list_groups($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);
     $organisation_unit_id = $argument_array[1];
     if (is_numeric($organisation_unit_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_unit_groups($organisation_unit_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) {
                 $group = new Group($value['id']);
                 $list_array[$key]['symbol'] = "<img src='images/icons/groups.png' alt='' />";
                 $list_array[$key]['groupname'] = $group->get_name();
             }
         } else {
             $list_request->empty_message("<span class='italic'>No results found!</span>");
         }
         $list_request->set_array($list_array);
         return $list_request->get_page($page);
     } else {
         throw new OrganisationUnitIDMissingException();
     }
 }
Example #4
0
        echo BASE;
        ?>
group/<?php 
        echo $suggested_group->get_id();
        ?>
/">
												<div class="group" id="group-<?php 
        echo $suggested_group->get_id();
        ?>
" style="background-image: url(<?php 
        echo $suggested_group->get_url_for_header_image_to_show();
        ?>
);">
													<div class="group-header">
														<h3><?php 
        echo $suggested_group->get_name();
        ?>
</h3>
														<div class="publicity">
															<?php 
        if ($suggested_group->get_public() == 1) {
            ?>
																<span class="fa fa-unlock fa-2x"></span>
																<?php 
        } else {
            ?>
																<span class="fa fa-lock fa-2x"></span>
																<?php 
        }
        ?>
														</div>
Example #5
0
function displayGroupManagement()
{
    global $tool, $propertyForm;
    $groups = Group::get_groups();
    echo "<style>";
    foreach ($groups as $id => $value) {
        echo "#modalBox #allUserDialog" . $id;
        echo "{\n\t\t\twidth:auto;\n\t\t\tmax-width: 80%;\n\t\t\tmin-width:40%;\n\t\t\theight:auto;\n\t\t\tpadding:10px;\n\t\t\tpadding-top:10px;\n\t\t\toverflow:auto;\n\t\t}";
    }
    echo "</style>";
    $toolNames = array("Add Group");
    $toolIcons = array("add");
    $formType = array("newDialog");
    echo $tool->createNewModal($toolNames, $toolIcons, $formType);
    foreach ($groups as $id => $value) {
        $curGroup = new Group($id);
        $groupID = $id;
        $access = $curGroup->get_access_level();
        switch ($access) {
            case 0:
                $access = "No Access";
                break;
            case 25:
                $access = "Read Only";
                break;
            case 50:
                $access = "Read Write Only";
                break;
            case 100:
                $access = "Admin";
                break;
        }
        echo "<form method='post' action='' style='width:1024px;'><input type='hidden' name='groupID' value='" . $curGroup->get_group_id() . "' />\n\t\t<table id=\"sortDataTable\" class='sortable' cellspacing=\"0\" cellpadding=\"0\" border=\"1\" style='width:100%; clear:left;'>\n\t\t<thead>\n\t\t<tr>\n\t\t<th style='text-align:left;'>" . $curGroup->get_name() . "</th>\n\t\t<th colspan='10'><a name='modal' href='#dialog" . $id . "' style='float:right; margin-bottom:5px; margin-right: 5px;'>Edit</a></th>\n\t\t</tr>\n\t\t</thead>\n\t\t<tbody>";
        if ($curGroup->get_group_pass() == true) {
            $myModalID = "modalPass" . $curGroup->get_group_id();
            // Check if it already has a password or not.
            if ($curGroup->has_password() == 1) {
                // Already has a password
                // this is to update existing pass
                // Create custom input field for password
                // as type password is not defined in class...
                $group_pass = "******" . $myModalID . "'>Update Group Password</a>";
                $heading = array("Update Group Password");
                $title = array("Old Password", "New Password", "New Password", "group_id", "action");
                $keys = array("old_pass", "new_pass1", "new_pass2", "group_id", "update_group_key");
                $data = array("", "", "", $curGroup->get_group_id(), "update_group_key");
                $fieldType = array(0 => "password", 1 => "password", 2 => "password", 3 => "hidden", 4 => "hidden");
            } elseif ($curGroup->has_password() == 0) {
                // Group does not yet have a pass
                // Inital password will be set below
                $group_pass = "******" . $myModalID . "'>Set Group Password</a>";
                $heading = array("Configure Group Password");
                $title = array("Old Password", "New Password", "New Password", "group_id", "action");
                $keys = array("old_pass", "new_pass1", "new_pass2", "group_id", "update_group_key");
                $data = array("dummy", "", "", $curGroup->get_group_id(), "update_group_key");
                $fieldType = array(0 => 'hidden', 1 => 'password', 2 => 'password', 3 => "hidden", 4 => "hidden");
            }
            // Modal for password update
            $form = new Form("auto", 2);
            $form->setHeadings($heading);
            $form->setTitles($title);
            $form->setData($data);
            $form->setDatabase($keys);
            $form->setFieldType($fieldType);
            $form->setModalID($myModalID);
            //set the table size
            $form->setTableWidth("1024px");
            $form->setTitleWidth("20%");
            $modal_group_pass .= $form->modalForm();
            // End Modal for group pass
        } else {
            $group_pass = "******";
        }
        echo "\n\t\t<tr class='form'><td style='text-align:left; width:200px;'><h3>Description</h3>" . $curGroup->get_description() . "</td>\n\t\t<td style='text-align:left; width:200px;'><h3>LDAP Group Name</h3>" . $curGroup->get_ldap_group_name() . "</td>\n\t\t<td style='text-align:left; width:100px;'><h3>Access Level</h3>" . $access . "</td>\n\t\t<td style='text-align:left; width:100px;'><h3>Access To Private Data</h3>" . $group_pass . "</td></tr>";
        echo "<tr class='form'><td colspan='4'>";
        $groupUsers = $curGroup->get_users();
        foreach ($groupUsers as $id => $value) {
            echo "<input type='checkbox' name='userList[]' value='" . $id . "'>" . $value . " | ";
        }
        echo "<a name=modal href='#allUserDialog" . $groupID . "'>Add User...</a>\n\t\t</td></tr>";
        echo "</tbody>\n\t\t</table>";
        echo "<input type='submit' name='delUserFromGroup' value='Delete Users From Group' style='float:right; margin-bottom:5px; margin-right: 5px;' />";
        echo "<input type='submit' name='delGroup' value='Delete Group' style='float:left; clear:left; margin-bottom:20px;' />\n\t\t</form>";
        echo "<div id='modalBox'>";
        $users = User::get_users();
        echo "<div id='allUserDialog" . $groupID . "' class='window'>\n\t\t\t <a href='#'class='close' /><img src='icons/close.png'></a>\n\t\t\t <form method='post' action=''>\n\t\t\t <input type='hidden' name='groups2' value='" . $curGroup->get_group_id() . "' />";
        foreach ($users as $id => $value) {
            $isIn = false;
            foreach ($groupUsers as $gid => $gvalue) {
                if ($value == $gvalue) {
                    $isIn = true;
                }
            }
            if (!$isIn) {
                echo "<input type='checkbox' name='list[]' value='" . $id . "'>" . $value . " | ";
            }
        }
        echo "<input type='submit' name='userToGroup' value='Add Users to Group' />";
        echo "</form>\n\t\t\t </div>";
        echo "<div id='mask'></div>\n\t\t\t </div>";
    }
    $heading = array("Group Information");
    $title = array("Group Name", "Group Description", "Access Level");
    $key = array("name", "desc", "access");
    foreach ($groups as $id => $value) {
        $curGroup = new Group($id);
        switch ($curGroup->get_access_level()) {
            case 0:
                $value = "No Access";
                break;
            case 25:
                $value = "Read Only";
                break;
            case 50:
                $value = "Read Write Only";
                break;
            case 100:
                $value = "Admin";
                break;
        }
        if ($curGroup->get_group_pass() == true) {
            $group_pass = "******";
        } else {
            $group_pass = "******";
        }
        $info = array($id, $curGroup->get_name(), $curGroup->get_description(), $value, $curGroup->get_ldap_group_name(), $group_pass);
        // Only render group pass if it's
        $heading2 = array("Group Information");
        $title2 = array("ID", "Group Name", "Group Description", "Access Level", "LDAP Group", "Enable Private Data access");
        $key2 = array("id", "name", "desc", "access", "ldap", "group_pass");
        //create a new modal form for a new interface ports
        $fieldType = array(0 => "static", 3 => "drop_down", 5 => "drop_down");
        $propertyForm->setFieldType($fieldType);
        $accessLevel = array(0 => "No Access", 25 => "Read Only", 50 => "Read Write Only", 100 => "Admin");
        $group_pass = array(0 => "Disabled", 1 => "Enabled");
        $propertyForm->setType($accessLevel);
        $propertyForm->setType($group_pass);
        echo $propertyForm->editModalForm($heading2, $title2, $info, $key2, "dialog" . $id, "updateGroup");
    }
    //create a new modal form for a new interface ports
    $fieldType = array(2 => "drop_down");
    $propertyForm->setFieldType($fieldType);
    $accessLevel = array(0 => "No Access", 25 => "Read Only", 50 => "Read Write Only", 100 => "Admin");
    $propertyForm->setType($accessLevel);
    echo $propertyForm->newModalForm($heading, $title, $key, "addGroup");
    echo $modal_group_pass;
}
Example #6
0
      * If they are still admins it's because they were the only one left.
      *   They will then proceed to destroy the group.
      */
     try {
         $group->remove_admin($user);
     } catch (Exception $e) {
         // Do nothing
     }
     try {
         $group->remove_reader($user);
     } catch (Exception $e) {
         // Do nothing
     }
     // If user was removed, then say so and quit.
     if (!$group->is_admin($user) && !$group->is_reader($user)) {
         Helpers::respond_json(new Attempt('success', "{$user->get_name()} removed from {$group->get_name()}."));
         die;
     }
     try {
         // If user is still admin, destroy group
         $group->destroy($user);
         $attempt = new Attempt('success', 'Group ' . $group->get_name() . ' removed permanently by ' . $user->get_name() . ".");
     } catch (Exception $e) {
         Helpers::respond_json(new Attempt('error', $e->getMessage()));
         die;
     }
     // END of remove_group
 } else {
     if ($action == "am_admin") {
         try {
             $group_name = Helpers::require_variable('group', 'a group name');
Example #7
0
        }
        ?>
		<script>alert("<?php 
        echo $answer;
        ?>
");</script>
		<?php 
    } elseif (isset($_POST['edit'])) {
        $student_level_in_group = $student->get_student_level_in_group($group->get_id());
        if ($student_level_in_group === 2 || $student_level_in_group === 3) {
            $safe_name = sanitize_text($_POST['editGroupName']);
            $safe_max_size = sanitize_int($_POST['editGroupSize']);
            $safe_category = sanitize_int($_POST['editGroupCategory']);
            $safe_description = sanitize_text($_POST['editGroupDescription']);
            if ($student_level_in_group === 2) {
                $safe_name = $group->get_name();
                $safe_max_size = $group->get_max_members();
                $safe_category = $group->get_category_id();
                $edit_message = $group->update_group($safe_name, $safe_max_size, $safe_category, $safe_description);
                $edited = TRUE;
            } elseif ($student_level_in_group === 3) {
                if ($gc->validate_if_category($safe_category) === FALSE) {
                    $safe_category = $group->get_category_id();
                }
                $edit_message = $group->update_group($safe_name, $safe_max_size, $safe_category, $safe_description);
                $edited = TRUE;
            }
        }
    }
    if (isset($_POST['madmin'])) {
        //Make the given user admin in group!
Example #8
0
 /**
  * @throws ProjectIDMissingException
  * @throws ProjectSecurityAccessDeniedException
  * @throws ProjectPermissionIDMissingException
  */
 public static function permission_edit()
 {
     global $project_security, $user;
     if ($_GET['project_id']) {
         if ($_GET['id']) {
             $project_id = $_GET['project_id'];
             $project = new Project($project_id);
             $project_permission = ProjectPermission::get_instance($_GET['id']);
             if ($user->get_user_id() == $project->get_owner_id() or $project_security->is_access(2, false) == true or $project_security->is_access(4, false) == true or $project_security->is_access(7, false) == true) {
                 if ($_GET['nextpage'] == 1) {
                     $page_1_passed = true;
                 } else {
                     $page_1_passed = false;
                     $error = "";
                 }
                 if ($page_1_passed == false) {
                     $template = new HTMLTemplate("project/admin/permission_add_edit.html");
                     $template->set_var("add_edit", "Edit");
                     $paramquery = $_GET;
                     $paramquery['nextpage'] = "1";
                     $params = http_build_query($paramquery, '', '&#38;');
                     $template->set_var("params", $params);
                     $template->set_var("error", $error);
                     $user_id = $project_permission->get_user_id();
                     $group_id = $project_permission->get_group_id();
                     $organ_unit_id = $project_permission->get_organisation_unit_id();
                     if ($user_id) {
                         $permission_user = new User($user_id);
                         $template->set_var("name", $permission_user->get_username());
                         $template->set_var("type", "user");
                     } elseif ($group_id) {
                         $group = new Group($group_id);
                         $template->set_var("name", $group->get_name());
                         $template->set_var("type", "group");
                     } else {
                         $organisation_unit = new OrganisationUnit($organ_unit_id);
                         $template->set_var("name", $organisation_unit->get_name());
                         $template->set_var("type", "organisation unit");
                     }
                     $permission_array = $project_permission->get_permission_array();
                     if ($permission_array['read'] == true) {
                         $template->set_var("checked_re", "checked='checked'");
                     } else {
                         $template->set_var("checked_re", "");
                     }
                     if ($permission_array['set_readable'] == true) {
                         $template->set_var("checked_sr", "checked='checked'");
                     } else {
                         $template->set_var("checked_sr", "");
                     }
                     if ($permission_array['write'] == true) {
                         $template->set_var("checked_wr", "checked='checked'");
                     } else {
                         $template->set_var("checked_wr", "");
                     }
                     if ($permission_array['set_writeable'] == true) {
                         $template->set_var("checked_sw", "checked='checked'");
                     } else {
                         $template->set_var("checked_sw", "");
                     }
                     if ($permission_array['reactivate'] == true) {
                         $template->set_var("checked_ra", "checked='checked'");
                     } else {
                         $template->set_var("checked_ra", "");
                     }
                     if ($permission_array['delete'] == true) {
                         $template->set_var("checked_de", "checked='checked'");
                     } else {
                         $template->set_var("checked_de", "");
                     }
                     if ($permission_array['set_permissions'] == true) {
                         $template->set_var("checked_sp", "checked='checked'");
                     } else {
                         $template->set_var("checked_sp", "");
                     }
                     if ($project_security->is_access(2, false) or $project->get_owner_id() == $user->get_user_id()) {
                         $template->set_var("disabled_re", "");
                     } else {
                         $template->set_var("disabled_re", "disabled='disabled'");
                     }
                     if ($project_security->is_access(7, false) or $project->get_owner_id() == $user->get_user_id()) {
                         $template->set_var("disabled_sr", "");
                         $template->set_var("disabled_sw", "");
                     } else {
                         $template->set_var("disabled_sr", "disabled='disabled'");
                         $template->set_var("disabled_sw", "disabled='disabled'");
                     }
                     if ($project_security->is_access(4, false) or $project->get_owner_id() == $user->get_user_id()) {
                         $template->set_var("disabled_wr", false);
                     } else {
                         $template->set_var("disabled_wr", "disabled='disabled'");
                     }
                     if ($project_security->is_access(7, false)) {
                         $template->set_var("disabled_ra", "");
                         $template->set_var("disabled_de", "");
                         $template->set_var("disabled_sp", "");
                     } else {
                         $template->set_var("disabled_ra", "disabled='disabled'");
                         $template->set_var("disabled_de", "disabled='disabled'");
                         $template->set_var("disabled_sp", "disabled='disabled'");
                     }
                     $template->output();
                 } else {
                     $paramquery = $_GET;
                     unset($paramquery['nextpage']);
                     unset($paramquery['id']);
                     $paramquery['run'] = "admin_permission";
                     $params = http_build_query($paramquery);
                     $new_permission = 0;
                     if ($_POST['re'] == "1") {
                         $new_permission = $new_permission + 1;
                     }
                     if ($_POST['sr'] == "1") {
                         $new_permission = $new_permission + 2;
                     }
                     if ($_POST['wr'] == "1") {
                         $new_permission = $new_permission + 4;
                     }
                     if ($_POST['sw'] == "1") {
                         $new_permission = $new_permission + 8;
                     }
                     if ($_POST['ra'] == "1") {
                         $new_permission = $new_permission + 16;
                     }
                     if ($_POST['de'] == "1") {
                         $new_permission = $new_permission + 32;
                     }
                     if ($_POST['sp'] == "1") {
                         $new_permission = $new_permission + 64;
                     }
                     if ($project_permission->set_permission($new_permission)) {
                         Common_IO::step_proceed($params, "Edit Permission", "Operation Successful", null);
                     } else {
                         Common_IO::step_proceed($params, "Edit Permission", "Operation Failed", null);
                     }
                 }
             } else {
                 throw new ProjectSecurityAccessDeniedException();
             }
         } else {
             throw new ProjectPermissonIDMissingException();
         }
     } else {
         throw new ProjectIDMissingException();
     }
 }
Example #9
0
 /**
  * @see EventListenerInterface::listen_events()
  * @param object $event_object
  * @return bool
  */
 public static function listen_events($event_object)
 {
     if ($event_object instanceof GroupCreateEvent) {
         $group_folder = new GroupFolder(null);
         if ($group_folder->create($event_object->get_group_id()) == false) {
             return false;
         }
     }
     if ($event_object instanceof GroupPostDeleteEvent) {
         $folder_id = GroupFolder::get_folder_by_group_id($event_object->get_group_id());
         $group_folder = new GroupFolder($folder_id);
         if ($group_folder->delete(true, true) == false) {
             return false;
         }
     }
     if ($event_object instanceof GroupRenameEvent) {
         $group = new Group($event_object->get_group_id());
         $group_folder = new GroupFolder(self::get_folder_by_group_id($event_object->get_group_id()));
         if ($group_folder->set_name($group->get_name()) == false) {
             return false;
         }
     }
     return true;
 }
Example #10
0
 function index()
 {
     create_context(TRUE);
     $del_user = array();
     //建立$group1
     $group1 = $this->group->create_group($this->url, $this->group_name1);
     //[R]$group1->get_name()
     $this->unit->run($group1->get_name(), $this->group_name1, '建立$group1 [R]$group1->get_name()');
     //$group1find = find by name
     $group1finds = $this->group->find_groups($this->url, $this->group_name1);
     $group1find = $group1finds[0];
     //$group1find->get_domain()
     $domain1 = $group1find->get_domain();
     //[R]取得domain的host
     $this->unit->run($domain1->get_host(), $this->host, '$group1find = find by name get_domain() [R]取得domain的host');
     //建立$user1
     //把$user1加入$group1中
     $user1 = $this->user->create_user($this->url, $this->user_name1);
     $group1->add_actor($user1);
     //$group1->get_users()
     $users = $group1->get_users();
     //[R]測試get_users()數量是否為1
     $this->unit->run(count($users), 1, '把$user1加入$group1中 $group1->get_users() [R]測試get_users()數量是否為1');
     //記得$group1_id
     //$group1find = find by id
     $group1_id = $group1->get_id();
     //$group1find = $this->group->find('id', $group1_id);
     $group1find = new Group($group1_id);
     //$group1find->get_users()
     //[R]測試users[0]的名字是否符合
     $users = $group1find->get_users();
     $this->unit->run($users[0]->get_email(), $this->user_name1, '$group1find = find by id | $group1find->get_users() | [R]測試users[0]的名字是否符合' . $users[0]->get_id());
     //從$group1中移除$user1
     //[R]$group1看看是否數量為0
     $group1->remove_actor($users[0]);
     $users = $group1->get_users();
     $this->unit->run(count($users), 0, '從$group1中移除$user1 | [R]$group1看看是否數量為0');
     //$group1find = find by id
     //[R] 看看get_users數量是否為0
     //$group1find = $this->group->find(array('group_id'=> $group1_id));
     $group1find = new Group($group1_id);
     $users = $group1find->get_users();
     $this->unit->run(count($users), 0, '$group1find = find by id | [R] 看看get_users數量是否為0');
     //建立$group2
     //把$group2加入$group1中
     $group2 = $this->group->create_group($this->url, $this->group_name2);
     $group1->add_actor($group2);
     //從$group1中get_group
     //[R]檢查groups[0]是否跟$group2->equals()
     $groups = $group1->get_groups();
     $this->unit->run($group2->equals($groups[0]), TRUE, '從$group1中get_group | [R]檢查groups[0]是否跟$group2->equals()');
     //建立$user2
     //把$user2加入$group2中
     //取得$user2->get_parent_groups()
     //[R] 檢查數量是否有2個
     $user2 = $this->user->create_user($this->url, $this->user_name2);
     $group2->add_actor($user2);
     $groups = $user2->get_parent_groups();
     $this->unit->run(count($groups), 2, '建立$user2 | 把$user2加入$group2中 | 取得$user2->get_parent_groups() | [R] 檢查數量是否有2個');
     //[R] 檢查第一個是否equals $group1
     $this->unit->run($groups[0]->equals($group2), TRUE, '[R] 檢查第一個是否equals $group2');
     //[R] 檢查第二個是否跟$group2的名稱一樣
     $this->unit->run($group1->equals($groups[1]), TRUE, '[R] 檢查第二個是否跟$group1的名稱一樣');
     //刪除$group1
     $group1->delete();
     //取得$user2的get_parent_groups
     //[R] 數量是否為1
     $groups = $user2->get_parent_groups();
     $this->unit->run(count($groups), 1, '取得$user2的get_parent_groups | [R] 數量是否為1');
     //[R] 是否equals $group2
     $this->unit->run($groups[0]->equals($group2), TRUE, '[R] 是否equals $group2');
     //刪除$group2
     $group2->delete();
     //[R] 確認$group2的名稱消失
     $this->unit->run($group2->get_name(), NULL, '刪除$group2 | [R] 確認$group2的名稱消失');
     //用id去找尋$group1
     //[R] 確認找不到
     //$group1find = $this->group->find('group_id', $group1_id);
     $group1find = new Group($group1_id);
     $this->unit->run($group1find->get_name(), NULL, '用id去找尋$group1 | [R] 確認get_name取不到名字');
     //刪除$user1 $user2
     //用資料庫刪除
     //        $user1_id = $user1->get_id();
     //        $user2_id = $user2->get_id();
     //        $user1->delete();
     //        $user2->delete();
     //        $this->db->delete('domain2user', array('user_id'=>$user1_id));
     //        $this->db->delete('domain2user', array('user_id'=>$user2_id));
     //        $this->db->delete('user', array('user_id'=>$user1_id));
     //        $this->db->delete('user', array('user_id'=>$user2_id));
     //        $this->unit->run($test_result,
     //                $expected_result,
     //                $test_name);
     unit_test_report($this);
 }
Example #11
0
 /**
  * @throws FolderIDMissingException
  */
 public static function change_group()
 {
     if ($_GET['file_id'] or $_GET['value_id'] or $_GET['parameter_id'] or $_GET['folder_id']) {
         if ($_GET['file_id']) {
             $id = $_GET['file_id'];
             $object = File::get_instance($id);
             $type = "file";
             $title = $object->get_name();
         }
         if ($_GET['value_id']) {
             $id = $_GET['value_id'];
             $object = Value::get_instance($id);
             $type = "value";
             $title = $object->get_type_name();
         }
         if ($_GET['parameter_id']) {
             $id = $_GET['parameter_id'];
             $object = Parameter::get_instance($id);
             $type = "parameter";
             $title = $object->get_name();
         }
         if ($_GET['folder_id']) {
             $id = $_GET['folder_id'];
             $object = Folder::get_instance($id);
             $type = "folder";
             $title = $object->get_name();
         }
     } else {
         throw new FolderIDMissingException();
     }
     if ($object->is_control_access() == true) {
         $data_permission = new DataPermission($type, $id);
         if (!$_GET['nextpage']) {
             $template = new HTMLTemplate("data/data_change_group.html");
             $paramquery = $_GET;
             $paramquery['nextpage'] = "1";
             $params = http_build_query($paramquery, '', '&#38;');
             $template->set_var("params", $params);
             $template->set_var("title", $title);
             $template->set_var("error", "");
             $group_array = Group::list_groups();
             $result = array();
             $counter = 0;
             foreach ($group_array as $key => $value) {
                 $group = new Group($value);
                 $result[$counter]['value'] = $value;
                 $result[$counter]['content'] = $group->get_name();
                 $counter++;
             }
             $template->set_var("option", $result);
             $paramquery = $_GET;
             $paramquery['action'] = "permission";
             unset($paramquery['nextpage']);
             $params = http_build_query($paramquery, '', '&#38;');
             $template->set_var("back_link", $params);
             $template->output();
         } else {
             $paramquery = $_GET;
             $paramquery['action'] = "permission";
             unset($paramquery['nextpage']);
             $params = http_build_query($paramquery, '', '&#38;');
             if ($data_permission->set_owner_group_id($_POST['group']) == true) {
                 Common_IO::step_proceed($params, "Permission: " . $title . "", "Changes saved succesful", null);
             } else {
                 Common_IO::step_proceed($params, "Permission: " . $title . "", "Operation failed", null);
             }
         }
     } else {
         throw new DataSecuriyAccessDeniedException();
     }
 }
Example #12
0
 /**
  * @throws UserIDMissingException
  */
 public static function add_group()
 {
     if ($_GET['id']) {
         if ($_GET['nextpage'] == 1) {
             if (is_numeric($_POST['group'])) {
                 $group = new Group($_POST['group']);
                 if ($group->is_user_in_group($_GET['id']) == true) {
                     $page_1_passed = false;
                     $error = "The user is already member of this group.";
                 } else {
                     $page_1_passed = true;
                 }
             } else {
                 $page_1_passed = false;
                 $error = "You must select a group.";
             }
         } elseif ($_GET['nextpage'] > 1) {
             $page_1_passed = true;
         } else {
             $page_1_passed = false;
             $error = "";
         }
         if ($page_1_passed == false) {
             $template = new HTMLTemplate("base/user/admin/user/add_group.html");
             $paramquery = $_GET;
             $paramquery['nextpage'] = "1";
             $params = http_build_query($paramquery, '', '&#38;');
             $template->set_var("params", $params);
             $template->set_var("error", $error);
             $group_array = Group::list_groups();
             $result = array();
             $counter = 0;
             foreach ($group_array as $key => $value) {
                 $group = new Group($value);
                 $result[$counter]['value'] = $value;
                 $result[$counter]['content'] = $group->get_name();
                 $counter++;
             }
             $template->set_var("option", $result);
             $template->output();
         } else {
             $group = new Group($_POST['group']);
             $paramquery = $_GET;
             $paramquery['action'] = "detail";
             unset($paramquery['nextpage']);
             $params = http_build_query($paramquery, '', '&#38;');
             if ($group->create_user_in_group($_GET['id'])) {
                 Common_IO::step_proceed($params, "Add Group", "Operation Successful", null);
             } else {
                 Common_IO::step_proceed($params, "Add Group", "Operation Failed", null);
             }
         }
     } else {
         throw new UserIDMissingException();
     }
 }
Example #13
0
 /**
  * @throws GroupIDMissingException
  */
 public static function group_details()
 {
     if ($_GET['id']) {
         $group = new Group($_GET['id']);
         $template = new HTMLTemplate("base/user/group_details.html");
         $template->set_var("name", $group->get_name());
         $user_array = Group::list_group_releated_users($_GET['id']);
         $user_content_array = array();
         $counter = 0;
         if (is_array($user_array) and count($user_array) >= 1) {
             foreach ($user_array as $key => $value) {
                 $user = new User($value);
                 $paramquery = $_GET;
                 $paramquery['dialog'] = "user_detail";
                 $paramquery['id'] = $value;
                 $params = http_build_query($paramquery, '', '&#38;');
                 $user_content_array[$counter]['username'] = $user->get_username();
                 $user_content_array[$counter]['fullname'] = $user->get_full_name(false);
                 $user_content_array[$counter]['params'] = $params;
                 $counter++;
             }
             $template->set_var("no_user", false);
         } else {
             $template->set_var("no_user", true);
         }
         $template->set_var("user", $user_content_array);
         $organisation_unit_array = OrganisationUnit::list_entries_by_group_id($_GET['id']);
         $organisation_unit_content_array = array();
         $counter = 0;
         if (is_array($organisation_unit_array) and count($organisation_unit_array) >= 1) {
             foreach ($organisation_unit_array as $key => $value) {
                 $organisation_unit = new OrganisationUnit($value);
                 $organisation_unit_content_array[$counter]['name'] = $organisation_unit->get_name();
                 $counter++;
             }
             $template->set_var("no_ou", false);
         } else {
             $template->set_var("no_ou", true);
         }
         $template->set_var("ou", $organisation_unit_content_array);
         $template->output();
     } else {
         throw new GroupIDMissingException();
     }
 }
Example #14
0
 /**
  * @throws GroupIDMissingException
  */
 public static function rename()
 {
     if ($_GET['id']) {
         $group = new Group($_GET['id']);
         if ($_GET['nextpage'] == 1) {
             if ($_POST['name']) {
                 if (Group::exist_name($_POST['name']) == true) {
                     $page_1_passed = false;
                     $error = "This name is already allocated.";
                 } else {
                     $page_1_passed = true;
                 }
             } else {
                 $page_1_passed = false;
                 $error = "You must enter a name.";
             }
         } elseif ($_GET['nextpage'] > 1) {
             $page_1_passed = true;
         } else {
             $page_1_passed = false;
             $error = "";
         }
         if ($page_1_passed == false) {
             $template = new HTMLTemplate("base/user/admin/group/rename.html");
             $paramquery = $_GET;
             $paramquery['nextpage'] = "1";
             $params = http_build_query($paramquery, '', '&#38;');
             $template->set_var("params", $params);
             $template->set_var("error", $error);
             if ($_POST['username']) {
                 $template->set_var("name", $_POST['name']);
             } else {
                 $template->set_var("name", $group->get_name());
             }
             $template->output();
         } else {
             $paramquery = $_GET;
             $paramquery['action'] = "detail";
             unset($paramquery['nextpage']);
             $params = http_build_query($paramquery, '', '&#38;');
             if ($group->set_name($_POST['name'])) {
                 Common_IO::step_proceed($params, "Rename User", "Operation Successful", null);
             } else {
                 Common_IO::step_proceed($params, "Rename User", "Operation Failed", null);
             }
         }
     } else {
         throw new GroupIDMissingException();
     }
 }
Example #15
0
 /**
  * Adds the group's name to the user's doc. If the user's doc has not been fetched, will attempt to read first.
  */
 public function remove_group(Group $group = null)
 {
     if ($group == null) {
         throw new UnexpectedValueException("Please supply a group.");
     }
     $group_name = $group->get_name();
     // If the doc is not there, add group.
     if (!isset($this->doc)) {
         try {
             $this->read();
         } catch (Exception $e) {
             throw new Exception("Attempted to read user doc: " . $e);
         }
     }
     if (!isset($this->doc)) {
         throw new Exception("Could not read user doc.");
     }
     $this->groups = Helpers::array_without($group_name, $this->groups);
     $this->save();
     return $this->doc['groups'];
 }
Example #16
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, '', '&#38;');
             $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, '', '&#38;');
                     $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, '', '&#38;');
                 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();
     }
 }
 /**
  * @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 BaseUserAccessDeniedException
  * @throws OrganisationUnitIDMissingException
  */
 public static function list_groups($json_column_array, $json_argument_array, $get_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod)
 {
     global $user;
     if ($user->is_admin()) {
         if ($get_array) {
             $_GET = unserialize($get_array);
         }
         $argument_array = json_decode($json_argument_array);
         $organisation_unit_id = $argument_array[1];
         if (is_numeric($organisation_unit_id)) {
             $type_id = $argument_array[1];
             $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_unit_groups($organisation_unit_id, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page);
             if (is_array($list_array) and count($list_array) >= 1) {
                 foreach ($list_array as $key => $value) {
                     $group = new Group($value['id']);
                     $list_array[$key]['symbol'] = "<img src='images/icons/groups.png' alt='' />";
                     $list_array[$key]['groupname'] = $group->get_name();
                     $list_array[$key]['delete'] = "<a href='#' class='OrganisationUnitAdminListDelete' id='OrganisationUnitAdminListDelete" . $list_array[$key]['id'] . "'><img src='images/icons/delete.png' alt='' style='border: 0;' /></a>";
                 }
             } else {
                 $list_request->empty_message("<span class='italic'>No results found!</span>");
             }
             $list_request->set_array($list_array);
             return $list_request->get_page($page);
         } else {
             throw new OrganisationUnitIDMissingException();
         }
     } else {
         throw new BaseUserAccessDeniedException();
     }
 }
Example #18
0
        echo BASE;
        ?>
group/<?php 
        echo $group->get_id();
        ?>
/">
												<div class="group" id="group-1" style="background-image: url(<?php 
        echo $group->get_url_for_header_image_to_show();
        ?>
); background-size: cover; background-position: center">
													<div class="small-group-header">
													</div>
												</div>
												<div class="small-group-data">
													<?php 
        echo $group->get_name();
        ?>
												</div>
											</a>
										</div>
									</div>
									<?php 
    }
} else {
    ?>
								<p>You are not member of a group yet.</p>
								<?php 
}
?>
							<div class="clearfix"></div>
						</div>
 /**
  * @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();
     }
 }