From f472c60b18469ff8a06963708174dea1bfc08015 Mon Sep 17 00:00:00 2001 From: Evan O'Connell Date: Sun, 18 Aug 2013 18:29:07 -0400 Subject: Adds untracked changes --- admin/adjutant/functions.php | 55 ++++- admin/adjutant/index.php | 13 +- admin/admins/functions.php | 91 +++++-- admin/admins/index.php | 4 + admin/index.php | 2 +- admin/newsreel/updateDB.php | 2 +- admin/rudi/includes/functions.members.php | 44 +++- admin/rudi/views/view.awards.add.php | 5 +- admin/rudi/views/view.awards.php | 2 +- admin/rudi/views/view.members.delete.php | 31 +++ admin/rudi/views/view.members.new.php | 381 ++++++++++++++++-------------- admin/rudi/views/view.members.php | 24 +- admin/rudi/views/view.members.profile.php | 11 +- 13 files changed, 453 insertions(+), 212 deletions(-) create mode 100644 admin/rudi/views/view.members.delete.php (limited to 'admin') diff --git a/admin/adjutant/functions.php b/admin/adjutant/functions.php index 87bc4b4..b38400e 100644 --- a/admin/adjutant/functions.php +++ b/admin/adjutant/functions.php @@ -67,6 +67,59 @@ echo ""; } + +/****** NEW CODE ADDED LARRABEE 11-20-2012 ********/ + function EditPoints2(){ + + global $db; + + $result = $db->Query("SELECT * FROM `rudi_unit_members` JOIN `rudi_ranks` ON rudi_unit_members.rank_id=rudi_ranks.rank_id WHERE rudi_unit_members.status_id < 4 ORDER BY rudi_ranks.weight DESC , rudi_unit_members.date_promotion ASC , rudi_unit_members.date_enlisted ASC"); + $row = $db->Fetch($result); + + if(isset($_POST['processed'])){ + echo "Updating data... Please wait."; + foreach($row as $soldier){ + $mID = $soldier['member_id']; + $missed = $_POST[$mID.'missed']; + $attended = $_POST[$mID.'attended']; + $points = $_POST[$mID.'points']; + + if($missed !="" && $points != ""){ + $db->Query("UPDATE `rudi_unit_members` SET `points` = $points, `drillcount` = $missed, `attendcount` = $attended WHERE `member_id` = $mID LIMIT 1"); + }else{ + ReportError("Error updating points for soldier id# '$mID'. Please contact administrator."); + } + } + PageRedirect(1,"?op=adjutant&edit=pointsnew"); + return; + } +?> +
+ + + +"; + else + echo ""; + echo " + + + + + "; + + + echo "\n"; + } + CloseTable(); + echo ""; + + } +/****** END NEW CODE ADDED *******/ function EditLOAs($status_id = 1){ @@ -160,4 +213,4 @@ $num = 1; return $row['name']; } - ?> \ No newline at end of file + ?> diff --git a/admin/adjutant/index.php b/admin/adjutant/index.php index 5149c28..d8491ac 100644 --- a/admin/adjutant/index.php +++ b/admin/adjutant/index.php @@ -19,8 +19,10 @@ ?> +

- Adjutant Control Panel

Edit Points   + Edit Points *NEW*   Edit LOAs
RankSoldierStatusPointsDrills MissedDrills Attended
{$soldier['shortname']}{$soldier['first_name']} {$soldier['last_name']}".getStatus($soldier['status_id'])."/100/3/3
-
@@ -39,6 +41,10 @@ echo "

Edit Points

"; EditPoints(); } + if($_GET['edit'] == "pointsnew"){ + echo "

Edit Points *NEW*

"; + EditPoints(); + } if($_GET['edit'] == "loas"){ echo "

Edit LOAs

