defines the success url of the "get alias" call
by default we want to return to the shipping step with processing parameters set (execute step, active shipping group and payment method).

@param string $sStepName

@return bool|string
13856
protected function GetSuccessURL($sStepName = '')
    {
        if (empty($sStepName)) {
            $sStepName = 'shipping';
        }
        $sURL = false;
        $oShippingStep = TdbShopOrderStep::GetStep($sStepName);
        /** @var $oShippingStep TdbShopOrderStep */
        if (!is_null($oShippingStep)) {
            $sURL = $oShippingStep->GetStepURL(true, true);
            if ('/' == substr($sURL, -1)) {
                $sURL = substr($sURL, 0, -1);
            }

            if ('shipping' == $sStepName) {
                $aResponse = array('module_fnc' => array(TGlobal::instance()->GetExecutingModulePointer()->sModuleSpotName => 'ExecuteStep'), MTShopOrderWizardCore::URL_PARAM_STEP_METHOD => '', 'aShipping' => array('shop_shipping_group_id' => TShopBasket::GetInstance()->GetActiveShippingGroup()->id, 'shop_payment_method_id' => $this->GetOwningPaymentMethodId()));
                $sURL .= '?'.str_replace('&amp;', '&', TTools::GetArrayAsURL($aResponse));
            }
        }

        return $sURL;
    }
361447
public function getSetupStep($sStepId, $blPrint = true)
    {
        $sStep = $this->getInstance("Setup")->getStep($sStepId);

        return $blPrint ? print($sStep) : $sStep;
    }
22592
protected function _chooseCurrentAction()
    {
        /** @var Setup $oSetup */
        $oSetup = $this->getInstance("Setup");
        $iCurrStep = $oSetup->getCurrentStep();

        $sName = null;
        foreach ($oSetup->getSteps() as $sStepName => $sStepId) {
            if ($sStepId == $iCurrStep) {
                $sActionName = str_ireplace("step_", "", $sStepName);
                $sName = str_replace("_", "", $sActionName);
                break;
            }
        }

        return $sName;
    }
898789
protected function getProcessStep($stepName)
    {
        $step = $this->process->getStep($stepName);

        if (! ($step instanceof Step)) {
            throw new WorkflowException(sprintf('Can\'t find step named "%s" in process "%s".', $stepName, $this->process->getName()));
        }

        return $step;
    }
914050
public function getActionByName(WorkflowDescriptor $wf, $actionName)
    {
        $actionName = (string)$actionName;

        foreach ($wf->getGlobalActions() as $actionDescriptor) {
            if ($actionName === $actionDescriptor->getName()) {
                return $actionDescriptor;
            }
        }

        foreach ($wf->getSteps() as $stepDescriptor) {
            $actions = $stepDescriptor->getActions();
            foreach ($actions as $actionDescriptor) {
                if ($actionName === $actionDescriptor->getName()) {
                    return $actionDescriptor;
                }
            }
        }

        foreach ($wf->getInitialActions() as $actionDescriptor) {
            if ($actionName === $actionDescriptor->getName()) {
                return $actionDescriptor;
            }
        }

        return null;
    }
968108
public function action_ship( $params ) 
	{	
		$options = \CCDataObject::assign( $params );
		
		$name = $options->get( 0, null );
		$namespace = $options->get( 1, null );
		
		// get name if we dont have one
		while( !$name ) 
		{
			$name = CCCli::read( 'Please enter the ship name: ' );
		}
		
		// set namespace 
		if ( !$namespace ) 
		{
			$namespace = $name;
		}
		
		// no namespace?
		if ( $params['no-namespace'] ) 
		{
			$namespace = false;
		}
		
		// custom target
		$target = $options->get( 'target', ORBITPATH );
		
		if ( substr( $target, 0, 1 ) !== '/' )
		{
			$target = CCFPATH.$target;
		}
		if ( substr( $target, -1 ) !== '/' )
		{
			$target .= '/';
		}
		
		$target .= $name.'/';
		
		// check if the module is in our orbit path
		if ( is_dir( $target ) ) 
		{
			if ( !CCCli::confirm( "there is already a ship with this name. do you want to overwrite?", true ) ) 
			{
				return;
			}
		}
		
		// create the blueprint
		$defaults = \CCConfig::create( 'shipyard' );
		
		$blueprint = array(
			'name'			=> $name,
			'version'		=> $defaults->get( 'defaults.version' ),
			'description'	=> $defaults->get( 'defaults.description' ),
			'homepage'		=> $defaults->get( 'defaults.homepage' ),
			'keywords'		=> $defaults->get( 'defaults.keywords' ),
			'license'		=> $defaults->get( 'defaults.license' ),
			
			'authors'		=> $defaults->get( 'defaults.authors' ),
						
			'namespace'		=> $namespace,
		);
		
		// create file
		\CCJson::write( $target.'blueprint.json', $blueprint, true );
		
		
		$ship = \CCOrbit_Ship::blueprint( $blueprint, $target );
		
		// create event files
		if ( $namespace ) 
		{
			// create forge instance
			$forge = new \CCForge_Php( $namespace );
			
			// add header
			$forge->comment( $this->make_comment_header( $ship->name.' ship', array(
				'package'	=> $ship->name,
				'authors'	=> $ship->authors,
				'version'	=> $ship->version,
				'copyright'	=> \CCConfig::create( 'shipyard' )->get( 'defaults.copyright' ),
			)));
			
			// add class
			$forge->closure( 'class Ship extends \CCOrbit_Ship', function() {
				
				$forge = new \CCForge_Php;
				
				// add init function
				echo $forge->closure( 'public function wake()', '// Do stuff', 
					"initialize the ship\n\n".
					"@return void"
				);
				
				echo $forge->line(2);
				
				// add init function
				echo $forge->closure( 'public function install()', '// Do stuff', 
					"install the ship\n\n".
					"@return void"
				);
				
				echo $forge->line(2);
				
				// add init function
				echo $forge->closure( 'public function unsintall()', '// Do stuff', 
					"uninstall the ship\n\n".
					"@return void"
				);
			});
			
			\CCFile::write( $target.CCDIR_CLASS.'Ship'.EXT, $forge );
			
		} else {
			
			// create forge instance
			$forge = new \CCForge_Php();
			
			// add header
			$forge->comment( $this->make_comment_header( $ship->name, array(
				'package'	=> $ship->name,
				'authors'	=> $ship->authors,
				'version'	=> $ship->version,
				'copyright'	=> \CCConfig::create( 'shipyard' )->get( 'defaults.copyright' ),
			)));
			
			\CCFile::write( $target.'shipyard/wake'.EXT, $forge );
			\CCFile::write( $target.'shipyard/install'.EXT, $forge );
			\CCFile::write( $target.'shipyard/uninstall'.EXT, $forge );
		}
		
		// sucess
		CCCli::line( "'".$name."' succesfully created under: ".$target, 'green' );
	}
