Browse Source

Statistics for app

seavenois 10 years ago
parent
commit
91c3b680e3
7 changed files with 89 additions and 48 deletions
  1. 17 3
      sql/setup.sql
  2. 12 1
      www/app/sync.php
  3. 22 14
      www/blog/comment.php
  4. 22 14
      www/galeria/comment.php
  5. 6 6
      www/lang/lang_es.php
  6. 9 9
      www/lang/lang_eu.php
  7. 1 1
      www/script/blog.js

+ 17 - 3
sql/setup.sql

@@ -78,7 +78,8 @@ CREATE TABLE post_comment (
 	username	VARCHAR(200),
 	lang		VARCHAR(10),
 	approved	BOOLEAN			NOT NULL				DEFAULT 1,
-	visit		INT				REFERENCES stat_visit.id
+	visit		INT				REFERENCES stat_visit.id,
+	app			VARCHAR(24)
 );
 
 DROP TABLE IF EXISTS place;
@@ -134,6 +135,17 @@ CREATE TABLE stat_view (
 	dtime	TIMESTAMP		NOT NULL	DEFAULT now()
 );
 
+DROP TABLE IF EXIST stat_sync;
+CREATE TABLE stat_sync (
+	id		INT			NOT NULL	AUTO_INCREMENT	PRIMARY KEY,
+	dtime	TIMESTAMP	NOT NULL	DEFAULT now(),
+	user	VARCHAR(64)	NOT NULL,
+	fg		INT			NOT NULL	DEFAULT 1,
+	os		VARCHAR(64)	NOT NULL,
+	ip		VARCHAR(50)	NOT NULL,
+	synced	INT			NOT NULL	DEFAULT 0
+);
+
 DROP TABLE IF EXISTS photo;
 CREATE TABLE photo (
 	id				INT				NOT NULL	AUTO_INCREMENT	PRIMARY KEY,
@@ -188,7 +200,8 @@ CREATE TABLE photo_comment (
 	username	VARCHAR(200),
 	lang		VARCHAR(10),
 	approved	BOOLEAN			NOT NULL				DEFAULT 1,
-	visit		INT				REFERENCES stat_visit.id
+	visit		INT				REFERENCES stat_visit.id,
+	app			VARCHAR(24)
 );
 
 DROP TABLE IF EXISTS activity;
@@ -257,7 +270,8 @@ CREATE TABLE activity_comment (
 	username	VARCHAR(200),
 	lang		VARCHAR(10),
 	approved	BOOLEAN			NOT NULL				DEFAULT 1,
-	visit		INT				REFERENCES stat_visit.id
+	visit		INT				REFERENCES stat_visit.id,
+	app			VARCHAR(24)
 );
 
 DROP TABLE IF EXISTS festival;

+ 12 - 1
www/app/sync.php

@@ -1,6 +1,12 @@
 <?php
 	include('../functions.php');
-	$con = startdb();
+	$con = startdb('rw');
+	
+	//Get post data
+	$os = mysqli_real_escape_string($con, $_GET['os']);
+	$user = mysqli_real_escape_string($con, $_GET['code']);
+	$fg = mysqli_real_escape_string($con, $_GET['fg']);
+	$ip = getUserIP();
 	
 	//Get client version
 	$get_version = mysqli_real_escape_string($con, $_GET['v']);
@@ -11,16 +17,21 @@
 		//Here Im sending the app an OK code, but its not OK.
 		error_log("Trying to sync with a client, but there is no db version!");
 		echo "<synced>1</synced>\n";
+		mysqli_query($con, "INSERT INTO stat_sync (user, fg, os, ip, synced) VALUES ('$user', $fg, '$os', '$ip', 0);");
 		exit(-1);
 	}
 	else{
 		$r_v = mysqli_fetch_array($q_v);
 		if ($r_v['value'] <= $get_version){
 			echo "<synced>1</synced>\n";
+			mysqli_query($con, "INSERT INTO stat_sync (user, fg, os, ip, synced) VALUES ('$user', $fg, '$os', '$ip', 0);");
 			exit(-1);
 		}
 	}
 	
+	mysqli_query($con, "INSERT INTO stat_sync (user, fg, os, ip, synced) VALUES ('$user', $fg, '$os', '$ip', 1);");
+	error_log("INSERT INTO stat_sync (user, fg, os, ip, synced) VALUES ('$user', $fg, '$os', '$ip', 1);");
+	
 	//Header
 	echo "<database>\n";
 	echo "\t<name>gm</name>\n";

+ 22 - 14
www/blog/comment.php

@@ -5,6 +5,7 @@
 	$con = startdb('rw');
 	
 	//Get post values
+	$from =mysqli_real_escape_string($con, $_POST["from"]);
 	$post = mysqli_real_escape_string($con, $_POST["post"]);
 	$user = mysqli_real_escape_string($con, $_POST["user"]);
 	$text = mysqli_real_escape_string($con, $_POST["text"]);
@@ -31,21 +32,28 @@
 		exit(-1);
 	}
 	
-	//Format newlines in text
-	$text = str_replace(["\r\n", "\r", "\n"], "<br/>", $text);
-	
-	//Get visit
-	$ip = getUserIP();
-	$visit = '';
-	$q = mysqli_query($con, "SELECT id FROM stat_visit WHERE ip = '$ip';");
-	if (mysqli_num_rows($q) > 0){
-		$r = mysqli_fetch_array($q);
-		$visit = $r['id'];
+	if ($from == 'web'){
+		//Format newlines in text
+		$text = str_replace(["\r\n", "\r", "\n"], "<br/>", $text);
+		
+		//Get visit
+		$ip = getUserIP();
+		$visit = '';
+		$q = mysqli_query($con, "SELECT id FROM stat_visit WHERE ip = '$ip';");
+		if (mysqli_num_rows($q) > 0){
+			$r = mysqli_fetch_array($q);
+			$visit = $r['id'];
+		}
+		
+		//Insert row
+		mysqli_query($con, "INSERT INTO post_comment (post, text, username, lang, visit) VALUES ($post, '$text', '$user', '$lang', '$visit');");
+		version();
+	}
+	elseif ($from == 'app'){
+		$code = mysqli_real_escape_string($con, $_POST["code"]);
+		mysqli_query($con, "INSERT INTO post_comment (post, text, username, lang, app) VALUES ($post, '$text', '$user', '$lang', '$code');");
+		version();
 	}
-	
-	//Insert row
-	mysqli_query($con, "INSERT INTO post_comment (post, text, username, lang, visit) VALUES ($post, '$text', '$user', '$lang', '$visit');");
-	version();
 	
 	//Prepare the page to update the comment section
 	//WARNING: If changes are done here, do the same in post.php

+ 22 - 14
www/galeria/comment.php

@@ -5,6 +5,7 @@
 	$con = startdb('rw');
 	
 	//Get post values
+	$from =mysqli_real_escape_string($con, $_POST["from"]);
 	$photo = mysqli_real_escape_string($con, $_POST["photo"]);
 	$user = mysqli_real_escape_string($con, $_POST["user"]);
 	$text = mysqli_real_escape_string($con, $_POST["text"]);
@@ -30,21 +31,28 @@
 		exit(-1);
 	}
 	
-	//Format newlines in text
-	$text = str_replace(["\r\n", "\r", "\n"], "<br/>", $text);
-	
-	//Get visit
-	$ip = getUserIP();
-	$visit = '';
-	$q = mysqli_query($con, "SELECT id FROM stat_visit WHERE ip = '$ip';");
-	if (mysqli_num_rows($q) > 0){
-		$r = mysqli_fetch_array($q);
-		$visit = $r['id'];
+	if ($from == 'web'){
+		//Format newlines in text
+		$text = str_replace(["\r\n", "\r", "\n"], "<br/>", $text);
+		
+		//Get visit
+		$ip = getUserIP();
+		$visit = '';
+		$q = mysqli_query($con, "SELECT id FROM stat_visit WHERE ip = '$ip';");
+		if (mysqli_num_rows($q) > 0){
+			$r = mysqli_fetch_array($q);
+			$visit = $r['id'];
+		}
+		
+		//Insert row
+		mysqli_query($con, "INSERT INTO photo_comment (photo, text, username, lang, visit) VALUES ($photo, '$text', '$user', '$lang', '$visit');");
+		version();
+	}
+	elseif ($from == 'app'){
+		$code = mysqli_real_escape_string($con, $_POST["code"]);
+		mysqli_query($con, "INSERT INTO photo_comment (photo, text, username, lang, app) VALUES ($post, '$text', '$user', '$lang', '$code');");
+		version();
 	}
-	
-	//Insert row
-	mysqli_query($con, "INSERT INTO photo_comment (photo, text, username, lang, visit) VALUES ($photo, '$text', '$user', '$lang', '$visit');");
-	version();
 	
 	//Prepare the page to update the comment section
 	//WARNING: If changes are done here, do the same in album.php

+ 6 - 6
www/lang/lang_es.php

@@ -66,14 +66,14 @@
 	$lng['footer_help'] = 'Ayuda';
 	$lng['footer_privacy'] = 'Privacidad';
 	$lng['footer_app_google'] = 'App en Google Play';
-	$lng['cookie_message'] = '¡Utilizamos cookies! ¡Y nos obligan a cont&aacute;rtelo!<br/>Pero solo dos, y de las buenas.';
+	$lng['cookie_message'] = '¡Utilizamos cookies! ¡Y nos obligan a cont&aacute;rtelo!<br/>Pero pocas, y de las buenas.';
 	$lng['cookie_ok'] = 'Pues muy bien';
 	$lng['cookie_more'] = 'Cu&eacute;ntame m&aacute;s';
 	$lng['cookie_'] = '';
 	
 	// /lablanca/index.php
 	$lng['lablanca_no_title'] = 'Fiestas de La Virgen Blanca';
-	$lng['lablanca_description'] = 'Informacio&oacute;n sobre fiestas de La Blanca';
+	$lng['lablanca_description'] = 'Informaci&oacute;n sobre fiestas de La Blanca';
 	$lng['lablanca_no_intro'] = 'A la espera de Celed&oacute;n...';
 	$lng['lablanca_no_content'] = 'Las Fiestas de La Blanca. Esos d&iacute;as, del 4 al 9 de agosto, en los que Vitoria-Gasteiz se transforma. Se llena de color y alegr&iacute;a, y en cada esquina puedes encontrar actividades y espect&aacute;culos. Todos las estamos esperando.<br/><br/>Por desgracia, a&uacute;n hay que esperar m&aacute;s.<br/>';
 	$lng['lablanca_no_content_2'] = 'Nosotros ya estamos trabajando en ello. Tan pronto como vayamos sabiendo m&aacute;s, aqu&iacute; iremos publicando nuestro programa y otra informaci&oacute;n sobre las fiestas.';
@@ -93,7 +93,7 @@
 	$lng['activities_upcoming'] = 'Pr&oacute;ximas actividades';
 	$lng['activities_no_upcoming'] = 'No hay nuevas actividades a la vista. ¡Pronto organizaremos algo!';
 	$lng['activities_past'] = 'Activities pasadas';
-	$lng['activities_album'] = 'Album de fotos';
+	$lng['activities_album'] = '&Aacute;lbum de fotos';
 	$lng['activities_archive'] = 'Archivo';
 	$lng['activities_date'] = 'Fecha';
 	$lng['activities_price'] = 'Precio';
@@ -154,7 +154,7 @@
 	$lng['gallery_title'] = 'Galer&iacute;a';
 	$lng['gallery_description'] = 'Fotograf&iacute;as de Gasteizko Margolariak\'s';
 	$lng['gallery_header'] = 'Una imagen vale m&aacute;s que mil palabras. Por eso tratamos de recopilar todas las que podemos, de todos esos buenos momentos: las fiestas, las salidas, las quedadas...<br/><br/>¿Quieres ayudarnos? ¡Puedes <a href="http://' . $http_host . '/galeria/upload/">subir tus fotos</a>!';
-	$lng['gallery_albums'] = 'Albums';
+	$lng['gallery_albums'] = '&Aacute;lbums';
 	$lng['gallery_photos_singular'] = 'foto';
 	$lng['gallery_photos_plural'] = 'fotos';
 	$lng['gallery_read_more'] = 'Read more';
@@ -172,13 +172,13 @@
 	
 	// /galeria/upload.php
 	$lng['gallery_upload_header'] = 'Una imagen vale m&aacute;s que mil palabras.<br/><br/>Si tienes alguna foto chula con Gasteizko Margolariak, o relacionada con nosotros, ¡no dudes en subirla!<br/><br/>Eso s&iacute;, ten en cuenta que esta es una p&aacute;gina p&uacute;blica, asi que recuerda la regla de oro: "No subas nada que no querr&iacute;as que viera tu madre". Y si en las fotos sale m&aacute;s gente, piensa tambien en sus madres.<br/><br/>¡Muchas gracias por tu colaboraci&oacute;n!';
-	$lng['gallery_upload_select_album'] = '--Selecciona un album--';
+	$lng['gallery_upload_select_album'] = '--Selecciona un &aacute;lbum--';
 	$lng['gallery_upload_submit'] = 'Subir fotos';
 	$lng['gallery_upload_placeholder_title'] = 'T&iacute;tulo (opcional)';
 	$lng['gallery_upload_placeholder_description'] = 'Descripci&oacute;n (opcional)';
 	$lng['gallery_upload_drag'] = 'Arrastra aqu&iacute; tus fotos';
 	$lng['gallery_upload_select'] = 'O seleccionalas manualmente';
-	$lng['gallery_upload_tooltip_album'] = 'Elije el album m&aacute;s apropiado para tus fotos.';
+	$lng['gallery_upload_tooltip_album'] = 'Elije el &aacute;lbum m&aacute;s apropiado para tus fotos.';
 	$lng['gallery_upload_tooltip_name'] = 'Y tu nombre. No tiene que ser el de verdad. Si nos dices que eres Bob Esponja, nos lo creemos.';
 	$lng['gallery_upload_'] = '';
 	

+ 9 - 9
www/lang/lang_eu.php

@@ -17,7 +17,7 @@
 	$lng['section_activities'] = 'Ekitaldiak';
 	$lng['section_lablanca'] = 'La Blanca';
 	$lng['section_us'] = 'Gu';
-	$lng['section_gallery'] = 'Argaskiak';
+	$lng['section_gallery'] = 'Argazkiak';
 	$lng['section_press'] = 'Prentxa';
 	$lng['section_join'] = 'Bildu';
 	
@@ -66,9 +66,9 @@
 	$lng['footer_help'] = 'Laguntza';
 	$lng['footer_privacy'] = 'Pribatutasuna';
 	$lng['footer_app_google'] = 'App Google Play-an';
-	$lng['cookie_message'] = '¡Cookiek erabili ditugu!';
+	$lng['cookie_message'] = 'Cookiek erabili ditugu!';
 	$lng['cookie_ok'] = 'Oso ondo';
-	$lng['cookie_more'] = 'Gehiago esan dit';
+	$lng['cookie_more'] = 'Esan dit gehiago!';
 	$lng['cookie_'] = '';
 	
 	// /lablanca/index.php
@@ -93,7 +93,7 @@
 	$lng['activities_upcoming'] = 'Hurrengo ekitaldeak';
 	$lng['activities_no_upcoming'] = 'Oraindik ez dago hurrengo ekitaterik.';
 	$lng['activities_past'] = 'Aurreko ekitaldeak';
-	$lng['activities_album'] = 'Argaski albuma';
+	$lng['activities_album'] = 'Argazki albuma';
 	$lng['activities_archive'] = 'Artxiboa';
 	$lng['activities_date'] = 'Data';
 	$lng['activities_price'] = 'Prezioa';
@@ -114,7 +114,7 @@
 	$lng['blog_title'] = 'Blog - Gasteizko Margolariak';
 	$lng['blog_descrption'] = 'Asociaci&oacute;n Cultural Recreativa Gasteizko Margolariak - Blog';
 	$lng['blog_search'] = 'Bilatu';
-	$lng['blog_tag_cloud'] = 'Tagko hodeia';
+	$lng['blog_tag_cloud'] = 'Tag hodeia';
 	$lng['blog_archive'] = 'Artxiboa';
 	$lng['blog_read_more'] = 'Jarraitu irakurtzen';
 	$lng['blog_'] = '';
@@ -152,11 +152,11 @@
 	
 	// /galeria/index.php
 	$lng['gallery_title'] = 'Galera';
-	$lng['gallery_description'] = 'Gasteizko Margolarien argaskiak';
+	$lng['gallery_description'] = 'Gasteizko Margolarien argazkiak';
 	$lng['gallery_header'] = 'Argazki bat mil hitza baino gehiago balio du. <br/><br/>Laguntza eman diguzu? <a href="http://' . $http_host . '/galeria/upload/">Zure argazkiak kargatu</a> ahal duzu!';
 	$lng['gallery_albums'] = 'Albums';
-	$lng['gallery_photos_singular'] = 'argaskia';
-	$lng['gallery_photos_plural'] = 'argaskiak';
+	$lng['gallery_photos_singular'] = 'argazkia';
+	$lng['gallery_photos_plural'] = 'argazkiak';
 	$lng['gallery_read_more'] = 'Gehiago irakurri';
 	$lng['gallery_'] = '';
 	
@@ -208,7 +208,7 @@
 	$lng['help_license'] = 'Los contenidos publicados en esta pagina son propiedad de Asociaci&oacute;n Cultural Recreativa Gasteizko Mrgolariak (Gasteizko Margolariak).<br/><br/>Salvo que se especifique lo contrario, a excepci&on de las fotograf&iacute;as, los contenidos pueden reproducirse de acuerdo a los terminos de la licencia <a href="http://creativecommons.org/licenses/by-sa/3.0/legalcode.txt">CC-BY-SA 3.0</a>. Para las fotograf&iacute;as, Gasteizko Margolariak se reserva todos los derechos de distribuci&oacute;n.<br/><br>Los comentarios en las entradas y las fotograf&iacute; publicados por usuarios no relacionados directamente con Gasteizko Margolariak son responsabilidad de los mismos.';
 	$lng['help_privacy_title'] = 'Pribatutasun politika';
 	$lng['help_privacy'] = 'Navegar por internet hoy en d&iacute; se ha vuelto algo complicado, en lo que aprivacidad se refiere: practicamente cada p&aacute;gina que visitamos intenta obtener todos los datos posibles sobre nosotros para utilizarlos en marketing, data mining...<br/> <br/>En Gasteizko Margolariak queremos construir un sitio limpio y seguro, en el que nuestros visitantes puedan estar a gusto.<br/><br/> Por eso, queremos explicarte toda la informaci&oacute;n que recogemos sobre t&iacute; y lo que hacemos con ello.<br/><ul><li><span style="font-weight:bold;">Direcci&oacute; IP</span>: Cuando nos visitas, almacenamos tu direcci&oacute;n IP, junto con la hora de conexi&oacute;. Esto no nos permite identificarte como persona, pero nos es muy &uacute;til para saber cuantas personas distintas nos visitan.</li><li><span style="font-weight:bold;">Fotograf&iacute;as y comentarios</span>: Cuanquier visitante puede subir fotograf&iacute;as a esta web o comentar en la mayor&iacute;a de entradas. Para hacerlo, solo requerimos un nombre, y no tenemos ningun problema en que uses pseud&oacute;nimos o nombres falsos. Cuando comentes o subas im&aacute;genes tambi&eacute;n registramos tu direcci&oacute;n IP.</li><li><span style="font-weight:bold;">Datos de los socios</span>: Independientemente de los datos recogidos por este sitio web, en Gasteizko Margolariak mantenemos una base de datos sobre las personas que alguna vez han participado en alguna actividad con nosotros. Si es tu caso, y quieres que los eliminemos, no tiene m&aacute;s que escribirnos a <a target="_blank" href="mailto:gasteizkomargolariak@gmail.com">gasteizkomargolariak@gmail.com</a>. Sin rencores.';
-	$lng['help_cookie_title'] = 'Cookiek politika';
+	$lng['help_cookie_title'] = 'Cookie politika';
 	$lng['help_cookie'] = '¡Cookies! Est&aacute;n por todas partes. Sabemos que nadie suele leerse estos avisos sobre ellas, as&iacute; que ya que estas leyendo este, vamos a intentar hacerlo f&aacute;cil.<br/><br/>Una cookie es un peque&ntilde;o archivo de texto que puede quedar guardado en tu ordenador cuando visitas una web. Estos archivos son benignos, en el sentido de que no afectan al funcionamiento de tu ordenador, pero pueden ser utiles para los desarrolladores de p&aacute;ginas web para diversas cosas, como recordar tus preferencias entre visitas (como en nuestro caso) o identificarte y trazar tus movimientos por Internet (no es nuestro caso).<br/><br/>Aprovechando que aqu&iacute; utilizamos verdaderamente pocas, te contamos para que.<br/><ul><li><span style="font-weight:bold;">Idioma</span>: Utilizamos una cookie para recordar el idioma en el que quieres ver la p&aacute;gina. Si la estas viendo en castellano, el &uacute;nico texto que contendr&aacute; sera &quot;es&quot;. Bastante inofensivo, ¿verdad?</li><li><span style="font-weight:bold;">Aviso de cookies</span>: Ir&oacute;nicamente, tenemos que usar una cookie para evitar que el aviso sobre cookies que estamos obligados a mostrarte cuando nos visitas por primera vez te moleste solo esa primera vez. Esta es mas simple aun que la anterior, y es una cookie vacia, sin ningun tipo de texto.</li><li><span style="font-weight:bold;">Cookies de Google</span>: Esto tiene m&aacute;s miga. Durante las fiestas de Vitoria, esta p&aacute;gina muestra mapas de Google. Es posible (y casi seguro) que estos mapas inserten cookies propias sobre las que no tenemos ning&uacute;n control. Sorry.</li></ul>';
 	
 	//Ads

+ 1 - 1
www/script/blog.js

@@ -50,7 +50,7 @@ function postComment(post, lang){
 		var x = new ActiveXObject("Microsoft.XMLHTTP");
 	}
 	x.open("POST", "/blog/comment.php", true);
-	var params = "post=" + post + "&user=" + user + "&text=" + text + "&lang=" + lang;
+	var params = "from=web&post=" + post + "&user=" + user + "&text=" + text + "&lang=" + lang;
 	x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 	x.onreadystatechange = function(){
 		if(x.readyState == 4){