Procházet zdrojové kódy

Agrego donde comprar a mobile, arreglo errores de HTML varios y css

David před 11 roky
rodič
revize
47602ad608
7 změnil soubory, kde provedl 182 přidání a 31 odebrání
  1. 6 0
      contacto.php
  2. 8 4
      css/especificos.css
  3. 0 13
      css/menu.css
  4. 14 12
      index.php
  5. 99 2
      js/main.js
  6. 47 0
      mail.py
  7. 8 0
      mailer.php

+ 6 - 0
contacto.php

@@ -7,4 +7,10 @@ if (!$statement = $db->prepare("INSERT INTO consultas(nombre,email,consulta,fech
 $statement->bind_param("sss",$_POST['nombre'],$_POST['mail'],$_POST['consulta']);
 $statement->bind_param("sss",$_POST['nombre'],$_POST['mail'],$_POST['consulta']);
 $statement->execute();
 $statement->execute();
 //TODO mail
 //TODO mail
+
+
+include("mailer.php");
+
+$body="Mensaje de ".$_POST['nombre']. " ( ". $_POST['mail']." ) "."<br/><br/>".$_POST['consulta'];
+sendmail("Consulta en la pagina", $_POST['mail'], $body);
 echo "Consulta enviada correctamente.";
 echo "Consulta enviada correctamente.";

+ 8 - 4
css/especificos.css

@@ -11,7 +11,7 @@
   src: url("../Fonts/OpenSans.woff") format("woff");
   src: url("../Fonts/OpenSans.woff") format("woff");
 }
 }
 
 
-#logo { transition: opacity 0.5s ease-in-out; }
+#logo { opacity:0; transition: opacity 0.5s ease-in-out; }
 html, body
 html, body
 {
 {
     margin: 0px auto;
     margin: 0px auto;
@@ -623,7 +623,8 @@ p
    line-height: 23px;
    line-height: 23px;
 }
 }
 
 
-a:visited, a:link { color: white; text-decoration:none; }
+a:visited, a:link { color: #465A68; text-decoration:none; }
+.titulos > a:visited, .titulos > a:link { color: white; text-decoration:none; }
 #navbar a:visited, a:link { color: #485260; }
 #navbar a:visited, a:link { color: #485260; }
 a:hover { opacity: 0.5; transition: opacity 0.3s ease-in-out; }
 a:hover { opacity: 0.5; transition: opacity 0.3s ease-in-out; }
 
 
@@ -643,6 +644,10 @@ b { font-weight: bold; }
 .titulin { font-size: 23px; font-weight: bold;}
 .titulin { font-size: 23px; font-weight: bold;}
 #curso .titulos {max-width:90%; margin:0px auto; color:white;}
 #curso .titulos {max-width:90%; margin:0px auto; color:white;}
 #exit{ width: 90%; height: 30px; margin: 0 auto; cursor: pointer; float: right !important; text-align:right; }
 #exit{ width: 90%; height: 30px; margin: 0 auto; cursor: pointer; float: right !important; text-align:right; }
+@media screen and (max-width:890px) {
+	#distribuidoras .tabla { display: none; } 
+	#distribuidoras select { display: block; min-width: 50%; text-align: center; margin: 10px auto; padding:5px; font-size:16px; }
+}
 @media screen and (max-width:670px){
 @media screen and (max-width:670px){
 	.seccion{ padding-top: 30px; }
 	.seccion{ padding-top: 30px; }
 	#responsive img { width:48px; }
 	#responsive img { width:48px; }
@@ -651,8 +656,7 @@ b { font-weight: bold; }
 	.titulos { width:100%; margin: 0px; padding:5px 0px;}
 	.titulos { width:100%; margin: 0px; padding:5px 0px;}
 	.descripcion { width:100%; }
 	.descripcion { width:100%; }
 	.descripciones { margin-bottom: 0px; }
 	.descripciones { margin-bottom: 0px; }
-	.titulo_curso { max-width: 60%; margin: 10px auto; }
-	#distribuidoras { display: none; } /*TODO: varios select, pais, provincia,etc*/
+	.titulo_curso { max-width: 75%; margin: 10px auto; }
 	#footer-outer { height: auto !important; }
 	#footer-outer { height: auto !important; }
 	#suscribe { width: 70%; }
 	#suscribe { width: 70%; }
 	h4 { text-align:left;}
 	h4 { text-align:left;}

+ 0 - 13
css/menu.css

@@ -258,19 +258,6 @@ margin-bottom: -30px;
 padding: 10px;
 padding: 10px;
 }
 }
 
 
-
-p
-{
-   margin: 40px 30px 70px 30px;
-   font-family: 'Open Sans'/*'Raleway', sans-serif*/;
-   font-size: 16px;
-   text-align: center;
-   /*letter-spacing: 2px;*/
-   color: #465A68;/*#7196A6*/ 
-   font-weight: 300;
-   line-height: 23px;
-}
-
 a:visited, a:link
 a:visited, a:link
 {
 {
     color: #485260;
     color: #485260;

+ 14 - 12
index.php

@@ -1,11 +1,13 @@
-<?php header('Content-Type: text/html; charset=UTF-8'); ?>
+<?php 
+header('Content-Type: text/html; charset=UTF-8');
+header('Content-language: es');
+?>
 <!doctype html>
 <!doctype html>
 <head>
 <head>
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 	<meta name="keywords" content="cosmeticos, cosmetica, pieles, caras, manos, cuerpo, cremas corporales, cremas faciales, antioxidantes, productos de cosmetica, limpieza facial, acne, serum" />
 	<meta name="keywords" content="cosmeticos, cosmetica, pieles, caras, manos, cuerpo, cremas corporales, cremas faciales, antioxidantes, productos de cosmetica, limpieza facial, acne, serum" />
 	<meta name="description" content="Nos ocupamos de tu piel. Desarrollamos, diseñamos y comercializamos una exclusiva línea de productos cosméticos para tratamientos.">
 	<meta name="description" content="Nos ocupamos de tu piel. Desarrollamos, diseñamos y comercializamos una exclusiva línea de productos cosméticos para tratamientos.">
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
-	<meta name="Language" content="Spanish, English" />
     
     
     <link type="text/css" rel="Stylesheet" href="css/especificos.css" />
     <link type="text/css" rel="Stylesheet" href="css/especificos.css" />
 	<link rel="icon" type="image/x-icon" href="Images/icons/logo.ico" />
 	<link rel="icon" type="image/x-icon" href="Images/icons/logo.ico" />
@@ -14,7 +16,7 @@
 </head>
 </head>
 <body>
 <body>
 
 
-<div id="facebook-link"> <a href="https://www.facebook.com/pages/Especificos-Buenos-Aires/326062297573907"><img alt="Facebook" src="Images/fbmini.png" width="30px" height="30px" /></a> </div>
+<div id="facebook-link"> <a href="https://www.facebook.com/pages/Especificos-Buenos-Aires/326062297573907"><img alt="Facebook" src="Images/fbmini.png" width="30" height="30" /></a> </div>
 <div id="overlay-contact"></div>
 <div id="overlay-contact"></div>
 
 
     <div id="basic-grey">
     <div id="basic-grey">
@@ -66,7 +68,7 @@
 
 
 
 
 
 
-    <img alt="banner" id="banner" width="100%" height="auto">
+    <img alt="banner" id="banner" width="100%">
 	<div class="seccion" id="nosotros">
 	<div class="seccion" id="nosotros">
 	    <h1><span>NOSOTROS</span></h1>
 	    <h1><span>NOSOTROS</span></h1>
 	    
 	    
@@ -185,8 +187,8 @@
 	<i>Haga click en alguno de los siguientes cursos para acceder al contenido</i><br/><br/>
 	<i>Haga click en alguno de los siguientes cursos para acceder al contenido</i><br/><br/>
 	
 	
 
 
-<div class="titulo_curso" tatosa="banana">Especialización en Dermatocosmiatría, curso anual <div style="font-size: 10pt; display:inline;">[+]</div></div>
-<div class="descripcion_curso" tatosa="banana">
+<div class="titulo_curso" title="banana">Especialización en Dermatocosmiatría, curso anual <div style="font-size: 10pt; display:inline;">[+]</div></div>
+<div class="descripcion_curso" title="banana">
 La incorporación de nuevos métodos y tecnologías ha transformado completamente los tratamientos estéticos.<br/>
 La incorporación de nuevos métodos y tecnologías ha transformado completamente los tratamientos estéticos.<br/>
 La aplicación de fuentes de luz u otras terapias físicas como la radiofrecuencia, microcorrientes, electroestimulación facial, terapias de frio, métodos sinérgicos de aplicación de activos, maniobras adecuadas de acuerdo a la anatomía muscular y fisiología de la piel, han supuesto un antes y un después en la mayoría de los tratamientos.<br/>
 La aplicación de fuentes de luz u otras terapias físicas como la radiofrecuencia, microcorrientes, electroestimulación facial, terapias de frio, métodos sinérgicos de aplicación de activos, maniobras adecuadas de acuerdo a la anatomía muscular y fisiología de la piel, han supuesto un antes y un después en la mayoría de los tratamientos.<br/>
 La elaboración de protocolos de práctica con base en el estudio profundo de la piel, constituye otro avance metodológico que ha incrementado los buenos resultados, incluso con las antiguas terapias y tecnologías.<br/>
 La elaboración de protocolos de práctica con base en el estudio profundo de la piel, constituye otro avance metodológico que ha incrementado los buenos resultados, incluso con las antiguas terapias y tecnologías.<br/>
@@ -198,16 +200,16 @@ Dirigido a: Cosmetólogas, Cosmiatras, Técnicas Universitarias en Dermatocosmia
 <a href="http://curso.especificosba.com.ar/"><b class="center">Ir al curso</b></a>
 <a href="http://curso.especificosba.com.ar/"><b class="center">Ir al curso</b></a>
 </div>
 </div>
 
 
-<div class="titulo_curso" tatosa="apestosa">Rejuvenecimiento facial con métodos no invasivos <div style="font-size: 10pt; display:inline;">[+]</div></div>
-<div class="descripcion_curso" tatosa="apestosa">
+<div class="titulo_curso" title="apestosa">Rejuvenecimiento facial con métodos no invasivos <div style="font-size: 10pt; display:inline;">[+]</div></div>
+<div class="descripcion_curso" title="apestosa">
 Este curso está destinado a profesionales de la ciencia estética, cosmetología y cosmiatría, para trabajar en conjunto frente a una de las afecciones más tratadas en el consultorio “El rejuvenecimiento facial con métodos no invasivos” y toda la problemática que conlleva los cambios propios de la piel en el transcurso de la vida.
 Este curso está destinado a profesionales de la ciencia estética, cosmetología y cosmiatría, para trabajar en conjunto frente a una de las afecciones más tratadas en el consultorio “El rejuvenecimiento facial con métodos no invasivos” y toda la problemática que conlleva los cambios propios de la piel en el transcurso de la vida.
 Nuestra intención es brindar alta capacitación trabajando siempre en elevar el  compromiso profesional que nos ayudará a definir protocolos indicados para cada necesidad, de última tecnología y realizar un trabajo de excelencia, siempre basados en el conocimiento científico.
 Nuestra intención es brindar alta capacitación trabajando siempre en elevar el  compromiso profesional que nos ayudará a definir protocolos indicados para cada necesidad, de última tecnología y realizar un trabajo de excelencia, siempre basados en el conocimiento científico.
 <br>
 <br>
 <a href="http://curso.especificosba.com.ar/"><b class="center">Ir al curso</b></a>
 <a href="http://curso.especificosba.com.ar/"><b class="center">Ir al curso</b></a>
 </div>
 </div>
 
 
-<div class="titulo_curso" tatosa="deliciosa">Drenaje Linfático Manual <div style="font-size: 10pt; display:inline;">[+]</div></div>
-<div class="descripcion_curso" tatosa="deliciosa">
+<div class="titulo_curso" title="deliciosa">Drenaje Linfático Manual <div style="font-size: 10pt; display:inline;">[+]</div></div>
+<div class="descripcion_curso" title="deliciosa">
 El Drenaje Linfático Manual es un método de terapia física descongestiva, cuya función es la activación del funcionamiento del Sistema Linfático superficial, para mejorar la eliminación del líquido intersticial y las moléculas de gran tamaño, optimizando su evacuación.
 El Drenaje Linfático Manual es un método de terapia física descongestiva, cuya función es la activación del funcionamiento del Sistema Linfático superficial, para mejorar la eliminación del líquido intersticial y las moléculas de gran tamaño, optimizando su evacuación.
 Su acción está basada en un profundo estudio de la anatomía y fisiología del sistema linfático. Aplicado correctamente, trabajando en una serie protocolizada de maniobras manuales muy suaves, logra drenar o desplazar la linfa, que pueda encontrarse estancada a territorios linfáticos sanos para su evacuación normal hacia el torrente venoso.
 Su acción está basada en un profundo estudio de la anatomía y fisiología del sistema linfático. Aplicado correctamente, trabajando en una serie protocolizada de maniobras manuales muy suaves, logra drenar o desplazar la linfa, que pueda encontrarse estancada a territorios linfáticos sanos para su evacuación normal hacia el torrente venoso.
 Esta técnica se ha perfeccionado en los últimos años.
 Esta técnica se ha perfeccionado en los últimos años.
@@ -239,7 +241,7 @@ OBJETIVOS DEL CURSO: Obtener los conocimientos teóricos y prácticos en el áre
 		$zona = utf8_encode($zona); //FIXME
 		$zona = utf8_encode($zona); //FIXME
 		while( $statement->fetch() ){
 		while( $statement->fetch() ){
             $internacional = ($zona=="Internacional" ? "<th>País</th>" : ""); //internacional
             $internacional = ($zona=="Internacional" ? "<th>País</th>" : ""); //internacional
-			echo "	<div class='tabla' id='$zona'>
+			echo "	<div class='tabla'>
 					<h3>$zona</h3>
 					<h3>$zona</h3>
 					<table class='capital-tabla'>
 					<table class='capital-tabla'>
 						<thead>
 						<thead>
@@ -302,7 +304,7 @@ OBJETIVOS DEL CURSO: Obtener los conocimientos teóricos y prácticos en el áre
 		   charlas de capacitación, novedades, eventos.
 		   charlas de capacitación, novedades, eventos.
 			<br/>
 			<br/>
 			Para acceder a la página, haga clic aquí.<br/><br/>
 			Para acceder a la página, haga clic aquí.<br/><br/>
-            <a href="https://www.facebook.com/pages/Especificos-Buenos-Aires/326062297573907"><img alt="Facebook" src="Images/fb.png" width=50px height=50px></a>
+            <a href="https://www.facebook.com/pages/Especificos-Buenos-Aires/326062297573907"><img alt="Facebook" src="Images/fb.png" width=50 height=50></a>
         </div>
         </div>
     </div>
     </div>
     <script type="text/javascript" src="js/main.js"> </script>
     <script type="text/javascript" src="js/main.js"> </script>

+ 99 - 2
js/main.js

@@ -85,8 +85,16 @@ function scrollToY(scrollTargetY, speed, easing) {
 
 
 	function curso_click(){ 
 	function curso_click(){ 
 		for(var j =0; j < desc_curso.length; j++){
 		for(var j =0; j < desc_curso.length; j++){
-			if (desc_curso[j].getAttribute("tatosa") == this.getAttribute("tatosa"))
-				desc_curso[j].style.display="block";
+			if (desc_curso[j].getAttribute("title") == this.getAttribute("title")) {
+				var child = this.firstElementChild;
+				if(desc_curso[j].style.display=="block") {
+					child.innerHTML = child.innerHTML.replace("-","+");
+					desc_curso[j].style.display="none";
+				} else {
+					child.innerHTML = child.innerHTML.replace("+","-");
+					desc_curso[j].style.display="block";
+				}
+			}
 		}
 		}
 	}
 	}
     overlay.onclick = function(){
     overlay.onclick = function(){
@@ -152,7 +160,96 @@ function scrollToY(scrollTargetY, speed, easing) {
 
 
     var curImg=1;
     var curImg=1;
     setInterval(slide, 8000);
     setInterval(slide, 8000);
+	var distrib;
+	if (window.innerWidth <= 890) { //distribuidoras
+		var xhr = new XMLHttpRequest();
+		xhr.open('GET', encodeURI('lista_distrib.php'));
+		xhr.onload = function() {
+		    if (xhr.status === 200) {
+		        distrib=JSON.parse(xhr.responseText);
+				var sel = document.createElement("select");
+				var selProv= document.createElement("select");
+				var selZona = document.createElement("select");
+				var result= document.createElement("div");
 
 
+				sel.id="pais";
+				selProv.id="prov";
+				selZona.id="zona";
+				result.id="result";
+
+				for (country in distrib) {
+					var opt = document.createElement("option");
+					var node = document.createTextNode(country);
+					opt.appendChild(node);
+					sel.appendChild(opt);
+				}
+				sel.selectedIndex=-1;
+				sel.onchange=changeCountry;
+				selProv.onchange=changeProv;
+				selZona.onchange=changeZona;
+
+				document.getElementById("distribuidoras").appendChild(sel);
+				document.getElementById("distribuidoras").appendChild(selProv);
+				document.getElementById("distribuidoras").appendChild(selZona);
+				document.getElementById("distribuidoras").appendChild(result);
+		    }
+		    else {
+		        alert('Request failed.  Returned status of ' + xhr.status);
+		    }
+		};
+		xhr.send();
+
+
+	}
+	function changeCountry() {
+		var pais = document.getElementById("pais").value;
+		var prov = document.getElementById("prov");
+		var zona = document.getElementById("zona");
+		zona.innerHTML="";
+		prov.innerHTML="";
+		if(distrib[pais] == undefined) return;
+
+		for (provincia in distrib[pais]) {
+			var opt = document.createElement("option");
+			var node = document.createTextNode(provincia);
+			opt.appendChild(node);
+			prov.appendChild(opt);
+		}
+		prov.selectedIndex=-1;
+
+	}
+	function changeProv() {
+		var pais = document.getElementById("pais").value;
+		var prov = document.getElementById("prov").value;
+		var zona = document.getElementById("zona");
+		prov.innerHTML="";
+		zona.innerHTML="";
+		if(distrib[pais] == undefined || distrib[pais][prov] == undefined) return;
+
+		for (zone in distrib[pais][prov]) {
+			var opt = document.createElement("option");
+			var node = document.createTextNode(zone);
+			opt.appendChild(node);
+			zona.appendChild(opt);
+		}
+		zona.selectedIndex=-1;
+	}
+	function changeZona() {
+		var pais = document.getElementById("pais").value;
+		var prov = document.getElementById("prov").value;
+		var zona = document.getElementById("zona").value;
+		var result = document.getElementById("result");
+		result.innerHTML="";
+		var z = distrib[pais][prov][zona];
+		var text="";
+		for (distr in z ) {
+			for (p in z[distr]) {
+				result.appendChild(document.createTextNode(p+":"+z[distr][p]))
+				result.appendChild(document.createElement("br"))
+			}
+			result.appendChild(document.createElement("br"))
+		}
+	}
     function slide() {
     function slide() {
         banner.className='transp';
         banner.className='transp';
         setTimeout(transp, 500);
         setTimeout(transp, 500);

+ 47 - 0
mail.py

@@ -0,0 +1,47 @@
+#!/usr/bin/python
+import sys
+import smtplib
+from email.mime.multipart import MIMEMultipart
+from email.mime.text import MIMEText
+from email.header import Header
+from email.utils import formataddr
+
+
+noreply = 'noreply@especificosba.com.ar'
+noreplypass = "wimpywimpywimpy"
+testing = 0
+message = ''
+subject = "Consulta en la pagina"
+
+if len(sys.argv)!=3:
+	print "2 parameter, mail subject (quoted)"
+	sys.exit(1)
+
+def sendmail():
+	global noreply
+	global noreplypass
+	global message
+	msg = MIMEMultipart('alternative')
+	msg['Subject'] = subject
+	msg['From'] = formataddr((str(Header('Consulta en la pagina','utf-8')), receiver))
+	msg['reply-to'] = receiver
+	msg['to'] = "consultas@especificosba.com.ar"#csv str
+	msg.attach(MIMEText(message,'html'))
+	s = smtplib.SMTP('mail.especificosba.com.ar')
+	s.ehlo()
+	s.starttls()
+	s.ehlo
+	s.login(noreply, noreplypass) #12345678
+	try:
+		s.sendmail(noreply, "consultas@especificosba.com.ar", msg.as_string())
+		print("Consulta enviada correctamente")
+	except Exception,e:
+		print("Error al enviar la consulta")
+	finally:
+		s.quit()
+
+receiver = sys.argv[1] #'davidventura27@gmail.com'
+with open('mailtext', 'r') as content_file:
+    message= content_file.read()
+
+sendmail()

+ 8 - 0
mailer.php

@@ -0,0 +1,8 @@
+<?php
+
+function sendmail($title,$to,$body) {
+		$file = fopen("/var/www/eba/mailtext","w");
+		fwrite($file,$body);
+		fclose($file);
+		echo shell_exec("python mail.py $to '$title'");
+}