!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\Intranet\C\xampp\htdocs\CatalogoIsis\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Preparar.php (12.47 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/** Clase que prepara una cadena antes de realizar una busqueda con ella **/

class Preparar {


        
/* BUSQUEDA COMBINADA */
        // Criterios y prefijos "modifiquelos dependiendo de sus requerimientos"
        
var $criteriosC = array (
                array (
"autor""au-""Autor"),
                array (
"titulo""ti-""Título"),
                array (
"tema""te-""Tema"),
                array (
"lugarg""lg-""Lugar Geográfico"),
                array (
"especies""es-""Especies"),
                array (
"desde""an-""Año Desde"),
                array (
"hasta""an-""Hasta"),
                array (
"libre""""Palabra o frase")
        );

        
// Posiciones del criterio y el prefijo en criteriosC
        
var $posC 0;
        var 
$posP 1;
        var 
$posE 2;

        
// Operadores "modifiquelos dependiendo de sus requerimientos"
        
var $operadoresC = array ("op1""op2");

        
// Dice si cada criterio tiene o no operador "modifiquelos dependiendo de
        // sus requerimientos"
        
var $haveOpsC = array (falsefalsefalsefalsefalsefalsefalsefalse);



        
/* BUSQUEDA LIBRE */
        // Criterios
        
var $criterioL "libre";
        var 
$criterioL1 "libre";


        
/** Metodo constructor de la clase Preparar **/
        
function Preparar (){}


        
/** Entrega el criterioC "criterio" en la posicion i **/
        
function getCriterioC ($i){
                
$tmp $this->criteriosC[$i][$this->posC];
                return 
$tmp;
        }

        
/** Entrega el criterioC "prefijo" en la posicion i **/
        
function getCriterioP ($i){
                
$tmp $this->criteriosC[$i][$this->posP];
                return 
$tmp;
        }

        
/** Entrega el criterioC "enunciado" en la posicion i **/
        
function getCriterioE ($i){
                
$tmp $this->criteriosC[$i][$this->posE];
                return 
$tmp;
        }

        
/** Entrega el criterioL **/
        
function getCriterioL (){
                return 
$this->criterioL;
        }

        
/** Entrega el criterioL **/
        
function getCriterioLE (){
                return 
$this->criterioL1;
        }

        
/** Entrega el operadorC en la posicion i **/
        
function getOperadorC ($i){
                return 
$this->operadoresC [$i];
        }

        
/** Entrega el numero de criterios de criteriosC **/
        
function getNumCriteriosC (){
                return 
count ($this->criteriosC);
        }

        
/** Entrega el numero de operadores de operadoresC **/
        
function getNumOperadoresC (){
                return 
count ($this->operadoresC);
        }


        
/** Entrega la cadena de busqueda con los criterios de la busqueda
            combinada y la cadena sobre, formulario con operadores **/
        
function pCriteriosCOps ($s$o){

                
$ls count ($s);

                
$lb count ($this->haveOpsC);

                
$sobre "";

                
$cadena "";
                
$operador false;
                
$op "";

                if (
$ls == $lb){
                        
$j = -1;
                        for (
$i=0$i<$ls$i++){
                                
$tmp trim ($s[$i]);
                                if (
$tmp){
                                          
$tmp $this->prepararCad($tmp$this->criteriosC[$i][$this->posP]);
                                        if(
$operador){
                                                
$sobre .= ", '" trim ($s[$i]) . "'" " en " $this->criteriosC[$i][$this->posE];
                                                if (
$this->haveOpsC[$i]){
                                                        
$j++;
                                                        
$op $o[$j];
                                                        
$cadena .= $op $tmp;
                                                }
                                                else
                                                        
$cadena .= $op $tmp;

                                        }
                                        else {
                                                
$sobre .= "'" trim ($s[$i]) . "'" " en " $this->criteriosC[$i][$this->posE];
                                                
$cadena .= $tmp;
                                        }
                                        
$operador true;
                                }
                        }

                        
$cds = array ($cadena$sobre);

                        return 
$cds;

                }
                else {
                        echo 
"El archivo Preparar.php está mal configurado !!";
                        echo 
"La longitud  de criteriosC  debe ser igual a la";
                        echo 
"de haveCriterios.";
                        echo 
"Corrija el problema para que el catalogo funcione bien !!";
                }

                return 
null;

        }


        
/** Entrega la cadena de busqueda con los criterios de la busqueda
            combinada, formulario sin operadores **/
        
function pCriteriosCLessOps ($s){

                
$ls count ($s);
                
$op "*";

                
$cadena "";
                
$operador false;
                
$sobre "";

                for (
$i=0$i<$ls$i++){
                        
$tmp trim ($s[$i]);
                        if (
$tmp && $i != && $i != 6){
                                
$tmp $this->prepararCad($tmp$this->criteriosC[$i][$this->posP]);
                                if(
$operador){
                                        
$cadena .= $op $tmp;
                                        
$sobre .= ", '" trim ($s[$i]) . "'" " en " $this->criteriosC[$i][$this->posE];
                                }
                                else {
                                        
$cadena .= $tmp;
                                        
$sobre .= "'" trim ($s[$i]) . "'" " en " $this->criteriosC[$i][$this->posE];
                                }
                                
$operador true;
                        }
                }

                
$tmp1 trim ($s[5]);
                
$tmp2 trim ($s[6]);

                
$cad $this->desdeHasta ($tmp1$tmp2);

                if (
$tmp1 $tmp2){
                     
$t $tmp1;
                     
$tmp1 $tmp2;
                     
$tmp2 $t;
                }

                if (
$cadena){
                     if (
$cad){
                          
$cadena .= $op $cad;
                     }
                }
                else {
                      
$cadena $cad;
                }

                if (
$tmp1){
                        if(
$operador){
                                
$sobre .= ", " $this->criteriosC[5][$this->posE] . " '" $tmp1 "'";
                        }
                        else {
                                
$sobre .= " " $this->criteriosC[5][$this->posE] . " '" $tmp1 "'";
                        }
                        
$operador true;
                }

                if (
$tmp2){
                        if(
$operador){
                                
$sobre .= ", " $this->criteriosC[6][$this->posE] . " '" $tmp2 "'";
                        }
                        else {
                                
$sobre .= " " $this->criteriosC[6][$this->posE] . " '" $tmp2 "'";
                        }
                        
$operador true;
                }

                
$cds = array ($cadena$sobre);

                return 
$cds;

        }

        
/** Entrega la cadena de busqueda con el criterio de la busqueda
            libre, formulario sin operadores **/
        
function pCriterioL ($s){


                
$cadena "";
                
$sobre "";

                
$tmp trim ($s);
                if (
$tmp){
                        
$tmp $this->prepararCad($tmp"");
                        
$sobre "'" trim ($s) . "'" " en " $this->criterioL1;
                        
$cadena .= $tmp;
                }

                
$cds = array ($cadena$sobre);

                return 
$cds;

        }


        
/** Regresa una cadena sin tildes, puntos, coma y parentesis **/
        
function vocalesEspacios ($cad){

                
// Quitando espacions en blanco del inicio y fin de cad
                
$s trim ($cad);

                
// Quitando tildes y comillas francesas
                
$s str_replace ("á""a"$s);
                
$s str_replace ("à""a"$s);
                
$s str_replace ("Á""A"$s);
                
$s str_replace ("À""A"$s);
                
$s str_replace ("é""e"$s);
                
$s str_replace ("è""e"$s);
                
$s str_replace ("É""E"$s);
                
$s str_replace ("È""E"$s);
                
$s str_replace ("í""i"$s);
                
$s str_replace ("ì""i"$s);
                
$s str_replace ("Í""I"$s);
                
$s str_replace ("Ì""I"$s);
                
$s str_replace ("ó""o"$s);
                
$s str_replace ("ò""o"$s);
                
$s str_replace ("Ó""O"$s);
                
$s str_replace ("Ò""O"$s);
                
$s str_replace ("ú""u"$s);
                
$s str_replace ("ù""u"$s);
                
$s str_replace ("Ú""U"$s);
                
$s str_replace ("Ù""U"$s);
                
$s str_replace ("."" "$s);
                
$s str_replace (","" "$s);
                
$s str_replace ("("" "$s);
                
$s str_replace (")"" "$s);
                
$s str_replace ("ñ""n"$s);


                
$tok strtok ($s," ");
                
$tmp "";
                while (
$tok) {
                        
$tmp $tmp $tok " ";
                        
$tok strtok (" ");

                }

                
$cadena trim ($tmp);

                return 
$cadena;

        }

        
/** Cambia una cadena poniendole prefijos, operadores, etc **/
        
function cambiar ($cad$plus$nplus){

                
$tmp str_replace ($plus$nplus$cad);

                return 
$tmp;

        }

        
/** Prepara una cadena para que quede lista para la busqueda en WWWIsis **/
        
function prepararCad ($cad$pref) {


                
$tmp1 "$*";
                
$tmp2 "$";

                
$s $this->vocalesEspacios ($cad);

                
$s1 $this->cambiar (trim($s), "$""");

                
$s2 $this->cambiar ($s1" "$tmp1 $pref);

                
$s2 $pref $s2;

                
$s2 "(" $s2 $tmp2 ")";

        
$s3 "(" $pref $s $tmp2 ")";

        
$s4 "(" $s2 "+" $s3 ")";

        return 
$s4;


        }

        
/** Prepara una cadena para que quede lista para la busqueda de diccionario
            en WWWIsis **/
        
function prepararCadK1 ($cad$pref) {


                
$s $this->vocalesEspacios ($cad);

                
$s1 $this->cambiar (trim($s), " ""*" $pref);

                
$s1 $pref $s1;

                return 
$s1;

        }

        
/** Prepara una cadena para los años desde hasta **/
        
function desdeHasta ($v1$v2){

                
$n1 $v1;
                
$n2 $v2;

                
$res = -1;
                
$menor = -1;

                
$pref $this->criteriosC[5][$this->posP];

                if (
$n1 == "" && $n2 == ""){
                        return 
"";
                }

                if (
$n1 != "" && $n2 == ""){
                        return 
"(" $pref $n1 ")";
                }

                if (
$n1 == "" && $n2 != ""){
                        return 
"(" $pref $n2")";
                }

                if (
$n1 == $n2){
                        return 
"(" $pref $n1 ")";
                }
                else if (
$n1 $n2){
                        
$res $n1 $n2;
                        
$menor $n2;
                }
                else {
                        
$res $n2 $n1;
                        
$menor $n1;
                }

                
$cad "(" $pref $menor "";

                for (
$i=1$i<=$res$i++){
                        
$menor $menor 1;
                        
$cad .= "+" $pref $menor;
                }

                return 
$cad ")";

        }

}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--