505428
public function getStep($sStepId)
    {
        $steps = $this->getSteps();
        return isset($steps[$sStepId]) ? $steps[$sStepId] : null;
    }
783743
function alias( $aliasName )
    {
        $aliasList = $this->aliasList();
        if ( !array_key_exists( $aliasName, $aliasList ) )
            return false;
        return $aliasList[$aliasName];
    }
619440
protected function GetActiveOrderStep()
    {
        $oActiveOrderStep = null;
        $oGlobal = TGlobal::instance();
        $sActiveStepSysName = $oGlobal->GetUserData('stpsysname');
        $oActiveOrderStep = TdbShopOrderStep::GetStep($sActiveStepSysName);

        return $oActiveOrderStep;
    }
168298
protected function getReturnUrl()
    {
        $controllerKey = \OxidEsales\Eshop\Core\Registry::getControllerClassNameResolver()->getIdByClassName(get_class());
        return $this->getSession()->processUrl($this->getBaseUrl() . "&cl=" . $controllerKey . "&fnc=getExpressCheckoutDetails");
    }
312789
protected function GetPaymentURL()
    {
        if (IPkgShopOrderPaymentConfig::ENVIRONMENT_PRODUCTION === $this->getEnvironment()) {
            $sPaymentURL = $this->GetConfigParameter('sOgonePaymentURLLive');
        } else {
            $sPaymentURL = $this->GetConfigParameter('sOgonePaymentURLTest');
        }

        return $sPaymentURL;
    }
375526
protected function callStepAndCheckForException($stepName, $args = array())
    {
        try {
            $response = call_user_func_array(array($this->exampleClass, $stepName), $args);
        } catch (OffAmazonPaymentsService_Exception $ex) {
            $this->printExceptionToCLI($ex, $stepName);
            throw $ex;
        }

        return $response;
    }
677324
protected function GetExecutePaymentErrorURL($stepName = '')
    {
        if (empty($stepName)) {
            $stepName = 'shipping';
        }
        $sURL = false;
        $oShippingStep = TdbShopOrderStep::GetStep($stepName);
        if (null !== $oShippingStep) {
            $sURL = $oShippingStep->GetStepURL(true, true);
            if ('/' === substr($sURL, -1)) {
                $sURL = substr($sURL, 0, -1);
            }
        }

        return $sURL;
    }
308510
protected function redirectToPaymentStep()
    {
        if (defined('CMS_PAYMENT_REDIRECT_ON_FAILURE') && CMS_PAYMENT_REDIRECT_ON_FAILURE != '') {
            $oOrderStep = TdbShopOrderStep::GetStep(CMS_PAYMENT_REDIRECT_ON_FAILURE);
            if ($oOrderStep) {
                $oOrderStep->JumpToStep($oOrderStep);
            }
        }
    }
34469
public function getCurrentActionName()
    {
        return isset($this->action_names[$this->position]) ? $this->action_names[$this->position] : null;
    }
481639
public function getPayPalUrl()
    {
        $url = \OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('sPayPalUrl');
        if ($url) {
            $this->setPayPalUrl($url);
        }

        return $this->payPalUrl;
    }
445660
protected function GetShipToBillingAddress()
    {
        if (array_key_exists('bShipToBillingAddress', $this->aUserData)) {
            return $this->aUserData['bShipToBillingAddress'];
        }
        if (array_key_exists('shopstepuserdata_bShipToBillingAddress', $_SESSION)) {
            return $_SESSION['shopstepuserdata_bShipToBillingAddress'];
        } else {
            $oUser = self::getExtranetUserProvider()->getActiveUser();

            return $oUser->ShipToBillingAddress() ? (1) : (0);
        }
    }