public function call() {
	    if (!$this->hasRequestParameter('ltiConsumerUri')) {
	        throw new common_exception_MissingParameter('ltiConsumerUri', get_class($this));
	    }
		if (!$this->hasRequestParameter('ltiLaunchUrl')) {
	        throw new common_exception_MissingParameter('ltiLaunchUrl', get_class($this));
	    }
	    $ltiConsumer = new tao_models_classes_oauth_Credentials($this->getRequestParameter('ltiConsumerUri'));
	    $launchUrl =  $this->getRequestParameter('ltiLaunchUrl');
	    
	    $serviceCallId = $this->getServiceCallId().'_c';
	    
	    $session = common_session_SessionManager::getSession();
	    
	    $roles = array();
	    foreach ($session->getUserRoles() as $role) {
	        foreach (LtiUtils::mapTaoRole2LTIRoles($role) as $ltiRole) {
	            $roles[] = $ltiRole;
	        }
	    }
	    
	    $ltiData = array(
	        'lti_message_type' => 'basic-lti-launch-request',
	        'lti_version' => 'LTI-1p0',
	        
	        'resource_link_id' => rand(0, 9999999),
	        'resource_link_title' => 'Launch Title',
	        'resource_link_label' => 'Launch label',
	        
	        'context_id' => $serviceCallId,
	        'context_title' => 'Launch Title',
	        'context_label' => 'Launch label',
	        
	        'user_id' => $session->getUserUri(),
	        'roles' => implode(',',$roles),
	        'lis_person_name_full' => $session->getUserLabel(),
	        
	        'tool_consumer_info_product_family_code' => PRODUCT_NAME,
	        'tool_consumer_info_version' => TAO_VERSION
        );
	    
	    // @todo add:
	    /*
	    user_id:
	    roles:
	    
	    lis_person_name_full:
	    lis_person_name_family:
	    lis_person_name_given:
	    lis_person_contact_email_primary:
	    lis_person_sourcedid:
	    
	    tool_consumer_info_product_family_code:
	    tool_consumer_info_version:
	    tool_consumer_instance_guid:
	    tool_consumer_instance_description:
	    */
	    $request = new common_http_Request($launchUrl, common_http_Request::METHOD_POST, $ltiData);
	    $service = new tao_models_classes_oauth_Service();
	    $signedRequest = $service->sign($request, $ltiConsumer);
	    
	    $this->setData('launchUrl', $launchUrl);
	    $this->setData('ltiData', $signedRequest->getParams());
            $this->setData('client_config_url', $this->getClientConfigUrl());
	    $this->setView('ltiConsumer.tpl');
	}
public function call() {
	    if (!$this->hasRequestParameter('ltiConsumerUri')) {
	        throw new common_exception_MissingParameter('ltiConsumerUri', get_class($this));
	    }
		if (!$this->hasRequestParameter('ltiLaunchUrl')) {
	        throw new common_exception_MissingParameter('ltiLaunchUrl', get_class($this));
	    }
	    $ltiConsumer = new tao_models_classes_oauth_Credentials($this->getRequestParameter('ltiConsumerUri'));
	    $launchUrl =  $this->getRequestParameter('ltiLaunchUrl');
	    
	    $serviceCallId = $this->getServiceCallId().'_c';
	    
	    $session = common_session_SessionManager::getSession();
	    
	    $roles = array();
	    foreach ($session->getUserRoles() as $role) {
	        foreach (LtiUtils::mapTaoRole2LTIRoles($role) as $ltiRole) {
	            $roles[] = $ltiRole;
	        }
	    }
	    
	    $ltiData = array(
	        'lti_message_type' => 'basic-lti-launch-request',
	        'lti_version' => 'LTI-1p0',
	        
	        'resource_link_id' => rand(0, 9999999),
	        'resource_link_title' => 'Launch Title',
	        'resource_link_label' => 'Launch label',
	        
	        'context_id' => $serviceCallId,
	        'context_title' => 'Launch Title',
	        'context_label' => 'Launch label',
	        
	        'user_id' => $session->getUserUri(),
	        'roles' => implode(',',$roles),
	        'lis_person_name_full' => $session->getUserLabel(),
	        
	        'tool_consumer_info_product_family_code' => PRODUCT_NAME,
	        'tool_consumer_info_version' => TAO_VERSION
        );
	    
	    // @todo add:
	    /*
	    user_id:
	    roles:
	    
	    lis_person_name_full:
	    lis_person_name_family:
	    lis_person_name_given:
	    lis_person_contact_email_primary:
	    lis_person_sourcedid:
	    
	    tool_consumer_info_product_family_code:
	    tool_consumer_info_version:
	    tool_consumer_instance_guid:
	    tool_consumer_instance_description:
	    */
	    $request = new common_http_Request($launchUrl, common_http_Request::METHOD_POST, $ltiData);
	    $service = new tao_models_classes_oauth_Service();
	    $signedRequest = $service->sign($request, $ltiConsumer);
	    
	    $this->setData('launchUrl', $launchUrl);
	    $this->setData('ltiData', $signedRequest->getParams());
            $this->setData('client_config_url', $this->getClientConfigUrl());
	    $this->setView('ltiConsumer.tpl');
	}
