/** * 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; }
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(); } } }