<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.'link.php');
include(mnminclude.'tags.php');

force_authentication();
$globals['ads'] = true;

if(isset($_POST["phase"])) {
	switch ($_POST["phase"]) {
		case 1:
			do_header(_("enviar noticia"), "post");
			do_submit1();
			break;
		case 2:
			do_header(_("enviar noticia"), "post");
			do_submit2();
			break;
		case 3:
			do_submit3();
			break;
	}
} else {
	check_already_sent();
	do_header(_("enviar noticia"), "post");
	do_submit0();
}
do_footer();
exit;

function check_already_sent() {
	global $db;
	// Check if the url has been sent already
	if (!empty($_GET['url'])) {
		$linkres = new Link;
		if (($found = $linkres->duplicates($_GET['url']))) {
			$linkres->url = $db->escape($found);
			if($linkres->read('url')) {
				header('Location: ' . $linkres->get_permalink());
				die;
			}
		}
	}
}

function print_empty_submit_form() {
	if (!empty($_GET['url'])) {
		$url = clean_input_url($_GET['url']);
	} else {
		$url = 'http://';
	}
	echo '<div id="genericform">';
	echo '<fieldset><legend><span class="sign">'._('dirección de la noticia').'</span></legend>';
	echo '<form action="submit.php" method="post" id="thisform">';
	echo '<p class="l-top"><label for="url">'._('url').':</label><br />';
	echo '<input type="text" name="url" id="url" value="'.htmlspecialchars($url).'" class="form-full" /></p>';
	echo '<input type="hidden" name="phase" value="1" />';
	echo '<input type="hidden" name="randkey" value="'.rand(10000,10000000).'" />';
	echo '<input type="hidden" name="id" value="c_1" />';
	echo '<p class="l-bottom"><input class="genericsubmit" type="submit" value="'._('continuar &#187;').'" /></p>';
	echo '</form>';
	echo '</fieldset>';
	echo '</div>';
}

function do_submit0() {
	do_navbar(_('enviar noticia') . ' &#187; '. _('paso 1: la dirección'));
	echo '<div id="genericform-contents">'."\n";
	echo '<h2>'._('envío de una nueva noticia: paso 1 de 3').'</h2>';
	echo '<div class="instruction">';
	echo '<h3>'._('por favor, respeta estas instrucciones para mejorar la calidad:').'</h3>';
	echo '<ul class="instruction-list">';
	echo '<li><strong>'._('contenido interesante').':</strong> '._('¿Está relacionado con la tecnología, Internet, o la cultura digital?').'</li>';
	echo '<li><strong>'._('enlaza la fuente original').':</strong> '._('No hagas perder tiempo a los lectores.').'</li>';
	echo '<li><strong>'._('busca antes').':</strong> '._('Evita duplicar noticias.').'</li>';
	echo '<li><strong>'._('sé descriptivo').':</strong> '._('Explica la noticia lo mejor que puedas y porqué es interesante').'.</li>';
	echo '<li><strong>'._('repetimos, por las dudas... ¡enlaza la fuente original!').'</strong> </li>';
	echo '<li><strong>'._('respeta el voto de los demás').'</strong>. '._('Si los votos o la falta de ellos te pueden afectar personalmente, mejor no envíes la noticia.').'</li>';
	echo '<li><strong>'._('NO envíes').':</strong> '._('spam, sensacionalismo, amarillismo, cotilleos, noticias del corazón, provocaciones, difamaciones e insultos').'</li>';
	echo '</ul></div>'."\n";
	print_empty_submit_form();
	echo '</div>';
}

function do_submit1() {
	global $db, $dblang, $current_user, $globals;

	do_navbar(_('enviar noticia ') . '&#187;'. _(' paso 2: detalles'));
	echo '<div id="genericform-contents">'."\n";

	if ($globals['min_karma_for_links'] > 0 && $current_user->user_karma < $globals['min_karma_for_links'] ) {
		echo '<p class="error"><strong>'._('no tienes el mínimo de karma para enviar una nueva historia').'</strong></p> ';
// 		echo '<br style="clear: both;" />' . "\n";
		echo '</div>'. "\n";
		return;
	}


	// avoid spams, an extra security check
	$from = time() - 7200;
	$same_user = $db->get_var("select count(*) from links where link_date > from_unixtime($from) and link_author=$current_user->user_id");
	$same_ip = $db->get_var("select count(*) from links, votes where link_date > from_unixtime($from) and vote_type='links' and vote_link_id = link_id and vote_user_id = link_author and vote_ip_int = ".$globals['user_ip_int']);
	echo "<!-- Same user: $same_user -->\n";
	echo "<!-- Same IP: $same_ip -->\n";
	if ($same_user > 4 || $same_ip > 4 ) {
		echo '<p class="error"><strong>'._('debes esperar, ya se enviaron varias con el mismo usuario o dirección IP').  '</strong></p>';
		echo '<br style="clear: both;" />' . "\n";
		echo '</div>'. "\n";
		return;
	}
	
	$url = clean_input_url($_POST['url']);
	$linkres=new Link;

	$edit = false;

	if(($found = $linkres->duplicates($url))) {
		echo '<p class="error"><strong>'._('noticia repetida!').'</strong></p> ';
		echo '<p class="error-text">'._('lo sentimos').'</p>';
		echo '<p class="error-text"><a href="'.$globals['base_url'].'?search='.htmlspecialchars($found).'">'._('haz clic aquí para votar o comentar la noticia que enviaron antes').'</a>';
		echo '<br style="clear: both;" /><br style="clear: both;" />' . "\n";
		echo '<form id="genericform">';
		echo '<input class="genericsubmit" type=button onclick="window.history.go(-1)" value="'._('&#171; retroceder').'" />';
		echo '</form>'. "\n";<commit_msg>Agregado control extra de números de votos psoitivos y negativos recibidos en las últimas 6 horas si el mismo autor envió ya dos noticias.<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.'link.php');
include(mnminclude.'tags.php');

force_authentication();
$globals['ads'] = true;

if(isset($_POST["phase"])) {
	switch ($_POST["phase"]) {
		case 1:
			do_header(_("enviar noticia"), "post");
			do_submit1();
			break;
		case 2:
			do_header(_("enviar noticia"), "post");
			do_submit2();
			break;
		case 3:
			do_submit3();
			break;
	}
} else {
	check_already_sent();
	do_header(_("enviar noticia"), "post");
	do_submit0();
}
do_footer();
exit;

function check_already_sent() {
	global $db;
	// Check if the url has been sent already
	if (!empty($_GET['url'])) {
		$linkres = new Link;
		if (($found = $linkres->duplicates($_GET['url']))) {
			$linkres->url = $db->escape($found);
			if($linkres->read('url')) {
				header('Location: ' . $linkres->get_permalink());
				die;
			}
		}
	}
}

function print_empty_submit_form() {
	if (!empty($_GET['url'])) {
		$url = clean_input_url($_GET['url']);
	} else {
		$url = 'http://';
	}
	echo '<div id="genericform">';
	echo '<fieldset><legend><span class="sign">'._('dirección de la noticia').'</span></legend>';
	echo '<form action="submit.php" method="post" id="thisform">';
	echo '<p class="l-top"><label for="url">'._('url').':</label><br />';
	echo '<input type="text" name="url" id="url" value="'.htmlspecialchars($url).'" class="form-full" /></p>';
	echo '<input type="hidden" name="phase" value="1" />';
	echo '<input type="hidden" name="randkey" value="'.rand(10000,10000000).'" />';
	echo '<input type="hidden" name="id" value="c_1" />';
	echo '<p class="l-bottom"><input class="genericsubmit" type="submit" value="'._('continuar &#187;').'" /></p>';
	echo '</form>';
	echo '</fieldset>';
	echo '</div>';
}

function do_submit0() {
	do_navbar(_('enviar noticia') . ' &#187; '. _('paso 1: la dirección'));
	echo '<div id="genericform-contents">'."\n";
	echo '<h2>'._('envío de una nueva noticia: paso 1 de 3').'</h2>';
	echo '<div class="instruction">';
	echo '<h3>'._('por favor, respeta estas instrucciones para mejorar la calidad:').'</h3>';
	echo '<ul class="instruction-list">';
	echo '<li><strong>'._('contenido interesante').':</strong> '._('¿Está relacionado con la tecnología, Internet, o la cultura digital?').'</li>';
	echo '<li><strong>'._('enlaza la fuente original').':</strong> '._('No hagas perder tiempo a los lectores.').'</li>';
	echo '<li><strong>'._('busca antes').':</strong> '._('Evita duplicar noticias.').'</li>';
	echo '<li><strong>'._('sé descriptivo').':</strong> '._('Explica la noticia lo mejor que puedas y porqué es interesante').'.</li>';
	echo '<li><strong>'._('repetimos, por las dudas... ¡enlaza la fuente original!').'</strong> </li>';
	echo '<li><strong>'._('respeta el voto de los demás').'</strong>. '._('Si los votos o la falta de ellos te pueden afectar personalmente, mejor no envíes la noticia.').'</li>';
	echo '<li><strong>'._('NO envíes').':</strong> '._('spam, sensacionalismo, amarillismo, cotilleos, noticias del corazón, provocaciones, difamaciones e insultos').'</li>';
	echo '</ul></div>'."\n";
	print_empty_submit_form();
	echo '</div>';
}

function do_submit1() {
	global $db, $dblang, $current_user, $globals;

	do_navbar(_('enviar noticia ') . '&#187;'. _(' paso 2: detalles'));
	echo '<div id="genericform-contents">'."\n";

	if ($globals['min_karma_for_links'] > 0 && $current_user->user_karma < $globals['min_karma_for_links'] ) {
		echo '<p class="error"><strong>'._('no tienes el mínimo de karma para enviar una nueva historia').'</strong></p> ';
// 		echo '<br style="clear: both;" />' . "\n";
		echo '</div>'. "\n";
		return;
	}


	// avoid spams, an extra security check
	// it counts the numbers of links in the last 2 hours
	$same_user = $db->get_var("select count(*) from links where link_date > date_sub(now(), interval 2 hour) and link_author=$current_user->user_id and link_votes > 0");
	$same_ip = $db->get_var("select count(*) from links, votes where link_date > date_sub(now(), interval 2 hour) and vote_type='links' and vote_link_id = link_id and vote_user_id = link_author and vote_ip_int = ".$globals['user_ip_int']);
	echo "<!-- Same user: $same_user -->\n";
	echo "<!-- Same IP: $same_ip -->\n";
	if ($same_user > 4 || $same_ip > 4 ) {
		echo '<p class="error"><strong>'._('debes esperar, ya se enviaron varias con el mismo usuario o dirección IP').  '</strong></p>';
		echo '<br style="clear: both;" />' . "\n";
		echo '</div>'. "\n";
		return;
	}

	// avoid users sending continuous "rubbsih" or "propaganda", specially new users
	// it takes in account the number of positive votes in the last six hours
	if ($same_user > 1 && $current_user->user_karma < 12) {
		$positives_received = $db->get_var("select count(*) from links, votes where link_date > date_sub(now(), interval 6 hour) and link_author = $current_user->user_id and vote_type='links' and vote_link_id = link_id and vote_user_id > 0 and vote_value > 0");
		$negatives_received = $db->get_var("select count(*) from links, votes where link_date > date_sub(now(), interval 6 hour) and link_author = $current_user->user_id and vote_type='links' and vote_link_id = link_id and vote_user_id > 0 and vote_value < 0");
		echo "<!-- Positives: $positives_received -->\n";
		echo "<!-- Negatives: $negatives_received -->\n";
		if ($negatives_received > $positives_received * 1.5) {
			echo '<p class="error"><strong>'._('debes esperar, has tenido demasiados votos negativos en tus últimos envíos').  '</strong></p>';
			echo '<br style="clear: both;" />' . "\n";
			echo '</div>'. "\n";
			return;
		}
	}
	
	$url = clean_input_url($_POST['url']);
	$linkres=new Link;

	$edit = false;

	if(($found = $linkres->duplicates($url))) {
		echo '<p class="error"><strong>'._('noticia repetida!').'</strong></p> ';
		echo '<p class="error-text">'._('lo sentimos').'</p>';
		echo '<p class="error-text"><a href="'.$globals['base_url'].'?search='.htmlspecialchars($found).'">'._('haz clic aquí para votar o comentar la noticia que enviaron antes').'</a>';
		echo '<br style="clear: both;" /><br style="clear: both;" />' . "\n";
		echo '<form id="genericform">';
		echo '<input class="genericsubmit" type=button onclick="window.history.go(-1)" value="'._('&#171; retroceder').'" />';
		echo '</form>'. "\n";
{'fraction_non_alphanumeric': 0.2198402347570916, 'fraction_numerical': 0.010270622758395827, 'mean_word_length': 4.760093896713615, 'pattern_counts': {'":': 0, '<': 199, '<?xml version=': 0, '>': 236, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, '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': '5606882', 'n_tokens_mistral': 4605, 'n_tokens_neox': 4348, 'n_words': 1133}