<?php
/**
 * @package     WooBooking.Libraries
 * @subpackage  HTML
 *
 * @copyright   Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_WPBOOKINGPRO_EXEC') or die;

/**
 * Utility class for icons.
 *
 * @since  2.5
 */
abstract class WpBookingPro_HtmlIcons
{
	/**
	 * Method to generate html code for a list of buttons
	 *
	 * @param   array $buttons Array of buttons
	 *
	 * @return  string
	 *
	 * @since   2.5
	 */
	public static function buttons($buttons)
	{
		$html = array();
		foreach ($buttons as $button) {
			$html[] = WpBookingPro_Html::_('icons.button', $button);
		}
		return implode($html);
	}

	/**
	 * Method to generate html code for a list of buttons
	 *
	 * @param   array $button Button properties
	 *
	 * @return  string
	 *
	 * @since   2.5
	 */
	public static function button($button)
	{
		if (isset($button['access'])) {
			if (is_bool($button['access'])) {
				if ($button['access'] == false) {
					return '';
				}
			} else {
				// Get the user object to verify permissions
				$user = Factory::getUser();
				// Take each pair of permission, context values.
				for ($i = 0, $n = count($button['access']); $i < $n; $i += 2) {
					if (!$user->authorise($button['access'][$i], $button['access'][$i + 1])) {
						return '';
					}
				}
			}
		}
		// Instantiate a new JLayoutFile instance and render the layout
		$layout = new JLayoutFile('WooBooking.quickicons.icon');
		return $layout->render($button);
	}
}
