示例#1
0
 public static function getInfo($_logicalId, $_version = 'stable')
 {
     $returns = array();
     if (is_array($_logicalId) && is_array($_version) && count($_logicalId) == count($_version)) {
         if (is_array(reset($_logicalId))) {
             $markets = market::byLogicalIdAndType($_logicalId);
         } else {
             $markets = market::byLogicalId($_logicalId);
         }
         $returns = array();
         for ($i = 0; $i < count($_logicalId); $i++) {
             if (is_array($_logicalId[$i])) {
                 $logicalId = $_logicalId[$i]['type'] . $_logicalId[$i]['logicalId'];
             } else {
                 $logicalId = $_logicalId[$i];
             }
             $return['datetime'] = '0000-01-01 00:00:00';
             if ($logicalId == '' || config::byKey('market::address') == '') {
                 $return['market'] = 0;
                 $return['market_owner'] = 0;
                 $return['status'] = 'ok';
                 return $return;
             }
             if (config::byKey('market::username') != '' && config::byKey('market::password') != '') {
                 $return['market_owner'] = 1;
             } else {
                 $return['market_owner'] = 0;
             }
             $return['market'] = 0;
             try {
                 if (isset($markets[$logicalId])) {
                     $market = $markets[$logicalId];
                     if (!is_object($market)) {
                         $return['status'] = 'ok';
                     } else {
                         $return['datetime'] = $market->getDatetime($_version[$i]);
                         $return['market'] = 1;
                         $return['market_owner'] = $market->getIsAuthor();
                         $update = update::byTypeAndLogicalId($market->getType(), $market->getLogicalId());
                         $updateDateTime = '0000-01-01 00:00:00';
                         if (is_object($update)) {
                             $updateDateTime = $update->getLocalVersion();
                         }
                         if ($updateDateTime < $market->getDatetime($_version[$i], $updateDateTime)) {
                             $return['status'] = 'update';
                         } else {
                             $return['status'] = 'ok';
                         }
                     }
                 } else {
                     $return['status'] = 'ok';
                 }
             } catch (Exception $e) {
                 log::add('market', 'debug', __('Erreur market::getinfo : ', __FILE__) . $e->getMessage());
                 $return['status'] = 'ok';
             }
             $returns[$logicalId] = $return;
         }
         return $returns;
     }
     $return = array();
     $return['datetime'] = '0000-01-01 00:00:00';
     if (config::byKey('market::address') == '') {
         $return['market'] = 0;
         $return['market_owner'] = 0;
         $return['status'] = 'ok';
         return $return;
     }
     if (config::byKey('market::username') != '' && config::byKey('market::password') != '') {
         $return['market_owner'] = 1;
     } else {
         $return['market_owner'] = 0;
     }
     $return['market'] = 0;
     try {
         if (is_array($_logicalId)) {
             $market = market::byLogicalIdAndType($_logicalId['logicalId'], $_logicalId['type']);
         } else {
             $market = market::byLogicalId($_logicalId);
         }
         if (!is_object($market)) {
             $return['status'] = 'depreciated';
         } else {
             $return['datetime'] = $market->getDatetime($_version);
             $return['market'] = 1;
             $return['market_owner'] = $market->getIsAuthor();
             $update = update::byTypeAndLogicalId($market->getType(), $market->getLogicalId());
             $updateDateTime = '0000-01-01 00:00:00';
             if (is_object($update)) {
                 $updateDateTime = $update->getLocalVersion();
             }
             if ($updateDateTime < $market->getDatetime($_version, $updateDateTime)) {
                 $return['status'] = 'update';
             } else {
                 $return['status'] = 'ok';
             }
         }
     } catch (Exception $e) {
         log::add('market', 'debug', __('Erreur market::getinfo : ', __FILE__) . $e->getMessage());
         $return['status'] = 'ok';
     }
     return $return;
 }
示例#2
0
 /*             * ************************Interact*************************** */
 if ($jsonrpc->getMethod() == 'interact::tryToReply') {
     $jsonrpc->makeSuccess(interactQuery::tryToReply($params['query']));
 }
 /*             * ************************USB mapping*************************** */
 if ($jsonrpc->getMethod() == 'jeedom::getUsbMapping') {
     $name = isset($params['name']) ? $params['name'] : '';
     $gpio = isset($params['gpio']) ? $params['gpio'] : false;
     $jsonrpc->makeSuccess(jeedom::getUsbMapping($name, $gpio));
 }
 /*             * ************************Plugin*************************** */
 if ($jsonrpc->getMethod() == 'plugin::install') {
     try {
         $market = market::byId($params['plugin_id']);
     } catch (Exception $e) {
         $market = market::byLogicalId($params['plugin_id']);
     }
     if (!is_object($market)) {
         throw new Exception(__('Impossible de trouver l\'objet associé : ', __FILE__) . $params['plugin_id']);
     }
     if (!isset($params['version'])) {
         $params['version'] = 'stable';
     }
     $market->install($params['version']);
     $jsonrpc->makeSuccess('ok');
 }
 if ($jsonrpc->getMethod() == 'plugin::remove') {
     $market = market::byId($params['plugin_id']);
     if (!is_object($market)) {
         throw new Exception(__('Impossible de trouver l\'objet associé : ', __FILE__) . $params['plugin_id']);
     }