403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/skyweb24.popuppro/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/skyweb24.popuppro/lib/crmserver.php
<?
namespace Skyweb24\Popuppro;
\Bitrix\Main\Loader::includeModule('iblock');
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

class CrmServer{
    public static function Check($data){
        global $DB;

        $url = $data['URL'];

        if(isset($data['HASH']) AND !empty($data['HASH'])){
            $hash = $data['HASH'];
        } else {
            $login = $data['LOGIN'];
            $password = $data['PASSWORD'];
        }

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);
        curl_setopt($ch, CURLOPT_POST, 1);

        if(!$hash){

            curl_setopt($ch, CURLOPT_POSTFIELDS, "method=lead.get_fields&LOGIN=".$login."&PASSWORD=".$password);
            $result = curl_exec($ch);

            $curl_header = curl_getinfo($ch);


            if(strpos($curl_header['content_type'], "application/json") !== false AND strpos($curl_header['content_type'], "application/json") >= 0 ){
                $result = str_replace("'", '"', $result);
                //  $result = iconv(LANG_CHARSET, "UTF-8", $result);
                $result = \Bitrix\Main\Web\Json::decode($result);
            } else {
                $result = [
                    "error" => "400",
                    "error_message" => Loc::getMessage('skyweb24.popuppro_CRM_SERVER_ERROR_CONNECTION')
                ];
            }


            curl_close($ch);
            return $result;

        }


        curl_setopt($ch, CURLOPT_POSTFIELDS, "method=lead.get_fields&AUTH=".$hash);
        $result = curl_exec($ch);

        $curl_header = curl_getinfo($ch);

        if(strpos($curl_header['content_type'], "application/json") !== false AND strpos($curl_header['content_type'], "application/json") >= 0 ){
            $result = str_replace("'", '"', $result);
            $result = \Bitrix\Main\Web\Json::decode($result);
        } else {
            $result = [
                "error" => "400",
                "error_message" => Loc::getMessage('skyweb24.popuppro_CRM_SERVER_ERROR_CONNECTION')
            ];
        }

        curl_close($ch);
        return $result;

    }
    public static function Add($data){
            global  $DB;

            $hash = serialize([ "hash" => $data['AUTO_HASH'] ]);

            $url = $data['URL'];
            $name = $data['NAME'];

            $arFields = [
                "name" => "'".trim($name)."'",
                "url" => "'".trim($url)."'",
                "params" => "'".trim($hash)."'",
            ];

            unset($data["LOGIN"]);
            unset($data["PASSWORD"]);


            if($id = $DB -> Insert('skyweb24_popuppro_crmserver', $arFields)){
                $data['ID'] = $id;
            }

            return $data;


    }
    public static function getList(){
        global $DB;
        $results = $DB -> Query("SELECT * FROM `skyweb24_popuppro_crmserver`");
        while ($row = $results->Fetch()) {
           $result[] = $row;
        }

        return $result;

    }
    public  static  function getServer($id){
        global $DB;
        if(!empty($id))
        {
            $results = $DB -> Query("SELECT * FROM `skyweb24_popuppro_crmserver` WHERE `id` = '{$id}'");
            while ($row = $results->Fetch()) {
                return $row;
            }
        }
        return false;
    }
    public static function Del($id){
        global $DB;
        if(!empty($id))
        {
            $sql = "DELETE FROM `skyweb24_popuppro_crmserver` WHERE `id` = '{$id}'";
            $results = $DB -> Query($sql);
            return $results -> result;
        }
        return false;

    }
    public static function Update($data){
        global $DB;

        if($data['HASH']){
            $hash = serialize([ "hash" => $data['HASH'] ]);
            $arFields['params'] = "'".trim($hash)."'";
        }


        $url = $data['URL'];
        $name = $data['NAME'];

        $arFields = [
            "name" => "'".trim($name)."'",
            "url" => "'".trim($url)."'",
        ];

        unset($data["LOGIN"]);
        unset($data["PASSWORD"]);

        if($DB -> Update('skyweb24_popuppro_crmserver', $arFields, "WHERE ID='".$data['ID']."'")){
            $data['OLD_ID'] = $data['ID'];
            $data['result'] = "201";
            $result = \Bitrix\Main\Web\Json::encode($data);
        }

        return $result;
    }
    public static function getHash($ID){
        global $DB;
        $results = $DB -> Query("SELECT `params` FROM `skyweb24_popuppro_crmserver` WHERE `id` = '{$ID}'");
        while ($row = $results->Fetch()) {
            $result = unserialize($row['params'])['hash'];
        }

        return $result;
    }
    public static function sendCRMdata($data){

        $arConfigCRM = CrmServer::getServer($data['CRM_SERVER_ID']);

        $hash = unserialize($arConfigCRM['params'])['hash'];
        $url = $arConfigCRM['url'];

        $arFields = [
            "AUTH" => $hash,
            "SOURCE_DESCRIPTION" => $data['SOURCE_DESCRIPTION'],
            "SOURCE_ID"    => "WEB",
            "STATUS_ID"    => "NEW",
            "EMAIL_HOME"   => $data['EMAIL_HOME'],
            "TITLE"        => $data['TITLE'],
            "NAME"         => $data['NAME'],
            "COMMENTS"     => $data['COMMENTS'],
            "PHONE_MOBILE" => $data['PHONE_MOBILE'],
        ];

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 3);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $arFields);
        $result = curl_exec($ch);
        $curl_header = curl_getinfo($ch);

        if(strpos($curl_header['content_type'], "application/json") !== false AND strpos($curl_header['content_type'], "application/json") >= 0 ){
            $result = str_replace("'", '"', $result);
            $result = \Bitrix\Main\Web\Json::decode($result);
//            if($result['error'] == "201"){
//                echo \Bitrix\Main\Web\Json::encode([
//                    "result" => "ok"
//                ]);
//            }

        }

        curl_close($ch);

        return $result;
    }
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit