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