Ejemplo n.º 1
0
 /**
  * @funcionalidad aprobamos o no el nuevo nick del usuario
  * Si el estado = 0 pendiente de aprobación
  * Si el estado = 1 aprobado el cambio de nick
  * Si el estado = 2 denegado el cambio de nick
  */
 function changeNick()
 {
     global $psDb, $psCore, $psMonitor;
     $nid = filter_input(INPUT_POST, 'nid');
     //obtenemos los datos de la db a partir del nick
     $consulta = "SELECT * FROM u_nicks WHERE id = :nid";
     $valores = array('nid' => $nid);
     $datos = $psDb->db_execute($consulta, $valores, 'fetch_assoc');
     //comprobamos si hemos pulsado el botón de aprobar, denegar u cancelar
     if ($_POST['accion'] == 'aprobar') {
         $cap = "UPDATE u_miembros SET user_name = :name, user_password = :pass, user_name_changes = :changes WHERE user_id = :uid";
         $vap = array('name' => $datos['name_2'], 'pass' => $datos['hash'], 'changes' => 'user_name_changes' - 1, 'uid' => $datos['user_id']);
         $psDb->db_execute($cap, $vap);
         $cap2 = "UPDATE u_nicks SET estado = :estado WHERE id = :id";
         $vap2 = array('estado' => 1, 'id' => $nid);
         $psDb->db_execute($cap2, $vap2);
         //una vez realizadas las consultas enviamos el aviso al usuario
         $aviso = 'Hola <b>' . $datos['name_1'] . '</b>:<br><br>Le informamos que su petici&oacute;n de cambio de nick ha sido aprobada. <br><br>Su nuevo nick es: <b>' . $datos['name_2'] . '</b>. Recibir&aacute; un email inform&aacute;ndole del cambio.';
         $psMonitor->setAviso($datos['user_id'], 'Cambio realizado', $aviso, 4);
         //ahora obtenemos los datos para enviarle por correo al usuario
         $asunto = $datos['name_1'] . 'su petici&oacute;n de cambio de nick ha sido aprobada.';
         $body = '<p>Hola <b>' . $datos['name_1'] . '</b>:</p><br><p>Le informamos su cambio de nick ha sido aprobado.</p> 
     <p>A partir de este momento podr&aacute; acceder a ' . $psCore->settings['titulo'] . 'con su nuevo nick.</p>
     <p> Su nuevo nick es: <b>' . $datos['name_2'] . '</b></p><br>
     <p>El Staff de <strong>' . $psCore->settings['titulo'] . '.</strong></p><br>
     <p>Esperamos verle pronto de nuevo. Hasta pronto!</p>';
     } else {
         if ($_POST['accion'] == 'denegar') {
             $cap = "UPDATE u_miembros SET user_name_changes = :changes WHERE user_id = :uid";
             $vap = array('changes' => 'user_name_changes' - 1, 'uid' => $datos['user_id']);
             $psDb->db_execute($cap, $vap);
             $cap2 = "UPDATE u_nicks SET estado = :estado WHERE id = :id";
             $vap2 = array('estado' => 2, 'id' => $nid);
             $psDb->db_execute($cap2, $vap2);
             //una vez realizadas las consultas enviamos el aviso al usuario
             $aviso = 'Hola <b>' . $datos['name_1'] . '</b>:<br><br>Le informamos que su petici&oacute;n de cambio de nick ha sido denegada. <br><br>';
             $psMonitor->setAviso($datos['user_id'], 'Cambio realizado', $aviso, 3);
             //ahora obtenemos los datos para enviarle por correo al usuario
             $asunto = $datos['name_1'] . 'su petici&oacute;n de cambio de nick ha sido denegada. Recibir&aacute; un email inform&aacute;ndole del cambio.';
             $body = '<p>Hola <b>' . $datos['name_1'] . '</b>:</p><br><p>Le enviamos este correo para informarle que su solicitud de cambio de nick ha sido denegada.</p> 
     <p>El Staff de <strong>' . $psCore->settings['titulo'] . '.</strong></p><br>
     <p>Esperamos verle pronto de nuevo y sentimos las molestias ocasionadas. Hasta pronto!</p>';
         } else {
             return 'Solicitud de cambio de nick cancelada';
         }
     }
     //añadimos la clase email para enviar el correo
     include '../inc/class/c.email.php';
     $psEmail = new psEmail('confirmar', 'nombre');
     $psEmail->em_to = $datos['user_email'];
     $psEmail->em_subject = $asunto;
     $psEmail->em_body = $body;
     $psEmail->em_head = $psEmail->setEmHead();
     $psEmail->sendEmail() or die('Ocurri&oacute un error al intentar enviar el correo');
 }
