Come creare un unica funzione WebService

Come creare un unica funzione WebService

di Antonio Barone -
Numero di risposte: 3

Salve, io ho creato 2 funzioni per il webservice; una funzione iscrive l'utente a moodle e un altra funzione iscrive l'utente al corso; ora vorrei unire queste due funzioni in un unico file; come posso fare? 

<?php

$token = 'f4e2932b2969768c4a9de692b86c40e4';

$domainname = 'http://192.168.1.3/testbarone/moodle';

$functionname = 'core_user_create_users';

$restformat = 'json';



$user1 = new stdClass();

$user1->username = 'prova4';

$user1->password = 'Admin@2015';

$user1->firstname = 'Prova2';

$user1->lastname = 'Primo2';

$user1->email = 'provaprimo30@live.it';



$users = array($user1);

$params = array('users' => $users);



header('Content-Type: text/plain');

$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname;

require_once('./curl.php');

$curl = new curl;


$restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat:'';

$resp = $curl->post($serverurl . $restformat, $params);

print_r($resp);


?>





<?php

$token = 'f4e2932b2969768c4a9de692b86c40e4';

$domainname = 'http://192.168.1.3/testbarone/moodle';

$functionname = 'enrol_manual_enrol_users';

$restformat = 'json';



 $enrolment = new stdClass();

    $enrolment->roleid = 5; 

    $enrolment->userid = 35;

    $enrolment->courseid = 5; 

    $enrolments = array( $enrolment);

    $params = array('enrolments' => $enrolments);

//print_r($params);




$serverurl = $domainname . '/webservice/rest/server.php'. '?wstoken=' . $token . '&wsfunction='.$functionname;

    require_once('./curl.php');

    $curl = new curl;

    //if rest format == 'xml', then we do not add the param for backward compatibility with Moodle < 2.2

    $restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat:'';

    $resp = $curl->post($serverurl . $restformat, $params);

    print_r($resp);

?>


 


Media dei voti:  -
In riposta a Antonio Barone

Re: Come creare un unica funzione WebService

di Matteo Scaramuccia -

Ciao Antonio,
semplicemente rimuovendo:

print_r($resp);


?>





<?php

$token = 'f4e2932b2969768c4a9de692b86c40e4';

$domainname = 'http://192.168.1.3/testbarone/moodle';

se trascuri l'eventualità che la core_user_create_users possa fallire.

HTH,
Matteo

P.S.: solo ora mi accorgo che hai risolto da solo quanto richiedevi in https://moodle.org/mod/forum/discuss.php?d=325641#p1309064 e su cui ti ho risposto poco fa. Ti chiedo la cortesia, la prossima volta, di riportare nel thread relativo che hai risolto da solo, grazie in anticipo.

In riposta a Matteo Scaramuccia

Re: Come creare un unica funzione WebService

di Antonio Barone -

Ciao Matteo, ti ringrazio per avermi risposto;  quello che volevo fare io è inserire in un unico file .php le due funzioni: core_user_create_users, enrol_manual_enrol_users; in allegato i due script delle funzioni; riesci a generarmi un unico file per poi eseguire?

In riposta a Antonio Barone

Re: Come creare un unica funzione WebService

di Matteo Scaramuccia -

Ciao Antonio,
appunto, quello che ti suggerivo io qui è di prendere tutto il "testo" di ciascuno dei due file e lo copi uno per uno in un nuovo terzo file, eliminando però quanto indicato sopra: otterrai così un unico file.

HTH,
Matteo