Advertisement
Guest User

Untitled

a guest
Oct 27th, 2015
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 12.01 KB | None | 0 0
  1. <title>PROXAT</title>
  2. <?php
  3.  
  4. if(!isset($config->complete))
  5. {
  6.     return include $pages['setup'];
  7. }
  8.  
  9. if(isset($_POST['cmd']))
  10. {
  11.     $messages = array();
  12.     switch($_POST['cmd'])
  13.     {
  14.         case 'login':
  15.             if(!$core->allset($_POST, 'user', 'pass'))
  16.             {
  17.                 break;
  18.             }
  19.             if(strlen($_POST['user']) == 0)
  20.             {
  21.                 $messages[] = 'Introduzca su nombre de usuario';
  22.             }
  23.             if(strlen($_POST['pass']) == 0)
  24.             {
  25.                 $messages[] = 'Por favor, introduzca su contraseña';
  26.             }
  27.             if(!empty($messages)) break;
  28.            
  29.             $user = $mysql->fetch_array('select * from `users` where `username`=:a;', array('a' => $_POST['user']));
  30.             if(empty($user) || !$mysql->validate($_POST['pass'], $user[0]['password']))
  31.             {
  32.                 $messages[] = 'Error de usuario / clave';
  33.                 break;
  34.             }
  35.            
  36.             $loginKey = md5(time() . json_encode($_POST));
  37.             setCookie('loginKey', $loginKey, strtotime('+ 1 year'));
  38.             $_COOKIE['loginKey'] = $loginKey;
  39.             $mysql->query('update `users` set `loginKey`=:a where `username`=:b;', array('a' => $loginKey, 'b' => $user[0]['username']));
  40.             $messages[] = 'Usted será redirigido a la pagina princial en segundos..' . $core->refreshLogin();
  41.             $core->auth = true;
  42.             break;
  43.         case 'register':
  44.             if(!$core->allset($_POST, 'user', 'pass', 'mail'))
  45.             {
  46.                 break;
  47.             }
  48.             if(strlen($_POST['user']) < 5 || strlen($_POST['user']) > 32 || !ctype_alnum($_POST['user']))
  49.             {
  50.                 $messages[] = 'Su nombre de usuario requiere 5-15 caracteres alfanuméricos (a-z/0-9)';
  51.             }
  52.             if(strtolower($_POST['user']) == 'unregistered')
  53.             {
  54.                 $messages[] = 'Ese nombre de usuario es reservado.';
  55.             }
  56.             if(strlen($_POST['pass']) < 6)
  57.             {
  58.                 $messages[] = 'Usted está obligado a elegir una contraseña con al menos 6 caracteres.';
  59.             }
  60.             if(!filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
  61.             {
  62.                 $messages[] = 'Por favor, introduce una dirección de correo electrónico válido.';
  63.             }
  64.             if(!empty($messages)) break;
  65.            
  66.             $count = $mysql->fetch_array('select count(*) as `count` from `users` where `username`=:a or `email`=:b or (`connectedlast`=:c and `username`!=:d);', array('a' => $_POST['user'], 'b' => $_POST['mail'], 'c' => $_SERVER['REMOTE_ADDR'], 'd' => ''));
  67.             if($count[0]['count'] > 0)
  68.             {
  69.                 $messages[] = 'Ya esta registrado ese nombre de usuario, o si ya tienes una cuenta, haga Login!';
  70.                 break;
  71.             }
  72.            
  73.             /* Insert Pre-Registration-ID Here (Unregistered) */
  74.             $vals = array(
  75.                 'id' => 'NULL',
  76.                 'username' => $_POST['user'],
  77.                 'nickname' => $_POST['user'],
  78.                 'password' => $mysql->hash($_POST['pass']),
  79.                 'avatar' => rand(0, 1759),
  80.                 'url' => '',
  81.                 'k' => rand(-1000000, 1000000),
  82.                 'k2' => rand(-1000000, 1000000),
  83.                 'k3' => rand(-1000000, 1000000),
  84.                 'xats' => $config->xats,
  85.                 'reserve' => $config->xats,
  86.                 'days' => time() + ($config->days * 86400),
  87.                 'email' => $_POST['mail'],
  88.                 'powers' => '',
  89.                 'enabled' => '1',
  90.                 'transferblock' => '',
  91.                 'connectedlast' => $_SERVER['REMOTE_ADDR'],
  92.                 'rank' => 1
  93.             );
  94.             $result = $mysql->insert('users', $vals);
  95.            
  96.             if(isset($_COOKIE['referral']) && is_numeric($_COOKIE['referral']))
  97.             {
  98.                 //$mysql->query('update `users` set `credit`=`credit`+125 where `id`=:uid;', array('uid' => $_COOKIE['referral']));
  99.             }
  100.            
  101.             $messages[] = "Se Registro con éxito, ahora puede iniciar sesión.";
  102.             break;
  103.         case 'update_bio':
  104.             if($core->auth)
  105.             {
  106.                 $mysql->query('update `users` set `desc`=:desc where `id`=' . $core->user['id'] . ';', array('desc' => $_POST['bio']));
  107.             }
  108.             break;
  109.        
  110.         case 'update_pawn':
  111.             if(isset($core->auth))
  112.             {
  113.                 if($core->user['custpawn'] != '')
  114.                 {
  115.                     if(substr($_POST['update_pawn'], 0, 1) == '#')
  116.                     {
  117.                         $_POST['update_pawn'] = substr($_POST['update_pawn'], 1);
  118.                     }
  119.                    
  120.                     if(!isset($_POST['update_pawn']) || strlen($_POST['update_pawn']) != 6 || !ctype_xdigit($_POST['update_pawn']))
  121.                     {
  122.                         $_POST['update_pawn'] = 'off';
  123.                     }
  124.                    
  125.                     $mysql->query('update `users` set `custpawn`=:pawn where `id`=' . $core->user['id'] . ';', array('pawn' => $_POST['update_pawn']));
  126.                 }
  127.             }
  128.             break;
  129.     }
  130.    
  131.     foreach($messages as $message)
  132.     {
  133.         print '<div class="lpt import"> ' . $message . ' </div>';
  134.     }
  135. }
  136.  
  137.     if(!isset($_GET['u']) && isset($core->user['username']))
  138.     {
  139.         $_GET['u'] = $core->user['username'];
  140.     }
  141.    
  142.     if(isset($_GET['u']) && ctype_alnum($_GET['u']))
  143.     {
  144.         $user = $mysql->fetch_array('select * from `users` where `username`=:uname or `id`=:uid;', array('uname' => $_GET['u'], 'uid' => $_GET['u']));
  145.         if(count($user) == 1)
  146.         {
  147.             $nickname = htmlspecialchars(substr($user[0]['nickname'], 0, strpos($user[0]['nickname'] . '##', '##')));
  148.             $nickname = preg_replace('/\([^)]*\)+/', '', $nickname);
  149.             $pcount   = $mysql->fetch_array('select count(*) from `userpowers` where `userid`=:userid;', array('userid' => $user[0]['id']));
  150.             print '<div class="container" style="margin: 0.5%; padding: 0.5%;">';
  151.             print '<div class="left">';
  152.             print '<div class="window">';
  153.             print '<div class="heading" style="position: inherit; height: auto;">';
  154.             if (is_numeric($user[0]['avatar'])) {
  155.             echo "<tr> <td><img style=\"max-width: 100%; background-color: transparent;width: 94%;border: 1px rgba(204, 204, 204, 1) solid;margin-top: 10px;\" src=\"/web_gear/av/{$user[0]['avatar']}.png\" /> </td> </tr>", PHP_EOL;
  156.             } else {
  157.             echo '<tr> <td><img style="max-width: 100%;" src="'.$user[0]['avatar'].'" class="mini-foto" style=" background-color: transparent;width: 94%;border: 1px rgba(204, 204, 204, 1) solid;margin-top: 10px;"/> </td> </tr>', PHP_EOL;
  158.             }
  159.             print '<style="background-color: transparent;width: 94%;border: 1px rgba(204, 204, 204, 1) solid;margin-top: 10px;">' . substr($nickname, 0, 50) . ' </div><div class="content" style="top:0;padding-top:0;"><table><tbody><tr class=""> <td> ID </td> <td class="tr"> ' . $user[0]['id'] . ' </td> </tr><tr class=""> <td> Xats </td> <td class="tr"> ' . $user[0]['xats'] . ' </td> </tr><tr class=""> <td> Days </td> <td class="tr"> ' . floor($user[0]['days'] / 86400) . '  </td> </tr><tr class=""> <td> Powers </td> <td class="tr"> ' . $pcount[0]['count(*)'] . ' </td> </tr><tr class=""> <td> Credit </td> <td class="tr"> ' . $user[0]['credit'] . ' </td> </tr></tbody></table><div style="width: 100%" class="tc">';
  160.            
  161.             print '<table style="width: 99%">';
  162.             print '</table>';
  163.             if($core->auth && $core->user['id'] == $user[0]['id'])
  164.             {
  165.                 print '<div style="width: 100%" class="tc"> <input type="submit" class="claimCredit" value="Claim Credit" style="padding:4%;" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" class="relogin" value="Relogin" style="padding:4%;" /> </div>';
  166.             }
  167.                         $usuario = $mysql->fetch_array('select * from `users` where `username`=:usuario or `id`=:uid;', array('usuario' => $_GET['u'], 'uid' => $_GET['u']));
  168.             $powers  = $mysql->fetch_Array( 'select * from `chat_powers` where `usuario`=:id;', Array('id' => $usuario[ 0 ][ 'id' ] ) );
  169.             If ( count( $usuario ) != 0 )
  170.             {
  171.             print '<br>';
  172.             print( '<div class="tc">Sus powers de grupo<br>' );
  173.             print( 'Actualemente[Asignados] Son:<br>' );
  174.             print '<br>';
  175.             print( '<strong> CHAT </strong> - <strong> POWER </strong><br>' );
  176.             Foreach ( $powers as $power )
  177.             print( '<i><a href="/' . $power[ 'chat' ] . '">' . $power[ 'chat' ] . '</a> </i>/<i> (' . $core->getPowerName( $power[ 'power' ] ) . ') </i><br>' );
  178.             } //count( $usuario ) != 0
  179.             Else
  180.             {
  181.             print( '<br><br><div class="tc" Usted no tiene powers activados en ningun chat!<br>' );
  182.             }
  183.             print( '</div><br>' );
  184.            
  185.             print '</div></div></div></div>';
  186.            
  187.            
  188.            
  189.             print '<div class="right">';
  190.             print '<div style="width: auto; min-width: 400px;">';
  191.             print '<div class="tabs" style="/*background-color: #1ba1e2; */ width: 100%;">';
  192.             print '</div>';
  193.             print '<div class="tabs_content" style="width:auto;padding:1%;">';
  194.             if(isset($core->user['id']) && $core->user['id'] == $user[0]['id'] && !isset($_GET['preview']))
  195.             {
  196.                 print '<div class="tabs_content" style="width:auto;padding:1%;">';
  197.                 print '<div class="heading"> Biografía [ <a style="color:#ffffff;" href="http://' . $config->server_dm . '/profile?u=' . htmlspecialchars($_GET['u']) . '&preview">VER BIOGRAFÍA</a> ]</div>';
  198.             }
  199.             else
  200.             {
  201.                 print '<div class="heading"> Biografia de '.$user[0]['username'].'  </div>';
  202.             }
  203.            
  204.             if($user[0]['desc'] == '' && (!$core->auth || $core->user['id'] != $user[0]['id']))
  205.             {
  206.                 print '<div class="tc" style="width: 100%"> ' . $user[0]['username'] . ' no tiene una biografía. </div>';
  207.             }
  208.             elseif($core->auth && $core->user['id'] == $user[0]['id'] && !isset($_GET['preview']))
  209.             {
  210.                 print '<small style="cursor:pointer" title="[br], [center], [b], [h1], [h2], [h3]"> BB CODES (hover) </small>';
  211.                 print '<form method="post">';
  212.                 print '<input type="hidden" name="cmd" value="update_bio" />';
  213.                 print '<textarea name="bio" style="width: 99%;resize: none" rows="15">' . htmlspecialchars($user[0]['desc']) . '</textarea>';
  214.                 print '<div style="width: 99%;text-align: center"> <input type="submit" value="Actualizar" /> </div></div>';
  215.                 print '</form>';
  216.             }
  217.             else
  218.             {
  219.                 $bb = array(
  220.                     '[br]' => '<br />',
  221.                     "\n"   => '<br />',
  222.                     '[center]' => '<span class="tc" style="width: 100%;display: inline-block;">',
  223.                     '[/center]' => '</span>',
  224.                     '[b]' => '<b>',
  225.                     '[/b]' => '</b>',
  226.                     '[h1]' => '<h1>',
  227.                     '[/h1]' => '</h1>',
  228.                     '[h2]' => '<h2>',
  229.                     '[/h2]' => '</h2>',
  230.                     '[h3]' => '<h3>',
  231.                     '[/h3]' => '</h3>',
  232.                     '[center]' => '<center>',
  233.                     '[/center]' => '</center>',
  234.                 );
  235.                
  236.                 print str_replace(array_keys($bb), $bb, htmlspecialchars($user[0]['desc']));
  237.             }
  238.             print '</div></div>';
  239.         }
  240.         else
  241.         {
  242.             print '<div class="lpi import"> Usuario no encontrado :/ </div>';
  243.         }
  244.     }
  245.     else
  246.     {
  247.         print '
  248.         <div class="container">
  249.             <div style="width: 100%; text-align: center;">
  250.                 <div class="halfopage" style="float: left;">
  251.                     <div class="window">
  252.                         <div class="heading"> Ingrese a su cuenta </div>
  253.                         <div class="content">
  254.                             <table>
  255.                     <form method="post">
  256.                         <input type="hidden" name="cmd" value="login" />
  257.                         <tr> <td class="tl"> Usuario </td> <td> <input style="width: 100%" type="text" name="user" /> </td> </tr>
  258.                         <tr> <td class="tl"> Clave </td> <td> <input style="width: 100%" type="password" name="pass" /> </td> </tr>
  259.                         <tr> <td colspan="2"> <input type="submit" value="Login" class="fr" /> </td> </tr>
  260.                     </form>
  261.                        </tbody>
  262.                     </table>
  263.                         </div>
  264.                     </div>
  265.                 </div>
  266.            
  267.             <div style="width: 10%; display: inline-block;"> <!-- Spacer --> </div>
  268.                
  269.                 <div class="halfopage" style="float: right;">
  270.                     <div class="window">
  271.                         <div class="heading"> Registrar una cuenta</div>
  272.                         <div class="content">
  273.                     <form method="post">
  274.                     <table>
  275.                         <input type="hidden" name="cmd" value="register" />
  276.                         <tr> <td class="tl"> Usuario </td> <td> <input style="width: 100%" type="text" name="user" /> </td> </tr>
  277.                         <tr> <td class="tl"> Clave </td> <td> <input style="width: 100%" type="password" name="pass" /> </td> </tr>
  278.                         <tr> <td class="tl"> Correo </td> <td> <input style="width: 100%" type="text" name="mail" /> </td> </tr>
  279.                         <tr> <td colspan="2"> <label for="verificacion" class="verif">¡Si ves esto, no llenes el siguiente campo!</label>
  280.     <input name="verificacion" class="verif" /> </td> </tr>
  281.                         <tr> <td colspan="2"> <input type="submit" value="Register" class="fr" /> </td> </tr>
  282.                         </table>
  283.                     </form>
  284.                 </div>
  285.                     </div>
  286.                 </div>
  287.             </div>
  288.        
  289.         </div>';
  290.     }
  291. if (isset($_POST['verificacion']) != ""){
  292.     // Es un SPAMbot
  293.     exit();
  294. }else{
  295.     // Es un usuario real, proceder a enviar el formulario.
  296. }
  297. ?>
  298. <STYLE type=text/css>
  299. body {
  300. BACKGROUND-IMAGE: url(<?php print $user[0]['xatspaceBG']; ?>)}
  301. a{
  302. color: #3498DB;
  303. } --para los enlaces
  304. a:hover{
  305. color: #FC0404;
  306. } --para cuando pasas sobre un enlace
  307. a:active{
  308. color: #04FC67;
  309. } --para cuando lo pulsas
  310. a:visited{
  311. color: #0467FC;
  312. } --para los que ya as visitado
  313. .verif{ display: none; }
  314. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement