PageRenderTime 112ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 1ms

/AddToDBOld.php

https://github.com/alexeiemam/GnT
PHP | 1329 lines | 1287 code | 27 blank | 15 comment | 15 complexity | 91809848d3b1d7b1f7be331f032f6002 MD5 | raw file
  1. <?php
  2. include('_CHECK.php');
  3. include_once('_inc_sanitation.php');
  4. function ArchiveTarget($tid)
  5. {
  6. $query =
  7. "INSERT INTO targets_archive
  8. (Target_ID, Student_ID, set_by, subject, target_desc, start, modder, end, timestamp, status, note)
  9. SELECT Target_ID, Student_ID, set_by, subject, target_desc, start, modder, end, timestamp, status, note
  10. FROM targets
  11. WHERE target_ID ='$tid'
  12. LIMIT 1";
  13. $result = mysql_query($query) or die (mysql_error()) ;
  14. return true;
  15. }
  16. function ActivityUpdate($action, $actedOn, $actor, $actedOnID)
  17. {
  18. $timestamp = date("Y-m-d H:i:s");
  19. $query = "
  20. INSERT INTO activities (action, actedOn, actor, actedOnID, tstamp)
  21. VALUES('$action', '$actedOn', '$actor', '$actedOnID','$timestamp' )";
  22. $result = mysql_query($query) or die (mysql_error()) ;
  23. return true;
  24. }
  25. function checkUID($ID, $table, $column)
  26. {
  27. $query = "Select count(*) from $table where $column='$ID'";
  28. $result = mysql_query($query) or die (mysql_error()) ;
  29. $result = mysql_result($result, 0);
  30. While ($result > 0)
  31. {
  32. $ID = $ID."_".($result+1);
  33. $query = "Select count(*) from $table where $column='$ID'";
  34. $result = mysql_query($query) or die (mysql_error()) ;
  35. $result = mysql_result($result, 0);
  36. }
  37. return $ID;
  38. }
  39. function printStatus($title, $info, $buttonCode=NULL, $colour=NULL)
  40. {
  41. echo "<div style=\"border: 3px #99B3B4 double; margin 0;\">
  42. <div class='input' style=\"border: 1px #99B3B4 dashed; text-align:center; ";
  43. if (isset($colour))
  44. echo "color: $colour;";
  45. echo " \">
  46. <big>$title</big>
  47. </div>
  48. <div class='input' style=\"border: 1px #99B3B4 dashed; text-align:center; \">
  49. $info
  50. </div>";
  51. if (isset($buttonCode))
  52. {echo "<div class='input' style=\"border: 1px #99B3B4 dashed;text-align:center; margin: 0; \">
  53. $buttonCode
  54. </div>";}
  55. echo "</div>";
  56. }
  57. function sessionError()
  58. {
  59. $error = "LOGIN TIMEOUT";
  60. $colour = "red";
  61. $info = "Please logout and re-enter your email address and password.";
  62. printStatus($error, $info, NULL, $colour);
  63. }
  64. if($seshRights>0){
  65. $changeWhat = (sanitize_sql_string($_GET['changeWhat']));
  66. switch($changeWhat) {
  67. case "TargetMod":
  68. if ($seshRights>1){
  69. $TargetID = (sanitize_sql_string($_GET['targetID']));
  70. $newStatus = (sanitize_sql_string($_GET['newStatus']));
  71. $resType = (sanitize_sql_string($_GET['resType']));
  72. $idx = (sanitize_sql_string($_GET['idx']));
  73. $val = (sanitize_sql_string($_GET['val']));
  74. $ong = (sanitize_sql_string($_GET['ong']));
  75. $ach = (sanitize_sql_string($_GET['ach']));
  76. $dro = (sanitize_sql_string($_GET['dro']));
  77. $notes = (sanitize_sql_string($_GET['notes']));
  78. $forma = (sanitize_sql_string($_GET['forma']));
  79. $DateSwitch = date("Y-m-d");
  80. $d8time=date("Y-m-d H:i:s");
  81. $actor = $_SESSION['TID'];
  82. $query=
  83. "UPDATE targets
  84. SET status='$newStatus', end='$DateSwitch', timestamp='$d8time', modder='$actor'
  85. WHERE Target_ID='$TargetID';";
  86. $result = mysql_query($query) or die (mysql_error()) ;
  87. // ARCHIVE
  88. ArchiveTarget($TargetID);
  89. /// ACTIVITY UPDATE ///
  90. $action = "Update-$newStatus";
  91. $actedOn = "Target";
  92. $actor = $_SESSION['TID'];
  93. $actedOnID = $TargetID;
  94. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  95. //////////////////////
  96. include('getResults.php');
  97. }
  98. break;
  99. case "TargetCorrectInit":
  100. if ($seshRights>1){
  101. $TargetID = (sanitize_sql_string($_GET['targetID']));
  102. $resType = (sanitize_sql_string($_GET['resType']));
  103. $idx = (sanitize_sql_string($_GET['idx']));
  104. $val = (sanitize_sql_string($_GET['val']));
  105. $uid = (sanitize_sql_string($_GET['sid']));
  106. $query =
  107. "SELECT student_ID, set_by, start, end, status, subject, target_desc, note
  108. FROM targets
  109. WHERE target_ID='$TargetID'";
  110. $result = mysql_query($query) or die (mysql_error()) ;
  111. echo "<div style=\"border: 3px #99B3B4 double; margin 0; padding 0; width=auto;\">
  112. <div class='input' style=\"border: 1px #99B3B4 dashed;text-align:center; \"><big>EDITING TARGET</big></div> ";
  113. /* Trying to load selector
  114. onload=\"function () {
  115. calSE = new dhtmlxCalendarObject('target_startdate$uid', true, {isMonthEditable: true, isYearEditable: true});
  116. calEE = new dhtmlxCalendarObject('target_enddate$uid', true, {isMonthEditable: true, isYearEditable: true});
  117. } \"
  118. */
  119. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  120. {
  121. $initStudentID=trim($row['student_ID']);
  122. $initTeacherID=trim($row['set_by']);
  123. $initTargDesc=trim($row['target_desc']);
  124. $initSubject=trim($row['subject']);
  125. $initStatus=trim($row['status']);
  126. $initStart=trim($row['start']);
  127. $initEnd=trim($row['end']);
  128. $initNote = trim($row['note']);
  129. }
  130. include_once('_inc_yearFinder.php');
  131. $forma = (sanitize_sql_string($_GET['forma']));
  132. if ($forma != 'true'){
  133. $bit1 = "Stat='Active'";
  134. $StudentList = lowerSchoolAged();
  135. $bit2 = "Student_ID IN ($StudentList)";
  136. $formerbit = "$bit1 AND $bit2";
  137. $formerbit = "WHERE $formerbit";
  138. }
  139. else{
  140. if ($seshRights < 4) {$formerbit = "Stat='Active'"; $formerbit = "WHERE $formerbit";}
  141. else {$formerbit = "";}
  142. }
  143. $StudentsQ =
  144. "SELECT
  145. Student_ID,
  146. CONCAT(first_name, ' ', last_name) as 'Student'
  147. FROM students
  148. $formerbit
  149. ORDER BY first_name, last_name";
  150. $SubjectsQ =
  151. "Select Subject
  152. FROM subjects Group By Subject";
  153. $TeachersQ =
  154. "Select Teacher_ID, CONCAT(First_Name, ' ', Last_Name) as 'Set By Teacher'
  155. FROM teachers
  156. WHERE Stat < 3
  157. ORDER BY first_name, last_name";
  158. echo "<FORM name=\"EditMode\">";
  159. echo "<SELECT class='input' name=\"Students$uid\" id=\"Students$uid\">";
  160. $result2 = mysql_query($StudentsQ) or die (mysql_error()) ;
  161. while($row = mysql_fetch_array($result2, MYSQL_ASSOC))
  162. {
  163. echo "<option ";
  164. if (trim($row['Student_ID']) == $initStudentID)
  165. echo "selected ";
  166. echo "value='".$row['Student_ID']."'>".$row['Student'] ;
  167. }
  168. echo "</SELECT>";
  169. echo "<SELECT class='input' name=\"Teachers$uid\" id=\"Teachers$uid\">";
  170. $result2 = mysql_query($TeachersQ) or die (mysql_error()) ;
  171. while($row = mysql_fetch_array($result2, MYSQL_ASSOC))
  172. {
  173. echo "<option ";
  174. if (trim($row['Teacher_ID']) == $initTeacherID)
  175. echo "selected ";
  176. echo "value='".$row['Teacher_ID']."'>".$row['Set By Teacher'] ;
  177. }
  178. echo "</SELECT>";
  179. echo "<SELECT class='input' name=\"Status$uid\" id=\"Status$uid\">";
  180. $statuses = array('Ongoing', 'Achieved', 'Dropped');
  181. for ( $i = 0; $i< sizeOf($statuses); $i+=1) {
  182. echo "<option ";
  183. if ($statuses[$i] == $initStatus)
  184. echo "selected ";
  185. echo "value='".$statuses[$i]."'>".$statuses[$i] ;
  186. }
  187. echo "</SELECT>";
  188. echo "<hr>";
  189. echo "<SELECT class='input' name=\"Subjects$uid\" id=\"Subjects$uid\">";
  190. $result2 = mysql_query($SubjectsQ) or die (mysql_error()) ;
  191. // Using Init Selected Rather than Match Select
  192. // Because original subject list was different
  193. echo "<option value='$initSubject' Selected>$initSubject";
  194. while($row = mysql_fetch_array($result2, MYSQL_ASSOC))
  195. {
  196. echo "<option ";
  197. /*
  198. if (trim($row['Subject']) == $initSubject)
  199. echo "selected ";
  200. */
  201. echo "value='".$row['Subject']."'>".$row['Subject'] ;
  202. }
  203. echo "</SELECT>";
  204. echo "<label for=\"target_desc_edit\">Target Description</label>
  205. <textarea name=\"target_desc_edit\" id=\"target_desc_edit$uid\" class=\"input\" cols=\"50\" rows=\"8\" wrap=\"virtual\" >$initTargDesc</textarea>";
  206. echo "<label for=\"target_startdate$uid\">Target Start Date</label>
  207. <input type=\"text\" class=\"input\" id=\"target_startdate$uid\" name=\"target_startdate\" value=\"$initStart\" size=\"10\" maxlength=\"10\">";
  208. echo "<label for=\"target_startdate$uid\">Target Completion Date (if applicable))</label>
  209. <input type=\"text\" class=\"input\" id=\"target_enddate$uid\" name=\"target_enddate\" value=\"$initEnd\" size=\"10\" maxlength=\"10\">";
  210. echo "<label for=\"target_note_edit\">Target Note</label>
  211. <textarea name=\"target_note_edit\" id=\"target_note_edit$uid\" class=\"input\" cols=\"50\" rows=\"1\" wrap=\"virtual\" >$initNote</textarea>";
  212. echo "<div class='input' style=\"border: 1px #99B3B4 dashed;text-align:center; padding:4px; margin:0px;\">
  213. <b><a href=# onclick=\"
  214. correctTargetEnd(
  215. '$TargetID',
  216. document.getElementById('Students$uid').value,
  217. document.getElementById('Teachers$uid').value,
  218. document.getElementById('Subjects$uid').value,
  219. document.getElementById('target_desc_edit$uid').value,
  220. document.getElementById('target_startdate$uid').value,
  221. document.getElementById('target_enddate$uid').value,
  222. '$initStatus',
  223. document.getElementById('Status$uid').value,
  224. document.getElementById('target_note_edit$uid').value,
  225. '$resType',
  226. '$idx',
  227. '$val',
  228. document.Arc.Opts[0].checked,
  229. document.Arc.Opts[1].checked,
  230. document.Arc.Opts[2].checked,
  231. document.Arc.Opts[3].checked,
  232. document.Arc.Opts[4].checked,
  233. '$resType"."_Result_Div');
  234. return false;\">
  235. SAVE</a></b> Corrections to Target
  236. |-----|
  237. <b><a href=# onclick=\"
  238. showResultsOr(
  239. '$idx',
  240. '$resType',
  241. '$val',
  242. document.Arc.Opts[0].checked,
  243. document.Arc.Opts[1].checked,
  244. document.Arc.Opts[2].checked,
  245. document.Arc.Opts[3].checked,
  246. document.Arc.Opts[4].checked,
  247. '$resType"."_Result_Div');
  248. return false;\">
  249. CANCEL</a></b> without saving changes
  250. </div>";
  251. echo "</div>";
  252. }
  253. break;
  254. case "TargetCorrectFin":
  255. if ($seshRights>1){
  256. $resType = (sanitize_sql_string($_GET['resType']));
  257. $idx = (sanitize_sql_string($_GET['idx']));
  258. $val = (sanitize_sql_string($_GET['val']));
  259. $ong = (sanitize_sql_string($_GET['ong']));
  260. $ach = (sanitize_sql_string($_GET['ach']));
  261. $dro = (sanitize_sql_string($_GET['dro']));
  262. $notes = (sanitize_sql_string($_GET['notes']));
  263. $forma = (sanitize_sql_string($_GET['forma']));
  264. $TarID = (sanitize_sql_string($_GET['TarID']));
  265. $StuID = (sanitize_sql_string($_GET['StuID']));
  266. $TeachID = (sanitize_sql_string($_GET['TeachID']));
  267. $Subj = (sanitize_sql_string($_GET['Subj']));
  268. $note = (sanitize_sql_string($_GET['note']));
  269. $TargetDesc = (sanitize_sql_string($_GET['TargetDesc']));
  270. $start = (sanitize_sql_string($_GET['TargetDate1']));
  271. $end = (sanitize_sql_string($_GET['TargetDate2']));
  272. $initialStatus = (sanitize_sql_string($_GET['initialStatus']));
  273. $finalStatus = (sanitize_sql_string($_GET['finalStatus']));
  274. $d8time=date("Y-m-d H:i:s");
  275. $actor = $_SESSION['TID'];
  276. if (!(($finalStatus == 'Ongoing')
  277. || ($finalStatus == 'Achieved')
  278. || ($finalStatus == 'Dropped')))
  279. $finalStatus = 'Ongoing';
  280. if (!(isValidDate($start))) $start = date("Y-m-d");
  281. if (($finalStatus == 'Ongoing'))
  282. {$endBit="end=NULL,";}
  283. else
  284. if (!(isValidDate($end)))
  285. {
  286. $end = date("Y-m-d");
  287. $endBit = "end='$end',";
  288. }
  289. else {$endBit = "end='$end',";}
  290. $query=
  291. "UPDATE targets
  292. SET Target_desc='$TargetDesc',
  293. Student_ID='$StuID',
  294. Set_By='$TeachID',
  295. Subject='$Subj',
  296. note='$note',
  297. start='$start',
  298. $endBit
  299. modder='$actor',
  300. timestamp='$d8time',
  301. Status='$finalStatus'
  302. WHERE Target_ID='$TarID'
  303. LIMIT 1";
  304. $result = mysql_query($query) or die (mysql_error());
  305. // ARCHIVE
  306. ArchiveTarget($TarID);
  307. /// ACTIVITY UPDATE ///
  308. $action = "Edit";
  309. $actedOn = "Target";
  310. $actor = $_SESSION['TID'];
  311. $actedOnID = $TarID;
  312. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  313. //////////////////////
  314. include ('getResults.php');
  315. }
  316. break;
  317. case "TargetAdd":
  318. if ($seshRights>2){
  319. $emptyFields = FALSE;
  320. $emptyErrors = "";
  321. $StudentID = (sanitize_sql_string($_GET['stuID']));
  322. $rnd = (sanitize_sql_string($_GET['sid']));
  323. $TeacherID = (sanitize_sql_string($_GET['teachID']));
  324. $Target = (sanitize_sql_string($_GET['targetDesc']));
  325. $DateSet = (sanitize_sql_string($_GET['targetDate']));
  326. $subject = (sanitize_sql_string($_GET['subject']));
  327. $note = (sanitize_sql_string($_GET['note']));
  328. $repeatDesc = (sanitize_sql_string($_GET['repeatDesc']));
  329. if ($StudentID == '')
  330. {
  331. $emptyFields = TRUE;
  332. $emptyErrors = $emptyErrors."<hr><strong>Student ID</strong> is missing (Select a student from the dropdown list)";
  333. }
  334. if ($TeacherID == '')
  335. {
  336. $emptyFields = TRUE;
  337. $emptyErrors = $emptyErrors."<hr>Teacher information is missing";
  338. }
  339. if ($Target == '')
  340. {
  341. $emptyFields = TRUE;
  342. $emptyErrors = $emptyErrors."<hr><strong>Description</strong> of target is missing";
  343. }
  344. if ($DateSet == '')
  345. {
  346. $emptyFields = TRUE;
  347. $emptyErrors = $emptyErrors."<hr>Target start date is missing";
  348. }
  349. else
  350. {
  351. if (!(isValidDate($DateSet)))
  352. {
  353. $emptyFields = TRUE;
  354. $emptyErrors = $emptyErrors."<hr><strong>$DateSet</strong> is not a valid date";
  355. }
  356. }
  357. if ($subject == '')
  358. {
  359. $emptyFields = TRUE;
  360. $emptyErrors = $emptyErrors."<hr><strong>Subject</strong> is missing (Select or create a Subject)";
  361. }
  362. if ($emptyFields)
  363. {
  364. $msg = "ERROR";
  365. $info = $emptyErrors;
  366. $btn = "<a href=# onclick=\"
  367. document.getElementById('addTargContent').style.display = 'block';
  368. putThisThere('addTargetButton.php', 'AddTargButton');
  369. return false;\">Try again</a>?";
  370. printStatus($msg, $info, $btn, "red");
  371. }
  372. else
  373. {
  374. //Check if Subject already exists
  375. {
  376. $query = "Select count(*) FROM Subjects where Subject='$subject'";
  377. $result = mysql_query($query) or die (mysql_error()) ;
  378. $result = mysql_result($result, 0);
  379. //If not, add it
  380. if ($result == 0)
  381. {
  382. $query = "INSERT INTO Subjects(Subject) VALUES ('$subject')";
  383. $result = mysql_query($query) or die (mysql_error()) ;
  384. //Update Activity Table
  385. $action = "Add";
  386. $actedOn = "Subject";
  387. $actor = $_SESSION['TID'];
  388. $actedOnID = $subject;
  389. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  390. //
  391. }
  392. }
  393. $query =
  394. "SELECT Target_ID, status, start, end
  395. FROM targets
  396. WHERE
  397. Student_ID='$StudentID'
  398. AND Set_By='$TeacherID'
  399. AND Subject = '$subject'
  400. AND target_desc ='$Target'
  401. LIMIT 1";
  402. $result = mysql_query($query) or die (mysql_error()) ;
  403. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  404. {
  405. $TID = $row['Target_ID'];
  406. $status = $row['status'];
  407. $dates1 = $row['start'];
  408. $dates2 = $row['end'];
  409. $dates ="$dates1 $dates2";
  410. $dupe = TRUE;
  411. }
  412. if (isset($dupe))
  413. {
  414. $msg = "ERROR";
  415. $info = "Target <strong>not</strong> added to the database
  416. <br>Reason: This target already exists for this student
  417. <br>Its current status is: <strong>".$status."</strong>
  418. <br> The date(s) associated to this target are: <strong>".$dates."</strong>";
  419. $btn = "<a href=# onclick=\"
  420. document.getElementById('target_desc').value='';
  421. document.getElementById('addTargContent').style.display = 'block';
  422. putThisThere('addTargetButton.php', 'AddTargButton');
  423. return false;\">Add a different target</a>?";
  424. printStatus($msg, $info, $btn, "red");
  425. }
  426. else
  427. {
  428. $query = "SELECT max(Target_ID) FROM targets";
  429. $result = mysql_query($query) or die (mysql_error());
  430. $TID = mysql_result($result, 0);
  431. $TID +=1;
  432. $actor = $_SESSION['TID'];
  433. $d8time=date("Y-m-d H:i:s");
  434. //Add Target
  435. $query = "INSERT INTO targets(Target_ID, Student_ID, set_by, subject, target_desc, start, modder, timestamp, status, note) VALUES('$TID', '$StudentID', '$TeacherID', '$subject', '$Target', '$DateSet', '$actor', '$d8time', 'Ongoing', '$note')";
  436. $result = mysql_query($query) or die (mysql_error()) ;
  437. // Copy to Archive
  438. ArchiveTarget($TID);
  439. //Update Activity Table
  440. $action = "Add";
  441. $actedOn = "Target";
  442. $actor = $_SESSION['TID'];
  443. $actedOnID = $TID;
  444. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  445. //
  446. if ($repeatDesc=='false')
  447. {$targetBit = "document.getElementById('target_desc').value='';
  448. document.getElementById('Subject_Select_xml_addTarg').value='';
  449. document.getElementById('Subject_idx_addTarg').value='';";}
  450. else
  451. {$targetBit = "";}
  452. $msg ="SUCCESS";
  453. $info ="<strong>$subject</strong> target successfully added";
  454. $btn="<a href=# onclick=\"
  455. $targetBit
  456. document.getElementById('Student_idx_addTarg').value='';
  457. document.getElementById('DOB').value='';
  458. document.getElementById('target_note_add').value='';
  459. document.getElementById('Student_Select_xml_addTarg').value='';
  460. document.getElementById('addTargContent').style.display = 'block';
  461. putThisThere('addTargetButton.php', 'AddTargButton');
  462. return false;\">Add another</a>?";
  463. printStatus($msg, $info, $btn);
  464. }
  465. }
  466. }
  467. break;
  468. case "Student":
  469. if ($seshRights>3){
  470. $emptyFields = FALSE;
  471. $emptyErrors = "";
  472. // Get Vars
  473. $firstname= (sanitize_sql_string($_GET['firstname']));
  474. $lastname=(sanitize_sql_string($_GET['lastname']));
  475. $class=(sanitize_sql_string($_GET['class']));
  476. $DOB=(sanitize_sql_string($_GET['DOB']));
  477. $DOR=(sanitize_sql_string($_GET['DOR']));
  478. $status=(sanitize_sql_string($_GET['status']));
  479. $skipped=intval(sanitize_sql_string($_GET['skipped']));
  480. if ($firstname == '')
  481. {
  482. $emptyFields = TRUE;
  483. $emptyErrors = $emptyErrors."<hr>First name is missing";
  484. }
  485. if ($lastname == '')
  486. {
  487. $emptyFields = TRUE;
  488. $emptyErrors = $emptyErrors."<hr>Last name is missing";
  489. }
  490. if ($class == '')
  491. {
  492. $emptyFields = TRUE;
  493. $emptyErrors = $emptyErrors."<hr>Class is missing";
  494. }
  495. if ($DOB == '')
  496. {
  497. $emptyFields = TRUE;
  498. $emptyErrors = $emptyErrors."<hr>Date of Birth is missing";
  499. }
  500. else
  501. {
  502. if (!(isValidDate($DOB)))
  503. {
  504. $emptyFields = TRUE;
  505. $emptyErrors = $emptyErrors."<hr>Date of Birth: $DOB is not a valid date";
  506. }
  507. }
  508. if ($DOR == '')
  509. {
  510. $emptyFields = TRUE;
  511. $emptyErrors = $emptyErrors."<hr>Date of Registration is missing";
  512. }
  513. else
  514. {
  515. if (!(isValidDate($DOR)))
  516. {
  517. $emptyFields = TRUE;
  518. $emptyErrors = $emptyErrors."<hr>Registration Date: $DOR is not a valid date";
  519. }
  520. }
  521. if ($status == '')
  522. {
  523. $emptyFields = TRUE;
  524. $emptyErrors = $emptyErrors."<hr>Status information is missing";
  525. }
  526. if (!(($status == 'Active') || ($status == 'Dropped') || ($status == 'Left')))
  527. {
  528. $emptyFields = TRUE;
  529. $emptyErrors = $emptyErrors."<hr><strong>$status</strong> is not a valid status.";
  530. }
  531. if (($skipped < 0 ) || ($skipped > 5))
  532. {
  533. $emptyFields = TRUE;
  534. $emptyErrors = $emptyErrors."<hr>Are you sure the student has skipped <strong>$skipped</strong> years?";
  535. }
  536. if ($emptyFields)
  537. {
  538. $msg = "ERROR";
  539. $info = $emptyErrors;
  540. $btn = "<a href=#
  541. onclick=\"
  542. document.getElementById('addStudeContent').style.display = 'block';
  543. putThisThere('addStudentButton.php', 'AddStudentButton');
  544. return false;\">Try again?</a>";
  545. printStatus($msg, $info, $btn, "red");
  546. }
  547. else
  548. {
  549. // Check if person already exists
  550. $query = "Select count(*) from students where First_name='$firstname' AND last_name='$lastname' and DOB = '$DOB' and class ='$class'";
  551. $result = mysql_query($query) or die (mysql_error()) ;
  552. $result = mysql_result($result, 0);
  553. if ($result != 0)
  554. {
  555. $msg = "ERROR";
  556. $info = "A Student named <strong>$firstname $lastname</strong> in class <strong>$class</strong> with Date of Birth: <strong>$DOB</strong> already exists in the database.
  557. <br>If you wish to add another student with the same name, DOB and class add their middle initial after their first name";
  558. $btn = "<a href=# onclick=\"
  559. document.getElementById('addStudeContent').style.display = 'block';
  560. putThisThere('addStudentButton.php', 'AddStudentButton');
  561. return false;\">Try again?</a>";
  562. printStatus($msg, $info, $btn, "red");
  563. }
  564. else
  565. {
  566. // Create UID based on name
  567. $UID = substr($firstname, 0,3).substr($lastname, 0, 3)."_".$class;
  568. // Check UID is unique, if not make unique
  569. $UID = checkUID($UID, "students", "Student_ID");
  570. $Dobmod=intval(substr($DOB,0,4));
  571. $Dobmod=$Dobmod - $skipped;
  572. $Dobmod = $Dobmod.(substr($DOB,4,6));
  573. $timestamp = date("Y-m-d H:i:s");
  574. $query = "INSERT INTO students(student_ID, first_name, last_name, class, DOB, reg_date, DOBmod, lastModDate) VALUES('$UID', '$firstname', '$lastname' , '$class', '$DOB', '$DOR', '$Dobmod', '$timestamp' ) ";
  575. $result = mysql_query($query) or die (mysql_error()) ;
  576. /// ACTIVITY UPDATE ///
  577. $action = "Add";
  578. $actedOn = "Student";
  579. $actor = $_SESSION['TID'];
  580. $actedOnID = $UID;
  581. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  582. //////////////////////
  583. //STATUS MESSAGE AND LINK//
  584. $msg = "SUCCESS";
  585. $info = "Student named <strong> $firstname $lastname (DOB:$DOB) </strong> has been successfully added to the database";
  586. $btn = "<a href=# onclick=\"
  587. document.getElementById('Stu_FirstName').value ='';
  588. document.getElementById('Stu_LastName').value='';
  589. document.getElementById('ClassLet').value = '';
  590. document.getElementById('add_student_status').value = 'Active';
  591. document.getElementById('add_skipped_years').value = '0';
  592. document.getElementById('addStudeContent').style.display = 'block';
  593. putThisThere('addStudentButton.php', 'AddStudentButton');
  594. return false;\">Add another</a>?";
  595. printStatus($msg, $info, $btn);
  596. ///////////////////////////
  597. }
  598. }
  599. }
  600. break;
  601. case "editStudent":
  602. if ($seshRights>3){
  603. $emptyFields = FALSE;
  604. $emptyErrors = "";
  605. // Get Vars
  606. $stu_ID= (sanitize_sql_string($_GET['idx']));
  607. $firstname= (sanitize_sql_string($_GET['firstname']));
  608. $lastname=(sanitize_sql_string($_GET['lastname']));
  609. $class=(sanitize_sql_string($_GET['class']));
  610. $DOB=(sanitize_sql_string($_GET['DOB']));
  611. $DOR=(sanitize_sql_string($_GET['DOR']));
  612. $status=(sanitize_sql_string($_GET['status']));
  613. $skipped=intval(sanitize_sql_string($_GET['skipped']));
  614. if ($stu_ID == '')
  615. {
  616. $emptyFields = TRUE;
  617. $emptyErrors = $emptyErrors."<hr>Student ID is missing";
  618. }
  619. if ($firstname == '')
  620. {
  621. $emptyFields = TRUE;
  622. $emptyErrors = $emptyErrors."<hr>First name is missing";
  623. }
  624. if ($lastname == '')
  625. {
  626. $emptyFields = TRUE;
  627. $emptyErrors = $emptyErrors."<hr>Last name is missing";
  628. }
  629. if ($class == '')
  630. {
  631. $emptyFields = TRUE;
  632. $emptyErrors = $emptyErrors."<hr>Class is missing";
  633. }
  634. if ($DOB == '')
  635. {
  636. $emptyFields = TRUE;
  637. $emptyErrors = $emptyErrors."<hr>Date of Birth is missing";
  638. }
  639. else
  640. {
  641. if (!(isValidDate($DOB)))
  642. {
  643. $emptyFields = TRUE;
  644. $emptyErrors = $emptyErrors."<hr>Date of Birth: $DOB is not a valid date";
  645. }
  646. }
  647. if ($DOR == '')
  648. {
  649. $emptyFields = TRUE;
  650. $emptyErrors = $emptyErrors."<hr>Date of Registration is missing";
  651. }
  652. else
  653. {
  654. if (!(isValidDate($DOR)))
  655. {
  656. $emptyFields = TRUE;
  657. $emptyErrors = $emptyErrors."<hr>Registration Date: $DOR is not a valid date";
  658. }
  659. }
  660. if ($status == '')
  661. {
  662. $emptyFields = TRUE;
  663. $emptyErrors = $emptyErrors."<hr>Status information is missing";
  664. }
  665. if (!(($status == 'Active') || ($status == 'Dropped') || ($status == 'Left')))
  666. {
  667. $emptyFields = TRUE;
  668. $emptyErrors = $emptyErrors."<hr><strong>$status</strong> is not a valid status.";
  669. }
  670. if (($skipped < 0 ) || ($skipped > 5))
  671. {
  672. $emptyFields = TRUE;
  673. $emptyErrors = $emptyErrors."<hr>Are you sure the student has skipped <strong>$skipped</strong> years?";
  674. }
  675. if ($emptyFields)
  676. {
  677. $msg = "ERROR";
  678. $info = $emptyErrors;
  679. $btn = "<a href=#
  680. onclick=\"
  681. document.getElementById('editStudeContent').style.display = 'block';
  682. putThisThere('editStudentButton.php', 'editStudentButton');
  683. return false;\">Try again?</a>";
  684. printStatus($msg, $info, $btn, "red");
  685. }
  686. else
  687. {
  688. // Check if person already exists
  689. $query =
  690. "Select
  691. count(*)
  692. FROM
  693. students
  694. WHERE
  695. First_name='$firstname'
  696. AND last_name='$lastname'
  697. AND DOB = '$DOB'
  698. AND class ='$class'
  699. AND student_ID!='$stu_ID'";
  700. $result = mysql_query($query) or die (mysql_error()) ;
  701. $result = mysql_result($result, 0);
  702. if ($result != 0)
  703. {
  704. $msg = "ERROR";
  705. $info = "A Student named <strong>$firstname $lastname</strong> in class <strong>$class</strong> with Date of Birth: <strong>$DOB</strong> already exists in the database.
  706. <br>If you wish to add another student with the same name, DOB and class add their middle initial after their first name";
  707. $btn = "<a href=# onclick=\"
  708. document.getElementById('addStudeContent').style.display = 'block';
  709. putThisThere('editStudentButton.php', 'editStudentButton');
  710. return false;\">Try again?</a>";
  711. printStatus($msg, $info, $btn, "red");
  712. }
  713. else
  714. {
  715. $Dobmod=intval(substr($DOB,0,4));
  716. $Dobmod=$Dobmod - $skipped;
  717. $Dobmod = $Dobmod.(substr($DOB,4,6));
  718. $timestamp = date("Y-m-d H:i:s");
  719. $query =
  720. "UPDATE
  721. students
  722. SET
  723. first_name='$firstname',
  724. last_name='$lastname',
  725. class='$class',
  726. DOB='$DOB' ,
  727. reg_date='$DOR',
  728. DOBmod='$Dobmod',
  729. Stat='$status',
  730. lastModDate ='$timestamp'
  731. WHERE
  732. student_ID='$stu_ID'";
  733. $result = mysql_query($query) or die (mysql_error()) ;
  734. /// ACTIVITY UPDATE ///
  735. $action = "Edit";
  736. $actedOn = "Student";
  737. $actor = $_SESSION['TID'];
  738. $actedOnID = $stu_ID;
  739. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  740. //////////////////////
  741. //STATUS MESSAGE AND LINK//
  742. $msg = "SUCCESS";
  743. $info = "New details for Student named <strong> $firstname $lastname (DOB:$DOB) </strong> saved.";
  744. $btn = "<a href=# onclick=\"
  745. document.getElementById('Student_Select_xml').value = '$firstname $lastname';
  746. showResultsOr('$stu_ID',
  747. 'Student',
  748. '$firstname $lastname',
  749. document.Arc.Opts[0].checked,
  750. document.Arc.Opts[1].checked,
  751. document.Arc.Opts[2].checked,
  752. document.Arc.Opts[3].checked,
  753. document.Arc.Opts[4].checked,
  754. 'Student_Result_Div');
  755. HideAlert('editStude');
  756. return false;\">Close</a>";
  757. printStatus($msg, $info, $btn);
  758. ///////////////////////////
  759. }
  760. }
  761. }
  762. break;
  763. case "Teacher":
  764. if ($seshRights>3){
  765. $emptyFields = FALSE;
  766. $emptyErrors = "";
  767. // Get Vars
  768. $teach_firstname= (sanitize_sql_string($_GET['firstname']));
  769. $teach_lastname=(sanitize_sql_string($_GET['lastname']));
  770. $teach_title=(sanitize_sql_string($_GET['title']));
  771. $raw_email=$_GET['email'];
  772. $teach_email=(sanitize_sql_string($_GET['email']));
  773. $teach_pass=(sanitize_sql_string($_GET['pass']));
  774. $teach_status=(sanitize_sql_string($_GET['status']));
  775. $teach_rights=(sanitize_sql_string($_GET['rights']));
  776. if ($teach_firstname == '')
  777. {
  778. $emptyFields = TRUE;
  779. $emptyErrors = $emptyErrors."<hr>First name is missing";
  780. }
  781. if ($teach_lastname == '')
  782. {
  783. $emptyFields = TRUE;
  784. $emptyErrors = $emptyErrors."<hr>Last name is missing";
  785. }
  786. if ($teach_title == '')
  787. {
  788. $emptyFields = TRUE;
  789. $emptyErrors = $emptyErrors."<hr>Title is missing";
  790. }
  791. if ($teach_email == '')
  792. {
  793. $emptyFields = TRUE;
  794. $emptyErrors = $emptyErrors."<hr>E-mail address is missing";
  795. }
  796. else
  797. {
  798. include('_inc_EmailAddressValidator.php');
  799. $validator = new EmailAddressValidator;
  800. if (!($validator->check_email_address($raw_email)))
  801. {
  802. $emptyFields = TRUE;
  803. $emptyErrors = $emptyErrors."<hr><strong>$raw_email</strong> is not a valid E-mail address";
  804. }
  805. else
  806. {
  807. $query = "SELECT title, first_name, last_name
  808. FROM teachers
  809. WHERE email = '$teach_email'
  810. LIMIT 1";
  811. $result = mysql_query($query) or die (mysql_error());
  812. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  813. {
  814. $t = $row['title'];
  815. $fn = $row['first_name'];
  816. $ln = $row['last_name'];
  817. $emptyFields = TRUE;
  818. $emptyErrors = $emptyErrors."<hr><strong>$teach_email</strong> already in use by <strong>$t $fn $ln</strong>";
  819. }
  820. }
  821. }
  822. if ($teach_pass == '')
  823. {
  824. $emptyFields = TRUE;
  825. $emptyErrors = $emptyErrors."<hr>Blank passwords are not allowed";
  826. }
  827. if ($teach_status == '')
  828. {
  829. $emptyFields = TRUE;
  830. $emptyErrors = $emptyErrors."<hr>Status Information is missing";
  831. }
  832. if ($teach_rights == '')
  833. {
  834. $emptyFields = TRUE;
  835. $emptyErrors = $emptyErrors."<hr>Access Rights Information is missing";
  836. }
  837. if ($emptyFields)
  838. {
  839. $msg = "ERROR";
  840. $info = $emptyErrors;
  841. $btn = "<a href=#
  842. onclick=\"
  843. document.getElementById('addTeachContent').style.display = 'block';
  844. putThisThere('addTeacherButton.php', 'AddTeacherButton');
  845. return false;\">Try again?</a>";
  846. printStatus($msg, $info, $btn, "red");
  847. }
  848. else
  849. {
  850. // Check if person already exists
  851. $query = "Select count(*) from teachers where First_name='$teach_firstname' AND last_name='$teach_lastname'";
  852. $result = mysql_query($query) or die (mysql_error()) ;
  853. $result = mysql_result($result, 0);
  854. if ($result != 0)
  855. {
  856. $msg = "ERROR";
  857. $info = "A teacher named <strong>$teach_firstname $teach_lastname </strong> already exists in the database.<br><small>If you wish to add another teacher with the same name add their middle initial (or the class taught by this teacher) as part of their first name</small>";
  858. $btn = "<a href=#
  859. onclick=\"
  860. document.getElementById('addTeachContent').style.display = 'block';
  861. putThisThere('addTeacherButton.php', 'AddTeacherButton');
  862. return false;\">Try again?</a>";
  863. printStatus($msg, $info, $btn, "red");
  864. }
  865. else
  866. {
  867. // Create UID based on name
  868. $UID = substr($teach_firstname, 0,3).substr($teach_lastname, 0, 3);
  869. // Check UID is unique, if not make unique
  870. $UID = checkUID($UID, "teachers", "Teacher_ID");
  871. $timestamp = date("Y-m-d H:i:s");
  872. $query = "INSERT INTO teachers (teacher_ID, first_name, last_name, title, email, pwd, stat, rights, Status_change_date ) VALUES('$UID', '$teach_firstname', '$teach_lastname' , '$teach_title', '$teach_email', '$teach_pass', '$teach_status', '$teach_rights', '$timestamp' ) ";
  873. $result = mysql_query($query) or die (mysql_error()) ;
  874. /// ACTIVITY UPDATE ///
  875. $action = "Add";
  876. $actedOn = "Teacher";
  877. $actor = $_SESSION['TID'];
  878. $actedOnID = $UID;
  879. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  880. //////////////////////
  881. //STATUS MESSAGE AND LINK//
  882. $msg = "SUCCESS";
  883. $info = "Teacher named <strong>$teach_title $teach_firstname $teach_lastname</strong> has been successfully added to the database";
  884. $btn = "<a href=#
  885. onclick=\"
  886. document.getElementById('Teach_FirstName').value = '';
  887. document.getElementById('Teach_LastName').value = '';
  888. document.getElementById('Teach_Title').value = '';
  889. document.getElementById('Teach_Pass').value = '';
  890. document.getElementById('Teach_Email').value = '';
  891. document.getElementById('Teach_Status').value = 1;
  892. document.getElementById('Teach_Rights').value = 3;
  893. document.getElementById('addTeachContent').style.display = 'block';
  894. putThisThere('addTeacherButton.php', 'AddTeacherButton');
  895. return false;\">Add another</a>?";
  896. printStatus($msg, $info, $btn);
  897. ///////////////////////////
  898. }
  899. }
  900. }
  901. break;
  902. case "editTeacher":
  903. if ($seshRights>3){
  904. $emptyFields = FALSE;
  905. $emptyErrors = "";
  906. // Get Vars
  907. $teach_ID = (sanitize_sql_string($_GET['idx']));
  908. $teach_firstname= (sanitize_sql_string($_GET['firstname']));
  909. $teach_lastname=(sanitize_sql_string($_GET['lastname']));
  910. $teach_title=(sanitize_sql_string($_GET['title']));
  911. $raw_email=$_GET['email'];
  912. $teach_email=(sanitize_sql_string($_GET['email']));
  913. $teach_pass=(sanitize_sql_string($_GET['pass']));
  914. $teach_status=(sanitize_sql_string($_GET['status']));
  915. $teach_rights=(sanitize_sql_string($_GET['rights']));
  916. if ($teach_ID == '')
  917. {
  918. $emptyFields = TRUE;
  919. $emptyErrors = $emptyErrors."<hr>Teacher ID is missing";
  920. }
  921. if ($teach_firstname == '')
  922. {
  923. $emptyFields = TRUE;
  924. $emptyErrors = $emptyErrors."<hr>First name is missing";
  925. }
  926. if ($teach_lastname == '')
  927. {
  928. $emptyFields = TRUE;
  929. $emptyErrors = $emptyErrors."<hr>Last name is missing";
  930. }
  931. if ($teach_title == '')
  932. {
  933. $emptyFields = TRUE;
  934. $emptyErrors = $emptyErrors."<hr>Title is missing";
  935. }
  936. if ($teach_email == '')
  937. {
  938. $emptyFields = TRUE;
  939. $emptyErrors = $emptyErrors."<hr>E-mail address is missing";
  940. }
  941. else
  942. {
  943. include('_inc_EmailAddressValidator.php');
  944. $validator = new EmailAddressValidator;
  945. if (!($validator->check_email_address($raw_email)))
  946. {
  947. $emptyFields = TRUE;
  948. $emptyErrors = $emptyErrors."<hr><strong>$raw_email</strong> is not a valid E-mail address";
  949. }
  950. else
  951. {
  952. $query =
  953. "SELECT
  954. title,
  955. first_name,
  956. last_name
  957. FROM
  958. teachers
  959. WHERE
  960. email = '$teach_email'
  961. AND Teacher_ID!='$teach_ID'
  962. LIMIT 1";
  963. $result = mysql_query($query) or die (mysql_error());
  964. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  965. {
  966. $t = $row['title'];
  967. $fn = $row['first_name'];
  968. $ln = $row['last_name'];
  969. $emptyFields = TRUE;
  970. $emptyErrors = $emptyErrors."<hr><strong>$teach_email</strong> already in use by <strong>$t $fn $ln</strong>";
  971. }
  972. }
  973. }
  974. if ($teach_pass == '')
  975. {
  976. $emptyFields = TRUE;
  977. $emptyErrors = $emptyErrors."<hr>Blank passwords are not allowed";
  978. }
  979. if ($teach_status == '')
  980. {
  981. $emptyFields = TRUE;
  982. $emptyErrors = $emptyErrors."<hr>Status Information is missing";
  983. }
  984. if ($teach_rights == '')
  985. {
  986. $emptyFields = TRUE;
  987. $emptyErrors = $emptyErrors."<hr>Access Rights Information is missing";
  988. }
  989. if ($emptyFields)
  990. {
  991. $msg = "ERROR";
  992. $info = $emptyErrors;
  993. $btn = "<a href=#
  994. onclick=\"
  995. document.getElementById('editTeachContent').style.display = 'block';
  996. putThisThere('editTeacherButton.php', 'editTeacherButton');
  997. return false;\">Try again?</a>";
  998. printStatus($msg, $info, $btn, "red");
  999. }
  1000. else
  1001. {
  1002. // Check if person already exists
  1003. $query = "SELECT
  1004. count(*)
  1005. FROM
  1006. teachers
  1007. WHERE
  1008. First_name='$teach_firstname'
  1009. AND last_name='$teach_lastname'
  1010. AND Teacher_ID!='$teach_ID'";
  1011. $result = mysql_query($query) or die (mysql_error()) ;
  1012. $result = mysql_result($result, 0);
  1013. if ($result != 0)
  1014. {
  1015. $msg = "ERROR";
  1016. $info = "A teacher named <strong>$teach_firstname $teach_lastname </strong> already exists in the database.<br><small>If you wish to add another teacher with the same name add their middle initial (or the class taught by this teacher) as part of their first name</small>";
  1017. $btn = "<a href=#
  1018. onclick=\"
  1019. document.getElementById('editTeachContent').style.display = 'block';
  1020. putThisThere('editTeacherButton.php', 'editTeacherButton');
  1021. return false;\">Try again?</a>";
  1022. printStatus($msg, $info, $btn, "red");
  1023. }
  1024. else
  1025. {
  1026. $timestamp = date("Y-m-d H:i:s");
  1027. $query =
  1028. "UPDATE
  1029. teachers
  1030. SET
  1031. first_name='$teach_firstname',
  1032. last_name='$teach_lastname',
  1033. title='$teach_title',
  1034. email='$teach_email',
  1035. pwd='$teach_pass',
  1036. stat='$teach_status',
  1037. rights='$teach_rights',
  1038. Status_change_date='$timestamp'
  1039. WHERE
  1040. Teacher_ID='$teach_ID'";
  1041. $result = mysql_query($query) or die (mysql_error()) ;
  1042. /// ACTIVITY UPDATE ///
  1043. $action = "Edit";
  1044. $actedOn = "Teacher";
  1045. $actor = $_SESSION['TID'];
  1046. $actedOnID = $teach_ID;
  1047. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  1048. //////////////////////
  1049. //STATUS MESSAGE AND LINK//
  1050. $msg = "SUCCESS";
  1051. $info = "Information successfully modified for teacher named <strong>$teach_title $teach_firstname $teach_lastname</strong>";
  1052. $btn = "<a href=#
  1053. onclick=
  1054. \"document.getElementById('editTeach_ID').value = '';
  1055. document.getElementById('editTeach_FirstName').value = '';
  1056. document.getElementById('editTeach_LastName').value = '';
  1057. document.getElementById('editTeach_Title').value = '';
  1058. document.getElementById('editTeach_Pass').value = '';
  1059. document.getElementById('editTeach_Email').value = '';
  1060. document.getElementById('editTeach_Status').value = '1';
  1061. document.getElementById('editTeach_Rights').value = '3';
  1062. document.getElementById('Teacher_Select_xml').value = '$teach_firstname $teach_lastname';
  1063. showResultsOr('$teach_ID',
  1064. 'Teacher',
  1065. '$teach_firstname $teach_lastname',
  1066. document.Arc.Opts[0].checked,
  1067. document.Arc.Opts[1].checked,
  1068. document.Arc.Opts[2].checked,
  1069. document.Arc.Opts[3].checked,
  1070. document.Arc.Opts[4].checked,
  1071. 'Teacher_Result_Div');
  1072. HideAlert('editTeach');
  1073. return false;\">Close</a>";
  1074. printStatus($msg, $info, $btn);
  1075. ///////////////////////////
  1076. }
  1077. }
  1078. }
  1079. break;
  1080. case "editMe":
  1081. $emptyFields = FALSE;
  1082. $emptyErrors = "";
  1083. // Get Vars
  1084. $teachID = $_SESSION['TID'];
  1085. $email = (sanitize_sql_string($_GET['em']));
  1086. $pass= (sanitize_sql_string($_GET['pas']));
  1087. $passo=(sanitize_sql_string($_GET['paso']));
  1088. $passn=(sanitize_sql_string($_GET['pasn']));
  1089. $raw_email=$_GET['em'];
  1090. if (($passo == '') && ($pass == ''))
  1091. {
  1092. $emptyFields = TRUE;
  1093. $emptyErrors = $emptyErrors."<hr>Your Password is required to modify your login details.";
  1094. }
  1095. else
  1096. {
  1097. if ($passn!='')
  1098. {
  1099. $query =
  1100. "SELECT count(pwd)
  1101. FROM teachers
  1102. WHERE Teacher_ID='$teachID'
  1103. AND pwd='$passo' OR pwd='$pass'
  1104. LIMIT 1";
  1105. $result = mysql_query($query) or die (mysql_error()) ;
  1106. $pz = mysql_result($result, 0);
  1107. if ($pz < 1)
  1108. {
  1109. $emptyFields = TRUE;
  1110. $emptyErrors = $emptyErrors."<hr>The password you have entered is incorrect";
  1111. }
  1112. }
  1113. else
  1114. {
  1115. $query =
  1116. "SELECT pwd
  1117. FROM teachers
  1118. WHERE Teacher_ID='$teachID'
  1119. LIMIT 1";
  1120. $result = mysql_query($query) or die (mysql_error()) ;
  1121. $passn = mysql_result($result, 0);
  1122. }
  1123. }
  1124. if ($email == '')
  1125. {
  1126. $query =
  1127. "SELECT email
  1128. FROM teachers
  1129. WHERE Teacher_ID='$teachID'
  1130. LIMIT 1";
  1131. $result = mysql_query($query) or die (mysql_error()) ;
  1132. $email = mysql_result($result, 0);
  1133. }
  1134. else
  1135. {
  1136. include('_inc_EmailAddressValidator.php');
  1137. $validator = new EmailAddressValidator;
  1138. if (!($validator->check_email_address($raw_email)))
  1139. {
  1140. $emptyFields = TRUE;
  1141. $emptyErrors = $emptyErrors."<hr><strong>$raw_email</strong> is not a valid E-mail address";
  1142. }
  1143. else
  1144. {
  1145. $query =
  1146. "SELECT
  1147. title,
  1148. first_name,
  1149. last_name
  1150. FROM
  1151. teachers
  1152. WHERE
  1153. email = '$email'
  1154. AND Teacher_ID!='$teachID'
  1155. LIMIT 1";
  1156. $result = mysql_query($query) or die (mysql_error());
  1157. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  1158. {
  1159. $t = $row['title'];
  1160. $fn = $row['first_name'];
  1161. $ln = $row['last_name'];
  1162. $emptyFields = TRUE;
  1163. $emptyErrors = $emptyErrors."<hr><strong>$raw_email</strong> already in use by <strong>$t $fn $ln</strong>";
  1164. }
  1165. }
  1166. }
  1167. if ($emptyErrors == '')
  1168. {
  1169. $timestamp = date("Y-m-d H:i:s");
  1170. $query =
  1171. "UPDATE
  1172. teachers
  1173. SET
  1174. email='$email',
  1175. pwd='$passn',
  1176. Status_change_date='$timestamp'
  1177. WHERE
  1178. Teacher_ID='$teachID'";
  1179. $result = mysql_query($query) or die (mysql_error()) ;
  1180. /// ACTIVITY UPDATE ///
  1181. $action = "Edit";
  1182. $actedOn = "Teacher";
  1183. $actor = $_SESSION['TID'];
  1184. $actedOnID = $teachID;
  1185. ActivityUpdate($action, $actedOn, $actor, $actedOnID);
  1186. //////////////////////
  1187. //STATUS MESSAGE AND LINK//
  1188. $msg = "SUCCESS";
  1189. $info = "<b>$email</b> : Your login information has been successfully modified.</strong>";
  1190. $btn = "<a href=#
  1191. onclick=
  1192. \"document.getElementById('editMeButton').innerHTML='';
  1193. HideAlert('editMe');
  1194. return false;\">Close</a>";
  1195. printStatus($msg, $info, $btn);
  1196. }
  1197. else
  1198. {
  1199. $msg = "ERROR";
  1200. $info = $emptyErrors;
  1201. $btn = "<a href=#
  1202. onclick=\"
  1203. document.getElementById('editMeContent').style.display = 'block';
  1204. document.getElementById('editMeButton').style.display = 'none';
  1205. return false;\">Try again?</a>";
  1206. printStatus($msg, $info, $btn);
  1207. }
  1208. break;
  1209. case "remindMe":
  1210. $query = "SELECT email, pwd
  1211. FROM teachers
  1212. WHERE Teacher_ID='".$_SESSION['TID']."'
  1213. LIMIT 1";
  1214. $result = mysql_query($query) or die (mysql_error());
  1215. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
  1216. {
  1217. $em = $row['email'];
  1218. $pw = $row['pwd'];
  1219. }
  1220. $Name = "Gifted and Talented DataBase"; //senders name
  1221. $email = "GiftednTalented@pembridgehall.co.uk"; //senders e-mail adress
  1222. $recipient = $em; //recipient
  1223. $replyto = "annemarie.walsh@pembridgehall.co.uk";
  1224. $mail_body = "A password reminder was requested for the Gifted and Talented database from your account. Your password is $pw. If you believe you have received this email in error, please contact the database administrator."; //mail body
  1225. $subject = "Gifted and Talented Reminder"; //subject
  1226. $header = "From: ". $Name . " <" . $email . ">\r\n".
  1227. "Reply-To: $replyto \r\n" .
  1228. "X-Mailer: PHP/" . phpversion();
  1229. // Optional, use if doesn't work
  1230. ini_set('sendmail_from', 'emamio@moran.dreamhost.com'); //Suggested by "Some Guy"
  1231. //
  1232. mail($recipient, $subject, $mail_body, $header);
  1233. //STATUS MESSAGE AND LINK//
  1234. $msg = "SUCCESS";
  1235. $info = "Password reminder sent to <b>$em<b>";
  1236. $btn = "<a href=#
  1237. onclick=
  1238. \"document.getElementById('editMeButton').innerHTML='';
  1239. HideAlert('editMe');
  1240. return false;\">Close</a>";
  1241. printStatus($msg, $info, $btn);
  1242. break;
  1243. default: return false;
  1244. }
  1245. /*
  1246. document.getElementById('SpecSubj').value='';
  1247. document.getElementById('SubjAdd').innerHTML='';
  1248. */
  1249. //include ('_inc_closeDB.php');
  1250. }
  1251. else sessionError();
  1252. ?>