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/ilovecveti.ru/bitrix/modules/sproduction.datasync/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/sproduction.datasync/lib/portaleventsqueue.php
<?php
/**
 * Synchronization products with Bitrix24
 *
 * @mail support@s-production.online
 * @link s-production.online
 */
//TODO
namespace SProduction\Datasync;

class PortalEventsQueue
{
	const MODULE_ID = 'sproduction.datasync';
	const DB_FIELD = 'portal_events_queue';
	var $MYSQL_HOST;
	var $MYSQL_DATABASE;
	var $MYSQL_LOGIN = '';
	var $MYSQL_PASSWORD = '';

	function __construct($host, $name, $login, $password) {
		$this->MYSQL_HOST = $host;
		$this->MYSQL_DATABASE = $name;
		$this->MYSQL_LOGIN = $login;
		$this->MYSQL_PASSWORD = $password;
	}

	private function db_query($query) {
		$arRes = false;

		$db_link = mysqli_connect($this->MYSQL_HOST, $this->MYSQL_LOGIN, $this->MYSQL_PASSWORD)
		or die('Can not connect: ' . mysqli_error($db_link));
		mysqli_select_db($db_link, $this->MYSQL_DATABASE)
		or die('Can not select database');

		$db_res = mysqli_query($db_link, $query);
		if ($db_res) {
			if (is_object($db_res)) {
				$i = 0;
				while ($arRow = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) {
					foreach ($arRow as $k => $val) {
						$arRes[$i][$k] = $val;
					}
					$i ++;
				}
			}
			if (!$arRes) {
				$arRes = true;
			}
		}

		if (mysqli_insert_id($db_link)) {
			$arRes = mysqli_insert_id($db_link);
		}

		mysqli_free_result($db_res);
		mysqli_close($db_link);

		return $arRes;
	}

	public function add($new_value) {
		$res = $this->db_query("SELECT VALUE FROM `b_option` WHERE MODULE_ID='".self::MODULE_ID."' && NAME='".self::DB_FIELD."'");
		if (is_array($res) && count($res)) {
			$value = $res[0]['VALUE'];
			$list = unserialize($value);
			$list[] = $new_value;
			$list = array_unique($list);
			$list_db = serialize($list);
			$this->db_query("UPDATE `b_option` SET `VALUE` = '$list_db' WHERE `b_option`.`MODULE_ID` = '".self::MODULE_ID."' && `b_option`.`NAME`='".self::DB_FIELD."';");
		}
		else {
			$list_db = serialize([$new_value]);
			$this->db_query("INSERT INTO `b_option` (`MODULE_ID`, `NAME`, `VALUE`)
            VALUES ('".self::MODULE_ID."', '".self::DB_FIELD."', '$list_db');");
		}
	}

	public function getAndClear($limit=0) {
		$list = [];
		$res = $this->db_query("SELECT VALUE FROM `b_option` WHERE MODULE_ID='".self::MODULE_ID."' && NAME='".self::DB_FIELD."'");
		if (is_array($res)) {
			$value = $res[0]['VALUE'];
			$list = unserialize($value);
			if ($limit) {
				$list_db = serialize(array_slice($list, $limit));
				$list = array_slice($list, 0, $limit);
			}
			else {
				$list_db = '';
			}
			$this->db_query("UPDATE `b_option` SET `VALUE` = '$list_db' WHERE `b_option`.`MODULE_ID` = '".self::MODULE_ID."' && `b_option`.`NAME`='".self::DB_FIELD."';");
		}
		return $list;
	}

	public function saveLog($string) {
		$log = false;
		$res = $this->db_query("SELECT VALUE FROM `b_option` WHERE MODULE_ID='".self::MODULE_ID."' && NAME='filelog'");
		if (is_array($res)) {
			$log = $res[0]['VALUE'];
		}
		if ($log == 'Y') {
			file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/sprod_dsync_log.txt', $string, FILE_APPEND);
			file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/sprod_dsync_log.txt', "\n---\n" . date('d.m.Y H:i:s') . "\n\n", FILE_APPEND);
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit