Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.23 KB | None | 0 0
  1. <?php
  2.  
  3. namespace app\core\libs;
  4.  
  5. use Illuminate\Database\Capsule\Manager;
  6.  
  7. use PHPMailer\PHPMailer\Exception;
  8. use PHPMailer\PHPMailer\PHPMailer;
  9.  
  10. class DBManager
  11. {
  12.     protected static $manger;
  13.  
  14.     public static function init()
  15.     {
  16.  
  17.         self::notificaError("asds");
  18.         dd('enviado');
  19.  
  20.         try {
  21.             new \Exception("Prueba de notificación de exceptiones - guegue");
  22.  
  23.             self::$manger = new Manager();
  24.             self::$manger->addConnection([
  25.                 'driver' => DRIVER,
  26.                 'host' => DB_HOST,
  27.                 'database' => DB_NAME,
  28.                 'username' => DB_USER,
  29.                 'password' => DB_PASSWORD,
  30.                 'charset' => CHARSET,
  31.                 'collation' => COLLATION,
  32.                 'prefix' => PREFIX,
  33.             ]);
  34.             self::$manger->setAsGlobal();
  35.             self::$manger->bootEloquent();
  36.         } catch (\Exception $e) {
  37.             self::notificaError($e);
  38.         }
  39.     }
  40.  
  41.     public static function getConnection()
  42.     {
  43.         try {
  44.             return self::$manger->getConnection();
  45.         } catch (\Exception $e){
  46.             self::notificaError($e);
  47.         }
  48.     }
  49.  
  50.     public static function beginTransaction()
  51.     {
  52.         try {
  53.             self::getConnection()->beginTransaction();
  54.         } catch (\Exception $e){
  55.             self::notificaError($e);
  56.         }
  57.     }
  58.  
  59.     public static function commit()
  60.     {
  61.         try {
  62.             self::getConnection()->commit();
  63.         } catch (\Exception $e){
  64.             self::notificaError($e);
  65.         }
  66.     }
  67.  
  68.     public static function rollBack()
  69.     {
  70.         try {
  71.             self::getConnection()->rollback();
  72.         } catch (\Exception $e){
  73.             self::notificaError($e);
  74.         }
  75.     }
  76.  
  77.     public static function self()
  78.     {
  79.         return self::$manger;
  80.     }
  81.  
  82.     public static function notificaError($excepcion){
  83.         /*Configuración*/
  84.         $ruta = $_SERVER['PHP_SELF'];
  85.         $ip = $_SERVER['REMOTE_ADDR'];
  86.         $cliente = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  87.         $file = basename($ruta);
  88.         $fecha = date('d/m/Y H:m:s');
  89.  
  90.         $msg_enviar = "<h2><u>Error en: Desarrollo</u></h2>";
  91.         $msg_enviar .="<u>Fallo la consulta a la base de datos</u><br />";
  92.         $msg_enviar .= "<u>Fecha del error</u>: {$fecha} <br />";
  93.         $msg_enviar .= "<u>URL del error</u>: {$ruta}<br />";
  94.         $msg_enviar .= "<u>Archivo</u>: {$file}<br />";
  95.         $msg_enviar .= "<u>IP</u>: {$ip}<br />";
  96.         $msg_enviar .= "<u>Nombre de la PC del usuario</u>: {$cliente}<br />";
  97.         $msg_enviar .= "<u>Descripci&oacute;n</u>: <br />";
  98.         $msg_enviar .= str_replace("\r\n", "<br />", $excepcion);
  99.  
  100.         /*Correos*/
  101.         $obj_mail = new PHPMailer();
  102.         $obj_mail->Mailer = "smtp";
  103.         $obj_mail->Host = "mail.inatec.edu.ni";
  104.  
  105.         $obj_mail->From = "INATEC";
  106.         $obj_mail->FromName = "INATEC - PRODUCCIÓN";
  107.         $obj_mail->Timeout = 30;
  108.  
  109.         $obj_mail->AddAddress("adalgarcia17@gmail.com");
  110.         $obj_mail->Subject = "Error en el Sistema";
  111.         $obj_mail->Body = $msg_enviar;
  112.         $obj_mail->IsHTML(true);
  113.  
  114.         $obj_mail->Send();
  115.  
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement