src/PAGI/Node/NodeController.php
protected function processNodeResult(Node $node)
    {
        $ret = false;
        $name = $node->getName();
        if (isset($this->nodeResults[$name])) {
            foreach ($this->nodeResults[$name] as $resultInfo) {
                /* @var $resultInfo NodeActionCommand */
                if ($resultInfo->appliesTo($node)) {
                    if ($resultInfo->isActionHangup()) {
                        $this->logDebug("Hanging up after $name");
                        $this->client->hangup();
                    } elseif ($resultInfo->isActionJumpTo()) {
                        $data = $resultInfo->getActionData();
                        if (isset($data['nodeEval'])) {
                            $callback = $data['nodeEval'];
                            $nodeName = $callback($node);
                        } else {
                            $nodeName = $data['nodeName'];
                        }
                        $this->logDebug("Jumping from $name to $nodeName");
                        $ret = $nodeName;
                        break;
                    } elseif ($resultInfo->isActionExecute()) {
                        $this->logDebug("Executing callback after $name");
                        $data = $resultInfo->getActionData();
                        $callback = $data['callback'];
                        $callback($node);
                    }
                }
            }
        }
        return $ret;
    }
protected function processNodeResult(Node $node)
    {
        $ret = false;
        $name = $node->getName();
        if (isset($this->nodeResults[$name])) {
            foreach ($this->nodeResults[$name] as $resultInfo) {
                /* @var $resultInfo NodeActionCommand */
                if ($resultInfo->appliesTo($node)) {
                    if ($resultInfo->isActionHangup()) {
                        $this->logDebug("Hanging up after $name");
                        $this->client->hangup();
                    } elseif ($resultInfo->isActionJumpTo()) {
                        $data = $resultInfo->getActionData();
                        if (isset($data['nodeEval'])) {
                            $callback = $data['nodeEval'];
                            $nodeName = $callback($node);
                        } else {
                            $nodeName = $data['nodeName'];
                        }
                        $this->logDebug("Jumping from $name to $nodeName");
                        $ret = $nodeName;
                        break;
                    } elseif ($resultInfo->isActionExecute()) {
                        $this->logDebug("Executing callback after $name");
                        $data = $resultInfo->getActionData();
                        $callback = $data['callback'];
                        $callback($node);
                    }
                }
            }
        }
        return $ret;
    }
protected function processNodeResult ( Node $ node ) { $ ret = false ; $ name = $ node -> getName ( ) ; if ( isset ( $ this -> nodeResults [ $ name ] ) ) { foreach ( $ this -> nodeResults [ $ name ] as $ resultInfo ) { /* @var $resultInfo NodeActionCommand */ if ( $ resultInfo -> appliesTo ( $ node ) ) { if ( $ resultInfo -> isActionHangup ( ) ) { $ this -> logDebug ( "Hanging up after $name" ) ; $ this -> client -> hangup ( ) ; } elseif ( $ resultInfo -> isActionJumpTo ( ) ) { $ data = $ resultInfo -> getActionData ( ) ; if ( isset ( $ data [ 'nodeEval' ] ) ) { $ callback = $ data [ 'nodeEval' ] ; $ nodeName = $ callback ( $ node ) ; } else { $ nodeName = $ data [ 'nodeName' ] ; } $ this -> logDebug ( "Jumping from $name to $nodeName" ) ; $ ret = $ nodeName ; break ; } elseif ( $ resultInfo -> isActionExecute ( ) ) { $ this -> logDebug ( "Executing callback after $name" ) ; $ data = $ resultInfo -> getActionData ( ) ; $ callback = $ data [ 'callback' ] ; $ callback ( $ node ) ; } } } } return $ ret ; }
Process the result of the given node. Returns false if no other nodes
should be run, or a string with the next node name.

@param Node $node Node that was run.

@return string|false
Process the result of the given node . Returns false if no other nodes should be run or a string with the next node name .