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/cvetdv.ru/bitrix/components/bitrix/landing.blocks.mp_widget.example/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/components/bitrix/landing.blocks.mp_widget.example/class.php
<?php

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

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
	die();
}

CBitrixComponent::includeComponentClass('bitrix:landing.blocks.mp_widget.base');

class LandingBlocksMainpageWidgetExample extends LandingBlocksMainpageWidgetBase
{
	/**
	 * Base executable method.
	 * @return void
	 */
	public function executeComponent(): void
	{
		$this->checkParam('TITLE', Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS__TITLE_DEFAULT_VALUE'));
		$this->checkParam('USER_AMOUNT', 3);

		$this->getData();

		parent::executeComponent();
	}

	protected function getData(): void
	{
		$this->arResult['SHOW_EMPTY_STATE'] = false;
		if (Mainpage\Manager::isUseDemoData())
		{
			$usersData = $this->getDemoData();
		}
		else
		{
			$usersData = $this->getRealData();
			if (count($usersData) === 0)
			{
				$this->arResult['SHOW_EMPTY_STATE'] = true;
			}
		}

		$this->arResult['USERS'] = $usersData;
		$this->arResult['TITLE'] = $this->arParams['TITLE'];
	}

	protected function getRealData(): array
	{
		if (!Loader::includeModule('intranet'))
		{
			// todo: show error
			return [];
		}

		$users = [];
		$component = new CBitrixComponent();
		if ($component->InitComponent('bitrix:intranet.structure.birthday.nearest'))
		{
			$params = [
				'NUM_USERS' => (int)$this->arParams['USER_AMOUNT'],
			];
			ob_start();
			$result = $component->IncludeComponent('not_exist_template', $params, null, true);
			ob_get_clean();
			$users = $result['USERS'];
		}

		foreach ($users as $code => $user)
		{
			if ($user['PERSONAL_BIRTHDAY'][4] === '-' || $user['PERSONAL_BIRTHDAY'][4] === '/')
			{
				$users[$code]['PERSONAL_BIRTHDAY'] = substr($user['PERSONAL_BIRTHDAY'], 5, 5);
			}
			else
			{
				$users[$code]['PERSONAL_BIRTHDAY'] = substr($user['PERSONAL_BIRTHDAY'], 0, 5);
			}
		}

		return $users;
	}

	protected function getDemoData(): array
	{
		return [
			[
				'NAME' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_NAME_1'),
				'PERSONAL_BIRTHDAY' => $this->convertDateFormat('10.09.2000', 'dm', 'd.m.Y'),
				'PERSONAL_PHOTO_PATH' => 'https://cdn.bitrix24.site/bitrix/images/landing/widget/birthdays/1.png',
				'WORK_POSITION' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_WORK_POSITION_1'),
			],
			[
				'NAME' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_NAME_2'),
				'PERSONAL_BIRTHDAY' => $this->convertDateFormat('10.09.2000', 'dm', 'd.m.Y'),
				'PERSONAL_PHOTO_PATH' => 'https://cdn.bitrix24.site/bitrix/images/landing/widget/birthdays/2.png',
				'WORK_POSITION' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_WORK_POSITION_2'),
			],
			[
				'NAME' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_NAME_3'),
				'PERSONAL_BIRTHDAY' => $this->convertDateFormat('12.09.2000', 'dm', 'd.m.Y'),
				'PERSONAL_PHOTO_PATH' => 'https://cdn.bitrix24.site/bitrix/images/landing/widget/birthdays/3.png',
				'WORK_POSITION' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_WORK_POSITION_3'),
			],
			[
				'NAME' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_NAME_4'),
				'PERSONAL_BIRTHDAY' => $this->convertDateFormat('12.09.2000', 'dm', 'd.m.Y'),
				'PERSONAL_PHOTO_PATH' => 'https://cdn.bitrix24.site/bitrix/images/landing/widget/birthdays/4.png',
				'WORK_POSITION' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_WORK_POSITION_4'),
			],
			[
				'NAME' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_NAME_5'),
				'PERSONAL_BIRTHDAY' => $this->convertDateFormat('14.09.2000', 'dm', 'd.m.Y'),
				'PERSONAL_PHOTO_PATH' => 'https://cdn.bitrix24.site/bitrix/images/landing/widget/birthdays/5.png',
				'WORK_POSITION' => Loc::getMessage('LANDING_WIDGET_EXAMPLE_CLASS_DEMO_DATA_WORK_POSITION_5'),
			],
		];
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit