public function callFlow($flow) { $twiml = new Response(); $twiml->addPause(); $twiml->addRedirect(site_url('twiml/applet/voice/' . $flow . '/start')); $this->startClientCall($twiml); }
<?php require_once dirname(__FILE__) . '/../../lib/dopplr.php'; $user = OpenVBX::getCurrentUser(); $dopplr_token = PluginData::get("dopplr_token_{$user->id}", ""); $dopplr = new Dopplr($dopplr_token); $response = new Response(); $response->addSay($dopplr->timezone()); $response->addRedirect(AppletInstance::getDropZoneUrl('next')); $response->Respond();
$ci_timezone = "UM8"; } $ci->config->set_item('time_reference', 'local'); $ci->load->helper('date'); $offset = (int) timezones($ci_timezone); $hour = date("G") + $offset; $server_time = mktime($hour, date("i"), date("s")); $server_time_formatted = date("G:i", $server_time); $server_day = date("w", $server_time); $currentTime = $server_time_formatted; $finish_time = $finish[$k]; //debug - set a time here to restate $currentTime //$currentTime = "17:00"; //echo $currentTime.' - '.$b.' - '.$finish_time; if (verify_time($currentTime, $b, $finish_time) == 1 and verify_day($k, $server_day)) { $response->addRedirect($choice_array[$k]); $response->Respond(); $oops = false; $do_fallback = false; //echo "passed check "; break; } elseif (verify_time($currentTime, $b, $finish_time) == 0 or !verify_day($k, $server_day)) { $do_fallback = true; $oops = true; //echo "failed check "; } } if ($oops == true and $do_fallback == true) { $response->addRedirect($fallback); $response->Respond(); }
<?php $response = new Response(); $ini = "{$this->plugin_path}/timing.ini"; if (is_readable($ini)) { $options = parse_ini_file($ini); try { $tz = new DateTimeZone($options['timezone']); } catch (Exception $e) { error_log($e->getMessage()); } } if (empty($tz)) { $tz = new DateTimeZone('America/Los_angeles'); } $now = date_create('now', $tz); // TODO: get from config $today = date_format($now, 'w') - 1; $response->addRedirect(AppletInstance::getDropZoneUrl(($from = AppletInstance::getValue("range_{$today}_from")) && ($to = AppletInstance::getValue("range_{$today}_to")) && date_create($from, $tz) <= $now && $now < date_create($to, $tz) ? 'open' : 'closed')); $response->Respond();
$keys = (array) AppletInstance::getDropZoneValue('keys[]'); $menu_items = AppletInstance::assocKeyValueCombine($keys, $choices); $numDigits = 1; foreach ($keys as $key) { if (strlen($key) > $numDigits) { $numDigits = strlen($key); } } if ($digits !== false) { if (!empty($menu_items[$digits])) { $selected_item = $menu_items[$digits]; } else { if ($invalid_option) { $verb = AudioSpeechPickerWidget::getVerbForValue($invalid_option, null); $response->append($verb); $response->addRedirect(); } else { $response->addSay('You selected an incorrect option.'); $response->addRedirect(); } $response->Respond(); exit; } } if (!empty($selected_item)) { $response->addRedirect($selected_item); $response->Respond(); exit; } $gather = $response->addGather(compact('numDigits')); $verb = AudioSpeechPickerWidget::getVerbForValue($prompt, null);
<?php require_once "./plivo.php"; $r = new Response(); //Add Speak tag $body = "Please wait while your call is being transferred"; $r->addSpeak($body); // Add Redirect tag $redirect = "https://example.com/connect.php"; $r->addRedirect($redirect); Header('Content-type: text/xml'); echo $r->toXML(); ?> <!--connect.php--> <?php require_once "./plivo.php"; $r = new Response(); // Add Speak tag $body = "Connecting your call.."; $attributes = array('action' => "https://example.com/dial_status.php", 'method' => "GET", 'redirect' => "true"); $r->addSpeak($body); // Add Dial tag $d = $r->addDial($attributes); $number = "11111111111"; $d->addNumber($number); Header('Content-type: text/xml'); echo $r->toXML(); /* Sample Output
<?php include "foursquare_api.php"; $user = AppletInstance::getUserGroupPickerValue('4sq-cat-controller'); $user_id = $user->values["id"]; $foursquare_username = PluginStore::get("foursquare_username_{$user_id}", ""); $foursquare_password = PluginStore::get("foursquare_password_{$user_id}", ""); $default = AppletInstance::getDropZoneUrl('4sq-cat-default-action'); $response = new Response(); if (!empty($foursquare_username)) { $lastVenue = getLastVenue($foursquare_username, $foursquare_password); $category = getCategory($lastVenue); $categories = AppletInstance::getValue('categories[]'); $category_options = AppletInstance::getDropZoneUrl('category_options[]'); $found = false; if (is_array($categories)) { foreach ($categories as $id => $value) { if ($value == $category) { $response->addRedirect($category_options[$id]); $found = true; } } } if (!$found) { $response->addRedirect($default); } } else { $response->addRedirect($default); } $response->Respond();
<?php // Include the PHP Plivo Rest library require "./plivohelper.php"; $base_http = "http://" . dirname($_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"]); /* Render RESTXML */ $r = new Response(); if ($_GET['redirect'] == 'true' || $_POST['redirect'] == 'true') { $r->addSpeak("Redirect done !"); $r->addHangup(); } else { $r->addRedirect($base_http . "/answered.php?redirect=true"); } $r->Respond();
<?php $response = new Response(); $url = AppletInstance::getBaseURI(); $response->addRedirect($url . '/start'); $response->Respond();
<?php $response = new Response(); $url = AppletInstance::getValue('url'); $next = AppletInstance::getDropZoneUrl('next'); $fallback = AppletInstance::getDropZoneUrl('fallback'); $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl_handle); curl_close($curl_handle); if (empty($result)) { $response->addSay('that didnt work'); $response->addRedirect($fallback); $response->Respond(); } else { $response->addSay($result); $response->addRedirect($next); $response->Respond(); }
<?php include "foursquare_api.php"; $user = AppletInstance::getUserGroupPickerValue('4sq-venue-controller'); $user_id = $user->values["id"]; $foursquare_username = PluginStore::get("foursquare_username_{$user_id}", ""); $foursquare_password = PluginStore::get("foursquare_password_{$user_id}", ""); $default = AppletInstance::getDropZoneUrl('no-venue-default-action'); $response = new Response(); if (!empty($foursquare_username)) { $lastVenue = getLastVenue($foursquare_username, $foursquare_password); $venues = AppletInstance::getValue('venues[]'); $venue_options = AppletInstance::getDropZoneUrl('venue-options[]'); $found = false; if (is_array($keys)) { foreach ($venues as $id => $value) { if ($value == $lastVenue) { $response->addRedirect($venue_options[$id]); $found = true; } } } if (!$found) { $response->addRedirect($default); } } else { $response->addRedirect($default); } $response->Respond();
<?php require_once 'plivo.php'; $response = new Response(); $response->addSpeak('Record your message at the tone, after you are done, press pound'); $response->addRecord(array('action' => 'http://' . $_SERVER["SERVER_NAME"] . '/plivo-voicemail/confirm-input.php', 'method' => 'GET', 'maxLength' => '60', 'finishOnKey' => '#', 'playBeep' => 'true')); $response->addSpeak('Recording not received'); $response->addRedirect('http://' . $_SERVER["SERVER_NAME"] . '/plivo-voicemail/get-input.php', array('method' => 'GET')); header('content-type: text/xml'); echo $response->toXML();
<?php define('IS_DEV', true); require_once 'twilio.php'; if (IS_DEV) { require_once 'twillip.php'; Twillip::Start(); } $r = new Response(); if (isset($_REQUEST['Caller'])) { $r->addSay('This app uses Twillip for obviously awesome reasons!'); $r->addPlay('funky-beats.mp3', array('loop' => 3)); $r->addRedirect('/doesntexist.php'); } else { $r->addSay('Oh no! I didn\'t get sent a phone number! Who in blue blazes are you?'); $r->addSay('This line will generate a PHP warning now: ' . $_REQUEST['Caller']); } $r->respond(); if (IS_DEV) { Twillip::End(); }
<?php require_once dirname(__FILE__) . '/../../lib/dopplr.php'; $user = OpenVBX::getCurrentUser(); $dopplr_token = PluginData::get("dopplr_token_{$user->id}", ""); $dopplr = new Dopplr($dopplr_token); $response = new Response(); if ($dopplr->travel_today()) { $response->addRedirect(AppletInstance::GetDropZoneUrl('in_transit')); } else { if ($dopplr->at_home) { $response->addRedirect(AppletInstance::GetDropZoneUrl('at_home')); } else { $response->addRedirect(AppletInstance::GetDropZoneUrl('on_the_road')); } } $response->Respond();
<?php $response = new Response(); $keys = AppletInstance::getValue('keys'); $invalid = AppletInstance::getDropZoneUrl('invalid'); $selected_item = false; $choices = AppletInstance::getDropZoneUrl('choices[]'); $keys = AppletInstance::getDropZoneValue('keys[]'); $router_items = AppletInstance::assocKeyValueCombine($keys, $choices); if (isset($_REQUEST['From']) && array_key_exists($_REQUEST['From'], $router_items)) { $routed_path = $router_items[$_REQUEST['From']]; $response->addRedirect($routed_path); $response->Respond(); exit; } else { if (isset($_REQUEST['Caller']) && array_key_exists($_REQUEST['Caller'], $router_items)) { $routed_path = $router_items[$_REQUEST['Caller']]; $response->addRedirect($routed_path); $response->Respond(); exit; } else { if (!empty($invalid)) { $response->addRedirect($invalid); $response->Respond(); exit; } else { $response->Respond(); exit; } } }
public function testRedirectConvience() { $r = new Response(); $r->addRedirect(); $expected = '<Response><Redirect></Redirect></Response>'; $this->assertXmlStringEqualsXmlString($expected, $r->asUrl(False)); }
<?php $response = new Response(); $next = AppletInstance::getDropZoneUrl('next'); $prompt = AppletInstance::getAudioSpeechPickerValue('prompt'); $response->append(AudioSpeechPickerWidget::getVerbForValue($prompt, null)); if (!empty($next)) { $response->addRedirect($next); } $response->Respond();
} else { // We've dialed all the phone numbers and gotten no answer $state[DIAL_ACTION] = DIAL_STATE_NO_ANSWER; // Note that we'd like to go through the machine again with our new state $keepLooping = true; } break; case DIAL_STATE_HANGUP: $response->addHangup(); break; case DIAL_STATE_NO_ANSWER: if ($dial_whom_selector == 'number') { if (empty($no_answer_redirect_number)) { $response->addHangup(); } $response->addRedirect($no_answer_redirect_number); } else { if ($no_answer_action === 'voicemail') { $response->append(AudioSpeechPickerWidget::getVerbForValue($voicemail, new Say("Please leave a message."))); $response->addRecord(array('transcribe' => true, 'transcribeCallback' => site_url('twiml/transcribe'))); $state[DIAL_ACTION] = DIAL_STATE_RECORDING; } else { if ($no_answer_action === 'redirect') { if (empty($no_answer_redirect)) { $response->addHangup(); } $response->addRedirect($no_answer_redirect); } else { if ($no_answer_action === 'hangup') { $response->addHangup(); } else {
<?php $response = new Response(); $redirect_type_selector = AppletInstance::getValue('redirect-type-selector'); if ($redirect_type_selector == "flow") { $gotoflow_raw = AppletInstance::getValue('gotoflow'); $gotoflow_url = site_url("/twiml/applet/voice/" . $gotoflow_raw . "/start"); $response = new Response(); $response->addRedirect($gotoflow_url); $response->Respond(); exit; } else { if ($redirect_type_selector == "url") { $gotourl = AppletInstance::getValue('gotourl'); $response = new Response(); $response->addRedirect($gotourl); $response->Respond(); exit; } else { trigger_error("Unexpected redirect-type-selector value of '{$redirect_type_selector}'"); } }