Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.db.php');
require_once('class.dbaccess.php');
require_once('class.usuariogrupos.php');
require_once('class.datosempresa.php');
require_once('class.configuraciones.php');
require_once('class.tokengenerator.php');
require_once('class.sexos.php');
require_once('class.gmail.php');
class Usuario
{
public $IdUsuario;
public $IdTipoLista;
public $Nombre;
public $Apellido;
public $CodigoAreaTelefono;
public $Telefono;
public $CodigoAreaFax;
public $Fax;
public $TelefonoEmergencia;
public $IdSexo;
public $Sexo;
public $FechaNacimiento;
public $Dni;
public $Email;
public $DomicilioCalle;
public $DomicilioNumero;
public $DomicilioPiso;
public $DomicilioDpto;
public $IdPais;
public $IdProvincia;
public $IdLocalidad;
public $CodigoPostal;
public $Empresa;
public $CuitCuil;
public $Usuario;
public $Contrasenia;
public $Newsletter;
public $IdEstado;
public $IdTipoUsuario;
public $Grupos;
public $Token;
public $AccessToken;
public function __construct()
{
$this->IdUsuario = '';
$this->IdTipoLista = '';
$this->Nombre = '';
$this->Apellido = '';
$this->CodigoAreaTelefono = '';
$this->Telefono = '';
$this->CodigoAreaFax = '';
$this->Fax = '';
$this->TelefonoEmergencia = '';
$this->IdSexo = '';
$this->FechaNacimiento = '';
$this->Dni = '';
$this->Email = '';
$this->DomicilioCalle = '';
$this->DomicilioNumero = '';
$this->DomicilioPiso = '';
$this->DomicilioDpto = '';
$this->IdPais = '';
$this->IdProvincia = '';
$this->IdLocalidad = '';
$this->CodigoPostal = '';
$this->Empresa = '';
$this->CuitCuil = '';
$this->Usuario = '';
$this->Contrasenia = '';
$this->Newsletter = '';
$this->IdEstado = '';
$this->IdTipoUsuario = '';
$this->Token = '';
$this->AccessToken = '';
$this->Grupos = array();
}
public function ParseFromArray(array $arr)
{
$this->IdUsuario = $arr['IdUsuario'];
$this->IdTipoLista = $arr['IdTipoLista'];
$this->Nombre = stripslashes($arr['Nombre']);
$this->Apellido = stripslashes($arr['Apellido']);
$this->CodigoAreaTelefono = stripslashes($arr['CodigoAreaTelefono']);
$this->Telefono = stripslashes($arr['Telefono']);
$this->CodigoAreaFax = stripslashes($arr['CodigoAreaFax']);
$this->Fax = stripslashes($arr['Fax']);
$this->TelefonoEmergencia = stripslashes($arr['TelefonoEmergencia']);
$this->IdSexo = $arr['IdSexo'];
$this->FechaNacimiento = stripslashes($arr['FechaNacimiento']);
$this->Dni = stripslashes($arr['DNI']);
$this->Email = stripslashes($arr['Email']);
$this->DomicilioCalle = stripslashes($arr['DomicilioCalle']);
$this->DomicilioNumero = stripslashes($arr['DomicilioNumero']);
$this->DomicilioPiso = stripslashes($arr['DomicilioPiso']);
$this->DomicilioDpto = stripslashes($arr['DomicilioDpto']);
$this->IdPais = $arr['IdPais'];
$this->IdProvincia = $arr['IdProvincia'];
$this->IdLocalidad = $arr['IdLocalidad'];
$this->CodigoPostal = stripslashes($arr['CodigoPostal']);
$this->Empresa = stripslashes($arr['Empresa']);
$this->CuitCuil = stripslashes($arr['CuitCuil']);
$this->Usuario = stripslashes($arr['Usuario']);
$this->Contrasenia = stripslashes($arr['Contrasenia']);
$this->Newsletter = $arr['Newsletter'];
$this->IdEstado = $arr['IdEstado'];
$this->IdTipoUsuario = $arr['IdTipoUsuario'];
if (!empty($this->IdSexo))
{
$this->Sexo = Sexos::GetById($this->IdSexo);
}
}
public function GetUsuario()
{
if (($this->Apellido != '') && ($this->Nombre != ''))
return $this->Nombre . ' ' . $this->Apellido;
elseif (($this->Apellido != ''))
return $this->Apellido;
else
return $this->Nombre;
}
public function GetDomicilio()
{
$Domicilio = '';
$Domicilio.= $this->DomicilioCalle . ' ' . $this->DomicilioNumero;
if (($this->DomicilioPiso != '') || ($this->DomicilioDpto != ''))
$Domicilio.= ' || ';
if (($this->DomicilioPiso != ''))
$Domicilio.= ' Piso: ' . $this->DomicilioPiso;
if (($this->DomicilioDpto != ''))
$Domicilio.= ' Dpto: ' . $this->DomicilioDpto;
return $Domicilio;
}
public function SendMailRegistro()
{
/* obtenemos informacion de configuracion del sitio */
$oConfiguraciones = new Configuraciones();
$oConfiguracion = $oConfiguraciones->GetRow();
/* armamos el codigo de activacion */
$Code = md5($this->Nombre . $this->Apellido . $this->Email);
$Headers.= "MIME-Version: 1.0" . "\r\n";
$Headers.= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$Headers.= "X-Mailer: php" . "\r\n";
$Headers.= 'To: ' . $this->Nombre . ' ' . $this->Apellido . '<' . $this->Email . '>' . "\r\n";
$Headers.= "From: " . $oDatosEmpresa->RazonSocial . "\r\n";
$Headers.= " <" . $oConfiguracion->EmailNoReply . ">" . "\r\n";
/* dependiendo del tipo de registro... */
if ($this->IdTipoLista == ListaTipos::Minorista)
{
$Content = '';
$Content.= 'Estimado ' . $this->Nombre . ' ' . $this->Apellido . ',<br>';
$Content.= 'Su registro ha sido procesado, por favor haga clic en el siguiente enlace para validar su cuenta.<br>';
$Content.= '<a href="' . Config::UrlSitioEspanol . 'registro/' . $Code .'">' . Config::UrlSitioEspanol . 'registro/' . $Code . '</a><br><br>';
}
elseif ($this->IdTipoLista == ListaTipos::Mayorista)
{
$Content = '';
$Content.= 'Su registro ha sido procesado, por favor haga clic en el siguiente enlace para validar su casilla de correo.<br>';
$Content.= '<a href="' . Config::UrlSitioEspanol . 'registro/' . $Code .'">' . Config::UrlSitioEspanol . 'registro/' . $Code . '</a><br><br>';
$Content.= 'Una vez validada la casilla de correo se le enviar� un mail al administrador del sitio para que active su cuenta. <br>';
$Content.= 'El mismo verificar� sus datos personales y le enviar� un aviso de activaci�n.<br><br>';
}
$Content.= 'Muchas Gracias.<br>';
$Content.= 'El equipo de ' . $oDatosEmpresa->RazonSocial . '.<br>';
$Content.= 'Tel: (' . $oDatosEmpresa->CodigoAreaTelefono . ') - ' . $oDatosEmpresa->Telefono . '<br>';
$Content.= '<b>' . $oDatosEmpresa->Email . '.</b>';
mail ($Email, $oDatosEmpresa->RazonSocial . ' - Apertura de cuenta', $Content, $Headers);
}
public function SendMailCuentaActivada()
{
$Email = $this->Email;
/* obtenemos los datos de la empresa */
$oDatosEmpresa = new DatosEmpresa();
$oDatosEmpresa = $oDatosEmpresa->GetRow();
/* obtenemos informacion de configuracion del sitio */
$oConfiguraciones = new Configuraciones();
$oConfiguracion = $oConfiguraciones->GetRow();
$Headers = "";
$Headers.= "MIME-Version: 1.0" . "\r\n";
$Headers.= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$Headers.= "X-Mailer: php" . "\r\n";
$Headers.= 'To: ' . $this->Nombre . ' ' . $this->Apellido . '<' . $this->Email . '>' . "\r\n";
$Headers.= "From: " . $oDatosEmpresa->RazonSocial . "\r\n";
$Headers.= " <" . $oConfiguracion->EmailNoReply . ">" . "\r\n";
$Content = '';
$Content.= 'Estimado ' . $this->Nombre . ' ' . $this->Apellido . ',<br>';
$Content.= 'Su cuenta ha sido activada.<br><br>';
$Content.= 'Haga clic en el siguiente enlace para comenzar a operar en nuestro sitio.<br>';
$Content.= '<a href=' . Config::UrlSitioEspanol . 'login.php>' . Config::UrlSitioEspanol . 'login.php' . '</a><br><br>';
$Content.= 'Muchas Gracias.<br>';
$Content.= 'El equipo de ' . $oDatosEmpresa->RazonSocial . '.<br>';
$Content.= 'Tel: (' . $oDatosEmpresa->CodigoAreaTelefono . ') - ' . $oDatosEmpresa->Telefono . '<br>';
$Content.= '<b>' . $oDatosEmpresa->Email . '.</b>';
// mail($Email, $oDatosEmpresa->RazonSocial . " - Cuenta Confirmada", $Content, $Headers);
GMail::SendEmail($oDatosEmpresa->RazonSocial . " - Cuenta Confirmada", $Content, array($Email));
return true;
}
public function SendMailCompra()
{
$Email = $this->Email;
/* obtenemos los datos de la empresa */
$oDatosEmpresa = new DatosEmpresa();
$oDatosEmpresa = $oDatosEmpresa->GetRow();
/* obtenemos informacion de configuracion del sitio */
$oConfiguraciones = new Configuraciones();
$oConfiguracion = $oConfiguraciones->GetRow();
$Headers = "";
$Headers.= "MIME-Version: 1.0" . "\r\n";
$Headers.= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$Headers.= "X-Mailer: php" . "\r\n";
$Headers.= 'To: ' . $this->Nombre . ' ' . $this->Apellido . '<' . $this->Email . '>' . "\r\n";
$Headers.= "From: " . $oDatosEmpresa->RazonSocial . "\r\n";
$Headers.= " <" . $oConfiguracion->EmailNoReply . ">" . "\r\n";
$Content = '';
$Content = Compras::ExportToEmail();
mail($Email, $oDatosEmpresa->RazonSocial . " - Orden de Pedido", $Content, $Headers);
return true;
}
public function SendMailChangePassword()
{
$Email = $this->Email;
/* obtenemos los datos de la empresa */
$oDatosEmpresa = new DatosEmpresa();
$oDatosEmpresa = $oDatosEmpresa->GetRow();
/* obtenemos informacion de configuracion del sitio */
$oConfiguraciones = new Configuraciones();
$oConfiguracion = $oConfiguraciones->GetRow();
$Headers = "";
$Headers.= "MIME-Version: 1.0" . "\r\n";
$Headers.= "Content-type: text/html; charset=utf-8" . "\r\n";
$Headers.= "X-Mailer: php" . "\r\n";
$Headers.= 'To: ' . $this->Nombre . ' ' . $this->Apellido . '<' . $this->Email . '>' . "\r\n";
$Headers.= "From: " . utf8_encode($oDatosEmpresa->RazonSocial) . "\r\n";
$Headers.= " <" . $oConfiguracion->EmailNoReply . ">" . "\r\n";
$Content = '';
$Content.= "Se ha recibido una solicitud para reestablecer su contraseña de la aplicación de la SAR.<br>";
$Content.= "Su código es: <b>" . $this->Contrasenia . "</b><br>";
$Content.= 'Muchas Gracias.<br>';
$Content.= 'El equipo de ' . $oDatosEmpresa->RazonSocial . '.<br>';
$Content.= '<b>' . $oDatosEmpresa->Email . '.</b>';
// if (!mail($Email, ($oDatosEmpresa->RazonSocial . " - Recuperación de cuenta"), utf8_encode($Content), $Headers))
// {
// return false;
// }
GMail::SendEmail("SAR - Reestablecer cuenta", $Content, array($Email));
return true;
}
public function CanDelete()
{
return true;
}
public function GetAllGrupos()
{
$UsuarioGrupos = new UsuarioGrupos();
return $UsuarioGrupos->GetAllByUsuario($this);
}
public function GetAllCompras()
{
$Transacciones = new Transacciones();
return $Transacciones->GetAllByUsuario($this);
}
public function GetCountAccesos(array $filter = NULL)
{
$LogAccesos = new LogAccesos();
return $LogAccesos->GetCountByUsuario($this, $filter);
}
public function GetAllAccesos(array $filter = NULL, Page $oPage = NULL)
{
$LogAccesos = new LogAccesos();
return $LogAccesos->GetAllByUsuario($this, $filter, $oPage);
}
public function GetCountVisitas(array $filter = NULL)
{
$LogVisitas = new LogVisitas();
return $LogVisitas->GetCountByUsuario($this, $filter);
}
public function GetAllVisitas(array $filter = NULL, Page $oPage = NULL)
{
$LogVisitas = new LogVisitas();
return $LogVisitas->GetAllByUsuario($this, $filter, $oPage);
}
public function GetCountBusquedas(array $filter = NULL)
{
$LogBusquedas = new LogBusquedas();
return $LogBusquedas->GetCountByUsuario($this, $filter);
}
public function GetAllBusquedas(array $filter = NULL, Page $oPage = NULL)
{
$LogBusquedas = new LogBusquedas();
return $LogBusquedas->GetAllByUsuario($this, $filter, $oPage);
}
public function GenerateAccessToken()
{
$oUsuarios = new Usuarios();
$tokenId = base64_encode(random_bytes(32));
$issuedAt = time();
$notBefore = $issuedAt;
$expire = $notBefore + 3600;
$serverName = $_SERVER["SERVER_NAME"];
$json = array(
'iat' => $issuedAt,
'jti' => $tokenId,
'iss' => $serverName,
'nbf' => $notBefore,
'exp' => $expire,
'userId' => $this->IdUsuario
);
$this->AccessToken = TokenGenerator::GenerateToken($json);
$this->Contrasenia = '';
$oUsuarios->UpdateAccessToken($this);
return $this->AccessToken;
}
public function GenerateRefreshToken()
{
$oUsuarios = new Usuarios();
$tokenId = base64_encode(random_bytes(32));
$issuedAt = time();
$notBefore = $issuedAt;
$expire = $notBefore + 60 * 60 * 24 * 60; //60 días
$serverName = $_SERVER["SERVER_NAME"];
$json = array(
'iat' => $issuedAt,
'jti' => $tokenId,
'iss' => $serverName,
'nbf' => $notBefore,
'exp' => $expire,
'userId' => $this->IdUsuario
);
$this->Token = TokenGenerator::GenerateToken($json);
$this->Contrasenia = '';
$oUsuarios->UpdateToken($this);
return $this->Token;
}
public function RevokeTokens()
{
$oUsuarios = new Usuarios();
$this->AccessToken = '';
$oUsuarios->UpdateAccessToken($this);
$this->Token = '';
$oUsuarios->UpdateToken($this);
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat