Your IP : 3.137.199.145


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/landing/lib/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/landing/lib/repo.php

<?php
namespace Bitrix\Landing;

class Repo extends \Bitrix\Landing\Internals\BaseTable
{
	/**
	 * Internal class.
	 * @var string
	 */
	public static $internalClass = 'RepoTable';

	/**
	 * Create new record and return it new id.
	 * @param array $fields Fields array.
	 * @return \Bitrix\Main\Result
	 */
	public static function add($fields)
	{
		if (!isset($fields['ACTIVE']) || $fields['ACTIVE'] != 'Y')
		{
			$fields['ACTIVE'] = 'Y';
		}

		return parent::add($fields);
	}

	/**
	 * Get repository.
	 * @return array
	 */
	public static function getRepository()
	{
		$items = array();

		$res = self::getList(array(
			'select' => array(
				'ID', 'NAME', 'DESCRIPTION', 'SECTIONS', 'PREVIEW'
			),
			'filter' => array(
				'=ACTIVE' => 'Y'
			)
		));
		while ($row = $res->fetch())
		{
			$items['repo_'. $row['ID']] = array(
				'name' => $row['NAME'],
				'description' => $row['DESCRIPTION'],
				'namespace' => 'bitrix',
				'section' => explode(',', $row['SECTIONS']),
				'preview' => $row['PREVIEW']
			);
		}

		return $items;
	}

	/**
	 * Return full info from rest block.
	 * @param int $id
	 * @return array
	 */
	public static function getBlock($id)
	{
		static $manifest = array();

		if (!isset($manifest[$id]))
		{
			$manifest[$id] = array();
			if (($block = self::getById($id)->fetch()))
			{
				$manifestLocal = unserialize($block['MANIFEST']);
				if (!is_array($manifestLocal))
				{
					$manifestLocal = array();
				}
				$manifestLocal['block'] = array(
					'name' => $block['NAME'],
					'description' => $block['DESCRIPTION'],
					'namespace' => 'bitrix',
					'section' => explode(',', $block['SECTIONS']),
					'preview' => $block['PREVIEW']
				);
				$manifest[$id] = $manifestLocal;
			}
		}

		return $manifest[$id];
	}

	/**
	 * Get row by Id.
	 * @param int $id Id.
	 * @return Bitrix\Main\DB\Result
	 */
	public static function getById($id)
	{
		return parent::getList(array(
			'filter' => array(
				'ID' => $id
			)
		));
	}
}