Esempio n. 1
0
 public function index()
 {
     $args = func_get_args();
     $page = implode('/', $args);
     $this->section = '/p/' . $page;
     $data = $this->init_view_data();
     $title = '';
     /* Find Plugin matching page */
     $plugins = Plugin::all();
     foreach ($plugins as $plugin) {
         try {
             // First plugin wins
             $data['script'] = $plugin->getScript($page);
             if (!empty($data['script'])) {
                 PluginData::setPluginId($plugin->getPluginId());
                 OpenVBX::$currentPlugin = $plugin;
                 $plugin_info = $plugin->getInfo();
                 $page_title = $plugin->getPluginPageName($page);
                 $title = !empty($page_title) ? $page_title : $plugin_info['name'];
                 break;
             }
         } catch (PluginException $e) {
             error_log($e->getMessage());
             $ci =& get_instance();
             $ci->session->set_flashdata('error', $e->getMessage());
         }
     }
     $this->respond($title, 'page/index', $data);
 }
Esempio n. 2
0
 public function index($plugin)
 {
     $this->admin_only('plugin config');
     $data = $this->init_view_data();
     $plugin = Plugin::get($plugin);
     PluginData::setPluginId($plugin->getPluginId());
     OpenVBX::$currentPlugin = $plugin;
     try {
         $data['info'] = $plugin->getInfo();
         $data['script'] = $plugin->getScript('config');
     } catch (PluginException $e) {
         error_log($e->getMessage());
         $data['script'] = null;
     }
     $this->respond('', 'page/config', $data);
 }
Esempio n. 3
0
 public function index($page)
 {
     $this->section = '/p/' . $page;
     $data = $this->init_view_data();
     /* Find Plugin matching page */
     $plugins = Plugin::all();
     foreach ($plugins as $plugin) {
         try {
             // First plugin wins
             $data['script'] = $plugin->getScript($page);
             if (!empty($data['script'])) {
                 PluginData::setPluginId($plugin->getPluginId());
                 OpenVBX::$currentPlugin = $plugin;
                 break;
             }
         } catch (PluginException $e) {
             error_log($e->getMessage());
             $ci =& get_instance();
             $ci->session->set_flashdata('error', $e->getMessage());
         }
     }
     $this->respond('', 'page/index', $data);
 }
Esempio n. 4
0
 public static function setInstance($instance)
 {
     list($plugin_name, $applet_name) = explode('---', $instance->type);
     self::$instance = $instance->data;
     self::$id = $instance->id;
     self::$pluginName = $plugin_name;
     self::$appletName = $applet_name;
     self::$plugin = new Plugin(self::$pluginName);
     PluginData::setPluginId(self::$plugin->getPluginId());
 }
Esempio n. 5
0
 public function twiml($flow, $baseURI, $instance = null)
 {
     $path = $this->applet_dir . '/twiml.php';
     if (!is_null($instance)) {
         AppletInstance::setInstance($instance);
         AppletInstance::setFlow($flow);
         AppletInstance::setBaseURI($baseURI);
         FlowStore::setFlowId($flow->id);
         // Plugin directory name is the natural key until a proper guid system is developed
         $plugin = new Plugin($this->plugin_dir_name);
         PluginData::setPluginId($plugin->getPluginId());
         OpenVBX::$currentPlugin = $plugin;
         $instance = isset($instance->data) && is_array($instance->data) ? $instance->data : array();
     } else {
         $instance = isset($this->data) && is_array($this->data) ? $this->data : array();
     }
     AppletInstance::setFlowType($this->flow_type);
     if (!file_exists($path)) {
         return '';
     }
     $output = '<?xml version="1.0" ?><Response />';
     ob_start();
     require_once APPPATH . 'libraries/twilio.php';
     // require once was hampering our ability to run an applet multiple times (ie: in integration tests)
     require $path;
     $output = ob_get_contents();
     ob_end_clean();
     return $output;
 }