<commit_before><?
// The source code packaged with this file is Free Software, Copyright (C) 2005 by
// <NAME> <gallir at uib dot es>.
// It's licensed under the AFFERO GENERAL PUBLIC LICENSE unless stated otherwise.
// You can get copies of the licenses here:
// 		http://www.affero.org/oagpl.html
// AFFERO GENERAL PUBLIC LICENSE is also included in the file called "COPYING".

include('config.php');
include(mnminclude.'html1.php');
include(mnminclude.'ts.php');
include(mnminclude.'log.php');

//$globals['ads'] = true;

// Clean return variable
if(!empty($_REQUEST['return']))
	$_REQUEST['return'] = clean_input_string($_REQUEST['return']);

if($_GET["op"] === 'logout') {
	$current_user->Logout($_REQUEST['return']);
}

// We need it because we modify headers
ob_start();

if ($_POST["processlogin"] == 1) {
	$globals['secure_page'] = True;
}

do_header("login");
echo '<div id="singlewrap">' . "\n";

echo '<div class="genericform">'."\n";

if($_GET["op"] === 'recover' || !empty($_POST['recover'])) {
	do_recover();
} else {
	do_login();
}

echo '</div>'."\n";
echo '</div>'."\n"; // singlewrap

do_footer();


function do_login() {
	global $current_user, $globals;

	$form_ip_check = check_form_auth_ip();
	$previous_login_failed =  log_get_date('login_failed', $globals['form_user_ip_int'], 0, 300);

	// Show menéame intro only if first try and the there were not previous logins
	if($previous_login_failed < 3 && empty($_POST["processlogin"]) && empty($_COOKIE['mnm_user'])) {
		echo '<div class="faq" style="float:right; width:55%; margin-top: 10px;">'."\n";
		// Only prints if the user was redirected from submit.php
		if (!empty($_REQUEST['return']) && preg_match('/submit\.php/', $_REQUEST['return'])) { 
			echo '<p style="border:1px solid #FF9400; font-size:1.3em; background:#FEFBEA; font-weight:bold; padding:0.5em 1em;">Para enviar una historia debes ser un usuario registrado</p>'."\n";
		}
		echo '<h3>¿Qué es menéame?</h3>'."\n";
		echo '<p>Es un web que te permite enviar una historia que será revisada por todos y será promovida, o no, a la página principal. Cuando un usuario envía una historia ésta queda en la <a href="shakeit.php" title="Cola de historias pendientes">cola de pendientes</a> hasta que reúne los votos suficientes para ser promovida a la página principal.</p>'."\n";
			
		echo '<h3>¿Todavía no eres usuario de menéame?</h3>'."\n";
		echo '<p>Como usuario registrado podrás, entre otras cosas:</p>'."\n";
		echo '<ul>'."\n";
		echo '<li>'."\n";
		echo '<strong>Enviar historias</strong><br />'."\n";
		echo '<p>Una vez registrado puedes enviar las historias que consideres interesantes para la comunidad. Si tienes algún tipo de duda sobre que tipo de historias puedes enviar revisa nuestras <a href="faq-es.php" title="Acerca de meneame">preguntas frecuentes sobre menéame.</a></p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Escribir comentarios</strong><br />'."\n";
		echo '<p>Puedes escribir tu opinión sobre las historias enviadas a menéame mediante comentarios de texto. También puedes votar positivamente aquellos comentarios ingeniosos, divertidos o interesantes y negativamente aquellos que consideres inoportunos.</p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Perfil de usuario</strong><br />'."\n";
		echo '<p>Toda tu información como usuario está disponible desde la página de tu perfil. También puedes subir una imagen que representará a tu usuario en menéame. Incluso es posible compartir los ingresos publicitarios de Menéame, solo tienes que introducir el código de tu cuenta Google Adsense desde tu perfil.</p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Chatear en tiempo real desde la fisgona</strong><br />'."\n";
		echo '<p>Gracias a la <a href="sneak.php" title="Fisgona">fisgona</a> puedes ver en tiempo real toda la actividad de menéame. Además como usuario registrado podrás chatear con mucha más gente de la comunidad menéame</p>'."\n";
		echo '</li>'."\n";
		echo '</ul>'."\n";
		echo '<h3><a href="register.php" style="color:#FF6400; text-decoration:underline; display:block; width:8em; text-align:center; margin:0 auto; padding:0.5em 1em; border:3px double #FFE2C5; background:#FFF3E8;">Regístrate ahora</a></h3>'."\n";
		echo '</div>'."\n";
		
		echo '<div class="genericform" style="float:left; width:40%; margin: 0">'."\n";	
	} else {
		echo '<div class="genericform" style="float:auto;">'."\n";	
	}
	echo '<form action="'.get_auth_link().'login.php" id="thisform" method="post">'."\n";
	
	if($_POST["processlogin"] == 1) {
		// Check the IP, otherwise redirect
		if (!$form_ip_check) {
			header("Location: http://".get_server_name().$globals['base_url']."login.php");
			die;
		}

		$username = clean_input_string(trim($_POST['username']));
		$password = trim($_POST['password']);
		$persistent = $_POST['persistent'];

	
		if ($previous_login_failed > 2  && !ts_is_human()) {
			log_insert('login_failed', $globals['form_user_ip_int'], 0);
			recover_error(_('el código de seguridad no es correcto'));
		} elseif ($current_user->Authenticate($username, md5($password), $persistent) == false) {
			log_insert('login_failed', $globals['form_user_ip_int'], 0);
			recover_error(_('usuario inexistente, sin validar, o clave incorrecta'));
			$previous_login_failed++;
		} else {
			// User authenticated, store clones
			$clones = array_reverse($current_user->GetClones()); // First item is the current login, second is the previous
			if (count($clones) > 1 && $clones[0] != $clones[1]) { // Ignore if last two logins are the same user
				$visited = array();
				foreach ($clones as $id) {
					if ($current_user->user_id != $id && !in_array($id, $visited)) {
						array_push($visited, $id);
						insert_clon($current_user->user_id, $id, 'COOK:'.$globals['user_ip']);
					}
				}<commit_msg>Almacena la IP real para los clones de login<commit_after><?
// The source code packaged with this file is Free Software, Copyright (C) 2005 by
// <NAME> <gallir at uib dot es>.
// It's licensed under the AFFERO GENERAL PUBLIC LICENSE unless stated otherwise.
// You can get copies of the licenses here:
// 		http://www.affero.org/oagpl.html
// AFFERO GENERAL PUBLIC LICENSE is also included in the file called "COPYING".

include('config.php');
include(mnminclude.'html1.php');
include(mnminclude.'ts.php');
include(mnminclude.'log.php');

//$globals['ads'] = true;

// Clean return variable
if(!empty($_REQUEST['return']))
	$_REQUEST['return'] = clean_input_string($_REQUEST['return']);

if($_GET["op"] === 'logout') {
	$current_user->Logout($_REQUEST['return']);
}

// We need it because we modify headers
ob_start();

if ($_POST["processlogin"] == 1) {
	$globals['secure_page'] = True;
}

do_header("login");
echo '<div id="singlewrap">' . "\n";

echo '<div class="genericform">'."\n";

if($_GET["op"] === 'recover' || !empty($_POST['recover'])) {
	do_recover();
} else {
	do_login();
}

echo '</div>'."\n";
echo '</div>'."\n"; // singlewrap

do_footer();


function do_login() {
	global $current_user, $globals;

	$form_ip_check = check_form_auth_ip();
	$previous_login_failed =  log_get_date('login_failed', $globals['form_user_ip_int'], 0, 300);

	// Show menéame intro only if first try and the there were not previous logins
	if($previous_login_failed < 3 && empty($_POST["processlogin"]) && empty($_COOKIE['mnm_user'])) {
		echo '<div class="faq" style="float:right; width:55%; margin-top: 10px;">'."\n";
		// Only prints if the user was redirected from submit.php
		if (!empty($_REQUEST['return']) && preg_match('/submit\.php/', $_REQUEST['return'])) { 
			echo '<p style="border:1px solid #FF9400; font-size:1.3em; background:#FEFBEA; font-weight:bold; padding:0.5em 1em;">Para enviar una historia debes ser un usuario registrado</p>'."\n";
		}
		echo '<h3>¿Qué es menéame?</h3>'."\n";
		echo '<p>Es un web que te permite enviar una historia que será revisada por todos y será promovida, o no, a la página principal. Cuando un usuario envía una historia ésta queda en la <a href="shakeit.php" title="Cola de historias pendientes">cola de pendientes</a> hasta que reúne los votos suficientes para ser promovida a la página principal.</p>'."\n";
			
		echo '<h3>¿Todavía no eres usuario de menéame?</h3>'."\n";
		echo '<p>Como usuario registrado podrás, entre otras cosas:</p>'."\n";
		echo '<ul>'."\n";
		echo '<li>'."\n";
		echo '<strong>Enviar historias</strong><br />'."\n";
		echo '<p>Una vez registrado puedes enviar las historias que consideres interesantes para la comunidad. Si tienes algún tipo de duda sobre que tipo de historias puedes enviar revisa nuestras <a href="faq-es.php" title="Acerca de meneame">preguntas frecuentes sobre menéame.</a></p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Escribir comentarios</strong><br />'."\n";
		echo '<p>Puedes escribir tu opinión sobre las historias enviadas a menéame mediante comentarios de texto. También puedes votar positivamente aquellos comentarios ingeniosos, divertidos o interesantes y negativamente aquellos que consideres inoportunos.</p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Perfil de usuario</strong><br />'."\n";
		echo '<p>Toda tu información como usuario está disponible desde la página de tu perfil. También puedes subir una imagen que representará a tu usuario en menéame. Incluso es posible compartir los ingresos publicitarios de Menéame, solo tienes que introducir el código de tu cuenta Google Adsense desde tu perfil.</p>'."\n";
		echo '</li>'."\n";
		echo '<li>'."\n";
		echo '<strong>Chatear en tiempo real desde la fisgona</strong><br />'."\n";
		echo '<p>Gracias a la <a href="sneak.php" title="Fisgona">fisgona</a> puedes ver en tiempo real toda la actividad de menéame. Además como usuario registrado podrás chatear con mucha más gente de la comunidad menéame</p>'."\n";
		echo '</li>'."\n";
		echo '</ul>'."\n";
		echo '<h3><a href="register.php" style="color:#FF6400; text-decoration:underline; display:block; width:8em; text-align:center; margin:0 auto; padding:0.5em 1em; border:3px double #FFE2C5; background:#FFF3E8;">Regístrate ahora</a></h3>'."\n";
		echo '</div>'."\n";
		
		echo '<div class="genericform" style="float:left; width:40%; margin: 0">'."\n";	
	} else {
		echo '<div class="genericform" style="float:auto;">'."\n";	
	}
	echo '<form action="'.get_auth_link().'login.php" id="thisform" method="post">'."\n";
	
	if($_POST["processlogin"] == 1) {
		// Check the IP, otherwise redirect
		if (!$form_ip_check) {
			header("Location: http://".get_server_name().$globals['base_url']."login.php");
			die;
		}

		$username = clean_input_string(trim($_POST['username']));
		$password = trim($_POST['password']);
		$persistent = $_POST['persistent'];

	
		if ($previous_login_failed > 2  && !ts_is_human()) {
			log_insert('login_failed', $globals['form_user_ip_int'], 0);
			recover_error(_('el código de seguridad no es correcto'));
		} elseif ($current_user->Authenticate($username, md5($password), $persistent) == false) {
			log_insert('login_failed', $globals['form_user_ip_int'], 0);
			recover_error(_('usuario inexistente, sin validar, o clave incorrecta'));
			$previous_login_failed++;
		} else {
			// User authenticated, store clones
			$clones = array_reverse($current_user->GetClones()); // First item is the current login, second is the previous
			if (count($clones) > 1 && $clones[0] != $clones[1]) { // Ignore if last two logins are the same user
				$visited = array();
				foreach ($clones as $id) {
					if ($current_user->user_id != $id && !in_array($id, $visited)) {
						array_push($visited, $id);
						if ($globals['form_user_ip']) $ip = $globals['form_user_ip'];
						else $ip = $globals['user_ip'];
						insert_clon($current_user->user_id, $id, 'COOK:'.$ip);
					}
				}
{'fraction_non_alphanumeric': 0.1774781650131434, 'fraction_numerical': 0.009497159331807004, 'mean_word_length': 4.725242718446602, 'pattern_counts': {'":': 0, '<': 129, '<?xml version=': 0, '>': 139, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3373736', 'n_tokens_mistral': 4407, 'n_tokens_neox': 4122, 'n_words': 1143}