You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.8 KiB
133 lines
3.8 KiB
<?php |
|
class clockAdvanced extends Module { |
|
protected static $paramsList = array( |
|
'visibility', |
|
'x', |
|
'y', |
|
'fontFamily', |
|
'fontSize', |
|
'format', |
|
'color' |
|
); |
|
|
|
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" />'; |
|
echo '<div class="jclockAdvanced" id="clockAdvanced" style="left:'.$params['x'].'; top:'.$params['y'].';"></div>'; |
|
$options = ''; |
|
foreach (self::$paramsList as $paramName){ |
|
if(isset($this->params[$paramName])) |
|
$options .= $paramName.' : "'.$this->params[$paramName].'",'; |
|
} |
|
echo '<script>$(document).ready(function(){ |
|
$(\'#fontFamily\').val("'.$params['fontFamily'].'"); |
|
$(\'#fontSize\').val("'.$params['fontSize'].'"); |
|
$(\'#format\').val("'.$params['format'].'"); |
|
$(\'#color\').val("'.$params['color'].'"); |
|
$(\'.jclockAdvanced\').jclock({'.substr($options,0,-1).'}); |
|
}); |
|
</script>'; |
|
} |
|
|
|
private function setParams($params){ |
|
$this->params = $params; |
|
} |
|
|
|
public static function start($params){ |
|
$clockAdvanced = new clockAdvanced($params); |
|
} |
|
|
|
public function setX($x){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->x = $x; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
|
|
public function setY($y){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->y = $y; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
|
|
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='clockAdvanced']"); |
|
$path[0]->visibility = $visibility; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
public function setFontFamily($fontFamily){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->fontFamily = $fontFamily; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
public function setFontSize($fontSize){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->fontSize = $fontSize; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
public function setColor($color){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->color = $color; |
|
|
|
$xmla->asXML('../'.AccueilModules::CONFIG_FILE); |
|
|
|
echo "ok"; |
|
} |
|
public function setFormat($format){ |
|
// Saving the position and z-index of the note: |
|
$xmla = simplexml_load_file('../'.AccueilModules::CONFIG_FILE); |
|
|
|
$path = $xmla->xpath("//item[@id='clockAdvanced']"); |
|
$path[0]->format = $format; |
|
|
|
$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); |
|
} |
|
} |
|
} |
|
} |