Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/plugin/advanced_subscription/test/ws_session_user.php

87 lines
2.3 KiB

<?php
/* For license terms, see /license.txt */
/**
* A script to test session details by user web service
* @package chamilo.plugin.advanced_subscription
*/
/**
* Init
*/
require_once __DIR__ . '/../config.php';
// Protect test
api_protect_admin_script();
// exit;
$plugin = AdvancedSubscriptionPlugin::create();
$hookPlugin = HookAdvancedSubscription::create();
// Get params from request (GET or POST)
$params = array();
// Init result array
$params['user_id'] = intval($_REQUEST['u']);
$params['user_field'] = 'drupal_user_id';
$params['session_id'] = intval($_REQUEST['s']);
$params['profile_completed'] = 100;
$params['is_connected'] = true;
/**
* Copied code from WSHelperVerifyKey function
*/
/**
* Start WSHelperVerifyKey
*/
//error_log(print_r($params,1));
$check_ip = false;
$ip = trim($_SERVER['REMOTE_ADDR']);
// if we are behind a reverse proxy, assume it will send the
// HTTP_X_FORWARDED_FOR header and use this IP instead
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
list($ip1, $ip2) = split(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = trim($ip1);
}
// Check if a file that limits access from webservices exists and contains
// the restraining check
if (is_file(api_get_path(WEB_CODE_PATH) .'webservices/webservice-auth-ip.conf.php')) {
include api_get_path(WEB_CODE_PATH).'webservices/webservice-auth-ip.conf.php';
if (!empty($ws_auth_ip)) {
$check_ip = true;
}
}
global $_configuration;
if ($check_ip) {
$security_key = $_configuration['security_key'];
} else {
$security_key = $ip.$_configuration['security_key'];
//error_log($secret_key.'-'.$security_key);
}
/**
* End WSHelperVerifyKey
*/
$params['secret_key'] = sha1($security_key);
// Registration soap wsdl
$wsUrl = api_get_path(WEB_CODE_PATH) . 'webservices/registration.soap.php?wsdl';
$options = array(
'location' => $wsUrl,
9 years ago
'uri' => $wsUrl
);
/**
* WS test
*/
try {
// Init soap client
$client = new SoapClient(null, $options);
// Soap call to WS
$result = $client->__soapCall('HookAdvancedSubscription..WSSessionGetDetailsByUser', array($params));
if (is_object($result) && isset($result->action_url)) {
echo '<br />';
echo Display::url("message" . $result->message, $result->action_url);
}
} catch (\Exception $e) {
var_dump($e);
}