Ejemplo n.º 1
0
 /**
  * save one phone
  * -  if $recordData['id'] is empty the phone gets added, otherwise it gets updated
  *
  * @param array $recordData an array of phone properties
  * @return array
  */
 public function saveMyPhone($recordData)
 {
     $voipController = Phone_Controller_MyPhone::getInstance();
     $phone = new Phone_Model_MyPhone();
     $phone->setFromArray($recordData);
     $phoneSettings = new Voipmanager_Model_Snom_PhoneSettings();
     $phoneSettings->setFromArray($recordData);
     $phone->settings = $phoneSettings;
     $phone->lines = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_Line', isset($recordData['lines']) && !empty($recordData['lines']) ? $recordData['lines'] : array(), TRUE);
     if (!empty($phone->id)) {
         $phone = $voipController->update($phone);
     }
     return $this->getMyPhone($phone->getId());
 }
 /**
  * save user phone
  *
  * @param array $recordData an array of phone properties
  * @return array
  */
 public function saveMyPhone($recordData)
 {
     // close session to allow other requests
     Zend_Session::writeClose(true);
     unset($recordData['template_id']);
     $phone = new Phone_Model_MyPhone();
     $phone->setFromArray($recordData);
     $phoneSettings = new Voipmanager_Model_Snom_PhoneSettings();
     $phoneSettings->setFromArray($recordData);
     $phone->settings = $phoneSettings;
     $phone->lines = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_Line', isset($recordData['lines']) && !empty($recordData['lines']) ? $recordData['lines'] : array(), TRUE);
     if (!empty($phone->id)) {
         $phone = Phone_Controller_MyPhone::getInstance()->update($phone);
     } else {
         // will throw exception in any case
         $phone = Phone_Controller_MyPhone::getInstance()->create($phone);
     }
     return $this->getMyPhone($phone->getId());
 }
 /**
  * create lines / sippeers
  * 
  * @param Voipmanager_Model_Snom_Phone|Phone_Model_MyPhone $_phone
  * @param array $_lines
  * @return void
  */
 protected function _createLines($_phone, $_lines)
 {
     foreach ($_lines as $line) {
         $line->snomphone_id = $_phone->getId();
         if (is_array($line->asteriskline_id)) {
             $sippeer = new Voipmanager_Model_Asterisk_SipPeer($line->asteriskline_id);
             $sippeer = Voipmanager_Controller_Asterisk_SipPeer::getInstance()->update($sippeer);
             $line->asteriskline_id = $sippeer->getId();
         }
         if (empty($line->asteriskline_id)) {
             throw new Voipmanager_Exception_Validation('asteriskline_id is required.');
         }
         $addedLine = Voipmanager_Controller_Snom_Line::getInstance()->create($line);
     }
 }