Staple_Log_Database.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. *
  4. * @author Ironpilot
  5. *
  6. */
  7. class Staple_Log_Database extends Staple_Log
  8. {
  9. public function last_DBError($applicationID = NULL)
  10. {
  11. $db = Staple_DB::get();
  12. $errmsg = $db->errno.': '.$db->error;
  13. return self::log_DBError($errmsg,$db->last_query,$applicationID);
  14. }
  15. public function Log($errmsg, $errsql = NULL, $applicationID = NULL)
  16. {
  17. $db = Staple_DB::get();
  18. $dbenc = Staple_Config::getValue('encrypt', 'key');
  19. $columns = 'occurred,error';
  20. $values = "NOW(), '".$db->escape_string($errmsg)."'";
  21. if(isset($errsql))
  22. {
  23. $ssnregex = '/^\d{3}\-\d{2}\-\d{4}$/';
  24. $errsql = preg_replace($ssnregex, 'SSN', $errsql);
  25. $columns .= ',`sql`';
  26. $values .= ",AES_ENCRYPT('".$db->escape_string($errsql)."','".$db->real_escape_string($dbenc)."')";
  27. }
  28. if(isset($applicationID))
  29. {
  30. $columns .= ',applicationID';
  31. $values .= ",'".((int)$applicationID)."'";
  32. }
  33. $sql = "INSERT INTO log_database_err ($columns) VALUES ($values)";
  34. if(($result = $db->query($sql)) === true)
  35. {
  36. return true;
  37. }
  38. else
  39. {
  40. return false;
  41. }
  42. }
  43. }
  44. ?>