Пример #1
0
 public static function pull()
 {
     foreach (sms::byType('sms') as $eqLogic) {
         try {
             if ($eqLogic->getIsEnable() == 1) {
                 $cmds = $eqLogic->getCmd();
                 foreach ($eqLogic->readInbox() as $message) {
                     $eqLogic->deleteSms($message['id']);
                     $autorized = false;
                     foreach ($cmds as $cmd) {
                         $formatedPhoneNumber = '+33' . substr($cmd->getConfiguration('phonenumber'), 1);
                         if ($cmd->getConfiguration('phonenumber') == $message['phonenumber'] || $formatedPhoneNumber == $message['phonenumber']) {
                             $autorized = true;
                             break;
                         }
                     }
                     $reply = '';
                     if ($autorized) {
                         $reply = interactQuery::tryToReply(trim($message['message']), array());
                         if (trim($reply) != '') {
                             $eqLogic->sendSMS($message['phonenumber'], self::cleanSMS($reply));
                         }
                     }
                     log::add('sms', 'info', 'Message venant de ' . $formatedPhoneNumber . ' : ' . trim($message['message']) . "\nRéponse : " . $reply);
                 }
             }
         } catch (Exception $e) {
             $eqLogic->setIsEnable(0);
             $eqLogic->save();
             throw $e;
         }
     }
 }
Пример #2
0
     $jsonrpc->makeSuccess(log::clear($params['log']));
 }
 if ($jsonrpc->getMethod() == 'log::remove') {
     $jsonrpc->makeSuccess(log::remove($params['log']));
 }
 /*             * ************************Messages*************************** */
 if ($jsonrpc->getMethod() == 'message::removeAll') {
     message::removeAll();
     $jsonrpc->makeSuccess('ok');
 }
 if ($jsonrpc->getMethod() == 'message::all') {
     $jsonrpc->makeSuccess(utils::o2a(message::all()));
 }
 /*             * ************************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)) {
Пример #3
0
     $interactQuery->setEnable(init('enable'));
     $interactQuery->save();
     ajax::success();
 }
 if (init('action') == 'changeAllState') {
     $interactQueries = interactQuery::byInteractDefId(init('id'));
     if (is_array($interactQueries)) {
         foreach ($interactQueries as $interactQuery) {
             $interactQuery->setEnable(init('enable'));
             $interactQuery->save();
         }
     }
     ajax::success();
 }
 if (init('action') == 'execute') {
     ajax::success(interactQuery::tryToReply(init('query')));
 }
 if (init('action') == 'test') {
     $return = array();
     $interactQuery = interactQuery::recognize(init('query'));
     if ($interactQuery == null) {
         ajax::success(array('interactQuery' => null));
     }
     $interactDef = interactDef::byId($interactQuery->getInteractDef_id());
     $return['interactQuery'] = utils::o2a($interactQuery);
     if ($interactQuery->getLink_type() == 'cmd') {
         $return['cmd'] = '';
         foreach (explode('&&', $interactQuery->getLink_id()) as $cmd_id) {
             $cmd = cmd::byId($cmd_id);
             if (is_object($cmd)) {
                 $return['cmd'] .= '#' . $cmd->getHumanName() . '# && ';
Пример #4
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Jeedom. If not, see <http://www.gnu.org/licenses/>.
 */
header('Content-type: application/json');
require_once dirname(__FILE__) . "/../../../../core/php/core.inc.php";
if (init('apikey') != config::byKey('api') || config::byKey('api') == '') {
    connection::failed();
    echo 'Clef API non valide, vous n\'etes pas autorisé à effectuer cette action (jeeApi)';
    die;
}
if (init('user_name') == 'slackbot' || init('user_id') == 'USLACKBOT') {
    echo json_encode(array('text' => ''));
    die;
}
$eqLogic = slack::byLogicalId(init('team_domain'), 'slack');
if (!is_object($eqLogic)) {
    echo json_encode(array('text' => __('Domaine inconnue : ', __FILE__) . init('team_domain')));
    die;
}
$parameters = array();
$user = user::byLogin(init('user_name'));
if (is_object($user)) {
    $parameters['profile'] = init('user_name');
}
$cmd_text = $eqLogic->getCmd('info', 'text');
$cmd_text->event(trim(init('text')));
$cmd_sender = $eqLogic->getCmd('info', 'sender');
$cmd_sender->event(init('user_name'));
$reply = interactQuery::tryToReply(trim(init('text')), $parameters);
echo json_encode(array('text' => $reply));