HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/lmbm.komma.pro/vendor/roumen/sitemap/src/Roumen/Sitemap/Model.php
<?php namespace Roumen\Sitemap;

/**
 * Model class for laravel-sitemap package.
 *
 * @author Roumen Damianoff <roumen@crimsson.com>
 * @version 2.6.5
 * @link http://roumen.it/projects/laravel-sitemap
 * @license http://opensource.org/licenses/mit-license.php MIT License
 */

use Illuminate\Support\Facades\Cache;

class Model
{
	/**
	 * @var boolean
	 */
	public $testing = false;

	/**
	 * @var array
	 */
	private $items = [];

	/**
	 * @var array
	 */
	private $sitemaps = [];

	/**
	 * @var string
	 */
	private $title = null;

	/**
	 * @var string
	 */
	private $link = null;

	/**
	 * Enable or disable xsl styles
	 *
	 * @var boolean
	 */
	private $useStyles = true;

	/**
	 * Set custom location for xsl styles (must end with slash)
	 *
	 * @var string
	 */
	private $sloc = null;

	/**
	 * Enable or disable cache
	 *
	 * @var boolean
	 */
	private $useCache = false;

	/**
	 * Unique cache key
	 *
	 * @var string
	 */
	private $cacheKey = "laravel-sitemap.";

	/**
	 * Cache duration, can be int or timestamp
	 *
	 * @var Carbon|Datetime|int
	 */
	private $cacheDuration = 3600;

	/**
	 * Escaping html entities
	 *
	 * @var boolean
	 */
	private $escaping = true;

	/**
	 * Use limitSize() for big sitemaps
	 *
	 * @var boolean
	 */
	private $useLimitSize = false;

	/**
	 * Custom max size for limitSize()
	 *
	 * @var boolean
	 */
	private $maxSize = null;


	/**
	 * Populating model variables from configuation file
	 *
	 * @param array $config
	 */
	public function __construct(array $config)
	{
		$this->useCache = isset($config['use_cache']) ? $config['use_cache'] : $this->useCache;
		$this->cacheKey = isset($config['cache_key']) ? $config['cache_key'] : $this->cacheKey;
		$this->cacheDuration = isset($config['cache_duration']) ? $config['cache_duration'] : $this->cacheDuration;
		$this->escaping = isset($config['escaping']) ? $config['escaping'] : $this->escaping;
		$this->useLimitSize = isset($config['use_limit_size']) ? $config['use_limit_size'] : $this->useLimitSize;
		$this->useStyles = isset($config['use_styles']) ? $config['use_styles'] : $this->useStyles;
		$this->sloc = isset($config['styles_location']) ? $config['styles_location'] : $this->sloc;
		$this->maxSize = isset($config['max_size']) ? $config['max_size'] : $this->maxSize;
		$this->testing = isset($config['testing']) ? $config['testing'] : $this->testing;
	}


	/**
	 * Returns $items array
	 *
	 * @return array
	 */
	public function getItems()
	{
		return $this->items;
	}

	/**
	 * Returns $sitemaps array
	 *
	 * @return array
	 */
	public function getSitemaps()
	{
		return $this->sitemaps;
	}


	/**
	 * Returns $title value
	 *
	 * @return string
	 */
	public function getTitle()
	{
		return $this->title;
	}


	/**
	 * Returns $link value
	 *
	 * @return string
	 */
	public function getLink()
	{
		return $this->link;
	}


	/**
	 * Returns $useStyles value
	 *
	 * @return boolean
	 */
	public function getUseStyles()
	{
		return $this->useStyles;
	}


	/**
	 * Returns $sloc value
	 *
	 * @return string
	 */
	public function getSloc()
	{
		return $this->sloc;
	}


	/**
	 * Returns $useCache value
	 *
	 * @return boolean
	 */
	public function getUseCache()
	{
		return $this->useCache;
	}


	/**
	 * Returns $CacheKey value
	 *
	 * @return string
	 */
	public function getCacheKey()
	{
		return $this->cacheKey;
	}


	/**
	 * Returns $CacheDuration value
	 *
	 * @return string
	 */
	public function getCacheDuration()
	{
		return $this->cacheDuration;
	}


	/**
	 * Returns $escaping value
	 *
	 * @return boolean
	 */
	public function getEscaping()
	{
		return $this->escaping;
	}


	/**
	 * Returns $useLimitSize value
	 *
	 * @return boolean
	 */
	public function getUseLimitSize()
	{
		return $this->useLimitSize;
	}


	/**
	 * Returns $maxSize value
	 *
	 * @param integer $maxSize
	 */
	public function getMaxSize()
	{
		return $this->maxSize;
	}


	/**
	 * Sets $escaping value
	 *
	 * @param boolean $escaping
	 */
	public function setEscaping($b)
	{
		$this->escaping = $b;
	}


	/**
	 * Adds item to $items array
	 *
	 * @param array $item
	 */
	public function setItems($items)
	{
		$this->items[] = $items;
	}


	/**
	 * Adds sitemap to $sitemaps array
	 *
	 * @param array $sitemap
	 */
	public function setSitemaps($sitemap)
	{
		$this->sitemaps[] = $sitemap;
	}


	/**
	 * Sets $title value
	 *
	 * @param string $title
	 */
	public function setTitle($title)
	{
		$this->title = $title;
	}


	/**
	 * Sets $link value
	 *
	 * @param string $link
	 */
	public function setLink($link)
	{
		$this->link = $link;
	}


	/**
	 * Sets $useStyles value
	 *
	 * @param boolean $useStyles
	 */
	public function setUseStyles($useStyles)
	{
		$this->useStyles = $useStyles;
	}


	/**
	 * Sets $sloc value
	 *
	 * @param string $sloc
	 */
	public function setSloc($sloc)
	{
		$this->sloc = $sloc;
	}


	/**
	 * Sets $useLimitSize value
	 *
	 * @param boolean $useLimitSize
	 */
	public function setUseLimitSize($useLimitSize)
	{
		$this->useLimitSize = $useLimitSize;
	}


	/**
	 * Sets $maxSize value
	 *
	 * @param integer $maxSize
	 */
	public function setMaxSize($maxSize)
	{
		$this->maxSize = $maxSize;
	}


	/**
	 * Limit size of $items array to 50000 elements (1000 for google-news)
	 *
	 */
	public function limitSize($max=50000)
	{
		$this->items = array_slice($this->items, 0, $max);
	}


	/**
	 * Reset $items array
	 *
	 * @param array $items
	 */
	public function resetItems($items=[])
	{
		$this->items = $items;
	}


	/**
	 * Reset $sitemaps array
	 *
	 * @param array $sitemaps
	 */
	public function resetSitemaps($sitemaps=[])
	{
		$this->sitemaps = $sitemaps;
	}


	/**
	 * Set use cache value
	 *
	 * @param boolean $useCache
	 */
	public function setUseCache($useCache)
	{
		$this->useCache = $useCache;
	}


	/**
	 * Set cache key value
	 *
	 * @param string $cacheKey
	 */
	public function setCacheKey($cacheKey)
	{
		$this->cacheKey = $cacheKey;
	}


	/**
	 * Set cache duration value
	 *
	 * @param Carbon|Datetime|int $cacheDuration
	 */
	public function setCacheDuration($cacheDuration)
	{
		$this->cacheDuration = $cacheDuration;
	}


}