0){ $return = encriptar(json_encode($data)); } return $return; } function desencriptar_array($data = ""){ global $DB, $lang, $cfg, $out, $init_vars; $return = false; if($data != ""){ $desc = json_decode(desencriptar($data),true); if(!is_null($desc) && $desc){ $return = $desc; } } return $return; } function stripSimbols($string){ return preg_replace("/[\s]+/"," ",preg_replace("/[\.,:;\'\-_\*%@&\/\\\?!¿¡#\[\]\(\)<>\"]/i"," ",$string)); } function stripFormat($string){ return preg_replace("/[\s]+/"," ",preg_replace("/[\n\t]+/i"," ",$string)); } function get_text_to_array($text_data,$len,$stop){ $data = explode(" ",$text_data); $string_array=array_diff($data,$stop); $result=array(); foreach($string_array as $value) { if(strlen($value)>= $len){ $result[]=trim($value); } } unset($data); unset($string_array); return ($result); } function get_keywords($title,$content,$len_words,$stop_words){ $title=get_text_to_array($title,3,$stop_words); $content=get_text_to_array($content,3,$stop_words); $end = count($content)-1; $len = $len_words-1; $list=array(); if ($end>=$len){ foreach($title as &$word) { $word=trim($word); for($i = 0 ; $i <= $end; ++$i){ // BUSCA IZQ if($word==trim($content[$i])){ if($i >= $len){ $aux=''; for($z = 1; $z <= $len; ++$z){ $aux=$aux." ".$content[$i-$z]; } $list[]=stripFormat(stripSimbols(trim($aux." ".$word))); } } // BUSCA DER if($word==trim($content[$i])){ if($i <= $end-$len){ $aux=''; for($z = 1 ; $z <= $len; ++$z){ $aux=$aux." ".$content[$i+$z]; } $list[]=stripFormat(stripSimbols(trim($word." ".$aux))); } } } } } return (array_unique($list)); } function genera_keywords_anuncio($titulo, $comentarios){ global $cfg; $cfg["global_stopwords"]=array("un","una","unas","unos","uno","sobre","todo","tambien","tras","otro","algun","alguno","alguna","algunos","algunas","ser","es","soy","eres","somos","sois","estoy","esta","estamos","estais","estan","como","en","para","atras","porque","por","que","estado","estaba","ante","antes","siendo","ambos","pero","por","poder","puede","puedo","podemos","podeis","pueden","fui","fue","fuimos","fueron","hacer","hago","hace","hacemos","haceis","hacen","cada","fin","incluso","primero","desde","conseguir","consigo","consigue","consigues","conseguimos","consiguen","ir","voy","va","vamos","vais","van","vaya","gueno","ha","tener","tengo","tiene","tenemos","teneis","tienen","el","la","lo","las","los","su","aqui","mio","tuyo","ellos","ellas","nos","nosotros","vosotros","vosotras","si","dentro","solo","solamente","saber","sabes","sabe","sabemos","sabeis","saben","ultimo","largo","bastante","haces","muchos","aquellos","aquellas","sus","entonces","tiempo","verdad","verdadero","verdadera","cierto","ciertos","cierta","ciertas","intentar","intento","intenta","intentas","intentamos","intentais","intentan","dos","bajo","arriba","encima","usar","uso","usas","usa","usamos","usais","usan","emplear","empleo","empleas","emplean","ampleamos","empleais","valor","muy","era","eras","eramos","eran","modo","bien","cual","cuando","donde","mientras","quien","con","entre","sin","trabajo","trabajar","trabajas","trabaja","trabajamos","trabajais","trabajan","podria","podrias","podriamos","podrian","podriais","yo","aquel","del","busca","buscar"); $key1 = get_keywords($titulo,$comentarios,2,$cfg["global_stopwords"]); $key2 = get_keywords($titulo,$comentarios,3,$cfg["global_stopwords"]); $data = array(); $data2 = array(); $string_final = ""; $titulo_new_key = mb_strtolower(preg_replace("/[\s]+/"," ",preg_replace("/[\.,:;\'\-_\*%@&\/\\\?¿!¡•#\[\]\(\)<>\"]/i"," ",$titulo))); if(count($key1) > 0) $data[] = implode(",",$key1); if(count($key2) > 0) $data[] = implode(",",$key2); $string_final = implode(",",$data); if($string_final != ""){ return($titulo_new_key.",".$string_final); }else{ $key_titulo1 = get_keywords($titulo,$titulo,2,$cfg["global_stopwords"]); $key_titulo2 = get_keywords($titulo,$titulo,3,$cfg["global_stopwords"]); if(count($key_titulo1) > 0) $data2[] = implode(",",$key_titulo1); if(count($key_titulo2) > 0) $data2[] = implode(",",$key_titulo2); $string_final = implode(",",$data2); if($string_final != ""){ return($titulo_new_key.",".$string_final); }else{ return($titulo_new_key); } } } /** * Funcion que remueve palabras desde un string. * * @param string $input cadena de texto original. * @param string $replace caracter que separara las palabras contenidas en el string de retorno. * @param boolean $words_array arreglo de palabras que deben ser removidas desde el $input. * @param boolean $unique_words indica si deben removerse palabras repetidas en el string original * @return string cadena de caracteres. * @version 1.0 * @author Julio Cifuentes (jcifuentes@mail.com) */ function remove_words($input,$replace,$words_array = array(),$unique_words = true) { //separate all words based on spaces $input_array = explode(' ',preg_replace('/[ ]+/',' ',$input)); //create the return array $return = array(); //loops through words, remove bad words, keep good ones foreach($input_array as $word) { //if it's a word we should add... if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true)) { $return[] = $word; } } //return good words separated by dashes return implode($replace,$return); } /** * Funcion que remueve los acentos contenidos en un string devolviendo el mismo string sin acentos. * * @param string $string string al que se le removeran los acentos. * @return string string * @version 1.0 * @author Julio Cifuentes (jcifuentes@mail.com) */ function stripAccents($string){ $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúüûýýþÿRr'; $b = 'AAAAAAACEEEEIIIIDNOOOOOOUUUUYbsaaaaaaaceeeeiiiidnoooooouuuuyybyRr'; $string = utf8_decode($string); $string = strtr($string, utf8_decode($a), $b); //$string = mb_strtolower($string); return utf8_encode($string); } /** * Funcion que transforma un string en una cadena de texto apta para ser usada en url, la funcion removera cualquier caracter NO alfanumerico. * * @param string $input cadena de texto a transformar. * @param string $replace caracter que reemplazara los espacios contenidos en $input. * @param boolean $remove_words indica si deben removerse las palabras indicadas en $words_array. * @param boolean $words_array arreglo de palabras que deben ser removidas desde el $input. * @return string cadena de caracteres apta para uso en url. * @version 1.0 * @author Julio Cifuentes (jcifuentes@mail.com) */ function generate_seo_url($input,$replace = '-',$remove_words = false,$words_array = array()) { //make it lowercase, remove punctuation, remove multiple/leading/ending spaces $input = str_replace("-"," ",$input); $return = trim(preg_replace('/[ ]+/',' ',preg_replace('/[^a-zA-Z0-9\s]/','',stripAccents(mb_strtolower($input,"UTF-8"))))); //remove words, if not helpful to seo //i like my defaults list in remove_words(), so I wont pass that array if($remove_words) { $return = remove_words($return,$replace,$words_array); } //convert the spaces to whatever the user wants //usually a dash or underscore.. //...then return the value. return str_replace(' ',$replace,$return); } /** * Funcion para la validacion del dni. En este caso es el rut chileno * @param $data["dni"]. string con el dni * @return si es valido array(true, dni_formateado); Si no es valido (false, ""); * @version 1.0 * @author Francisco Iglesias (figlesiash@me.com) */ function valida_dni($data = array()){ $dni = ""; if (!isset($data["dni"])){ return(false); }else{ $dni = $data["dni"]; } $dni = str_replace(".","",$dni); $dni = str_replace(",","",$dni); $dni = str_replace("-","",$dni); settype($dni,"string"); $cuenta = strlen($dni); $dni_final = ""; $dv = ""; for($i=0;$i<$cuenta;$i++){ if($i < $cuenta-1){ $dni_final .= $dni[$i]; }else{ $dv = $dni[$i]; } } $x=2; $sumatorio=0; for ($i=strlen($dni_final)-1;$i>=0;$i--){ if ($x>7){$x=2;} $sumatorio=$sumatorio+($dni_final[$i]*$x); $x++; } $digito=$sumatorio%11; $digito=11-$digito; switch ($digito){ case 10: $digito="k"; break; case 11: $digito="0"; break; } $valido = false; $rut_formateado = ""; if(strtolower($digito) == strtolower($dv)){ $valido = true; $rut_formateado = number_format($dni_final, 0, "", ".")."-".$digito; } return array($valido, $rut_formateado); } //data["key"] function busca_keyword($data = array()){ global $DB, $cfg, $init_vars; $return = false; if(isset($data["key"])){ $sql = "SELECT id, nombre, seo, patron, valor FROM seo_keys WHERE seo='".mysql_escape_string($data["key"])."' LIMIT 0,1"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $return = array("nombre" => $rs->fields["nombre"]); $init_vars["keyword_busqueda"] = array("nombre" => $rs->fields["nombre"], "seo" => $rs->fields["seo"], "patron" => $rs->fields["patron"] ); //$DB->Execute("UPDATE seo_keys SET valor=valor+1 WHERE id='".$rs->fields["id"]."' "); } } return $return; } //$data["descripcion"]; function corta_descripcion($data = array()){ global $DB, $cfg, $init_vars; $limit = 250; $str_return = ""; if(isset($data["descripcion"])){ $quitar = array("\n" => " ", "\r" => " "); foreach ($quitar as $i => $v) $data["descripcion"] = str_replace($i, $v, $data["descripcion"]); for($i=0;$i 0){ $limit = $data["limite"]; } } $str_return = ""; if(isset($data["texto"])){ $quitar = array("\n" => " ", "\r" => " "); foreach ($quitar as $i => $v) $data["texto"] = str_replace($i, $v, $data["texto"]); for($i=0;$i '".mysql_escape_string($data["key"])."' LIMIT 0,20;"; } $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $data_return[] = array("nombre" => $rs->fields["nombre"], "url" => $cfg["url"]."/".$rs->fields["seo"]); $rs->MoveNext(); } } } return array($data_return); } function busca_keys_relacionados_home(){ global $DB, $cfg, $init_vars; $data_return = array(); $rand = rand(0,2000); $sql = "SELECT * FROM seo_keys where nombre like '%mendoza%' order by rand () LIMIT ".$rand.",20;"; $rs = $DB->Execute($sql); $data1 = array(); if($rs->RecordCount() > 0){ $cont = 0; while(!$rs->EOF){ $data1[] = array("nombre" => $rs->fields["nombre"], "url" => $cfg["url"]."/".$rs->fields["seo"]); $cont++; $rs->MoveNext(); } } return $data1; } function prepara_busqueda(){ global $DB, $cfg, $init_vars; //echo ""; $parametros_busqueda = array(); if($init_vars["keyword_busqueda"]["patron"] != ""){ $busqueda_predefinida = array(); foreach($cfg["config_busqueda"] as $bpd){ $sep=explode("=",$bpd); $busqueda_predefinida[] = $sep[0]; } $data_patron = explode("-",$init_vars["keyword_busqueda"]["patron"]); $data_busqueda = explode("-",$init_vars["keyword_busqueda"]["seo"]); $t = true; foreach($busqueda_predefinida as $b){ if($b == "locale") $t = false; } if($t){ //ciudad = ciudad $ciudad_indice = array_search("", $data_patron); if($ciudad_indice !== false){ $ciudad_seo = str_replace("_","-",$data_busqueda[$ciudad_indice]); switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT UFI FROM do_ciudades WHERE FULLNAMEND = '".$ciudad_seo."';"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["locale"] = $rs->fields["UFI"]; } break; case 3: $sql = "SELECT id FROM do_localidades WHERE nombre_seo = '".$ciudad_seo."' AND level > '1';"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["locale"] = $rs->fields["id"]; } break; } } // Provincia = provincia $provincia_indice = array_search("", $data_patron); if($provincia_indice !== false && !isset($parametros_busqueda["locale"])){ $provincia_seo = str_replace("_","-",$data_busqueda[$provincia_indice]); switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT ADM_CODE FROM do_estados WHERE FULLNAMEND = '".$provincia_seo."';"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["locale"] = $rs->fields["ADM_CODE"]; } break; case 3: $sql = "SELECT id FROM do_localidades WHERE nombre_seo = '".$provincia_seo."' AND level=1;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["locale"] = $rs->fields["id"]; } break; } } } //Nuevos = nuevos $t = true; foreach($busqueda_predefinida as $b){ if($b == "condition") $t = false; } if($t){ $nuevos_indice = array_search("", $data_patron); if($nuevos_indice !== false){ $parametros_busqueda["condition"] = "new"; } //usados = usados $usados_inidice = array_search("", $data_patron); if($usados_inidice !== false && !isset($parametros_busqueda["condition"])){ $parametros_busqueda["condition"] = "used"; } } // Tipo = tipo $t = true; foreach($busqueda_predefinida as $b){ if($b == "types") $t = false; } if($t){ $tipo_indice = array_search("", $data_patron); if($tipo_indice !== false){ $tipo_seo = str_replace("_","-",$data_busqueda[$tipo_indice]); $sin = str_replace(array("_","-")," ",$tipo_seo); switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT id FROM do_tipo_vivienda WHERE seo_url = '".$tipo_seo."' OR sinonimos like '%".mb_strtolower($sin,'UTF-8')."%'"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $tipos = array(); while(!$rs->EOF){ $tipos[] = $rs->fields["id"]; $rs->MoveNext(); } $parametros_busqueda["types"] = implode(",",$tipos); } break; case 3: $sql = "SELECT id_tipo_propiedad FROM do_tipo_propiedad WHERE seo_url = '".$tipo_seo."' OR sinonimos like '%".mb_strtolower($sin,'UTF-8')."%'"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $tipos = array(); while(!$rs->EOF){ $tipos[] = $rs->fields["id_tipo_propiedad"]; $rs->MoveNext(); } $parametros_busqueda["types"] = implode(",",$tipos); } break; } } } // operacion = operacion $t = true; foreach($busqueda_predefinida as $b){ if($b == "operation") $t = false; } if($t){ $operacion_indice = array_search("", $data_patron); if($operacion_indice !== false){ $operacion_seo = str_replace("_","-",$data_busqueda[$operacion_indice]); $op_sin = str_replace(array("_","-")," ",$operacion_seo); switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT id FROM do_tipo_para WHERE seo_url = '".$operacion_seo."' OR sinonimos like '%".mb_strtolower($op_sin,'UTF-8')."%'"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $tipos = array(); while(!$rs->EOF){ //$parametros_busqueda["operation"] = $rs->fields["id_tipo_operacion"]; $operaciones[] = $rs->fields["id"]; $rs->MoveNext(); } } break; case 3: $sql = "SELECT id_tipo_operacion FROM do_tipo_operacion WHERE seo_url = '".$operacion_seo."' OR sinonimos like '%".mb_strtolower($op_sin,'UTF-8')."%'"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $tipos = array(); while(!$rs->EOF){ //$parametros_busqueda["operation"] = $rs->fields["id_tipo_operacion"]; $operaciones[] = $rs->fields["id_tipo_operacion"]; $rs->MoveNext(); } } break; } if(count($operaciones) > 0){ $parametros_busqueda["operation"] = implode(",",$operaciones); } } } } $parametros_busqueda["keywords"] = $init_vars["keyword_busqueda"]["nombre"]; //Busca alguna localidad con el kw if(isset($init_vars["keyword_busqueda"]["seo"])){ $sep = explode("-",$init_vars["keyword_busqueda"]["seo"]); switch($cfg["version_app_dooms"]){ case 2: foreach($sep as $s){ if ($DB->escape($s) == "capital"){ $muni = "capital federal"; }else{ $muni = $DB->escape($s); } if(!is_numeric($s)){ if(strlen($s) > 3){ $where[] = "FULLNAME like '%".$DB->escape($s)."'"; } } } $sql = "SELECT ADM_CODE FROM do_estados WHERE ".implode(" OR ",$where)." LIMIT 0,1;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["province"] = $rs->fields["ADM_CODE"]; } //echo $sql; $sql = "SELECT UFI FROM do_ciudades WHERE ".implode(" OR ",$where)." LIMIT 0,1;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $parametros_busqueda["locale"] = $rs->fields["UFI"]; } //echo $sql; break; case 3: foreach($sep as $s){ if(!is_numeric($s)){ if(strlen($s) > 3){ $where[] = "nombre_seo like '%".$DB->escape($s)."'"; } } } $sql = "SELECT * FROM do_localidades WHERE level > 1 AND (".implode(" OR ",$where).") LIMIT 0,1;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $ss = explode(" > ",$rs->fields["ruta_ids"]); if(isset($ss[0])){ $parametros_busqueda["province"] = trim($ss[0]); } if(isset($ss[1])){ $parametros_busqueda["locale"] = trim($ss[1]); } } break; } foreach($sep as $s){ if(!is_numeric($s)){ if(strlen($s) > 3){ $where2[] = "tipo like '%".$DB->escape($s)."%' OR seo_natural like '%".$DB->escape($s)."%'"; } } } //$sql = "SELECT * FROM do_tipo_vivienda WHERE ".implode(" OR ",$where2)." LIMIT 0,1;"; switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT * FROM do_tipo_vivienda WHERE ".implode(" OR ",$where2)." LIMIT 0,1;"; break; case 3: $sql = "SELECT * FROM do_tipo_propiedad WHERE ".implode(" OR ",$where2)." LIMIT 0,1;"; break; } //echo $sql; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ switch($cfg["version_app_dooms"]){ case 2: $parametros_busqueda["types"] = trim($rs->fields["id"]); break; case 3: if(isset($ss[0])){ $parametros_busqueda["types"] = trim($rs->fields["id_tipo_propiedad"]); } break; } } //echo $parametros_busqueda["types"]; /*foreach($sep as $s){ if(!is_numeric($s)){ if(strlen($s) > 3){ $where2[] = "tipo like '%".$DB->escape($s)."%' OR seo_natural like '%".$DB->escape($s)."%'"; } } } $sql = "SELECT * FROM do_tipo_operacion WHERE ".implode(" OR ",$where2)." LIMIT 0,1;"; //echo $sql; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ if(isset($ss[0])){ $parametros_busqueda["operation"] = trim($rs->fields["id_tipo_operacion"]); } }*/ } $init_vars["parametros_busqueda"] = $parametros_busqueda; } function get_letras_keys(){ global $DB, $cfg, $init_vars; $data_return = array(); $sql = "SELECT LOWER(LEFT(nombre, 1)) AS letra FROM seo_keys GROUP BY letra ORDER BY nombre ASC;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ $numeros = array(); $letras = array(); while(!$rs->EOF){ $letra = $rs->fields["letra"]; //echo $letra."=(".htmlentities($letra).") / "; if(htmlentities($letra) == "ñ") //letra ñ (no se por que wea tengo que validarla asi) $letra = "n2"; if(is_numeric($letra)){ $numeros[] = "".mb_strtoupper($rs->fields["letra"],'UTF-8').""; }else{ $letras[] = "".mb_strtoupper($rs->fields["letra"],'UTF-8').""; } $rs->MoveNext(); } $data_return = array_merge($letras,$numeros); } return $data_return; } //$data["letter"] //$data["page"] function get_keys_topsearch($data=array()){ global $DB, $cfg, $init_vars; $total_keys = 100; $data_return = array("page" => 0, "total" => 0, "resultados_x_pagina" =>$total_keys, "paginas" => 0, "resultados" => array()); $where_sql = array(); if(isset($data["letter"])){ if($data["letter"] == "n2") $data["letter"] = "ñ"; $where_sql[] = "nombre like '".mysql_escape_string($data["letter"])."%'"; } $page = 0; if(isset($data["page"])){ if(is_numeric($data["page"])) $page = $data["page"]-1; } $data_return["page"] = $page+1; $limit = $page*$total_keys; $where = ""; if(count($where_sql) > 0){ $where = "WHERE ".implode(" AND ",$where_sql); } $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM seo_keys ".$where." ORDER BY nombre ASC LIMIT ".$limit.",".$total_keys; //echo $sql; $rs = $DB->Execute($sql); $total = 0; if($rs->RecordCount() > 0){ $rs_cantidad = $DB->Execute("SELECT FOUND_ROWS()"); $total = $rs_cantidad->fields["FOUND_ROWS()"]; $data_return["total"] = $total; $data_return["paginas"] = ceil($total/$total_keys); while(!$rs->EOF){ //$data_return["resultados"][] = array("url" => $cfg["url"]."/propiedades/".$rs->fields["seo"], "nombre" => $rs->fields["nombre"]); $data_return["resultados"][] = array("url" => $cfg["url"]."/".$rs->fields["seo"], "nombre" => $rs->fields["nombre"]); $rs->MoveNext(); } shuffle($data_return["resultados"]); } return $data_return; } //$data["letter"] //$data["page"] function get_keys_sitemap($data=array()){ global $DB, $cfg, $init_vars; $total_keys = 25000; $data_return = array("page" => 0, "total" => 0, "resultados_x_pagina" =>$total_keys, "paginas" => 0, "resultados" => array()); $where_sql = array(); /*if(isset($data["letter"])){ if($data["letter"] == "n2") $data["letter"] = "ñ"; $where_sql[] = "nombre like '".mysql_escape_string($data["letter"])."%'"; }*/ $page = 0; if(isset($data["page"])){ if(is_numeric($data["page"])) $page = $data["page"]-1; } $data_return["page"] = $page+1; $limit = $page*$total_keys; $where = ""; if(count($where_sql) > 0){ $where = "WHERE ".implode(" AND ",$where_sql); } $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM seo_keys ".$where." ORDER BY nombre ASC LIMIT ".$limit.",".$total_keys; //echo $sql; $rs = $DB->Execute($sql); $total = 0; if($rs->RecordCount() > 0){ $rs_cantidad = $DB->Execute("SELECT FOUND_ROWS()"); $total = $rs_cantidad->fields["FOUND_ROWS()"]; $data_return["total"] = $total; $data_return["paginas"] = ceil($total/$total_keys); while(!$rs->EOF){ $data_return["resultados"][] = array("url" => $cfg["url"]."/".$rs->fields["seo"], "nombre" => $rs->fields["nombre"]); $rs->MoveNext(); } shuffle($data_return["resultados"]); } return $data_return; } function pagination($data=array()){ global $DB, $cfg, $init_vars; $data_return = ""; /* array(5) { ["page"]=> int(1) ["total"]=> string(1) "7" ["resultados_x_pagina"]=> int(100) ["paginas"]=> float(1) ["resultados"]=> array(7) { */ if(isset($data["page"]) && isset($data["paginas"])){ $paginas = $data["paginas"]; $page = $data["page"]; $sig = 5; if($paginas > 1){ $inicio = $page-$sig; $fin = $page+$sig; if($inicio <= 1){ $inicio = 1; } if($fin >= $paginas){ $fin = $paginas; } $str = ""; for($i=$inicio;$i<=$fin;$i++){ if(isset($data["letter"])) $url = $cfg["url"]."/busqueda/c/".$data["letter"]."/"; else $url = $cfg["url"]."/busqueda/c//"; if($i == $page) $str .= " ".$i." "; else $str .= " ".$i." "; } if(isset($data["letter"])) $url = $cfg["url"]."/busqueda/c/".$data["letter"]."/"; else $url = $cfg["url"]."/busqueda/c//"; $anterior = $page-1; if($anterior < 1) $anterior = 1; $next = $page+1; if($next > $paginas) $next = $paginas; $data_return = " << ".$str." >> "; }else{ $data_return = " << ".$page." >> "; } } return $data_return; } function get_tipos_propiedad($data = array()){ global $DB, $cfg, $init_vars; $return = array(); switch($cfg["version_app_dooms"]){ case 2: $tipo_where = ""; if(isset($data["id_tipo"])){ if(trim($data["id_tipo"]) != ""){ $tipo_where = "WHERE id = '".mysql_escape_string($data["id_tipo"])."'"; } } $sql = "SELECT * FROM do_tipo_vivienda ".$tipo_where.";"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_tipo_propiedad" => $rs->fields["id"], "tipo" => $rs->fields["tipo"]); $rs->MoveNext(); } } break; case 3: $tipo_where = ""; if(isset($data["id_tipo"])){ if(trim($data["id_tipo"]) != ""){ $tipo_where = "WHERE id_tipo_propiedad = '".mysql_escape_string($data["id_tipo"])."'"; } } $sql = "SELECT * FROM do_tipo_propiedad ".$tipo_where.";"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_tipo_propiedad" => $rs->fields["id_tipo_propiedad"], "tipo" => $rs->fields["tipo"]); $rs->MoveNext(); } } break; } return $return; } function get_tipos_operacion($data = array()){ global $DB, $cfg, $init_vars; $return = array(); switch($cfg["version_app_dooms"]){ case 2: $tipo_where = ""; if(isset($data["id_tipo"])){ if(trim($data["id_tipo"]) != ""){ $tipo_where = "WHERE id = '".mysql_escape_string($data["id_tipo"])."'"; } } $sql = "SELECT * FROM do_tipo_para ".$tipo_where.";"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_tipo_operacion" => $rs->fields["id"], "tipo" => $rs->fields["seo_natural"]); $rs->MoveNext(); } } break; case 3: $tipo_where = ""; if(isset($data["id_tipo"])){ if(trim($data["id_tipo"]) != ""){ $tipo_where = "WHERE id_tipo_operacion = '".mysql_escape_string($data["id_tipo"])."'"; } } $sql = "SELECT * FROM do_tipo_operacion ".$tipo_where.";"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_tipo_operacion" => $rs->fields["id_tipo_operacion"], "tipo" => $rs->fields["seo_natural"]); $rs->MoveNext(); } } break; } return $return; } function get_provincias(){ global $DB, $cfg, $init_vars; $return = array(); switch($cfg["version_app_dooms"]){ case 2: $sql = "SELECT * FROM do_estados ORDER BY SHORTFORM ASC;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_localidad" => $rs->fields["ADM_CODE"], "nombre" => $rs->fields["SHORTFORM"]); $rs->MoveNext(); } } break; case 3: $sql = "SELECT * FROM do_localidades WHERE level = 1 ORDER BY nombre ASC;"; $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_localidad" => $rs->fields["id"], "nombre" => $rs->fields["nombre"]); $rs->MoveNext(); } } break; } return $return; } function get_localidad_provincia($id_localidad = ""){ global $DB, $cfg, $init_vars; $return = array(); switch($cfg["version_app_dooms"]){ case 2: if($id_localidad != ""){ if($id_localidad == "all"){ $sql = "SELECT * FROM do_ciudades ORDER BY SHORTFORM ASC;"; }else{ $sql = "SELECT * FROM do_ciudades WHERE ADM1='".mysql_escape_string($id_localidad)."' ORDER BY SHORTFORM ASC;"; } $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_localidad" => $rs->fields["UFI"], "nombre" => $rs->fields["SHORTFORM"], "parent_id" => $rs->fields["ADM1"]); $rs->MoveNext(); } } } break; case 3: if($id_localidad != ""){ if($id_localidad == "all"){ $sql = "SELECT * FROM do_localidades WHERE level = 2 ORDER BY nombre ASC;"; }else{ $sql = "SELECT * FROM do_localidades WHERE level = 2 AND parent_id='".mysql_escape_string($id_localidad)."' ORDER BY nombre ASC;"; } $rs = $DB->Execute($sql); if($rs->RecordCount() > 0){ while(!$rs->EOF){ $return[] = array("id_localidad" => $rs->fields["id"], "nombre" => $rs->fields["nombre"], "parent_id" => $rs->fields["parent_id"]); $rs->MoveNext(); } } } break; } return $return; } function prepara_busqueda_search($data = array()){ global $DB, $cfg, $init_vars; $return = array(); //province=3&locale=151&op=1&tp= if(isset($data["province"])){ if(trim($data["province"]) != "" && !is_null($data["province"])){ $return["provincia"] = $data["province"]; } } if(isset($data["locale"])){ if(trim($data["locale"]) != "" && !is_null($data["locale"])){ $return["ciudad"] = $data["locale"]; } } if(isset($data["operation"])){ if(trim($data["operation"]) != "" && !is_null($data["operation"])){ $return["operacion"] = $data["operation"]; } } if(isset($data["tp"])){ if(trim($data["tp"]) != "" && !is_null($data["tp"])){ $return["tipo"] = array($data["tp"]); } } if(isset($data["key"])){ if(trim($data["key"]) != "" && !is_null($data["key"])){ $return["key"] = $data["key"]; $return["key"] = htmlspecialchars($return["key"], ENT_QUOTES, 'UTF-8'); } } //condition,types,operation,keywords if(isset($data["condition"])){ if(trim($data["condition"]) != "" && !is_null($data["condition"])){ $return["condition"] = $data["condition"]; } } if(isset($data["types"])){ if(trim($data["types"]) != "" && !is_null($data["types"])){ $return["tipo"] = explode(",",$data["types"]); } } if(isset($data["operation"])){ if(trim($data["operation"]) != "" && !is_null($data["operation"])){ $return["operacion"] = $data["operation"]; } } if(isset($data["keywords"])){ if(trim($data["keywords"]) != "" && !is_null($data["keywords"])){ $return["key"] = $data["keywords"]; $return["key"] = htmlspecialchars($return["key"], ENT_QUOTES, 'UTF-8'); } } if(isset($data["page"])){ if(trim($data["page"]) != "" && $data["page"] > 0 && !is_null($data["page"])){ $return["pagina"] = $data["page"]; }else{ $return["pagina"] = 1; } }else{ $return["pagina"] = 1; } //&curr=CLP&precio-min=10000000&precio-max=30.000.000&hab=3 if(isset($data["curr"])){ if(trim($data["curr"]) != "" && !is_null($data["curr"])){ $return["currency"] = $data["curr"]; } } if(isset($data["precio-min"])){ if(trim($data["precio-min"]) != "" && !is_null($data["precio-min"])){ $return["precio-min"] = str_replace(array(".",","),"",$data["precio-min"]); } } if(isset($data["precio-max"])){ if(trim($data["precio-max"]) != "" && !is_null($data["precio-max"])){ $return["precio-max"] = str_replace(array(".",","),"",$data["precio-max"]); } } if(isset($data["hab"])){ if(trim($data["hab"]) != "" && !is_null($data["hab"]) && $data["hab"] > 0){ $return["habitaciones"] = $data["hab"]; } } return $return; } function get_propiedades_busqueda_app($data = array()){ global $DB, $cfg, $init_vars; $return = array(); $data_url_send = array(); if(count($data) > 0){ foreach($data as $index => $value){ if(is_array($value)){ foreach($value as $vv){ $data_url_send[] = $index."[]=".$vv; } }else{ $data_url_send[] = $index."=".$value; } } if(count($data_url_send) > 0){ $data_url_send[] = "fecha_inicio=2015-01-01 00:00:00"; $data_url_send[] = "fuente=".$cfg["fuente"]; $url_vars = implode("&",$data_url_send); $url = str_replace(" ", "%20", $cfg["url_get_data"]."?action=listadojson&".$url_vars); //echo $url; $return = json_decode(file_get_contents($url),true); } } return $return; } function set_html_template($data = array(), $get = array()){ global $DB, $cfg, $init_vars; $return = array("html" => "", "paginacion" => "", "titulo" => $data["data"]["titulo_busqueda"], "total_resultados" => $data["data"]["total"], "maps" => array()); //echo ""; if(count($data["propiedades"]) > 0){ $html = ""; $count = 0; $tam_min = 10000000; $tam_max = 0; foreach($data["propiedades"] as $res){ if($res["lat"] != "" && !is_null($res["lat"]) && $res["lat"] != 0 && $res["lng"] != "" && !is_null($res["lng"]) && $res["lng"] != 0){ $return["maps"][] = array($res["lat"],$res["lng"]); } $hab_ban = array(); $hab = $res["dormitorios"]; $hab_html = ""; if($hab > 0){ $hab_html = '
  • '.$res["dormitorios"].' Habitaciones
  • '; $hab_txt = "habitaciones"; if($hab == 1){ $hab_txt = "habitacion"; } $hab_ban[] = $res["dormitorios"].' '.$hab_txt; } $ban = $res["banos"]; $ban_html = ""; if($ban > 0){ $ban_html='
  • '.$res["banos"].' Baños
  • '; //$hab_ban[] = $res["banos"].' banos'; } $tam = $res["tamano"]; $tam_html = ""; if($tam > 0){ $tam_html = '
  • '.$res["tamano"].'m2
  • '; if ($tam < $tam_min){ $tam_min = $tam; } if ($tam > $tam_max){ $tam_max = $tam; } $sep_t = explode(".",$res["tamano"]); //$hab_ban[] = $sep_t[0].' m2'; } $precio = $res["precio"]; if($precio == "0"){ $precio = "Consultar"; }else{ $precio = $res["precio"]; if($res["ad"] == "proyect"){ $sp = explode(".",$precio); if(count($sp) > 1){ if($sp[1] == "00"){ $precio = $sp[0]; } } $precio = number_format($precio,0,",","."); } $precio = $res["currency_signo"]." ".$precio; } //$url = str_replace(".html", "", str_replace($cfg["domain_get_data"], $cfg["domain"]."", $res["url_detalle"])); //$precio_aux = $precio; //if($res["ad"] == "proyect") // $precio_aux = "desde ".$precio; $url = $cfg["url"]."/propiedad/".$res["id"]."_".generate_seo_url($res["operacion"]." ".$res["tipo"]." ".trim($res["ciudad"])." ".implode(" ",$hab_ban)); $fotos = ""; $found_photos = true; if($res["foto_defecto"] != "" && count($res["fotos"]) == 0){ $res["fotos"] = array_merge(array($res["foto_defecto"]),$res["fotos"]); } if(count($res["fotos"]) > 0){ $cc = 0; /*foreach($res["fotos"] as $f){ $class=""; if($cc == 0) $class=' active"'; //$f = $cfg["url"]."/ws/image.php?img=".urlencode(str_replace($cfg["domain_get_data"],$cfg["domain"],$f)); $fotos .= '
    '; $cc++; }*/ $f = $cfg["url"]."/ws/image.php?img=".urlencode(str_replace($cfg["domain_get_data"],$cfg["domain"],$res["fotos"][0])); $fotos = ''.$res['; }else{ $found_photos = false; $fotos = ''; } $slider_fotos = ''; if(!$found_photos){ $slider_fotos = $fotos; } $fecha_publicacion = ""; if(isset($res["fecha_publicacion"])){ $s = explode("/",$res["fecha_publicacion"]); $fecha_publicacion = "
  • Publicado el ".$s[0]." de ".$cfg["meses"][$s[1]]." de ".$s[2]."
  • "; } if ($count == '6' or $count == '11'){ $html .= '
    '; } $html .= ' '; $count = $count + 1; } $return["html"] = $html; $return["tam_min"] = $tam_min; $return["tam_max"] = $tam_max; $return["paginacion"] = paginacion_busqueda(array("page" => $data["data"]["pagina"],"paginas" => $data["data"]["paginas"], "get" => $get)); } return $return; //mapa //[38.951399, -76.958463],[38.951399, -76.958463],[38.951399, -76.958463] /*
    677 Cottage Terrace
    For sale
    Spring Valley
    650m2
    1
    1
    59,600 €
    */ } function paginacion_busqueda($data = array()){ global $DB, $cfg, $init_vars; $return = ""; if(isset($data["page"]) && isset($data["paginas"])){ $p = "?"; if(isset($data["get"])){ if(count($data["get"]) > 0){ $aux = array(); foreach($data["get"] as $i => $v){ $aux[] = $i."=".mysql_escape_string(str_replace(" ","+",$v)); } $p = $p.implode("&",$aux)."&"; } } $inicio = $data["page"]-3; if($inicio < 1){ $inicio = 1; } $fin = $data["page"]+3; if($fin > $data["paginas"]) $fin = $data["paginas"]; $return = '
      '; $ant = $data["page"]-1; if($ant <= 0){ $ant = 1; } $return .= '
    • <
    • '; for($i=$inicio;$i<=$fin;$i++){ $active = ""; if($data["page"] == $i){ $active = ' class="active"'; } $return .= ''.$i.''; } $sig = $data["page"]+1; if($sig > $data["paginas"]){ $sig = $data["paginas"]; } $return .= '
    • >
    • '; $return .= "
    "; /* */ } return $return; } function get_detalle_propiedad($id){ global $DB, $cfg, $init_vars; $return = array(); $url = $cfg["url_get_data"]."?action=detallejson&id=".$id; $data = json_decode(file_get_contents($url),true); //var_dump($data); exit; if(count($data) > 0){ $return = $data; } return $return; } function get_detalle_proyecto($id){ //@TODO Hay que hacer el detalle, contacto de los proyectos global $DB, $cfg, $init_vars; $return = array(); $url = $cfg["url_get_data"]."?action=detalle_proyectojson&id=".$id; $data = json_decode(file_get_contents($url),true); //var_dump($data); exit; if(count($data) > 0){ $return = $data; } return $return; } function set_contact_property($data = array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); if(isset($data["name"],$data["email"],$data["message"],$data["post_id"])){ $nombre = mysql_escape_string($data["name"]); $email = mysql_escape_string($data["email"]); $telefono = ""; if(isset($data["phone"])){ $telefono = mysql_escape_string($data["phone"]); } $mensaje = mysql_escape_string($data["message"]); $id_prop = mysql_escape_string($data["post_id"]); $send = false; if( trim($nombre) != "" && strlen($nombre) >= 3 && !is_null($nombre) ){ $send = true; }else{ $send = false; $return["error"][] = "Nombre"; } if (preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $email) && trim($email) != "" && strlen($email) >= 3 && !is_null($email)){ $send = true; }else{ $send = false; $return["error"][] = "Email"; } /*if( trim($telefono) != "" && strlen($telefono) >= 3 && !is_null($telefono) ){ $send = true; }else{ $send = false; $return["error"][] = "Teléfono"; }*/ if( trim($mensaje) != "" && strlen($mensaje) >= 3 && !is_null($mensaje) ){ $send = true; }else{ $send = false; $return["error"][] = "Mensaje"; } if( trim($id_prop) == "" && is_null($id_prop) ){ $send = false; } if(count($return["error"]) == 0){ //$return["status"] = 200; $rel = ""; if(isset($data["rel"])){ if($data["rel"] != "" && !is_null($data["rel"])){ $rel = "&rel=".$data["rel"]; } } $return["status"] = $send; $url = $cfg["url_get_data"]."?action=contactojson&id=".$id_prop."&nombre=".$nombre."&email=".$email."&telefono=".$telefono."&mensaje=".$mensaje."&fuente=".$cfg["fuente"].$rel; $url = str_replace(" ","%20",$url); $envia_correo = json_decode(file_get_contents($url),true); if($envia_correo["status"] == "true"){ $return["status"] = 200; if(isset($_COOKIE["cfrm"])){ setcookie("cfrm", "", time() - 3600,"/"); } $data_cookie = array( "nombre" => $nombre ,"email" => $email ,"telefono" => $telefono ,"mensaje" => $mensaje ); setcookie("cfrm", base64_encode(json_encode($data_cookie)), time()+60*60*24*180,"/"); //6 meses } } } return $return; } function set_contact_project($data = array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); if(isset($data["name"],$data["email"],$data["message"],$data["post_id"],$data["model"])){ $nombre = mysql_escape_string($data["name"]); $email = mysql_escape_string($data["email"]); $telefono = ""; if(isset($data["phone"])){ $telefono = mysql_escape_string($data["phone"]); } $model = mysql_escape_string($data["model"]); $mensaje = mysql_escape_string($data["message"]); $id_proy = mysql_escape_string($data["post_id"]); $send = false; if( trim($nombre) != "" && strlen($nombre) >= 3 && !is_null($nombre) ){ $send = true; }else{ $send = false; $return["error"][] = "Nombre"; } if (preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $email) && trim($email) != "" && strlen($email) >= 3 && !is_null($email)){ $send = true; }else{ $send = false; $return["error"][] = "Email"; } /*if( trim($telefono) != "" && strlen($telefono) >= 3 && !is_null($telefono) ){ $send = true; }else{ $send = false; $return["error"][] = "Teléfono"; }*/ if( trim($model) != "" && !is_null($model) ){ $send = true; }else{ $send = false; $return["error"][] = "Modelo"; } if( trim($mensaje) != "" && strlen($mensaje) >= 3 && !is_null($mensaje) ){ $send = true; }else{ $send = false; $return["error"][] = "Mensaje"; } if( trim($id_proy) == "" && is_null($id_proy) ){ $send = false; } if(count($return["error"]) == 0){ //$return["status"] = 200; $return["status"] = $send; $url = $cfg["url_get_data"]."?action=contacto_proyectojson&id=".$id_proy."&modelo=".$model."&nombre=".$nombre."&email=".$email."&telefono=".$telefono."&mensaje=".$mensaje."&fuente=".$cfg["fuente"]; $url = str_replace(" ","%20",$url); $envia_correo = json_decode(file_get_contents($url),true); //var_dump($envia_correo); if($envia_correo["status"] == "true"){ $return["status"] = 200; if(isset($_COOKIE["cfrm"])){ setcookie("cfrm", "", time() - 3600,"/"); } $data_cookie = array( "nombre" => $nombre ,"email" => $email ,"telefono" => $telefono ,"mensaje" => $mensaje ); setcookie("cfrm", base64_encode(json_encode($data_cookie)), time()+60*60*24*180,"/"); //6 meses } } } return $return; } function set_contact_project_aconcagua($data){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); //post_id=885&ac_active=1&rut=&name=&email=&phone=&model=452195&consulta=1&direccion=®ion=-1&comuna=-1&message=&g-recaptcha-response= if(isset($data["post_id"],$data["rut"],$data["name"],$data["email"],$data["phone"],$data["model"],$data["consulta"],$data["direccion"],$data["region"],$data["comuna"],$data["message"])){ $data_send = array(); $send = false; $valida_rut = valida_dni(array("dni" => $data["rut"])); if($valida_rut[0]){ $data_send["rut"] = $valida_rut[1]; $send = true; }else{ $send = false; $return["error"][] = "Rut"; } if(trim($data["name"]) != "" && strlen($data["name"]) >= 3 && !is_null($data["name"])){ $send = true; $data_send["name"] = $data["name"]; }else{ $send = false; $return["error"][] = "Nombre"; } if(preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $data["email"]) && strlen($data["email"]) >= 3 && !is_null($data["email"])){ $send = true; $data_send["email"] = $data["email"]; }else{ $send = false; $return["error"][] = "Email"; } if(trim($data["phone"]) != "" && !is_null($data["phone"])){ $send = true; $data_send["phone"] = $data["phone"]; }else{ $send = false; $return["error"][] = "Teléfono"; } if(trim($data["model"]) != "" && !is_null($data["model"])){ $send = true; $data_send["model"] = $data["model"]; }else{ $send = false; $return["error"][] = "Modelo"; } if(trim($data["consulta"]) != "" && !is_null($data["consulta"])){ $send = true; $data_send["consulta"] = $data["consulta"]; }else{ $send = false; $return["error"][] = "Tipo Consulta"; } if(trim($data["direccion"]) != "" && !is_null($data["direccion"])){ $send = true; $data_send["address"] = $data["direccion"]; }else{ $send = false; $return["error"][] = "Direccion"; } if(trim($data["region"]) != "" && trim($data["region"]) != "-1" && !is_null($data["region"])){ $send = true; $data_send["region"] = $data["region"]; }else{ $send = false; $return["error"][] = "Region"; } if(trim($data["comuna"]) != "" && trim($data["comuna"]) != "-1" && !is_null($data["comuna"])){ $send = true; $data_send["comuna"] = $data["comuna"]; }else{ $send = false; $return["error"][] = "Comuna"; } if(trim($data["message"]) != "" && !is_null($data["message"])){ $send = true; $data_send["mensaje"] = $data["message"]; }else{ $send = false; $return["error"][] = "Mensaje"; } if($send){ $data_send["proyect"] = $data["post_id"]; $datos_a_enviar = array(); foreach($data_send as $index => $value){ $datos_a_enviar[] = $index."=".$value; } $datos_a_enviar = implode("&",$datos_a_enviar); //$return["status"] = $send; $url = $cfg["url_get_data"]."?action=contacto_proyecto_aconcaguajson&form=chiledeptos.cl&".$datos_a_enviar; $url = str_replace(" ","%20",$url); $gfc = file_get_contents($url); $envia_correo = json_decode($gfc,true); if($envia_correo["status"]){ $return["status"] = "200"; if(isset($_COOKIE["cfrm"])){ setcookie("cfrm", "", time() - 3600,"/"); } $data_cookie = array( "nombre" => $data["name"] ,"email" => $data["email"] ,"telefono" => $data["phone"] ,"mensaje" => $data["message"] ); setcookie("cfrm", base64_encode(json_encode($data_cookie)), time()+60*60*24*180,"/"); //6 meses }else{ $return["error"][] = "No se pudo enviar el mensaje, intente nuevamente."; } //var_dump($gfc); } } return $return; } function get_proyectos_destacados_home(){ global $DB, $cfg, $init_vars; $url = $cfg["url_get_data"]."?action=proyectos_destacados_json"; $data = json_decode(file_get_contents($url),true); return $data; } function get_propiedades_destacadas_home(){ global $DB, $cfg, $init_vars; $url = $cfg["url_get_data"]."?action=propiedades_destacadas_json"; $json = file_get_contents($url); $data = json_decode($json,true); return $data; } function set_contact_site($data=array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); if(isset($data["name"],$data["email"],$data["message"])){ $nombre = mysql_escape_string($data["name"]); $email = mysql_escape_string($data["email"]); $telefono = ""; if(isset($data["phone"])){ $telefono = mysql_escape_string($data["phone"]); } $mensaje = mysql_escape_string($data["message"]); $send = false; if( trim($nombre) != "" && strlen($nombre) >= 3 && !is_null($nombre) ){ $send = true; }else{ $send = false; $return["error"][] = "Nombre"; } if (preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $email) && trim($email) != "" && strlen($email) >= 3 && !is_null($email)){ $send = true; }else{ $send = false; $return["error"][] = "Email"; } /*if( trim($telefono) != "" && strlen($telefono) >= 3 && !is_null($telefono) ){ $send = true; }else{ $send = false; $return["error"][] = "Teléfono"; }*/ if( trim($mensaje) != "" && strlen($mensaje) >= 3 && !is_null($mensaje) ){ $send = true; }else{ $send = false; $return["error"][] = "Mensaje"; } if(count($return["error"]) == 0){ $mensaje = "

    IP: ".$_SERVER["HTTP_X_REAL_IP"]."

    User Agent: ".$_SERVER["HTTP_USER_AGENT"]."

    Nombre: ".$nombre."

    Email: ".$email."

    Telefono: ".$telefono."

    Mensaje:
    ".$mensaje."

    "; $data_send = array("to" => "sac.chile@doomos.com", "subject" => "Mensaje desde ".$cfg["domain"], "mensaje" => $mensaje); $envia_mensaje = mail2($data_send); if($envia_mensaje[0]){ $return["status"] = 200; } } } return $return; } /** * Funcion que envia correo con la clase phpmailer * @param $data["to"]. Correo destinatario * @param $data["to_name"]. Nombre destinatario (No obligatorio) * @param $data["subject"] Asunto del correo * @param $data["mensaje"] Mensaje en html a enviar * @return array [0]true o false [1] mensaje error, en caso true es vacio * @version 1.0 * @author Francisco Iglesias (figlesiash@me.com) */ function mail2($data){ global $DB, $lang, $cfg, $out, $init_vars, $sess; include dirname(__FILE__)."/phpmailer/class.phpmailer.php"; $ok = true; $msg_error = ""; if((isset($data["to"])) && (isset($data["mensaje"])) && (isset($data["subject"]))){ $to_name = ""; if(isset($data["to_name"])) $to_name = $data["to_name"]; $mail = new PHPMailer(); $body = $data["mensaje"]; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.doomos.net"; // SMTP server //$mail->SMTPDebug = 5; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "tls"; $mail->CharSet = "UTF-8"; //$mail->Host = 'mail.doomos.com'; //$mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = 'no-reply@doomos.net'; // SMTP account username $mail->Password = "r7why27365"; // SMTP account password $mail->SetFrom('no-reply@doomos.net', "nexolocal.cl"); //$mail->AddReplyTo($cfg["mail_soporte"], $cfg["nombre_sitio"]); $mail->Subject = $data["subject"]; $mail->MsgHTML($body); $address = $data["to"]; $mail->AddAddress($address, $to_name); if(!$mail->Send()) { $ok = false; $msg_error = $mail->ErrorInfo; } }else{ $ok=false; $msg_error = "parametros"; } return array($ok,$msg_error); } function set_contact_emp_rel($data = array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); /* emp%5B%5D=557 &name=Francisco &email=figlesiash &phone=23431245134 &message=mensaje+de+prueba &g-recaptcha-response= */ $empresas_list = array(); if(isset($data["emp"])){ if(count($data["emp"]) > 0){ foreach($data["emp"] as $emp){ if(trim($emp) != "" && !is_null($emp)){ $empresas_list[] = $emp; } } } } if(count($empresas_list) == 0){ $return["error"][] = "Seleccione una empresa"; } if(isset($data["name"])){ if(trim($data["name"]) == "" || is_null($data["name"])){ $return["error"][] = "Ingrese su nombre"; } }else{ $return["error"][] = "Ingrese su nombre"; } if(isset($data["email"])){ if(!preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $data["email"]) || trim($data["email"]) == "" || strlen($data["email"]) <= 3 || is_null($data["email"])){ $return["error"][] = "Email no válido"; } }else{ $return["error"][] = "Ingrese su email"; } if(isset($data["phone"])){ if(trim($data["phone"]) == "" || is_null($data["phone"])){ $return["error"][] = "Ingrese un número de telefono"; } }else{ $return["error"][] = "Ingrese un número de telefono"; } if(isset($data["message"])){ if(trim($data["message"]) == "" || is_null($data["message"])){ $return["error"][] = "Ingrese un mensaje"; } }else{ $return["error"][] = "Ingrese un mensaje"; } if(count($return["error"]) == 0){ $data_send = array(); foreach($empresas_list as $emp){ $data_send[] = "emp[]=".$emp; } $data_send[] = "name=".$data["name"]; $data_send[] = "email=".$data["email"]; $data_send[] = "phone=".$data["phone"]; $data_send[] = "message=".$data["message"]; $data_send[] = "fuente=".$cfg["fuente"]; $url = $cfg["url_get_data"]."?action=envia_mensaje_empresas_relacionadas&".str_replace(" ","%20",implode("&",$data_send)); $data_ret = json_decode(file_get_contents($url),true); if(isset($data_ret["status"])){ if($data_ret["status"] == "true"){ $return["status"] = 200; if(isset($data["site"])){ if($data["site"] == "search"){ setcookie("emrelpu-sh", 1, time() + 86400, "/"); }else{ setcookie("emrelpu", 1, time() + 86400, "/"); } }else{ setcookie("emrelpu", 1, time() + 86400, "/"); } } } //$return["status"] = 200; } return $return; } function set_contact_pr_rel($data = array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); if(isset($data["proy"])){ if(trim($data["proy"]) == "" || is_null($data["proy"])){ $return["error"][] = "Revise formulario"; } } if(isset($data["model-popup"])){ if(trim($data["model-popup"]) == "-1" || is_null($data["model-popup"])){ $return["error"][] = "Seleccione un modelo"; } }else{ $return["error"][] = "Seleccione un modelo"; } if(isset($data["name"])){ if(trim($data["name"]) == "" || is_null($data["name"])){ $return["error"][] = "Ingrese su nombre"; } }else{ $return["error"][] = "Ingrese su nombre"; } if(isset($data["email"])){ if(!preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $data["email"]) || trim($data["email"]) == "" || strlen($data["email"]) <= 3 || is_null($data["email"])){ $return["error"][] = "Email no válido"; } }else{ $return["error"][] = "Ingrese su email"; } if(isset($data["phone"])){ if(trim($data["phone"]) == "" || is_null($data["phone"])){ $return["error"][] = "Ingrese un número de telefono"; } }else{ $return["error"][] = "Ingrese un número de telefono"; } if(isset($data["message"])){ if(trim($data["message"]) == "" || is_null($data["message"])){ $return["error"][] = "Ingrese un mensaje"; } }else{ $return["error"][] = "Ingrese un mensaje"; } if(count($return["error"]) == 0){ $aux = array( "id" => $data["proy"] ,"nombre" => $data["name"] ,"email" => $data["email"] ,"telefono" => $data["phone"] ,"mensaje" => $data["message"] ,"modelo" => $data["model-popup"] ,"fuente" => $cfg["fuente"] ); $data_send = array(); foreach($aux as $index => $value){ $data_send[] = $index."=".$value; } $url = $cfg["url_get_data"]."?action=contacto_proyectojson&".str_replace(" ","%20",implode("&",$data_send)); $data = json_decode(file_get_contents($url),true); if(isset($data["status"])){ if($data["status"] == "true"){ $return["status"] = 200; setcookie("prrelpu", 1, time() + 86400, "/"); } } } return $return; } function set_contact_propiedad_rels($data = array()){ //propiedades relacionadas una vez que se manda un contacto global $DB, $cfg, $init_vars; /* action:contact-prop-rels post_id:517312 name:fco email:figlesiash@gmail.com phone:111111 message:dfgzfgzxfgzx fg g-recaptcha-response:03AHJ_VuuIB9XOqVLKjU6oOfvBsrlkjgH7_LUyWf7GPBLLiwu1yAEo-rUyT4K0zPQNBwtwxcSFGTzkhIj-414ZG_hJirnPucTiziefrgk0t21gNYOHglhPj1-LPc3wHO_pMcBv2RSsKkyiRrdfB_uNApXqUIdEOr8goOAQbbxmktBBBfxwQJBbSQhWYe3TLR3nhZz6NC0VP0QZWDSOGqeoEJvCZ8NGij43wd_WcJPylosjKgszwbS7NxdA0VrCnhCrSGVVh0lNUS8WHBYVJHM44ycCLHU_hWN-c5zG9Q8gyWbRxcNHsjzSufRnwYHJRSmy7WHTmsK-C7CwDxOwQlBz5X8WUC9S9-rvq2fdPuXDXD4n6RLsAJqgs1MIxIz4rx1ICePRe9AEDjU3HzN9rGVHpu0k-FnDfa9PPIwkWqE53DKU5z2JurzAON6MsVxyBvCFSIGK37kX1x7ODQaYwrgfC_Q91aHKfBIgB-rGeiPGbqfVeSqR2SjK4Gv-DcUJXXM0Rrh-iq1dozCnDIeKaOFAy7SG2KsRGIjCIxDYSYTRpPc3WODq1mSo2h8hcd-KjDh5wRGaqOKfiVwKz871G3Vw6KqN6-6dexbT-ebNIC-Wvwq2tZ16nMiBFVrEGIeEv9CNL5xh1kMVKOo05hl-jrG0pfUXvPOIyPoWeo_Js6NzPdq4GP9Zcmt2rNDcWFCC-KgAmzCjkIZVhajHI5GGGIM6Gf-mY74T6HOG_Fe-o-KDVSbbYFF3AHjJsXto8BN9dx1WsFZihv8FUR1ygKRvevxYZ9hkd-6uJPg5lPNvzQLmOhQhCJFToJdgr09-JQ8aA_rrVk84zkAnRBiJ1LT94Zff9191afacSO7hTIDlKxsLepSlkuBeDHBp99WukClvs8q8uXP-S1nTI4QeFC2SwwDfI985ATREwmdPh2eA_F0ncVq5xlcZhp4EUpqx7bpFTA3GVD-Lvl2vHfQG40kAWbSCDfaOoU57kKG41eQNRYqhAFOJu1DiFi7T3zx_j2J2IK1RHQRDgltNdgycnOTkwwVNJe594rbN9Bxkt0KEoKMTEl28KaPAdCm1iZSpDz0cxYs9MQvZ0a5n7UZ4Dj71NHhfdj174xgQn5xmqQ id_prop:468106 id_proy:0 */ $return = array("status" => 400); if(isset($data["name"],$data["email"],$data["message"],$data["id_prop"],$data["id_proy"])){ $phone = ""; if(isset($data["phone"])){ $phone = $data["phone"]; } $ok = true; if(isset($data["id_prop"])){ if(trim($data["id_prop"]) == "" || is_null($data["id_prop"])){ $ok = false; } } if(isset($data["id_proy"])){ if(trim($data["id_proy"]) == "" || is_null($data["id_proy"])){ $ok = false; } } if(isset($data["name"])){ if(trim($data["name"]) == "" || is_null($data["name"])){ $ok = false; } } if(isset($data["email"])){ if(!preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $data["email"]) || trim($data["email"]) == "" || strlen($data["email"]) <= 3 || is_null($data["email"])){ $ok = false; } } if(isset($data["message"])){ if(trim($data["message"]) == "" || is_null($data["message"])){ $ok = false; } } if($ok = true){ $aux = array( "id" => $data["id_prop"]."-".$data["id_proy"] ,"nombre" => $data["name"] ,"email" => $data["email"] ,"telefono" => $data["phone"] ,"mensaje" => $data["message"] ,"fuente" => $cfg["fuente"] ); $data_send = array(); foreach($aux as $index => $value){ $data_send[] = $index."=".$value; } $url = $cfg["url_get_data"]."?action=contactorelacionadojson&".str_replace(" ","%20",implode("&",$data_send)); //var_dump($url); exit; $data = json_decode(file_get_contents($url),true); if(isset($data["status"])){ if($data["status"] == "true"){ $return["status"] = 200; } } $return["status"] = 200; } } return $return; } function set_contact_propiedad_rel($data = array()){ global $DB, $cfg, $init_vars; $return = array("status" => 403, "error" => array()); if(isset($data["prop"])){ if(trim($data["prop"]) == "" || is_null($data["prop"])){ $return["error"][] = "Revise formulario"; } } if(isset($data["name"])){ if(trim($data["name"]) == "" || is_null($data["name"])){ $return["error"][] = "Ingrese su nombre"; } }else{ $return["error"][] = "Ingrese su nombre"; } if(isset($data["email"])){ if(!preg_match("/^([a-zA-Z0-9\.\_])+(@)+([a-zA-Z0-9])+([\.])+([a-zA-Z])+$/", $data["email"]) || trim($data["email"]) == "" || strlen($data["email"]) <= 3 || is_null($data["email"])){ $return["error"][] = "Email no válido"; } }else{ $return["error"][] = "Ingrese su email"; } if(isset($data["phone"])){ if(trim($data["phone"]) == "" || is_null($data["phone"])){ $return["error"][] = "Ingrese un número de telefono"; } }else{ $return["error"][] = "Ingrese un número de telefono"; } if(isset($data["message"])){ if(trim($data["message"]) == "" || is_null($data["message"])){ $return["error"][] = "Ingrese un mensaje"; } }else{ $return["error"][] = "Ingrese un mensaje"; } if(count($return["error"]) == 0){ $aux = array( "id" => $data["prop"] ,"nombre" => $data["name"] ,"email" => $data["email"] ,"telefono" => $data["phone"] ,"mensaje" => $data["message"] ,"fuente" => "exit-".$cfg["fuente"] ); $data_send = array(); foreach($aux as $index => $value){ $data_send[] = $index."=".$value; } $url = $cfg["url_get_data"]."?action=contactojson&".str_replace(" ","%20",implode("&",$data_send)); $data = json_decode(file_get_contents($url),true); if(isset($data["status"])){ if($data["status"] == "true"){ $return["status"] = 200; setcookie("proprelpu", 1, time() + 86400, "/"); } } } return $return; } ?>