<?php
class links extends Module{

	protected $moduleName;
	protected $moduleTitle;
	protected $pathToModule;
	
	protected static $paramsList = array(
		'visibility'
	);
	
	const LINKS_FILE = 'db/links.xml';
	
	public $params = array();
	
	public function __construct($params){
		$this->moduleName = get_class();
		$this->pathToModule = 'modules/'.$this->moduleName.'/';
		$this->setParams($params);
		echo '<script type="text/javascript" src="'.$this->pathToModule.'js/'.$this->moduleName.'.js"></script>
				<link rel="stylesheet" href="'.$this->pathToModule.'css/'.$this->moduleName.'.css" type="text/css" />
				<div style="display:none;"><div id="links-add-fancy"></div></div>
				<div class="appscontainer">';
		if($links_xml = simplexml_load_file($this->pathToModule.self::LINKS_FILE)){
			$links = $links_xml->label;
			foreach($links as $label){
				//<span class="label">'.$label['id'].'</span>
				echo '<ul class="iconlist" id="'.$label['id'].'">';
				foreach($label->link as $link){
					echo '<li class="iconitem" id="'.$link->title.'"><img src="images/interface/delete.png" class="deleteLink" /><a href="'.$link->url.'" class="'.$link->onclick.'"><img src="images/links/'.$link->img.'" /><br>'.$link->title.'</a></li>';
				}
				echo '</ul> 
						<hr>';
			}
		}else{
			echo 'Can\'t find '.$this->pathToModule.self::LINKS_FILE;
		}
		echo '</div>';
		
	}
	
	private function setParams($params){
		$this->params = $params;
	}
	
	public static function start($params){
		$links = new links($params);
	}
	
	public function setVisibility($visibility){
		// Saving the position and z-index of the note:
		$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE);

		$path = $xmla->xpath("//item[@id='links']"); 
		$path[0]->visibility = $visibility;
		
		$xmla->asXML('../'.AccueilModules::CONFIG_FILE);
		
		echo "ok";
	}
	
	public static function updateConfig($updated){
		foreach ($updated as $what=>$withWhat){
			if(in_array($what, self::$paramsList)){
				call_user_func(array(get_class(), "set".ucfirst($what)), $withWhat);
			}
		}
	}
}