$arr = null; try { if (!isset($_SESSION['subscriptionId'])) { throw new Exception('You must first create a subscription.'); } $events = array(); if (isset($_REQUEST['updateSubscriptionText'])) { $events[] = 'TEXT'; } if (isset($_REQUEST['updateSubscriptionMms'])) { $events[] = 'MMS'; } if (count($events) == 0) { throw new Exception("You must select at least one of Text or MMS"); } $subscriptionId = $_SESSION['subscriptionId']; envinit(); $webhooksSrvc = new WebhooksService(getFqdn(), getSessionToken()); $callbackData = $_REQUEST['updateCallbackData']; if ($callbackData == '') { $callbackData = null; } $args = new UpdateSubscriptionArgs(CHANNEL_ID, $subscriptionId, $events, $callbackData, EXPIRES_IN); $webhooksSrvc->UpdateNotificationSubscription($args); $_SESSION['subscriptionExpiry'] = EXPIRES_IN + time(); $arr = array('success' => true, 'text' => 'Subscription updated.'); } catch (Exception $e) { $arr = array('success' => false, 'text' => $e->getMessage()); } echo json_encode($arr); /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */