function __construct() { // Obtengo IP del visitante $ip = new RemoteAddress(); $this->ip = $ip->getIpAddress(); $this->destinatario = "*****@*****.**"; $this->cc = "*****@*****.**"; }
private function prepareDataProvider($providerData) { $remote = new RemoteAddress(); $ipClient = $remote->getIpAddress(); $providerData['status'] = 0; $providerData['categories'] = '0'; $providerData['approved'] = 0; $providerData['active'] = 0; $providerData['ip'] = $ipClient; $providerData['token'] = md5(uniqid(mt_rand(), true)); return $providerData; }
/** * Tarkistaa käyttäjän IP:n ja lähettää ylläpitäjälle sähköpostin epäilyttävästä käytöksestä. * Lisäksi, jos löytää uuden sijainnin, päivittää sen tietokantaan. * Huom. toimii vain staattisilla IP-osoitteilla. * @param DByhteys $db * @param stdClass $user */ function check_IP_address(DByhteys $db, stdClass $user) { $remoteaddr = new RemoteAddress(); // Haetaan asiakkaan oikea ip osoite $ip = $remoteaddr->getIpAddress(); $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}")); //Haetaan kaupunki lähettämällä asiakkaan ip ipinfo.io serverille $nykyinen_sijainti = $details->city; if ($nykyinen_sijainti != "") { //Jos sijainti tiedossa if ($user->viime_sijainti != "") { $match = strcmp($nykyinen_sijainti, $user->viime_sijainti); if ($match != 0) { laheta_ilmoitus_epailyttava_IP($db, $user->sahkoposti, $user->viime_sijainti, $nykyinen_sijainti); //lähetetään ylläpidolle ilmoitus } } //päivitetään sijainti tietokantaan $query = "\tUPDATE\tkayttaja\n\t\t\t\t\tSET\t\tviime_sijainti = {$nykyinen_sijainti}\n\t\t\t\t\tWHERE\tsahkoposti = ? "; $db->query($query, [$user->sahkoposti]); } }
public function registertienda() { $Response = array(); if ($this->request->isPost()) { $Verificador = new ReCaptcha(KeyReCaptcha); $ResponseC = $Verificador->verifyResponse($_SERVER['REMOTE_ADDR'], $this->data['g-recaptcha-response']); if ($ResponseC->success) { //////////////////// Registro Usuario ////////////////////// //try{ $this->loadModel('Tienda.Usuario'); $Total = $this->Usuario->find('count', array('conditions' => array('Usuario.email' => $this->data['email']))); if ($Total == 0) { $this->loadModel('Tienda.ColoniaM'); $Colonia = $this->ColoniaM->find('first', array('entity' => true, 'conditions' => array('ColoniaM.cp' => $this->data['cp']))); if ($Colonia != null) { $IP = new RemoteAddress(); $this->Usuario->entity = true; $Usuario = $this->Usuario->newEntity(array()); $Usuario->user_group_id = 5; $Usuario->first_name = $this->data['nombre']; $Usuario->middle_name = $this->data['apellidop']; $Usuario->last_name = $this->data['apellidom']; $Usuario->email = $this->data['email']; $Usuario->username = $this->data['email']; $Usuario->password = $this->UserAuth->makePassword($this->data['pass']); $Usuario->salt = md5($Usuario->password); $Usuario->email_verified = 0; $Usuario->active = 0; $Usuario->ip_address = $IP->getIpAddress(); $Usuario->created = date("Y-m-d H:i:s"); $Usuario->modified = date("Y-m-d H:i:s"); if ($this->Usuario->save($Usuario)) { $Usuario->id = $this->Usuario->id; $this->loadModel('Tienda.DireccionUsuario'); $Direccion = $this->DireccionUsuario->newEntity(array()); $Direccion->cp = $this->data['cp']; $Direccion->calle = $this->data['calle']; $Direccion->no_int = $this->data['numeroint']; $Direccion->no_ext = $this->data['numeroext']; $Direccion->id_colonias = $Colonia->id_colonias; $Direccion->users_id = $this->Usuario->id; $Direccion->activa = 1; if ($this->DireccionUsuario->save($Direccion)) { $this->loadModel('Tienda.DetalleUsuario'); $Detalles = $this->DetalleUsuario->newEntity(array()); $Fecha = split("-", $this->data['cumple']); if (count($Fecha) == 3) { $Detalles->anio = $Fecha[0]; $Detalles->mes = $Fecha[1]; $Detalles->dia = $Fecha[2]; } $Detalles->users_id = $this->Usuario->id; $Detalles->telefono = $this->data['telefono']; $Detalles->id_cat_redes = $this->data['redsocial']; $Detalles->id_cat_estudios = $this->data['estudios']; $Detalles->id_cat_ocupaciones = $this->data['ocupacion']; $Detalles->genero = $this->data['genero']; $Detalles->edo_civiles_id_edo_civiles = $this->data['civil']; $Detalles->primera_compra = 0; $Detalles->id_think = '--'; if ($this->DetalleUsuario->save($Detalles)) { if (!empty($this->data['titular'])) { $this->loadModel('Tienda.DatosTarjetaM'); $this->loadModel('Tienda.Banco'); $Banco = $this->Banco->find('first', array('entity' => true, 'conditions' => array('Banco.id_bancos' => $this->data['banco']))); if ($Banco != null) { $Seguridad = new Cifrado(); $Tarjeta = $this->DatosTarjetaM->newEntity(array()); $Tarjeta->titulas = $this->data['titular']; $Tarjeta->no_tarjeta = $Seguridad->cifrar('cifrar', $this->data['tarjeta'], KeyEncriptData); $Tarjeta->codigo_reguridad = $Seguridad->cifrar('cifrar', $this->data['cvc'], KeyEncriptData); $Tarjeta->fecha_expiracion = $Seguridad->cifrar('cifrar', $this->data['mes'] . '-' . $this->data['anio'], KeyEncriptData); $Tarjeta->tipo_tarjeta = $Seguridad->cifrar('cifrar', $this->data['tipo'], KeyEncriptData); $Tarjeta->id_bancos = $Banco->id_bancos; $Tarjeta->procesador_pago = 1; $Tarjeta->id_users = $this->Usuario->id; $this->DatosTarjetaM->save($Tarjeta); } } if (count($this->data['intereses']) > 0) { $this->loadModel('Tienda.InteresUser'); foreach ($this->data['intereses'] as $key => $value) { $Interes = $this->InteresUser->newEntity(array()); $Interes->id_cat_intereses = $value; $Interes->iduser_details = $this->DetalleUsuario->id; $this->InteresUser->save($Interes); } } $Usuario->keyActive = md5($Usuario->password . $Usuario->salt); $Email = new CakeEmail('smtp'); $Email->viewVars(array('Usuario' => $Usuario)); if ($Email->template('Tienda.registro', 'Tienda.usuario')->emailFormat('html')->subject("Activar Cuenta")->to($Usuario->email)->send()) { $Response['resp'] = "Ok"; $Response['men'] = "<strong>Te has registrado con éxito, por favor revisa tu correo para confirmar tu cuenta.</strong>"; } else { $Response["resp"] = "error"; $Response["men"] = "<strong>Surgio un error al enviar el correo</strong>"; } } else { $Response['resp'] = "Error"; $Response['men'] = "<strong>No se pudo registrar la información de detalle, contacte al administrado por favor.</strong>"; } } else { $Response['resp'] = "Error"; $Response['men'] = "<strong>No se pudo registrar su dirección, contacte al administrado por favor.</strong>"; } } else { $Response['resp'] = "Error"; $Response['men'] = "<strong>No se pudo registrar su información, intente de nuevo o contacte al administrado.</strong>"; } } else { $Response['resp'] = "Error"; $Response['men'] = "<strong>El código postal que ingreso no se pudo localizar.</strong>"; } } else { $Response["resp"] = "error"; $Response["men"] = '<strong>El email "' . strip_tags($this->data['email']) . '" ya se encuentra registrado </strong>'; } /*}catch(Exception $e) { /////////////////// Regresamos estado anterior ////// $Response["resp"] ="error"; $Response["men"] ="<strong>Surgio un error inesperado</strong>"; }*/ } else { $Response["resp"] = "error"; $Response["men"] = "<strong>El código de verificación es incorrecto</strong>"; } } else { $Response["resp"] = "error"; $Response["men"] = "<strong>No se recibierón los datos</strong>"; } $this->set('response', $Response); $this->set('_serialize', array('response')); }