예제 #1
0
파일: Destination.php 프로젝트: cwcw/cms
 /**
  *
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = $request->getParam('NodeOutputs');
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $nodeOutputs;
     $defaults = array('NodeId' => $node['NodeId'], 'DestinationTypeId' => null, 'ContactId' => null, 'IsAgentGroupAllowed' => false, 'AgentGroupId' => null, 'IsFailoverAllowed' => false, 'RingingDuration' => 30, 'IsWaitingQueueAllowed' => false, 'IsSimutaneousCallAllowed' => false);
     $nodeParameter = SwIRS_Web_Request::getParam($request, $defaults);
     if ($nodeParameter['IsWaitingQueueAllowed']) {
         $waitingQueueDefaults = array('HasWaitingQueue' => true, 'QueueGreetingPromptId' => null, 'QueuePeriodicPromptId' => null, 'QueueMaxLength' => 10, 'QueueMaxWaitingTime' => 600, 'QueueHasPositionPrompt' => false, 'QueueMaxPositionPrompt' => 10);
         $waitingQueue = SwIRS_Web_Request::getParam($request, $waitingQueueDefaults);
         $nodeParameter['WaitingQueue'] = $waitingQueue;
     }
     if ($nodeParameter['IsSimutaneousCallAllowed']) {
         $simutaneousCallDefaults = array('HasSimutaneousCalls' => true, 'MaxSimutaneousCalls' => 10);
         $simutaneousCall = SwIRS_Web_Request::getParam($request, $simutaneousCallDefaults);
         $nodeParameter['SimutaneousCall'] = $simutaneousCall;
     }
     $nodeParameterId = Streamwide_Web_Model::call('Outgoing.AddNodeParameter', array($nodeParameter));
     if ($nodeParameter['IsFailoverAllowed']) {
         $failoverContacts = $request->getParam('FailoverContacts');
         $result = Streamwide_Web_Model::call('Outgoing.AddFailoverContacts', array($nodeParameterId, $failoverContacts));
     }
     $node['NodeParamOutgoingId'] = $nodeParameterId;
     return $node;
 }
예제 #2
0
파일: Hangup.php 프로젝트: cwcw/cms
 /**
  *
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $releaseCauseId = $request->getParam('ReleaseCauseId');
     $nodeParameter = array('NodeId' => $node['NodeId'], 'ReleaseCauseId' => $releaseCauseId);
     $nodeParameterId = Streamwide_Web_Model::call('Hangup.AddNodeParameter', array($nodeParameter));
     $node['NodeParamHangupId'] = $nodeParameterId;
     return $node;
 }
예제 #3
0
파일: Link.php 프로젝트: cwcw/cms
 /**
  *
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $linkedNodeId = $request->getParam('LinkedNodeId');
     $isInternal = $request->getParam('IsInternal', false);
     $nodeParameter = array('NodeId' => $node['NodeId'], 'LinkedNodeId' => $linkedNodeId, 'IsInternal' => $isInternal);
     $nodeParameterId = Streamwide_Web_Model::call('Link.AddNodeParameter', array($nodeParameter));
     $node['NodeParamLinkId'] = $nodeParameterId;
     return $node;
 }
예제 #4
0
파일: Blacklist.php 프로젝트: cwcw/cms
 /**
  *
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = array(array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL_YES, 'IsActive' => true, 'IsDefault' => false, 'IsAllowed' => true), array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL_NOT, 'IsActive' => true, 'IsDefault' => true, 'IsAllowed' => true));
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $nodeOutputs;
     $defaults = array('NodeId' => $node['NodeId'], 'HasPayphoneFilter' => false, 'PayphoneRejectionPromptId' => null, 'BlacklistId' => null, 'BlacklistRejectionPromptId' => null);
     $nodeParameter = SwIRS_Web_Request::getParam($request, $defaults);
     $nodeParameterId = Streamwide_Web_Model::call('Blacklist.AddNodeParameter', array($nodeParameter));
     $node['NodeParamBlacklistId'] = $nodeParameterId;
     return $node;
 }
예제 #5
0
파일: Origin.php 프로젝트: cwcw/cms
 /**
  *
  * NodeOutputs = array(
  *      array(
  *          Label
  *          OriginId
  *          Origins
  *          Prefixes
  *      )
  * )
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = array(array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL_OTHERS, 'IsActive' => true, 'IsDefault' => true, 'IsAllowed' => true));
     $outputs = $request->getParam('NodeOutputs');
     foreach ($outputs as $output) {
         $originId = is_null($output['OriginId']) ? $this->_getOrigin($output['Origins'], $output['Prefixes'], $request) : $output['OriginId'];
         $nodeOutputs[] = array('NodeId' => $node['NodeId'], 'Label' => $output['Label'], 'IsActive' => true, 'IsDefault' => false, 'IsAllowed' => true, 'OriginId' => $originId);
     }
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $nodeOutputs;
     return $node;
 }
예제 #6
0
파일: Prompt.php 프로젝트: cwcw/cms
 /**
  *
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputDefault = array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL, 'IsActive' => true, 'IsDefault' => true, 'IsAllowed' => true);
     $nodeOutput = SwIRS_Web_Request::getParam($request, $nodeOutputDefault);
     $nodeOutput = $this->addOutput($nodeOutput);
     $node['NodeOutput'] = $nodeOutput;
     $promptId = $request->getParam('PromptId');
     $isStandard = $request->getParam('IsStandard', false);
     $nodeParameter = array('NodeId' => $node['NodeId'], 'PromptId' => $promptId, 'IsStandard' => $isStandard);
     $nodeParameterId = Streamwide_Web_Model::call('Prompt.AddNodeParameter', array($nodeParameter));
     $node['NodeParamPromptId'] = $nodeParameterId;
     return $node;
 }
예제 #7
0
파일: Distribution.php 프로젝트: cwcw/cms
 /**
  *
  * NodeOutputs = array(
  *      array (
  *          Label
  *          DistributionTypeId
  *          DistributionRatio
  *      )
  * )
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = $request->getParam('NodeOutputs');
     foreach ($nodeOutputs as &$nodeOutput) {
         $nodeOutput['NodeId'] = $node['NodeId'];
         $nodeOutput['IsActive'] = true;
         $nodeOutput['IsDefault'] = false;
         $nodeOutput['IsAllowed'] = true;
     }
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $nodeOutputs;
     return $node;
 }
예제 #8
0
파일: Calendar.php 프로젝트: cwcw/cms
 /**
  *
  * NodeOutputs = array(
  *      array(
  *          Label
  *          CalendarTypeId
  *          CalendarType
  *          CalendarId
  *      )
  * )
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = array(array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL_OTHERS, 'IsActive' => true, 'IsDefault' => true, 'IsAllowed' => true));
     $outputs = $request->getParam('NodeOutputs');
     foreach ($outputs as $output) {
         $periodIds = $this->_getPeriods($output, $request);
         foreach ($periodIds as $periodId => $periodLabel) {
             $nodeOutputs[] = array('NodeId' => $node['NodeId'], 'Label' => $periodLabel, 'IsActive' => true, 'IsDefault' => false, 'IsAllowed' => true, 'PeriodId' => $periodId);
         }
     }
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $nodeOutputs;
     return $node;
 }
예제 #9
0
파일: Menu.php 프로젝트: cwcw/cms
 /**
  *
  * NodeOutputs = array(
  *      array (
  *          Label
  *      )
  * )
  */
 public function create(Zend_Controller_Request_Abstract $request)
 {
     $node = parent::create($request);
     $nodeOutputs = array(array('NodeId' => $node['NodeId'], 'Label' => self::NODE_OUTPUT_LABEL_ERROR, 'IsActive' => true, 'IsDefault' => true, 'IsAllowed' => true));
     $outputs = $request->getParam('NodeOutputs', array());
     foreach ($outputs as $key => $output) {
         $nodeOutputs[] = array('NodeId' => $node['NodeId'], 'Label' => self::$_dtmfKeys[$key], 'IsActive' => true, 'IsDefault' => false, 'IsAllowed' => true);
     }
     $nodeOutputs = $this->addOutputs($nodeOutputs);
     $node['NodeOutputs'] = $this->_shuffle($nodeOutputs);
     $defaults = array('NodeId' => $node['NodeId'], 'MaxTries' => 3, 'NoinputTimeout' => 5, 'DetectDtmfOnPrompt' => false, 'GreetingPromptId' => null, 'NoinputPromptId' => null, 'WrongKeyPromptId' => null);
     $nodeParameter = SwIRS_Web_Request::getParam($request, $defaults);
     $nodeParameterId = Streamwide_Web_Model::call('Menu.AddNodeParameter', array($nodeParameter));
     $node['NodeParamMenuId'] = $nodeParameterId;
     return $node;
 }