65 lines
1.5 KiB
PHP
65 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace service;
|
||
|
|
||
|
class Updater{
|
||
|
|
||
|
/* [1] Attributes
|
||
|
=========================================================*/
|
||
|
private $config = null;
|
||
|
|
||
|
|
||
|
/* (1) Constructs and initialise an updater
|
||
|
*
|
||
|
* @return instance<Updater> New Updater
|
||
|
*
|
||
|
---------------------------------------------------------*/
|
||
|
public function __construct(){
|
||
|
|
||
|
/* [1] Fetch config
|
||
|
=========================================================*/ {
|
||
|
|
||
|
/* (1) Try to load the configuration */
|
||
|
$this->config = Config::load("http://sciences.univ-pau.fr/edt/_ressource.js", "http://sciences.univ-pau.fr/edt/_periode.js");
|
||
|
|
||
|
/* (2) If cannot fetch config */
|
||
|
if( !($this->config instanceof Config) )
|
||
|
throw new \Exception("Cannot fetch configuration");
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
/* (2) Update the ICS files
|
||
|
*
|
||
|
* @return error<bool> FALSE on error
|
||
|
*
|
||
|
---------------------------------------------------------*/
|
||
|
public function update(){
|
||
|
|
||
|
/* [1] Browse ech diplome
|
||
|
=========================================================*/
|
||
|
foreach($this->config->getDiplomes() as $d_id=>$d_name){
|
||
|
|
||
|
/* (1) Browse each date
|
||
|
---------------------------------------------------------*/
|
||
|
foreach($this->config->getPeriods() as $p_id=>$p_date){
|
||
|
|
||
|
/* (1) Load image in the extractor */
|
||
|
var_dump("http://sciences.univ-pau.fr/edt/diplomes/${d_id}${p_id}.png");
|
||
|
$calext = new CalendarExtractor("http://sciences.univ-pau.fr/edt/diplomes/${d_id}${p_id}.png", $p_date);
|
||
|
|
||
|
/* (2) Extract calendar data */
|
||
|
$calext->process();
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|