. */ /* * ***************************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(); } } } ?>