public function call ( ) { if ( ! $ this -> hasRequestParameter ( 'ltiConsumerUri' ) ) { throw new common_exception_MissingParameter ( 'ltiConsumerUri' , get_class ( $ this ) ) ; } if ( ! $ this -> hasRequestParameter ( 'ltiLaunchUrl' ) ) { throw new common_exception_MissingParameter ( 'ltiLaunchUrl' , get_class ( $ this ) ) ; } $ ltiConsumer = new tao_models_classes_oauth_Credentials ( $ this -> getRequestParameter ( 'ltiConsumerUri' ) ) ; $ launchUrl = $ this -> getRequestParameter ( 'ltiLaunchUrl' ) ; $ serviceCallId = $ this -> getServiceCallId ( ) . '_c' ; $ session = common_session_SessionManager :: getSession ( ) ; $ roles = array ( ) ; foreach ( $ session -> getUserRoles ( ) as $ role ) { foreach ( LtiUtils :: mapTaoRole2LTIRoles ( $ role ) as $ ltiRole ) { $ roles [ ] = $ ltiRole ; } } $ ltiData = array ( 'lti_message_type' => 'basic-lti-launch-request' , 'lti_version' => 'LTI-1p0' , 'resource_link_id' => rand ( 0 , 9999999 ) , 'resource_link_title' => 'Launch Title' , 'resource_link_label' => 'Launch label' , 'context_id' => $ serviceCallId , 'context_title' => 'Launch Title' , 'context_label' => 'Launch label' , 'user_id' => $ session -> getUserUri ( ) , 'roles' => implode ( ',' , $ roles ) , 'lis_person_name_full' => $ session -> getUserLabel ( ) , 'tool_consumer_info_product_family_code' => PRODUCT_NAME , 'tool_consumer_info_version' => TAO_VERSION ) ; // @todo add: /*
	    user_id:
	    roles:
	    
	    lis_person_name_full:
	    lis_person_name_family:
	    lis_person_name_given:
	    lis_person_contact_email_primary:
	    lis_person_sourcedid:
	    
	    tool_consumer_info_product_family_code:
	    tool_consumer_info_version:
	    tool_consumer_instance_guid:
	    tool_consumer_instance_description:
	    */ $ request = new common_http_Request ( $ launchUrl , common_http_Request :: METHOD_POST , $ ltiData ) ; $ service = new tao_models_classes_oauth_Service ( ) ; $ signedRequest = $ service -> sign ( $ request , $ ltiConsumer ) ; $ this -> setData ( 'launchUrl' , $ launchUrl ) ; $ this -> setData ( 'ltiData' , $ signedRequest -> getParams ( ) ) ; $ this -> setData ( 'client_config_url' , $ this -> getClientConfigUrl ( ) ) ; $ this -> setView ( 'ltiConsumer.tpl' ) ; }
Launches a oauth tool
@throws common_exception_Error
@throws common_exception_MissingParameter
Launches a oauth tool