.
*/
/* * ***************************Includes********************************* */
require_once dirname(__FILE__) . '/../../../../core/php/core.inc.php';
class consoWidget extends eqLogic {
/* * *************************Attributs****************************** */
/* * ***********************Methode static*************************** */
public static function event() {
die('event');
}
/*
* Fonction exécutée automatiquement toutes les minutes par Jeedom
public static function cron() {
}
*/
/*
* Fonction exécutée automatiquement toutes les heures par Jeedom
public static function cronHourly() {
}
*/
/*
* Fonction exécutée automatiquement tous les jours par Jeedom
public static function cronDayly() {
}
*/
/* * *********************Méthodes d'instance************************* */
public function preInsert() {
$this->setIsEnable(1);
$this->setIsVisible(1);
}
public function postInsert() {
$this->setDisplay('width',"480px");
$this->setDisplay('height',"370px");
$this->setConfiguration('freq',0);
$this->save();
}
public function preSave() {
}
public function postSave() {
$refresh = $this->getCmd(null, 'refresh');
if (!is_object($refresh)) {
$refresh = new cmd();
$refresh->setLogicalId('refresh');
$refresh->setIsVisible(1);
$refresh->setName(__('Rafraichir', __FILE__));
}
$refresh->setType('action');
$refresh->setSubType('other');
$refresh->setEqLogic_id($this->getId());
$refresh->save();
}
public function preUpdate() {
}
public function postUpdate() {
}
public function preRemove() {
}
public function postRemove() {
}
public function widgetPossibility($_key = '', $_default = true) {
return array('custom' => true);
}
public function getCode(){
$debugConf = '';
$ip = $_SERVER['HTTP_HOST'];
$code = '';
if (filter_var($ip, FILTER_VALIDATE_IP)) {
$validate_ip = 'vrai';
} else {
$validate_ip = 'faux';
}
if (config::byKey('ProtocoleURL', 'consoWidget') == 1 and filter_var($ip, FILTER_VALIDATE_IP) == 0) {
$chemin = network::getNetworkAccess('external');
$rech = 'external';
} elseif (config::byKey('ProtocoleURL', 'consoWidget') == 0 and filter_var($ip, FILTER_VALIDATE_IP)) {
$chemin = network::getNetworkAccess('internal');
$rech = 'internal';
} else {
$chemin = network::getNetworkAccess('external');
$rech = 'auto';
}
// $chemin = network::getNetworkAccess('auto');
// if (filter_var($ip, FILTER_VALIDATE_IP)) {
if (config::byKey('modeDebug', 'consoWidget') == 1) {
$code = '
DEBUG 1: '. $chemin.' IP: '.$ip.' validate_ip: '.$validate_ip.' rech:'.$rech.'
';
} else {
$code = ' ';
}
/* } else {
$external = "";
if (config::byKey('externalComplement', 'core') != ""){
$external = '/'.config::byKey('externalComplement', 'core');
}
if (config::byKey('ProtocoleURL', 'consoWidget') == 1) {
if (config::byKey('modeDebug', 'consoWidget') == 1) {
if ($external == "") {
$code = ' DEBUG 2: https://'. $_SERVER['HTTP_HOST'].'/
';
} else {
$code = ' DEBUG 3: https://'. $_SERVER['HTTP_HOST'].$external.'/
';
}
} else {
if ($external == "") {
$code = ' ';
} else {
$code = ' ';
}
};
} else {
if (config::byKey('modeDebug', 'consoWidget') == 1) {
if ($external == "") {
$code = ' DEBUG 4: http://'. $_SERVER['HTTP_HOST'].'/
';
log::add('consoWidget', 'debug','http://'.$_SERVER['HTTP_HOST'].'/index.php?v=d&m=consoWidget&p=widget&id='.$this->getConfiguration('idequip').'&widget='.$this->getConfiguration('type_consoWidget'));
} else {
$code = ' DEBUG 5: http://'. $_SERVER['HTTP_HOST'].$external.'/
';
}
} else {
if ($external == "") {
$code = ' ';
} else {
$code = ' ';
}
};
}
}*/
preg_match_all("/#cmd([0-9]+)#/", $code, $matches, PREG_SET_ORDER);
foreach($matches as $match){
$code = str_replace('#cmd'.$match[1].'#', cmd::byId($match[1])->toHtml(), $code);
}
return $code;
}
public function toHtml($_version = 'dashboard') {
$replace = $this->preToHtml($_version, array(), true);
//log::add('consoWidget', 'debug','ici'.print_r($replace,1));
if (!is_array($replace)) {
return $replace;
}
$version = jeedom::versionAlias($_version);
$replace['#eqLogic_class#'] = 'eqLogic_layout_default';
$replace['#width#'] = $this->getDisplay('width', 'auto');
$replace['#height#'] = $this->getDisplay('height', 'auto');
$replace['#cmd#'] = $this->toHtmlCmd($_version, false);
$replace['#refresh_id#'] = $this->getCmd(null, 'Refresh')->getId();;
$replace['#timer#'] = ($this->getConfiguration('freq') > 0) ? 'setInterval(refresh'.$replace['#uid#'].','.$this->getConfiguration('freq').'000);' : '';
//$templ = getTemplate('core', $version, 'eqLogic');
$templ = getTemplate('core', $version, 'main', 'consoWidget');
return $this->postToHtml($_version, template_replace($replace, $templ));
}
public function toHtmlCmd($_version = 'dashboard', $transparent = false) {
$top = $transparent ? 0 : 30;
return '
'.$this->getCode().'
';
}
}
class consoWidgetCmd extends cmd {
/* * *************************Attributs****************************** */
/* * ***********************Methode static*************************** */
/* * *********************Methode d'instance************************* */
/*
* Non obligatoire permet de demander de ne pas supprimer les commandes même si elles ne sont pas dans la nouvelle configuration de l'équipement envoyé en JS
*/
public function dontRemoveCmd() {
if ($this->getLogicalId() == 'refresh') {
return true;
}
return false;
}
public function execute($_options = array()) {
if ($this->getLogicalId() == 'refresh') {
return $this->getEqLogic()->getCode();
}
}
}
?>