<?php
global $myUser,$conf;
if(!$myUser->can('customiser','configure')) throw new Exception("Vous n'avez pas la permission pour executer cette fonctionnalité",403);

$themePath = __DIR__.SLASH.'css'.SLASH.'theme.css';
if(!file_exists($themePath)) 
	copy(__DIR__.SLASH.'css'.SLASH.'theme.sample.css',__DIR__.SLASH.'css'.SLASH.'theme.css');

$themeStream = file_get_contents($themePath);

$types = array(
	'background-color' => array('label'=>'Couleur de fond','type'=>'color'),
	'border-color' => array('label'=>'Couleur de bordure','type'=>'color'),
	'background-image'=>array('label'=>'Image de fond','type'=>'image'),
	'color'=>array('label'=>'Couleur de texte','type'=>'color'),
	'font-size'=>array('label'=>'Taille de texte','type'=>'size'),
	'font-family'=>array('label'=>'Police','type'=>'font'),
);

preg_match_all('$/\*::([^\*]*)\*/
[\n\r\s\t]*([#.]?[^\{]*){([^\}]*)
}$iUs', $themeStream , $matches,PREG_SET_ORDER);

$css = array();
foreach ($matches as $match) {
	preg_match_all('$(.*):(.*);$iU', $match[3] , $contentMatches,PREG_SET_ORDER);
	$properties = array();
	foreach($contentMatches as $contentMatch){
		$property = array(
			'instruction' => trim($contentMatch[1]),
			'value' => trim($contentMatch[2]),
		
			'id' =>  base64_encode($match[2].'-'.trim($contentMatch[1])),
		);

		if(!isset($types[$property['instruction']])) continue;

		$property['type'] = $types[$property['instruction']]['type'];
		$property['description'] = $types[$property['instruction']]['label'];


		$properties[] = $property;
	}
	if(count($properties)==0) continue;
	if(!isset($css[trim($match[1])])) $css[trim($match[1])] = array();
	$css[trim($match[1])][] = array(
		'comment' => trim($match[1]),
		'signature' =>  trim($match[2]),
		'content' => $properties
	);
}
?>

<div class="row">
	<div class="col-md-12">
		<br>
		<?php if($myUser->can('customiser', 'edit')) : ?>
			<div onclick="customiser_setting_save();" class="btn btn-success float-right"><i class="fas fa-check"></i> Enregistrer</div>
			<div onclick="if(confirm('Cette action est irreverssible, êtes vous sûre de vouloir réinitialiser le thème?'))window.location='action.php?action=customiser_reset_theme';" class="btn btn-danger float-right mr-2"><i class="fas fa-undo-alt"></i> Réinitialiser</div>
		<?php endif; ?>
		<h3>Réglages Thème</h3>
		<div class="clear"></div>
		<hr>
	</div>
</div>
<div class="row">
	<!-- search results -->
	<div class="col-xl-12">
		<table id="customiser-setting-form" class="table table-striped">
			<tbody>
				<?php foreach($css as $comment=>$blocks): ?>
				<tr>
					<th colspan="2"><h5><i class="fas fa-angle-right"></i> <?php echo $comment;?></h5></th>
				</tr>
				<?php foreach($blocks as $block): ?>
					<?php foreach($block['content'] as $property): ?>
					<tr>
						<th class="align-middle"><?php echo $property['description']; ?></th>
						<td class="align-middle"><?php 
						$attributes = array();
						if(isset($infos['placeholder'])) $attributes[] = 'placeholder="'.$infos['placeholder'].'"';
						$attributes['class'] = 'class="form-control"';
						$attributes[] = 'id="'.$property['id'].'"';
						$attributes[] = 'data-signature="'.$block['signature'].'"';
						$attributes[] = 'data-instruction="'.$property['instruction'].'"';
						$attributes[] = 'data-field-type="'.$property['type'].'"';
						$attributes['value'] = 'value="'.$property['value'].'"';
						$attributes['change'] = 'onchange="customiser_preview(this);"';
						switch($property['type']){
							case 'color':
							if(strlen($property['value']) == 4){
								$property['value']  = '#'.str_repeat(substr($property['value'],1), 2);
								$attributes['value'] = 'value="'.$property['value'].'"';
							}
							$input = '<input type="color" '.implode(' ',$attributes).'  >'; 
							break;
							case 'image':
								$property['value'] = str_replace(array("url","'",'"',"(",")"),'',$property['value']);
								$property['value'] = str_replace(array("../"),'',$property['value']);
								$attributes['value'] = 'value="'.$property['value'].'"';
								//$attributes['data-type'] = 'data-type="image"';
								$input = '<input type="file" '.implode(' ',$attributes).'  >'; 
							break;
							case 'font':
								$property['value'] = str_replace(array("'",'"'),'',$property['value']);
								$attributes['value'] = 'value="'.$property['value'].'"';
								$input = '<input type="text" '.implode(' ',$attributes).'  >'; 
							break;
							default:
								$input = '<input type="text" '.implode(' ',$attributes).'  >'; 
							break;
						}
						echo $input; ?>
						</td>
					<?php endforeach; ?>
				<?php endforeach; ?>
				</tr>
				<?php endforeach; ?>
			</tbody>
		</table>
	</div>
</div>