"; if(isset($_GET['member'])){ @@ -53,6 +59,11 @@ } } } + else if(isset($_GET['drills'])){ + if($_GET['drills'] == "new"){ + + } + } ?>
\ No newline at end of file + diff --git a/admin/admins/functions.php b/admin/admins/functions.php index f3da1be..016b7a1 100644 --- a/admin/admins/functions.php +++ b/admin/admins/functions.php @@ -101,25 +101,15 @@ ReportError("The email and or username you entered is already in use."); return; } - - - $Name = "Rocky the Marne Dog"; - $subject = "3rd ID Admin Password"; - $header = "From: ". $Name . " < DO NOT RESPOND >\r\n"; //optional headerfields - $mail_body = "Do not respond to this email.\n\n------------------------------\nUsername: ".$username."\nPassword: ".$password."\n------------------------------\n\nTo login click on this link. http://testbed.3rd-infantry-division.org/cms/admin/ \n\nIt is recommended that you change your password once you login. To do so, click on Account Settings>Change Password."; - - $sent = mail($email, $subject, $mail_body, $header); - if(!$sent){ - ReportError("Error validating email. This user was not saved."); - return; - } - + + EmailPassword($username, $password, $email); + $db->Query("INSERT INTO `bayonet_users` (`user_id` ,`username` ,`password` ,`lastname` ,`firstname` ,`email` ,`joined` ,`level` ,`all` ,`squadleader` ,`adjutant` ,`quartermaster`) VALUES (NULL, '$username', '$cryptpassword', '$last', '$first', '$email', CURRENT_TIMESTAMP, $level, $all, $squadleader, $adjutant, $quartermaster)"); echo "Admin, '$username' level '$level' has been added. An email has been sent to him with his username and password.\n

Please wait while you are redirected.

Click here if you don't feel like waiting."; - + // 3 second redirect to go back to the edit page PageRedirect(2, "?op=admins"); return; @@ -158,6 +148,22 @@ \r\n"; //optional headerfields + $mail_body = "Do not respond to this email.\n\n------------------------------\nUsername: ".$username."\nPassword: ".$password."\n------------------------------\n\nTo login click on this link. ".Bayonet_Config::$ini['site']['url']."admin/ \n\nIt is recommended that you change your password once you login. To do so, click on Account Settings>Change Password."; + + $sent = mail($email, $subject, $mail_body, $header); + if(!$sent){ + ReportError("Error validating email. This user was not saved."); + return false; + } + + return true; + } + function GetPermissions($user = NULL) { ?> @@ -217,7 +223,7 @@ while(strlen($string)<$length) { $string .= substr($possible_charactors, rand()%(strlen($possible_charactors)),1); } - return($string); + return($string); } function EditAdmin($user_id) @@ -264,7 +270,11 @@ Edit the attributes of this administrator.
- + diff --git a/admin/index.php b/admin/index.php index c1da495..3ae793c 100644 --- a/admin/index.php +++ b/admin/index.php @@ -21,7 +21,7 @@ session_start(); define('BAYONET_INCLUDE', '../include'); -define('BAYONET_CONFIG', '../include/config.ini'); +define('BAYONET_CONFIG', '../include/config.php'); include BAYONET_INCLUDE . '/debug.php'; include BAYONET_INCLUDE . '/sql.class.php'; diff --git a/admin/newsreel/updateDB.php b/admin/newsreel/updateDB.php index 0e5efda..09516d0 100644 --- a/admin/newsreel/updateDB.php +++ b/admin/newsreel/updateDB.php @@ -5,7 +5,7 @@ $dirname = "/path/to/bayonet/here"; define('BAYONET_ROOT', $dirname); define('BAYONET_INCLUDE', BAYONET_ROOT . '/include'); -define('BAYONET_CONFIG', BAYONET_ROOT . '/include/config.ini'); +define('BAYONET_CONFIG', BAYONET_ROOT . '/include/config.php'); require BAYONET_INCLUDE . '/debug.php'; require BAYONET_INCLUDE . '/sql.class.php'; diff --git a/admin/rudi/includes/functions.members.php b/admin/rudi/includes/functions.members.php index 86848dc..4a93134 100644 --- a/admin/rudi/includes/functions.members.php +++ b/admin/rudi/includes/functions.members.php @@ -37,8 +37,13 @@ function GetMembersRoles($member_id){ global $db; $row = NULL; - $query = sprintf("SELECT r.role_id, r.name AS role_name FROM rudi_roles AS r LEFT OUTER JOIN rudi_roles_container AS rl USING(role_id) INNER JOIN rudi_unit_members AS rm USING(member_id) WHERE rm.member_id = %d AND r.name IS NOT NULL ORDER BY r.role_id ASC", - (int)$member_id); + $query = sprintf("SELECT r.role_id, r.name AS role_name + FROM rudi_roles AS r + LEFT OUTER JOIN rudi_roles_container AS rl USING(role_id) + INNER JOIN rudi_unit_members AS rm USING(member_id) + WHERE rm.member_id = %d + AND r.name IS NOT NULL + ORDER BY r.role_id ASC", (int)$member_id); $result = $db->Query($query); $row = $db->Fetch($result); @@ -299,4 +304,39 @@ CloseTable(); $form->__destruct(); } + + + + + function DeleteMember($member_id) + { + // FROM unit_members, service_record, award_record FOR member_id + global $db; + + $db->Query("DELETE FROM `rudi_unit_members`, + `rudi_service_record`, + `rudi_award_record`, + `rudi_combat_record`, + `rudi_drills_record` + USING `rudi_unit_members` + INNER JOIN `rudi_award_record` USING(member_id) + INNER JOIN `rudi_service_record` USING(member_id) + INNER JOIN `rudi_combat_record` USING(member_id) + INNER JOIN `rudi_drills_record` USING(member_id) + WHERE `member_id` = $member_id"); + decho("DELETE FROM `rudi_unit_members`, + `rudi_service_record`, + `rudi_award_record`, + `rudi_combat_record`, + `rudi_drills_record` + USING `rudi_unit_members` + INNER JOIN `rudi_award_record` USING(member_id) + INNER JOIN `rudi_service_record` USING(member_id) + INNER JOIN `rudi_combat_record` USING(member_id) + INNER JOIN `rudi_drills_record` USING(member_id) + WHERE `member_id` = $member_id"); + decho("Done."); + return; + } + ?> \ No newline at end of file diff --git a/admin/rudi/views/view.awards.add.php b/admin/rudi/views/view.awards.add.php index 9c97c54..71f6a91 100644 --- a/admin/rudi/views/view.awards.add.php +++ b/admin/rudi/views/view.awards.add.php @@ -6,12 +6,13 @@ global $db; $name = $form->request['name']; $text = $form->request['text']; + decho("INSERT INTO `rudi_awards` SET `class_id` = '$class_id', `name` = '$name', `description` = '$text'"); $db->Query("INSERT INTO `rudi_awards` SET `class_id` = '$class_id', `name` = '$name', `image` = '', `description` = '$text'"); - PageRedirect(1, "?op=rudi&show=awards&cid={$class_id}"); + PageRedirect(1, "?op=rudi&show=awards&cid=".$class_id); return; } - echo LinkInternal("Cancel","?op=rudi&show=awards&cid={$class_id}"); + echo LinkInternal("Cancel","?op=rudi&show=awards&cid=".$class_id); OpenTable(); ?> diff --git a/admin/rudi/views/view.awards.php b/admin/rudi/views/view.awards.php index 3a5729f..4902577 100644 --- a/admin/rudi/views/view.awards.php +++ b/admin/rudi/views/view.awards.php @@ -23,7 +23,7 @@ $class_id = $_GET['cid']; $awards = getAwardsByClass($class_id); echo "

Awards

"; - echo LinkInternal(' Add New Award','?op=rudi&show=awards&cid={$class_id}&add=true'); + echo LinkInternal(' Add New Award','?op=rudi&show=awards&cid='.$class_id.'&add=true'); OpenTable(); foreach($awards as $award){ echo " diff --git a/admin/rudi/views/view.members.delete.php b/admin/rudi/views/view.members.delete.php new file mode 100644 index 0000000..e0adf5e --- /dev/null +++ b/admin/rudi/views/view.members.delete.php @@ -0,0 +1,31 @@ +Query("SELECT CONCAT(last_name,', ',first_name) AS name FROM `rudi_unit_members` WHERE `member_id` = '$member_id' LIMIT 1"); + $member = $db->FetchRow($result); + $form = new BayonetForm("", "POST"); + + if(isset($_POST['proceed'])) + { + //echo "Soldier '{$member['name']}', was deleted."; + ReportError("This is not completed yet."); + // DELETE unit_members, service_record, award_record FOR member_id + //DeleteMember($member_id); + PageRedirect(2, "?op=rudi&show=members"); + return; + } + if(isset($_POST['cancel'])) + { + echo "User cancelled deletion of soldier: '{$member['name']}'"; + PageRedirect(2, "?op=rudi&show=members&profile={$member_id}"); + return; + } + + OpenTable(); +?> + + +__destruct(); +?> \ No newline at end of file diff --git a/admin/rudi/views/view.members.new.php b/admin/rudi/views/view.members.new.php index cbc086f..ab309ea 100644 --- a/admin/rudi/views/view.members.new.php +++ b/admin/rudi/views/view.members.new.php @@ -1,179 +1,204 @@ -Query($query); - - $member_id = $db->InsertID(); - decho($member_id); - $db->Query("INSERT INTO `rudi_roles_container` SET `role_id` = '$role_id', `member_id` = '$member_id'"); - - PageRedirect(1, "?op=rudi&show=members"); - return; - } -?> - Cancel
- -
Username:
Username: + = 2): ?> + + +
Level: @@ -299,8 +309,8 @@ global $db; $maxLevel = $_SESSION['level']; - $result = $db->Query("SELECT `username` FROM `bayonet_users` WHERE `user_id` = '$user_id'"); - $admin = $db->Fetch($result); + $result = $db->Query("SELECT `username` FROM `bayonet_users` WHERE `user_id` = '$user_id' LIMIT 1"); + $admin = $db->FetchRow($result); if(isset($_POST['proceed'])) { @@ -326,4 +336,49 @@ Query("SELECT `username`, `email` FROM `bayonet_users` WHERE `user_id` = '$user_id' LIMIT 1"); + $admin = $db->FetchRow($result); + decho($admin); + + if(isset($_POST['proceed'])) + { + $password = GeneratePassword(8); + $cryptpassword = crypt(md5($password),'iamnotadirtywhorebitch'); + + $status = EmailPassword($admin['username'], $password, $admin['email']); + + if($status) + { + $db->Query("UPDATE `bayonet_users` SET `password` = '$cryptpassword' WHERE `user_id` = '$user_id' LIMIT 1"); + echo "Password has been reset and emailed to '{$admin['username']}'"; + PageRedirect(3, "?op=admins"); + } + else + { + ReportError("An error has occured emailing the new password. It will not take effect."); + } + + return; + } + if(isset($_POST['cancel'])) + { + echo "The password WILL NOT be reset for '{$admin['username']}'"; + PageRedirect(3, "?op=admins"); + return; + } + ?> +
+ + + + +
Are you SURE you want to reset this user's password: ''?
   
+ +
+ \ No newline at end of file diff --git a/admin/admins/index.php b/admin/admins/index.php index a2e71e9..87ce2a0 100644 --- a/admin/admins/index.php +++ b/admin/admins/index.php @@ -48,6 +48,10 @@ else if(isset($_GET['delete'])){ else if(isset($_GET['create'])){ NewAdmin(); } +else if(isset($_GET['resetpassword'])){ + $user_id = $_GET['resetpassword']; + ResetPassword($user_id); +} ?>
".$award['name']."Are you SURE you want to delete soldier: ''?
All records for this soldier will be permenantly removed.
   
- - - -
Personnel File of
Rank: - -
Country: - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vital Statistics
First:
Last:
Username:
City:
Province:
Status: - -
Primary MOS:
Role: - -
Unit: - -
Weapons: - -
Enlisted Date:
Promotion Date: - -
Discharge Date:
Xfire:
E-Mail:
-
- - - - -
Personal Bio
+Query($query); + + $member_id = $db->InsertID(); + decho($member_id); + //$db->Query("INSERT INTO `rudi_roles_container` SET `role_id` = '$role_id', `member_id` = '$member_id'"); + + PageRedirect(1, "?op=rudi&show=members&profile=$member_id"); + return; + } +?> + Cancel
+ + + + + + + +
Personnel File of
Rank: + +
Country: + +
ArmA2 ID
ArmA2:OA ID
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Vital Statistics
First:
Last:
Username:
City:
Province:
Status: + +
Primary MOS:
Role: + +
Unit: + +
Primary Weapon: + +
Secondary Weapon: + +
Enlisted Date:
Promotion Date: + +
Discharge Date:
Xfire:
E-Mail:
+
+ + + + +
Personal Bio
\ No newline at end of file diff --git a/admin/rudi/views/view.members.php b/admin/rudi/views/view.members.php index 9013b8e..7aabb89 100644 --- a/admin/rudi/views/view.members.php +++ b/admin/rudi/views/view.members.php @@ -1,17 +1,31 @@ - - + + + + +
Personal Bio
+ + + +
\ No newline at end of file -- cgit