Example #1
0
File: Ami.php Project: dafik/dfi
 /**
  * return AMI client and create if not exist
  * @return Dfi_Asterisk_Client
  */
 private static function getAmiClient()
 {
     if (!Dfi_Asterisk_Ami::$amiClient instanceof ClientImpl) {
         $config = self::getConfig();
         $c = new Zend_Config_Ini(APPLICATION_PATH . '/configs/sys/log4php-pami.conf.php');
         $config["log4php.properties"] = $c->toArray();
         $config["log4php.properties"]['appenders']['appender']['default']['file'] = Dfi_App_Config::get('paths.log') . 'ami.log';
         $client = new Dfi_Asterisk_Client($config);
         if (!Dfi_App_Config::getString('asterisk.fake', true)) {
             $client->open();
         }
         Dfi_Asterisk_Ami::$amiClient = $client;
     }
     return Dfi_Asterisk_Ami::$amiClient;
 }
Example #2
0
 public function save($reloadAsterisk = true)
 {
     if (!$this instanceof Dfi_Asterisk_Static_Dialplan) {
         $this->removeDuplicates();
     }
     $i = 1;
     /** @var $entry Dfi_Asterisk_Static_Entry */
     foreach ($this->entries as $key => $entry) {
         $entry->updateCategory($this->category);
         $entry->updateCatMetric($this->cat_metric);
         if (!$entry->isIsDeleted()) {
             $entry->updateVarMetric($i);
             $i++;
         }
         $res = $entry->save($this->getPdo());
         if ($res) {
             $this->isModified = true;
         }
     }
     if ($this->isModified && $reloadAsterisk) {
         if ($this instanceof Dfi_Asterisk_Static_Dialplan) {
             Dfi_Asterisk_Ami::reloadDialplan();
         } else {
             Dfi_Asterisk_Ami::reload();
         }
     }
 }