!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/site/ipanel/app/cms/   drwxr-xr-x
Free 9.32 GB of 93.48 GB (9.97%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     processa.php (14.16 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//set_time_limit(360);
//ini_set('display_errors',1);
//ini_set('display_startup_erros',1);
//error_reporting(E_ALL);
ini_set('memory_limit''256M');
require_once(
"../core/config.php");
require_once(
APP_PATH."/cms/restritoIPanel.php");
require_once(
APP_PATH."/cms/IPanelForm.php");
require_once(
APP_PATH."/cms/IPanelApp.php");
require_once(
APP_PATH."/cms/IPanelConfig.php");
require_once(
APP_PATH."/cms/IPanelMenu.php");
require_once(
APP_PATH."/system/FileUpload.php");
require_once(
APP_PATH."/controller/GenericCtrl.php");
require_once(
APP_PATH."/model/Foto.php");
require_once(
APP_PATH."/util/Util.php");
require_once(
APP_PATH."/util/Data.php");

$util = new Util();
$data = new Data();

if(
$_GET['action'] != "Logoff"){

    
$config = new IPanelConfig($_GET['lc']);
    
$form   = new IPanelForm();
    
$form -> setArea($_GET['lc']);
    
$form->setConfig($config);
    
$ipanel = new IPanelApp();
    
$ipanel->setArea($_GET['lc']);
    
$ipanel->setConfig();
    
$menu = new IPanelMenu();
    
$control = new GenericCtrl($_GET['lc']);


    
//
    // Caso o Action seja do tipo Form, vindo de uma inclusão e /ou edição de registro
    // Copia os dados enviados pelo formulario para os campos correspondentes no objeto
    //
    
if($_POST['action'] == "Form"){
        
$showLayerRecorte false;
        
$object $form->saveFormDataToObject($_POST$_FILES);
        if(
$_POST['id'] != ""){
            if(
$object->replace()){
                
$objectId $object->id;
            }else{
                
$object->save();
                
$objectId $control->getLastId();
            }
        }else{
            
$object->save();
            
$objectId $control->getLastId();
        }
        
        
        
//
        // Caso a área atual não seja referente á backup do sistema
        //
        
if($_GET['lc'] != "Backup"){
            
//
            // Caso o objeto atual possua imagem ou arquivo em anexo
            //
            
$hasrecorte false;
            
$fileUpload = new FileUpload();
            
$uploadFolder $ipanel->getConfig()->getParameter("uploads.folder");
            if(
$ipanel->getConfig()->getParameter("images") != null){
                
$hasRecorte true;
            }

            if(
$uploadFolder != null && $uploadFolder != ""){

                
//
                // Efetua um laço nos campos para verificar quais devem efetuar uploads
                //
                
foreach($ipanel->getConfig()->getFields() as $fields){
                    foreach(
$fields as $field => $value){
                        if(
$value['type'] == "image" || $value['type'] == "file"){
                            if(!empty(
$_FILES[$field]['name'])){
                                
$fileUpload->width 2500;
                                
$fileUpload->height 2500;
                                
$fileUpload->resize true;
                                
$fileUpload->upload($_FILES[$field]['tmp_name'], $uploadFolder$objectId$object[$field]);
                                if(
$value['type'] == "image" && $hasRecorte){
                                    
$showLayerRecorte true;
                                }
                            }
                        }
                    }
                }
            }
        }
        
        
        
//
        // Caso seja ação de backup
        //
        
else{
            include 
"geraBackup.php";
            
$backup $control->getObject($objectId);
            
$backup->arquivo $backupFile;
            
$backup->tamanho $backupFileSize;
            
$backup->save();
        }
        
$url "../../view/?lc=".$_GET['lc'];
        if(
$showLayerRecorte){
            
header("Location:".$url."&md=Recorte&id=".$objectId."&folder=".$uploadFolder."&imagem=".$object->imagem.$ipanel->getParameters($_GET));
        }else{
            if(
$_GET['lc'] == "Informativo"){
                
header("Location:../../view/?lc=InformativoNoticia&md=Form&infId=".$objectId."&stp=".time());
            }else{
                
header("Location:".$url."&md=Lista".$ipanel->getParameters($_GET)."&stp=".time());
            }
        }
 
    }



    
//
    // Caso o Action seja do tipo Usuario, vindo de uma inclusão e /ou edição de registro
    // Copia os dados enviados pelo formulario para os campos correspondentes no objeto
    //
    
if($_POST['action'] == "User"){

        
$object $form->saveFormDataToObject($_POSTnull);
        if(
$_POST['id'] != ""){
            
$permissaoCtrl = new GenericCtrl("Permissao");
            
$permissoes $permissaoCtrl->getObjectByField("usrId"$_POST['id']);
            foreach(
$permissoes as $permissao){
                
$permissao $permissaoCtrl->getObject($permissao['id']);
                
$permissaoCtrl->delete($permissao);
            }
            
$object->replace();
            
$objectId $object->id;
        }else{
            
$object->save();
            
$objectId $control->getLastId();
        }
        
$ipanel->createArrayPermissions($_POST$objectId);
        
header("Location:../../view/?lc=".$_GET['lc']."&md=Lista".$ipanel->getParameters($_GET)."&stp=".time());
    }



    
//
    // Caso o Action seja do tipo Upload
    // Recebe as fotos e efetua o upload para pasta referente ao setor atual
    //
    
if($_GET['action'] == "Upload"){
        
$file $_FILES['file'];
        
$fileUpload = new FileUpload();
        
$uploadFolder $config->getParameter("uploads.folder");
        
$gallery $config->getParameter("gallery");
        
$thumb   $config->getParameter("gallery.thumb");
        
$normal  $config->getParameter("gallery.normal");

        
$fileUpload->upload($file['tmp_name'], $uploadFolder$_GET['id'], strtolower($util->nameForWeb($file['name'])));
        if(
$gallery != null){
            if(
$thumb != null){
                
$fileUpload->width  $config->getParameter("gallery.thumb.width");
                
$fileUpload->height $config->getParameter("gallery.thumb.height");
                
$fileUpload->imageResize(strtolower($util->nameForWeb($file['name'])), $uploadFolder."/".$_GET['id'], "thumb_"true);
            }
            if(
$normal != null){
                
$originalExtension strrchr($file['name'], ".");
                
$extension strtolower($originalExtension);
                if(
$extension == ".jpg" || $extension == ".jpeg" ){
                    
$img imagecreatefromjpeg("../../uploads/".$uploadFolder."/".$_GET['id']."/".strtolower($util->nameForWeb($file['name'])));
                    
$width imagesx($img);
                    
$height imagesy($img);
                    if(
$height $config->getParameter("gallery.normal.height")){
                        
$dif $height $config->getParameter("gallery.normal.height");
                        
$width $width $dif;
                        
$height $config->getParameter("gallery.normal.height");
                    }
                    
$fileUpload->width $width;
                    
$fileUpload->height $height;  
                }else{
                    
$fileUpload->width  $config->getParameter("gallery.normal.width");
                    
$fileUpload->height $config->getParameter("gallery.normal.height");  
                }
                
$fileUpload->imageResize(strtolower($util->nameForWeb($file['name'])), $uploadFolder."/".$_GET['id'], "big_"true);
            }
        }

        
$foto = new Foto();
        
$foto->nome strtolower($util->nameForWeb($file['name']));
        
$foto->regId $_GET['id'];
        
$foto->local $uploadFolder;
        
$foto->save();

        echo 
'{"name":"'.$file['name'].'","type":"'.$file['type'].'","size":"'.$file['size'].'","id":"'.$_GET['id'].'","folder":"'.$uploadFolder.'"}';
    }



    
//
    // Caso o Action seja para excluir o(s) registro(s)
    // Efetua um laço no array de ids e na pasta caso este setor esteja configurado para usar upload de arquivos
    //
    
if($_POST['action'] == "DeleteList") {

        
$ids =  $_POST['check'];
        
$folder $config->getParameter("uploads.folder");

        for(
$i=0$i count($ids); $i++ ){
            
$object $control->getObject($ids[$i]);
            
$control->delete($object);
            @
$openDir opendir("../../uploads/".$folder."/".$ids[$i]);

            while (
false !== ($file = @readdir($openDir))){
                if ((
$file != ".") && ($file != "..") && ($file != ""))
                @
unlink("../../uploads/".$folder."/".$ids[$i]."/".$file);
            }

            @
closedir($openDir);
            @
rmdir("../../uploads/".$folder."/".$ids[$i]);
        }
        
header("Location:../../view/?lc=".$_GET['lc']."&md=Lista".$ipanel->getParameters($_GET"page")."&stp=".time());
    }

    
//
    // Caso o Action seja para excluir apenas um registro
    // Exclui o objeto e o conteúdo da pasta de upload caso este setor esteja configurado para usar upload de arquivos
    //
    
if($_GET['md'] == "DeleteUnique") {

        
$folder $config->getParameter("uploads.folder");
        
$object $control->getObject($_GET['id']);
        
$control->delete($object);
        if(!empty(
$folder)){
            if(
is_dir("../../uploads/".$folder."/".$_GET['id'])){
                @
$openDir opendir("../../uploads/".$folder."/".$_GET['id']);
                while (
false !== ($file = @readdir($openDir))){
                    if ((
$file != ".") && ($file != "..") && ($file != ""))
                    @
unlink("../../uploads/".$folder."/".$_GET['id']."/".$file);
                }
                @
closedir($openDir);
                @
rmdir("../../uploads/".$folder."/".$_GET['id']);
            }
        }
        
header("Location:../../view/?lc=".$_GET['lc']."&md=Lista".$ipanel->getParameters($_GET"page")."&stp=".time());
    }

    
//
    // Caso o Action seja para excluir um registro de foto
    // Efetua um laço no array de ids e na pasta caso este setor esteja configurado para usar upload de arquivos
    //
    
if($_GET['action'] == "DeleteFoto") {

        
$object $control->getObject($_GET['idFoto']);
        
$object->delete();
        
$folder $_GET['folder'];
        
$foto $_GET['foto'];
        @
unlink("../../uploads/".$folder."/".$_GET['regId']."/".$foto);
        @
unlink("../../uploads/".$folder."/".$_GET['regId']."/thumb_".$foto);
        @
unlink("../../uploads/".$folder."/".$_GET['regId']."/big_".$foto);
        
header("Location:../../view/frameFotos.php?id=".$_GET['regId']."&folder=".$_GET['folder']."&stp=".time());
    }



    
//
    // Caso o Action seja adicionar / alterar a legenda de uma foto
    // Pega o objeto a partir do id, atualiza e salva o objeto
    //
    
if($_GET['action'] == "LegendaFoto") {

        
$object = new Foto();
        
$object $control->getObject($_GET['id']);
        
$object->legenda $_GET['legenda'];
        
$object->save();
        return 
true;
    }



    
//
    // Caso o Action seja do tipo RecorteFoto
    // Recebe as coordenadas e o tamanho a ser recortado
    // Gera uma imagem temporária a partir das coordenadas e redimensiona para o tamanho especificado
    // Na sequência a imagem temporária é excluída
    //
    
if($_GET['action'] == "RecorteFoto"){
        
$image $_GET['foto'];
        
$fileUpload = new FileUpload();
        
$id   $_GET['id'];
        
$folder "../../uploads/".$config->getParameter("uploads.folder")."/".$id."/";
        
$freeImageCrop $config->getParameter("freeImageCrop");
        
$posX $_GET['x'];
        
$posY $_GET['y'];
        
$tipo   $_GET['tipo'];
        
$height $_GET['h']; //$config->getParameter("image.".$tipo.".height");
        
$width  $_GET['w']; //$config->getParameter("image.".$tipo.".width");

        
$fileUpload->imageCrop($image$config->getParameter("uploads.folder")."/".$id."/"$width$height$posX$posY"temp");

        if(
$freeImageCrop){
            
$fileUpload->height $height;
            
$fileUpload->width  $width;
        }else{
            
$fileUpload->height $config->getParameter("images.".$tipo.".height");
            
$fileUpload->width  $config->getParameter("images.".$tipo.".width");
            
$fileUpload->resize true;
        }
        
$fileUpload->imageResize("temp".$util->getFileExtension($_GET['foto']), $config->getParameter("uploads.folder")."/".$id."/"$tipo);
        @
unlink("../../uploads/".$config->getParameter("uploads.folder")."/".$id."/"."temp".$util->getFileExtension($_GET['foto']));
        print 
"../uploads/".$config->getParameter("uploads.folder")."/".$id."/".$tipo.$util->getFileExtension($_GET['foto']);
    }



    
//
    // Caso o Action seja para alteração da imagem padrão para o registro atual
    // Retorna o objeto atual, seta o nome da nova imagem e salva o registro
    // Na sequência é efetuado o upload da nova imagem, redirecionando para a layer
    // de recorte das imagens.
    //
    
if($_POST['action'] == "AlterarImagemRecorte"){
    
//echo $_POST['id'];
        
$object $control->getObject($_POST['id']);
        
$object->imagem $util->nameForWeb($_FILES['novaImagem']['name']);
        
$object->replace();
        
$fileUpload = new FileUpload();
        
$fileUpload->width 2000;
        
$fileUpload->height 2000;
        
$fileUpload->resize true;
        
$uploadFolder $config->getParameter("uploads.folder");
        
$fileUpload->upload($_FILES['novaImagem']['tmp_name'], $uploadFolder$object->id$_FILES['novaImagem']['name']);
        
$url "../../view/?lc=".$_GET['lc']."&md=Recorte";
        
header("Location:".$url."&folder=".$uploadFolder."&id=".$_POST['id']."&imagem=".$object->imagem.$ipanel->getParameters($_GET)."&stp=".time());
    }

    
    

    
//
    // Caso o Action seja adicionar / alterar a legenda de uma foto
    // Pega o objeto a partir do id, atualiza e salva o objeto
    //
    
if($_POST['action'] == "DeleteArquivo") {
        
$object $control->getObject($_POST['id']);
        
$object[$_POST['field']] = "";
        
$object->save();
        return 
true;
    }
    
    
//
// Finaliza a sessão do usuário atual
//
}else{
    
session_start();
    
session_destroy();
    
header("Location:../../");
}

?>

:: 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.0039 ]--