!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/var/www/html/includes/   drwxr-xr-x
Free 9.42 GB of 93.48 GB (10.08%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     funcoes_uteis.php (14.82 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
  
include(INCLUDES "conexaoBD.php");
// Funções
function db_stmt_bind_param(&$stmt$tipo_dados$params)
{
    
array_unshift($params$tipo_dados);
    
$tmp = array();
    foreach (
$params as $key => $value) {
        
$tmp[$key] = &$params[$key];
    }
    
    return 
call_user_func_array( array($stmt,'bind_param'), $tmp);
}

/* Executa a query */
function ExecutaSQLStatment($conexao$sql$tipo_dados$parametros)
{
    if (
$stmt $conexao->prepare($sql)) {
        
// Anexa os parâmetros na senteça sql
        
$res db_stmt_bind_param($stmt$tipo_dados$parametros);

        if (
$res) {
            
// Executa a query
            
$exec $stmt->execute();

            if (
$exec) {
                
$stmt->close();
                
$conexao->commit();
                return 
true;
            } else {
                
$msg $stmt->error;
                
$stmt->close();
                return 
false;
            }
        } else {
            return 
false;
        }
    } else {
        return 
false;
    }
}

/* Formata a data no formato escolhido */
function FormataData($data$formato$mostra_data false)
{
    if (
$data == "") {
        return 
"";
    }

    list(
$data$hora) = explode(" "$data);

    
/*if(strpos(chr(32),$data) !== false)
        {
            echo "teste";
            list($data,$hora) = explode(" ",$data);
        }
        */

    
if ($formato == "BD") {
        list(
$dia$mes$ano) = explode("/"$data);
        
$data $ano "-" $mes "-" $dia;
    } elseif (
$formato == "SCREEN") {
        list(
$ano$mes$dia) = explode("-"$data);
        
$data $dia "/" $mes "/" $ano;
    }

    if (
$mostra_data == true) {
        return 
$data " " $hora;
    } else {
        return 
$data;
    }
}

/* Formata o telefone no formato escolhido */
function FormataTelefone($telefone$formato$ddd false)
{
    if (
$formato == "BD") {
        
$telefone str_replace("("""$telefone);
        
$telefone str_replace(")"""$telefone);
        
$telefone str_replace(" """$telefone);
        
$telefone str_replace("-"""$telefone);
        return 
$telefone;
    } elseif (
$formato == "SCREEN") {
        if (
$ddd) {
            
$telefone "(" substr($telefone02) . ") " substr($telefone24) . "-" substr($telefone64);
        } else {
            
$telefone str_replace("-"""$telefone);
            
$telefone substr($telefone04) . "-" substr($telefone44);
        }
        return 
$telefone;
    }
}

/* Formata o cep no formato escolhido */
function FormataCEP($cep$formato)
{
    if (
$formato == "BD") {
        
$cep str_replace("-"""$cep);
        return 
$cep;
    } elseif (
$formato == "SCREEN") {
        
$cep substr($cep05) . "-" substr($cep53);
        return 
$cep;
    }
}

/* Redireciona para uma página específica */
function Redireciona($pagina$parametros null)
{
    
$host       $_SERVER['HTTP_HOST'];
    
$uri        rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    if (!
is_null($parametros)) {
        
$querystring "?";
        
$num_parametro 1;

        foreach (
$parametros as $key => $valor) {
            if (
$num_parametro 1) {
                
$querystring .= "&";
            }
            
$querystring .= "$key=$valor";
            
$num_parametro++;
        }
    }

    
$url        "http://$host$uri/$pagina$querystring";

    if (!
headers_sent()) {
        
//If headers not sent yet... then do php redirect
        
header("Location: http://$host$uri/$pagina$querystring");
        exit;
    } else {
        
//If headers are sent... do java redirect... if java disabled, do html redirect.
        
echo '<script type="text/javascript">';
        echo 
'window.location.href="' $url '";';
        echo 
'</script>';
        echo 
'<noscript>';
        echo 
'<meta http-equiv="refresh" content="0;url=' $url '" />';
        echo 
'</noscript>';
        exit;
    }
}

//Adicionar WHERE ou AND a condição - AJUSTAR DEPOIS COM REGEX
function PreparaCondicaoSQL(&$ordem, &$condicao)
{
    if (
$ordem 0) {
        
$condicao .= " AND ";
    } else {
        
$condicao .= " WHERE ";
    }
    
$ordem++;
}

//Prepara a querystring da requisição
function SerializaQuerystring($param)
{
    if (
count($param) > 0) {
        
$querystring "?";
        foreach (
$param as $chave => $valor) {
            
$querystring .= $chave "=" $valor "&";
        }
        
$querystring substr($querystring0strlen($querystring) - 1);
    }
    return 
$querystring;
}

//Verifica se o campo possui valor não padrão
function ValidaValor($valor)
{
    if (
in_array($valor, array(0"00/00/0000"))) {
        return 
$valor "";
    }
    return 
$valor;
}

//Gera uma senha aleatória
function GeraSenhaAleatoria()
{
    
$caracteres_aceitos 'abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789';
    
$max strlen($caracteres_aceitos) - 1;
    
$senha null;

    for (
$i 0$i 6$i++) {
        
$senha .= $caracteres_aceitos[mt_rand(0$max)];
    }
    return 
$senha;
}

/*    Exemplo de uso:
        qtd_ou_mascara -> numérico, retorna uma senha totalmente aleatória
        qtd_ou_mascara -> QQQ -> retorna tres numeros ou letras aleatórios
        qtd_ou_mascara -> NNN -> retorna tres números aleatórios
        qtd_ou_mascara -> AAA -> retorna tres letras aleatórias
        qtd_ou_mascara -> NNNAAA -> retorna tres letras mais tres números aleatórios
    */

function GeraSenhaAleatoriaMascara($qtd_ou_mascara)
{
    
/*
            Rodrigo J Polette
            NetNigro
            02/2009

            Mascara:
                A - Alfanumérico
                N - Número
                Q - Qualquer
        */
    
if (is_numeric($qtd_ou_mascara)) {
        
$qtd_ou_mascara str_repeat("Q"$qtd_ou_mascara);
    }

    
$qtd_ou_mascara strtoupper($qtd_ou_mascara);

    
$senha "";
    for (
$i 0$i strlen($qtd_ou_mascara); $i++) {
        if (
$qtd_ou_mascara[$i] == "Q") {
            if (
rand(1100) > 50) {
                
$qtd_ou_mascara[$i] = "A";
            } else {
                
$qtd_ou_mascara[$i] = "N";
            }
        }

        if (
$qtd_ou_mascara[$i] == "A") {
            if (
rand(1100) > 50) {
                
$senha .= chr(rand(025) + 65);
            } 
//Maiusculo
            
else {
                
$senha .= chr(rand(025) + 97);
            } 
//Minusculo
        
} else {
            
$senha .= chr(rand(09) + 48);
        }
    }
    return 
$senha;
}
/* escreve no console  */
function debug_to_console($data) {
    
$output $data;
    if (
is_array($output)) $output implode(',',$output);
    echo 
"<script>console.log('Debug Objects: " $output "' );</script>";
}

//Funções
function EnviaEmail($assunto$texto$email_remetente$email_destino)
{
    
//Cabeçalho
    
$headers "From: $email_remetente\n";
    
//$headers .= "Bcc: ti@netnigro.com.br\n";
    
$headers .= "MIME-Version: 1.0\n";
    
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    
$headers .= "Bcc : cron.irpen@netnigro.com.br\n";

    
$corpo_email "<html>
                                <head>
                                    <title>
$assunto</title>
                                    <style type=\"text/css\">
                                        body {
                                            font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
                                            font-size: 12px;
                                            text-align: justify;
                                        }
                                    </style>
                                </head>
                                <body>
                                    <p><img src=\"http://www.arpenpr.org.br/imagens/newsletter/cabecalho.png\"></p>"
        
stripslashes($texto) .
        
"<p><img src=\"http://www.arpenpr.org.br/imagens/newsletter/rodape.png\"></p>
                                </body>
                            </html>"
;

    if (
mail($email_destino$assunto$corpo_email$headers)) {
        return 
true;
    } else {
        return 
false;
    }
}


define("STR_REDUCE_LEFT"1);
define("STR_REDUCE_RIGHT"2);
define("STR_REDUCE_CENTER"4);

/*
*    function str_reduce (str $str, int $max_length [, str $append [, int $position [, bool $remove_extra_spaces ]]])
*
*    @return string
*
*    Reduz uma string sem cortar palavras ao meio. Pode-se reduzir a string pela
*    extremidade direita (padrão da função), esquerda, ambas ou pelo centro. Por
*    padrão, serão adicionados três pontos (...) à parte reduzida da string, mas
*    pode-se configurar isto através do parâmetro $append.
*    Mantenha os créditos da função.
*
*    @autor: Carlos Reche
*    @data:  Jan 21, 2005
*/
function str_reduce($str$max_length$append null$position STR_REDUCE_RIGHT$remove_extra_spaces true)
{
    if (!
is_string($str)) {
        echo 
"<br /><strong>Warning</strong>: " __FUNCTION__ "() expects parameter 1 to be string.";
        return 
false;
    } elseif (!
is_int($max_length)) {
        echo 
"<br /><strong>Warning</strong>: " __FUNCTION__ "() expects parameter 2 to be integer.";
        return 
false;
    } elseif (!
is_string($append)  &&  $append !== null) {
        echo 
"<br /><strong>Warning</strong>: " __FUNCTION__ "() expects optional parameter 3 to be string.";
        return 
false;
    } elseif (!
is_int($position)) {
        echo 
"<br /><strong>Warning</strong>: " __FUNCTION__ "() expects optional parameter 4 to be integer.";
        return 
false;
    } elseif ((
$position != STR_REDUCE_LEFT)  &&  ($position != STR_REDUCE_RIGHT)  &&
        (
$position != STR_REDUCE_CENTER)  &&  ($position != (STR_REDUCE_LEFT STR_REDUCE_RIGHT))
    ) {
        echo 
"<br /><strong>Warning</strong>: " __FUNCTION__ "(): The specified parameter '" $position "' is invalid.";
        return 
false;
    }


    if (
$append === null) {
        
$append "...";
    }


    
$str html_entity_decode($str);


    if ((bool)
$remove_extra_spaces) {
        
$str preg_replace("/\s+/s"" "trim($str));
    }


    if (
strlen($str) <= $max_length) {
        return 
htmlentities($str);
    }


    if (
$position == STR_REDUCE_LEFT) {
        
$str_reduced preg_replace("/^.*?(\s.{0," $max_length "})$/s""\\1"$str);

        while ((
strlen($str_reduced) + strlen($append)) > $max_length) {
            
$str_reduced preg_replace("/^\s?[^\s]+(\s.*)$/s""\\1"$str_reduced);
        }

        
$str_reduced $append $str_reduced;
    } elseif (
$position == STR_REDUCE_RIGHT) {
        
$str_reduced preg_replace("/^(.{0," $max_length "}\s).*?$/s""\\1"$str);

        while ((
strlen($str_reduced) + strlen($append)) > $max_length) {
            
$str_reduced preg_replace("/^(.*?\s)[^\s]+\s?$/s""\\1"$str_reduced);
        }

        
$str_reduced .= $append;
    } elseif (
$position == (STR_REDUCE_LEFT STR_REDUCE_RIGHT)) {
        
$offset ceil((strlen($str) - $max_length) / 2);

        
$str_reduced preg_replace("/^.{0," $offset "}|.{0," $offset "}$/s"""$str);
        
$str_reduced preg_replace("/^[^\s]+|[^\s]+$/s"""$str_reduced);

        while ((
strlen($str_reduced) + (strlen($append))) > $max_length) {
            
$str_reduced preg_replace("/^(.*?\s)[^\s]+\s?$/s""\\1"$str_reduced);

            if ((
strlen($str_reduced) + (strlen($append))) > $max_length) {
                
$str_reduced preg_replace("/^\s?[^\s]+(\s.*)$/s""\\1"$str_reduced);
            }
        }

        
$str_reduced $append $str_reduced $append;
    } elseif (
$position == STR_REDUCE_CENTER) {
        
$pattern "/^(.{0," floor($max_length 2) . "}\s)|(\s.{0," floor($max_length 2) . "})$/s";

        
preg_match_all($pattern$str$matches);

        
$begin_chunk $matches[0][0];
        
$end_chunk   $matches[0][1];

        while ((
strlen($begin_chunk) + strlen($append) + strlen($end_chunk)) > $max_length) {
            
$end_chunk preg_replace("/^\s?[^\s]+(\s.*)$/s""\\1"$end_chunk);

            if ((
strlen($begin_chunk) + strlen($append) + strlen($end_chunk)) > $max_length) {
                
$begin_chunk preg_replace("/^(.*?\s)[^\s]+\s?$/s""\\1"$begin_chunk);
            }
        }

        
$str_reduced $begin_chunk $append $end_chunk;
    }


    return 
htmlentities($str_reduced);
}

if (!
function_exists('sanitizeString')) {
    function 
sanitizeString($str)
    {
        
$str preg_replace('/[áàãâä]/i''a'$str);
        
$str preg_replace('/[éèêë]/i''e'$str);
        
$str preg_replace('/[íìîï]/i''i'$str);
        
$str preg_replace('/[óòõôö]/i''o'$str);
        
$str preg_replace('/[úùûü]/i''u'$str);
        
$str preg_replace('/[ç]/i''c'$str);
        
$str preg_replace('/[^a-z0-9!.]/i''_'$str);
        
$str preg_replace('/_+/''_'$str);
        return 
$str;
    }
}

if (!
function_exists('do_upload')) {
    function 
do_upload($files$path$extPermitidas = array())
    {
        
$erro false;
        if (!
is_dir($path)) {
            
mkdir($path);
        }

        
$namesDatabase = array();
        foreach (
$files as $key) {
            
$fileName sanitizeString($key['name']);
            if (!
in_array(pathinfo($key['name'], PATHINFO_EXTENSION), $extPermitidas)) {
                return 
$erro true;
            }
            
$uploadDir $path $fileName;

            
move_uploaded_file($key['tmp_name'], $uploadDir);

            
array_push($namesDatabase$uploadDir);
        }
        return 
$namesDatabase;
    }
}

if (!
function_exists('verifyValidade')) {
    function 
verifyValidade ($conexao)
    {
        
$sql "SELECT 
                    DAD_Titulo, DAD_EndVigencia,DAD_RowID
                FROM
                    irpen1br.docs_administrativos
                WHERE
                    DAD_TipoDocumento IN ('convenios' , 'contratos')
                        AND DATEDIFF(DAD_EndVigencia, NOW()) < 60
                        AND DATEDIFF(DAD_EndVigencia, NOW()) > 0"
;
            
        return  
$conexao->query($sql);
    }
}


if (!
function_exists('dd')) {
    function 
dd()
    {
        echo 
"<pre>";
        
var_dump(func_get_args());
        echo 
"</pre>";
        die;
    }
}

if (!
function_exists('word_limiter')) {

    function 
word_limiter($str$limit 100$end_char '&#8230;')
    {
        if (
trim($str) === '') {
            return 
$str;
        }

        
preg_match('/^\s*+(?:\S++\s*+){1,' . (int) $limit '}/'$str$matches);

        if (
strlen($str) === strlen($matches[0])) {
            
$end_char '';
        }

        return 
rtrim($matches[0]) . $end_char;
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0041 ]--