Ejemplo n.º 2
0
 /**
  * @funcionalidad si esta desactivado el registro automático enviaremos un correo de confirmación al usuario
  * @param type $psCore variable de la clase psCore
  * @param type $psDatos pasamos los datos por array
  * @param type $psUser variable de la clase psUsuarios
  * @return string si algo no va bien devolverá un mensaje de error
  */
 public function emailRegistro($psCore, $psDatos, $psUser, $psDb)
 {
     if (empty($psCore->settings['c_reg_activate'])) {
         $valores = ['user_id' => $psDatos['user_id'], 'email' => $psDatos['user_email'], 'time' => time()];
         $consulta = "INSERT INTO w_contacts ( user_id, user_email, time, type) VALUES (:user_id, :email, :time, \\'2\\')";
         if ($psDb->db_execute($consulta, $valores)) {
             include PS_ROOT . PS_CLASS . "c.email.php";
             $psEmail = new psEmail('activar', 'registro');
             $subject = "Active ahora su cuenta en " . $psCore->settings['titulo'];
             $body = '<div style="">
                 <h1 style="">' . $psCore->settings['titulo'] . '</h1>
                 <div style="">
                     <h2 style="">Hola ' . $psDatos['user_nick'] . '</h2>
                     <p>Para poder finalizar el proceso de registro, por favor confirma tu direcci&oacute;n de email pinchando en el siguiente <a href="' . $psCore->settings['url'] . '/validar/2/' . $psDatos['user_email'] . '">enlace</a></p>
                     <p>Si no puede acceder pinchando en el enlace copie y pegue la siguiente url: ' . $psCore->settings['url'] . '/validar/2/' . $psDatos['user_email'] . '</p><br><br>
                     <p>Una vez haya confirmado su direcci&oacute;n de email, podr&aacute; acceder con las siguientes credenciales:</p>
                     <p>Usuario: ' . $psDatos['user_nick'] . '<br>Contrase&ntilde;a: ' . $psDatos['user_password'] . '</p><br>
                     <p>Antes de empezar a interactuar con los dem&aacute;s usuarios de la comunidad, te recomendamos visitar el <a href="' . $psCore->settings['url'] . '/pages/protocolo">Protocolo</a>.</p>
                     <p>¡Te damos la bienvenida a ' . $psCore->settings['titulo'] . ' y esperamos que disfrutes tu visita.</p>
                     <div style="">
                         <span>El staff de <strong>' . $psCore->settings['titulo'] . ' ' . $psCore->settings['slogan'] . '</strong></span>
                     </div>
                 </div>';
             $psEmail->setEmail($psDatos['user_email'], $subject, $body);
             $psEmail->sendEmail() or die('0: Hubo un error al intentar enviar el mensaje.');
         } else {
             return '0: <div>Ocurri&oacute; un error al intentar procesar el registro, por favor, int&eacute;ntelo de nuevo.</div>';
         }
     } else {
         //activamos la cuenta del usuario
         $psUser->activate($psDatos['user_id'], $psDatos['user_registro']);
         //iniciamos sesión en la cuenta del usuario
         $psUser->login($psDatos['user_nick'], $psDatos['user_password'], true);
         return '2: <div class="box_cuerpo" style="padding: 10px 20px; border-top:1px solid black">
         Bienvenido a <b>' . $psCore->settings['titulo'] . '</b>, Ahora est&aacute;s registrado y tu cuenta ha sido activada, podr&aacute;s disfrutar de esta comunidad inmediatamente.<br><br>&iexcl;Muchas gracias y bienvenido!</div>';
     }
 }