public static function get($id)
 {
     global $db;
     $query = "SELECT * FROM `student_leaves_of_absence` where `id`=" . $db->qstr($id);
     $result = $db->GetRow($query);
     if ($result) {
         $fr = LeaveOfAbsence::fromArray($result);
         return $fr;
     }
 }
 public static function get(User $user)
 {
     global $db;
     $user_id = $user->getID();
     $query = "SELECT * FROM `student_leaves_of_absence` WHERE `user_id` = " . $db->qstr($user_id);
     $results = $db->getAll($query);
     $frs = array();
     if ($results) {
         foreach ($results as $result) {
             $fr = LeaveOfAbsence::fromArray($result);
             $frs[] = $fr;
         }
         return new self($frs);
     }
 }
 public function __construct($user, $member)
 {
     // leadership notifications
     if ($user->role > 1) {
         // expired or pending leaves of absence
         if (LeaveOfAbsence::count_expired($member->game_id) > 0 || LeaveOfAbsence::count_pending($member->game_id) > 0) {
             array_push($this->messages, "<div class='alert alert-warning'><i class='fa fa-clock-o fa-lg'></i> There are leaves of absence that require your attention <a href='manage/leaves-of-absence' class='alert-link'>Manage Leaves of Absence</a></div>");
         }
     }
     // division CO / XO
     if ($user->role > 2) {
         if (count(Division::findUnassigned($member->game_id))) {
             array_push($this->messages, "<div class=\"alert alert-warning\"><i class=\"fa fa-exclamation-circle\"></i> Your division has unassigned members. Visit your division page to resolve this.</div>");
         }
     }
     if (!User::isValidated()) {
         array_push($this->messages, "<div class='alert alert-info'><i class='fa fa-envelope fa-lg'></i> Your account email has not been verified. <a href='#' class='alert-link send-email-validation' data-email='{$user->email}'>Send Validation</a></div>");
     }
 }
 public function generate()
 {
     // header
     $division_structure = "[table='align:center,width: {$this->info_width}']";
     $division_structure .= "[tr][td]";
     // banner
     $division_structure .= "[center][img]http://puu.sh/kGjU9/4f331d1a99.jpg[/img][/center]\r\n";
     /**
      * ------division leaders-----
      */
     $division_structure .= "\r\n\r\n[center][size=5][color={$this->div_name_color}][b][i][u]Division Leaders[/u][/i][/b][/color][/size][/center]\r\n";
     $division_structure .= "[center][size=4]";
     $division_leaders = Division::findDivisionLeaders($this->game_id);
     foreach ($division_leaders as $player) {
         $player_name = Rank::convert($player->rank_id)->abbr . " " . $player->forum_name;
         $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => $player_name, 'color' => $this->division_leaders_color));
         $division_structure .= "{$aod_url} - {$player->position_desc}\r\n";
     }
     $division_structure .= "[/size][/center]\r\n\r\n";
     /**
      * -----general sergeants-----
      */
     $division_structure .= "[center][size=3][color={$this->platoon_pos_color}]General Sergeants[/color]\r\n";
     $general_sergeants = Division::findGeneralSergeants($this->game_id);
     foreach ($general_sergeants as $player) {
         $player_name = Rank::convert($player->rank_id)->abbr . " " . $player->forum_name;
         $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => $player_name));
         $division_structure .= "{$aod_url}\r\n";
     }
     $division_structure .= "[/size][/center]";
     $division_structure .= "[/td][/tr][/table]";
     /**
      * ---------platoons----------
      */
     $division_structure .= "\r\n\r\n[table='align:center,width: {$this->players_width}']";
     $platoons = $this->platoons;
     $i = 1;
     foreach ($platoons as $platoon) {
         $countMembers = Platoon::countPlatoon($platoon->id);
         if ($i == 1) {
             $division_structure .= "[tr]";
             $division_structure .= "[td]";
         } else {
             $division_structure .= "[td]";
         }
         $division_structure .= "[size=5]{$platoon->name}[/size]\r\n\r\n";
         // Legion Commander
         $player = Member::findByMemberId($platoon->leader_id);
         // is a Legion Commander assigned?
         if ($platoon->leader_id != 0) {
             $player_name = Rank::convert($player->rank_id)->abbr . " " . $player->forum_name;
             $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => $player_name, 'color' => $this->platoon_leaders_color));
             $division_structure .= "[size=3][color={$this->platoon_pos_color}]Legion Commander[/color]\r\n{$aod_url}[/size]\r\n\r\n";
         } else {
             $division_structure .= "[size=3][color={$this->platoon_pos_color}]Legion Commander[/color]\r\n[color={$this->platoon_leaders_color}]TBA[/color][/size]\r\n\r\n";
         }
         // Regimental Leaders
         $squads = Squad::findAll($this->game_id, $platoon->id);
         foreach ($squads as $squad) {
             if ($squad->leader_id != 0) {
                 $squad_leader = Member::findById($squad->leader_id);
                 $player_name = Rank::convert($squad_leader->rank_id)->abbr . " " . $squad_leader->forum_name;
                 $aod_url = Member::createAODlink(array('member_id' => $squad_leader->member_id, 'forum_name' => $player_name, 'color' => $this->squad_leaders_color));
                 $division_structure .= "[size=3][color={$this->platoon_pos_color}]Regimental Leader[/color]\r\n{$aod_url}[/size]\r\n\r\n";
                 $division_structure .= "[size=1]";
                 // direct recruits
                 $recruits = arrayToObject(Member::findRecruits($squad_leader->member_id, $squad_leader->platoon_id, $squad->id, true));
                 if (count((array) $recruits)) {
                     $division_structure .= "[list=1]";
                     foreach ($recruits as $player) {
                         $player_name = Rank::convert($player->rank_id)->abbr . " " . $player->forum_name;
                         $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => $player_name));
                         $division_structure .= "[*]{$aod_url}\r\n";
                     }
                     $division_structure .= "[/list]";
                 }
             } else {
                 $division_structure .= "[size=3][color={$this->platoon_pos_color}]Regimental Leader[/color]\r\n[color={$this->squad_leaders_color}]TBA[/color][/size]\r\n";
                 $division_structure .= "[size=1]";
             }
             $division_structure .= "\r\n";
             // squad members
             $squadMembers = arrayToObject(Squad::findSquadMembers($squad->id, true, $squad_leader->member_id));
             if (count((array) $squadMembers)) {
                 foreach ($squadMembers as $player) {
                     $player_name = Rank::convert($player->rank_id)->abbr . " " . $player->forum_name;
                     $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => $player_name));
                     $division_structure .= "{$aod_url}\r\n";
                 }
             }
             $division_structure .= "[/size]\r\n";
         }
         $division_structure .= "\r\n\r\n";
         if ($i % $this->num_columns == 0) {
             $division_structure .= "[/td][/tr][tr]";
         }
         $division_structure .= "[/td]";
         $i++;
     }
     // end last platoon
     $division_structure .= "[/tr][/table]\r\n\r\n";
     /**
      * --------part timers--------
      */
     $i = 1;
     // header
     $division_structure .= "\r\n[table='align:center,width: {$this->info_width}']";
     $division_structure .= "[tr][td]\r\n[center][size=3][color={$this->platoon_pos_color}][b]Part Time Members[/b][/color][/size][/center][/td][/tr]";
     $division_structure .= "[/table]\r\n\r\n";
     // players
     $division_structure .= "[table='align:center,width: {$this->info_width}']";
     $division_structure .= "[tr][td]";
     $partTimers = PartTime::find_all($this->game_id);
     foreach ($partTimers as $player) {
         if ($i % 20 == 0) {
             $division_structure .= "[/td][td]";
         }
         $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => "AOD_" . $player->forum_name));
         $division_structure .= "{$aod_url}\r\n";
         $i++;
     }
     $division_structure .= "[/td]";
     $division_structure .= "[/tr][/table]\r\n\r\n";
     /**
      * -----------LOAS------------
      */
     if (count((array) LeaveOfAbsence::find_all($this->game_id))) {
         $i = 1;
         // header
         $division_structure .= "\r\n[table='align:center,width: {$this->info_width}']";
         $division_structure .= "[tr][td]\r\n[center][size=3][color={$this->platoon_pos_color}][b]Leaves of Absence[/b][/color][/size][/center][/td][/tr]";
         $division_structure .= "[/table]\r\n\r\n";
         // players
         $division_structure .= "[table='align:center,width: {$this->info_width}']";
         $loas = LeaveOfAbsence::find_all($this->game_id);
         foreach ($loas as $player) {
             $date_end = strtotime($player->date_end) < strtotime('now') ? "[COLOR='#FF0000']Expired " . formatTime(strtotime($player->date_end)) . "[/COLOR]" : date("M d, Y", strtotime($player->date_end));
             $profile = Member::findByMemberId($player->member_id);
             $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => "AOD_" . $profile->forum_name));
             $division_structure .= "[tr][td]{$aod_url}[/td][td]{$date_end}[/td][td]{$player->reason}[/td][/tr]";
             $i++;
         }
         $division_structure .= "[/table]";
     }
     $this->content = $division_structure;
 }
Esempio n. 5
0
 public static function isOnLeave($member_id)
 {
     $params = LeaveOfAbsence::hasLOA($member_id);
     if (count($params)) {
         return true;
     } else {
         return false;
     }
 }
 public function generate()
 {
     // header
     $division_structure = "[table='width: {$this->info_width}']";
     $division_structure .= "[tr][td]";
     // banner
     $division_structure .= "[center][img]http://i.imgur.com/iWpjGZG.png[/img][/center]\r\n";
     /**
      * ------division leaders-----
      */
     $division_structure .= "\r\n\r\n[center][size=5][color={$this->div_name_color}][b][i][u]Division Leaders[/u][/i][/b][/color][/size][/center]\r\n";
     $division_structure .= "[center][size=4]";
     $division_leaders = Division::findDivisionLeaders($this->game_id);
     foreach ($division_leaders as $leader) {
         $leader_name = Rank::convert($leader->rank_id)->abbr . " " . $leader->forum_name;
         $memberHandle = MemberHandle::findHandle($leader->id, $this->division->primary_handle);
         $leader->handle = $memberHandle->handle_value;
         $aod_url = "[url=" . CLANAOD . $leader->member_id . "]";
         $bl_url = "[url=" . $memberHandle->url . $leader->handle . "][BL][/url]";
         $division_structure .= "{$aod_url}[color={$this->division_leaders_color}]{$leader_name}[/url] {$bl_url}[/color] - {$leader->position_desc}\r\n";
     }
     $division_structure .= "[/size][/center]\r\n\r\n";
     /**
      * -----general sergeants-----
      */
     $genSgts = Division::findGeneralSergeants($this->game_id);
     $division_structure .= "[center][size=3][color={$this->platoon_pos_color}]General Sergeants[/color]\r\n";
     foreach ($genSgts as $sgt) {
         $sgt_name = Rank::convert($sgt->rank_id)->abbr . " " . $sgt->forum_name;
         $memberHandle = MemberHandle::findHandle($sgt->id, $this->division->primary_handle);
         $sgt->handle = $memberHandle->handle_value;
         $aod_url = "[url=" . CLANAOD . $sgt->member_id . "]";
         $bl_url = "[url=" . $memberHandle->url . $sgt->handle . "][BL][/url]";
         $division_structure .= "{$aod_url}{$sgt_name}[/url] {$bl_url}\r\n";
     }
     $division_structure .= "[/size][/center]";
     $division_structure .= "[/td][/tr][/table]";
     /**
      * ---------platoons----------
      */
     $division_structure .= "\r\n\r\n[table='width: {$this->players_width}']";
     $platoons = $this->platoons;
     $i = 1;
     foreach ($platoons as $platoon) {
         $countMembers = Platoon::countPlatoon($platoon->id);
         if ($i == 1) {
             $division_structure .= "[tr]";
             $division_structure .= "[td]";
         } else {
             $division_structure .= "[td]";
         }
         $division_structure .= "[size=5][color={$this->platoon_num_color}]" . ordsuffix($i) . " Platoon[/color][/size] \r\n[i][size=3]{$platoon->name} [/size][/i]\r\n\r\n";
         // platoon leaders
         $leader = Member::findByMemberId($platoon->leader_id);
         if ($platoon->leader_id != 0) {
             $memberHandle = MemberHandle::findHandle($leader->id, $this->division->primary_handle);
             $leader->handle = $memberHandle->handle_value;
             $aod_url = "[url=" . CLANAOD . $leader->member_id . "]";
             $bl_url = "[url=" . $memberHandle->url . $leader->handle . "][BL][/url]";
             $leader_name = Rank::convert($leader->rank_id)->abbr . " " . ucwords($leader->forum_name);
             $division_structure .= "{$aod_url}[size=3][color={$this->platoon_pos_color}]Platoon Leader[/color]\r\n[color={$this->platoon_leaders_color}]{$leader_name}[/color][/url] {$bl_url}[/size]\r\n\r\n";
         } else {
             $division_structure .= "[size=3][color={$this->platoon_pos_color}]Platoon Leader[/color]\r\n[color={$this->platoon_leaders_color}]TBA[/color][/size]\r\n\r\n";
         }
         // squad leaders
         $squads = Squad::findAll($this->game_id, $platoon->id);
         foreach ($squads as $squad) {
             if ($squad->leader_id != 0) {
                 $leader = Member::findById($squad->leader_id);
                 $memberHandle = MemberHandle::findHandle($leader->id, $this->division->primary_handle);
                 $leader->handle = $memberHandle->handle_value;
                 $aod_url = "[url=" . CLANAOD . $leader->member_id . "]";
                 $bl_url = "[url=" . $memberHandle->url . $leader->handle . "][BL][/url]";
                 $division_structure .= "[size=3][color={$this->platoon_pos_color}]Squad Leader[/color]\r\n{$aod_url}[color={$this->squad_leaders_color}]" . Rank::convert($leader->rank_id)->abbr . " {$leader->forum_name}[/color][/url] {$bl_url}[/size]\r\n\r\n";
                 $division_structure .= "[size=1]";
                 // direct recruits
                 $recruits = arrayToObject(Member::findRecruits($leader->member_id, $leader->platoon_id, $squad->id, true));
                 if (count((array) $recruits)) {
                     $division_structure .= "[list=1]";
                     foreach ($recruits as $recruit) {
                         $memberHandle = MemberHandle::findHandle($recruit->id, $this->division->primary_handle);
                         // does member have a member handle?
                         if (count((array) $memberHandle)) {
                             $recruit->handle = $memberHandle->handle_value;
                             $bl_url = "[url=" . $memberHandle->url . $recruit->handle . "][BL][/url]";
                             $aod_url = "[url=" . CLANAOD . $recruit->member_id . "]";
                             $division_structure .= "[*]{$aod_url}" . Rank::convert($recruit->rank_id)->abbr . " {$recruit->forum_name}[/url]";
                             $division_structure .= "{$bl_url}\r\n";
                         } else {
                             $division_structure .= " [color=red]XX[/color]\r\n";
                         }
                     }
                     $division_structure .= "[/list]";
                 }
             } else {
                 $division_structure .= "[size=3][color={$this->platoon_pos_color}]Squad Leader[/color]\r\n[color={$this->squad_leaders_color}]TBA[/color][/size]\r\n";
                 $division_structure .= "[size=1]";
             }
             $division_structure .= "\r\n";
             // squad members
             $squadMembers = arrayToObject(Squad::findSquadMembers($squad->id, true, $leader->member_id));
             if (count((array) $squadMembers)) {
                 foreach ($squadMembers as $player) {
                     $memberHandle = MemberHandle::findHandle($player->id, $this->division->primary_handle);
                     $player->handle = $memberHandle->handle_value;
                     $aod_url = "[url=" . CLANAOD . $player->member_id . "]";
                     $bl_url = "[url=" . $memberHandle->url . $player->handle . "][BL][/url]";
                     $division_structure .= "{$aod_url}" . Rank::convert($player->rank_id)->abbr . " {$player->forum_name}[/url] {$bl_url}\r\n";
                 }
             }
             $division_structure .= "[/size]\r\n";
         }
         $division_structure .= "\r\n\r\n";
         if ($i % $this->num_columns == 0) {
             $division_structure .= "[/td][/tr][tr]";
         }
         $division_structure .= "[/td]";
         $i++;
     }
     // end last platoon
     $division_structure .= "[/tr][/table]\r\n\r\n";
     /**
      * --------part timers--------
      */
     $i = 1;
     // header
     $division_structure .= "\r\n[table='width: {$this->info_width}']";
     $division_structure .= "[tr][td]\r\n[center][size=3][color={$this->platoon_pos_color}][b]Part Time Members[/b][/color][/size][/center][/td][/tr]";
     $division_structure .= "[/table]\r\n\r\n";
     // players
     $division_structure .= "[table='width: {$this->info_width}']";
     $division_structure .= "[tr][td]";
     $partTimers = PartTime::find_all($this->game_id);
     foreach ($partTimers as $player) {
         if ($i % 20 == 0) {
             $division_structure .= "[/td][td]";
         }
         $bl_url = "[url=" . BATTLELOG . $player->ingame_alias . "][BL][/url]";
         $aod_url = "[url=" . CLANAOD . $player->member_id . "]";
         $division_structure .= "{$aod_url}AOD_{$player->forum_name}[/url] {$bl_url}\r\n";
         $i++;
     }
     $division_structure .= "[/td]";
     $division_structure .= "[/tr][/table]\r\n\r\n";
     /**
      * -----------LOAS------------
      */
     $i = 1;
     // header
     $division_structure .= "\r\n[table='width: {$this->info_width}']";
     $division_structure .= "[tr][td]\r\n[center][size=3][color={$this->platoon_pos_color}][b]Leaves of Absence[/b][/color][/size][/center][/td][/tr]";
     $division_structure .= "[/table]\r\n\r\n";
     // players
     $division_structure .= "[table='width: {$this->info_width}']";
     $loas = LeaveOfAbsence::find_all($this->game_id);
     foreach ($loas as $player) {
         $date_end = strtotime($player->date_end) < strtotime('now') ? "[COLOR='#FF0000']Expired " . formatTime(strtotime($player->date_end)) . "[/COLOR]" : date("M d, Y", strtotime($player->date_end));
         $aod_url = "[url=" . CLANAOD . $player->member_id . "]";
         $profile = Member::findByMemberId($player->member_id);
         $division_structure .= "[tr][td]{$aod_url}" . Member::findForumName($profile->member_id) . "[/url][/td][td]{$date_end}[/td][td]{$player->reason}[/td][/tr]";
         $i++;
     }
     $division_structure .= "[/table]";
     $this->content = $division_structure;
 }
 public static function _updateLoa()
 {
     $user = User::find(intval($_SESSION['userid']));
     $member = Member::find(intval($_SESSION['memberid']));
     if (isset($_POST['remove']) || isset($_POST['approve'])) {
         if ($user->role < 2) {
             $data = array('success' => false, 'message' => "You are not authorized to perform that action.");
         } else {
             $loa = isset($_POST['loa_id']) ? LeaveOfAbsence::findById($_POST['loa_id']) : null;
             if (isset($_POST['remove'])) {
                 $revoked = LeaveOfAbsence::delete($loa->id);
                 UserAction::create(array('type_id' => 8, 'date' => date("Y-m-d H:i:s"), 'user_id' => $member->member_id, 'target_id' => $loa->member_id));
                 $data = array('success' => true, 'message' => "Leave of absence successfully removed.");
             } else {
                 if (isset($_POST['approve'])) {
                     if ($member->member_id == $loa->member_id) {
                         $data = array('success' => false, 'message' => "You can't approve your own leave of absence!");
                     } else {
                         $approved = LeaveOfAbsence::approve($loa->id, $member->member_id);
                         UserAction::create(array('type_id' => 7, 'date' => date("Y-m-d H:i:s"), 'user_id' => $member->member_id, 'target_id' => $loa->member_id));
                         $data = array('success' => true, 'message' => "Leave of absence successfully approved.");
                     }
                 }
             }
         }
     } else {
         $date = date('Y-m-d', strtotime($_POST['date']));
         $reason = $_POST['reason'];
         $comment = htmlentities($_POST['comment'], ENT_QUOTES);
         $name = Member::findForumName($_POST['id']);
         if ($name) {
             if (strtotime($date) > strtotime('now')) {
                 if (LeaveOfAbsence::exists($member->member_id)) {
                     $data = array('success' => false, 'message' => "This member already has an LOA in place!");
                 } else {
                     LeaveOfAbsence::add($_POST['id'], $date, $reason, $comment, $member->game_id);
                     UserAction::create(array('type_id' => 11, 'date' => date("Y-m-d H:i:s"), 'user_id' => $_POST['id']));
                     $data = array('success' => true, 'Request successfully submitted!', 'id' => $_POST['id'], 'name' => $name, 'date' => date('M d, Y', strtotime($date)), 'reason' => $reason);
                 }
             } else {
                 $data = array('success' => false, 'message' => "Date cannot be before today's date.");
             }
         } else {
             $data = array('success' => false, 'message' => 'The member id you provided appears to be invalid.');
         }
     }
     echo json_encode($data);
 }
Esempio n. 8
0
				<table class='table table-striped table-hover' id='loas'>
					<thead>
						<tr>
							<th>Member name</th>
							<th class="hidden-xs">Reason</th>
							<th class="hidden-xs hidden-sm">End Date</th>
							<th class='text-center'>Status</th>
						</tr>
					</thead>
					<tbody>

						<?php 
if (count(LeaveOfAbsence::count_active($division->id))) {
    ?>
							<?php 
    foreach (LeaveOfAbsence::find_all($division->id) as $player) {
        ?>


								<?php 
        $expired = strtotime(date("M d, Y", strtotime($player->date_end))) < strtotime('now') ? true : false;
        ?>
								<?php 
        $comment = !empty($player->comment) ? htmlentities($player->comment, ENT_QUOTES) : "Not available";
        ?>
								<?php 
        $date_end = date("M d, Y", strtotime($player->date_end));
        ?>
								<?php 
        $approved_by = !empty($player->approved_by) ? Member::findForumName($player->approved_by) : "Not available";
        ?>
 /**
  * @param $division_structure
  * @return string
  */
 private function getLoas($division_structure)
 {
     if (count((array) LeaveOfAbsence::find_all($this->game_id))) {
         $i = 1;
         // header
         $division_structure .= "\r\n\r\n\r\n[table='align:center,width: 500']";
         $division_structure .= "[tr][td]\r\n[center][size=3][b]Leaves of Absence[/b][/size][/center][/td][/tr]";
         $division_structure .= "[/table]\r\n\r\n";
         // players
         $division_structure .= "[table='align:center,width: 500']";
         $loas = LeaveOfAbsence::find_all($this->game_id);
         foreach ($loas as $player) {
             $date_end = strtotime($player->date_end) < strtotime('now') ? "[COLOR='#FF0000']Expired " . formatTime(strtotime($player->date_end)) . "[/COLOR]" : date("M d, Y", strtotime($player->date_end));
             $profile = Member::findByMemberId($player->member_id);
             $aod_url = Member::createAODlink(array('member_id' => $player->member_id, 'forum_name' => "AOD_" . $profile->forum_name));
             $division_structure .= "[tr][td]{$aod_url}[/td][td]{$date_end}[/td][td]{$player->reason}[/td][/tr]";
             $i++;
         }
         $division_structure .= "[/table]";
         return $division_structure;
     }
     return $division_structure;
 }
Esempio n. 10
0
function process_mspr_details($translator, $section)
{
    $action = clean_input(isset($_POST['action']) ? $_POST['action'] : "", array("lower"));
    if (!$action) {
        return;
    }
    switch ($action) {
        case 'add':
            $user_id = clean_input(isset($_POST['user_id']) ? $_POST['user_id'] : 0, array("int"));
            $details = clean_input(isset($_POST['details']) ? $_POST['details'] : "", array("notags"));
            if (!$user_id) {
                add_error($translator->translate("mspr_invalid_user_info"));
            }
            if (!$details) {
                add_error($translator->translate("mspr_no_details"));
            }
            if (!has_error()) {
                switch ($section) {
                    case 'leaves_of_absence':
                        LeaveOfAbsence::create($user_id, $details);
                        break;
                    case 'disciplinary_actions':
                        DisciplinaryAction::create($user_id, $details);
                        break;
                    case 'formal_remediation':
                        FormalRemediation::create($user_id, $details);
                        break;
                }
            }
            break;
        case 'remove':
            $entity_id = clean_input(isset($_POST['entity_id']) ? $_POST['entity_id'] : 0, array("int"));
            if (!$entity_id) {
                add_error($translator->translate("mspr_no_entity"));
            }
            if (!has_error()) {
                switch ($section) {
                    case 'leaves_of_absence':
                        $entity = LeaveOfAbsence::get($entity_id);
                        break;
                    case 'disciplinary_actions':
                        $entity = DisciplinaryAction::get($entity_id);
                        break;
                    case 'formal_remediation':
                        $entity = FormalRemediation::get($entity_id);
                        break;
                }
                if (!$entity) {
                    add_error($translator->translate("mspr_invalid_entity"));
                }
                if (!has_error()) {
                    $entity->delete();
                }
            }
            break;
    }
}