%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.147.46.136
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/subscribe/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/subscribe/lib/senderconnector.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage sender
 * @copyright 2001-2012 Bitrix
 */

namespace Bitrix\Subscribe;

use Bitrix\Main\Loader;
use Bitrix\Main\Localization\Loc;

Loc::loadMessages(__FILE__);

class SenderEventHandler
{
	/**
	 * Handler of sender:OnConnectorList event.
	 *
	 * @param array $data Empty array.
	 * @return array
	 */
	public static function onConnectorListSubscriber($data)
	{
		$data['CONNECTOR'] = 'Bitrix\Subscribe\SenderConnectorSubscriber';
		return $data;
	}
}

if (Loader::includeModule('sender'))
{
	class SenderConnectorSubscriber extends \Bitrix\Sender\Connector
	{
		/**
		 * Returns localized name of subscribers source.
		 *
		 * @return string
		 */
		public function getName()
		{
			return Loc::getMessage('sender_connector_subscriber_name');
		}

		/**
		 * Returns internal code of subscribers source.
		 *
		 * @return string
		 */
		public function getCode()
		{
			return "subscriber";
		}

		/**
		 * Returns subscribers depended on side filter fields.
		 *
		 * @return \CDBResult
		 */
		public function getData()
		{
			$filter = array();

			$rubric = $this->getFieldValue('RUBRIC', null);
			if ($rubric)
				$filter['RUBRIC'] = $rubric;

			$active = $this->getFieldValue('ACTIVE', null);
			if ($active)
				$filter['ACTIVE'] = $active;

			$confirmed = $this->getFieldValue('CONFIRMED', null);
			if ($confirmed)
				$filter['CONFIRMED'] = $confirmed;

			$dateInsertFrom = $this->getFieldValue('DATE_INSERT_FROM', null);
			if ($dateInsertFrom)
				$filter['INSERT_1'] = $dateInsertFrom;

			$dateInsertTo = $this->getFieldValue('DATE_INSERT_TO', null);
			if ($dateInsertTo)
				$filter['INSERT_2'] = $dateInsertTo;

			$subscriberList = \CSubscription::GetList(array('ID' => 'ASC'), $filter);

			return new CDBResultSenderConnectorIBlock($subscriberList);
		}

		/**
		 * Returns Html form to display filter criteria.
		 *
		 * @return string
		 */
		public function getForm()
		{
			$dropdownValues = array(
				'' => Loc::getMessage('sender_connector_subscriber_all'),
				'Y' => Loc::getMessage('sender_connector_subscriber_y'),
				'N' => Loc::getMessage('sender_connector_subscriber_n'),
			);

			$rubricInput = '<select name="'.$this->getFieldName('RUBRIC').'">';
			$rubricList = \CRubric::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array());
			while ($rubric = $rubricList->Fetch())
			{
				$inputSelected = ($rubric['ID'] == $this->getFieldValue('RUBRIC')? 'selected': '');
				$rubricInput .= '<option value="'.$rubric['ID'].'" '.$inputSelected.'>';
				$rubricInput .= htmlspecialcharsEx('[' . $rubric['ID'] . '] ' . $rubric['NAME']);
				$rubricInput .= '</option>';
			}
			$rubricInput .= '</select>';

			$activeInput = '<select name="'.$this->getFieldName('ACTIVE').'">';
			foreach ($dropdownValues as $k => $v)
			{
				$inputSelected = ($k == $this->getFieldValue('ACTIVE')? 'selected': '');
				$activeInput .= '<option value="'.$k.'" '.$inputSelected.'>';
				$activeInput .= htmlspecialcharsEx($v);
				$activeInput .= '</option>';
			}
			$activeInput .= '</select>';

			$confirmedInput = '<select name="'.$this->getFieldName('CONFIRMED').'">';
			foreach ($dropdownValues as $k => $v)
			{
				$inputSelected = ($k == $this->getFieldValue('CONFIRMED')? 'selected': '');
				$confirmedInput .= '<option value="'.$k.'" '.$inputSelected.'>';
				$confirmedInput .= htmlspecialcharsEx($v);
				$confirmedInput .= '</option>';
			}
			$confirmedInput .= '</select>';

			$dateInsertInput = CalendarPeriod(
				$this->getFieldName('DATE_INSERT_FROM'),
				$this->getFieldValue('DATE_INSERT_FROM'),
				$this->getFieldName('DATE_INSERT_TO'),
				$this->getFieldValue('DATE_INSERT_TO'),
				$this->getFieldFormName()
			);

			return '
				<table>
					<tr>
						<td>'.Loc::getMessage('sender_connector_subscriber_rubric').'</td>
						<td>'.$rubricInput.'</td>
					</tr>
					<tr>
						<td>'.Loc::getMessage('sender_connector_subscriber_active').'</td>
						<td>'.$activeInput.'</td>
					</tr>
					<tr>
						<td>'.Loc::getMessage('sender_connector_subscriber_confirmed').'</td>
						<td>'.$confirmedInput.'</td>
					</tr>
					<tr>
						<td>'.Loc::getMessage('sender_connector_subscriber_dateinsert').'</td>
						<td>'.$dateInsertInput.'</td>
					</tr>
				</table>
			';
		}
	}
}

class CDBResultSenderConnectorIBlock extends \CDBResult
{
	/**
	 * Fetch fields from database resource
	 * @return array|null
	 */
	public function Fetch()
	{
		$fields = parent::Fetch();
		if($fields && !$fields['NAME'])
		{
			if(isset($fields['USER_NAME']))
			{
				$fields['NAME'] = $fields['USER_NAME'];
			}

			if(!$fields['NAME'] && isset($fields['USER_LAST_NAME']))
			{
				$fields['NAME'] = $fields['USER_LAST_NAME'];
			}
		}

		return $fields;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit