View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
16695 | Bug reports | RemoteControl | public | 2020-09-24 20:55 | 2020-10-14 11:54 |
Reporter | gabrieljenik | Assigned To | gabrieljenik | ||
Priority | none | Severity | crash | ||
Status | closed | Resolution | fixed | ||
Product Version | 3.23.5 | ||||
Target Version | 3.x | ||||
Summary | 16695: JSON RPC Remote Control methods are not sent as expected to server | ||||
Description | When calling: `$client->call('get_session_key', ...)` the client calls the server method `call` which doesn't exist. jsonRCPClient magical method `__call()` makes `$method = 'call'` instead of `$method = 'get_session_key'` As jsonRpcClient is used as client->call($method, $params), then __call() is invoked with $method = 'call'. Strange this hasn't popup already. | ||||
Tags | No tags attached. | ||||
Complete LimeSurvey version number (& build) | 3.23.5 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database & DB-Version | Mysql | ||||
Server OS (if known) | |||||
Webserver software & version (if known) | |||||
PHP Version | 7 | ||||
https://github.com/LimeSurvey/LimeSurvey/commit/ddde6a413a4635b41f298fb7e3b25e8adc7b1d2c#commitcomment-42694437 | |
This only happens on v3. V4 is fine (https://github.com/LimeSurvey/LimeSurvey/blob/master/application/libraries/jsonRPCClient.php) |
|
https://github.com/LimeSurvey/LimeSurvey/pull/1603/ | |
> This only happens on v3. When ? If you use the client of LimeSUrvey ?. I don't understand the way to reproduce. |
|
PS : i use weberhofer/jsonrpcphp without any issue since years now … > When calling: $client->call('get_session_key', ...) the client calls the server method call which doesn't exist. Where ? Who ?. What code ? Maybe this code is broken : we don't have to `$client->call('get_session_key', ...) `, the good way is `$sessionKey= $myJSONRPCClient->get_session_key( LS_USER, LS_PASSWORD );` No need ->call … |
|
For repducing this: Run the remotecontrol::test() under application/controllers/admin/remotecontrol.php | |
The bug are inside the function not in Class ` $client->call('get_session_key', array('admin', 'password'));` must be replaced by `$client->get_session_key( LS_USER, LS_PASSWORD );` ` $client->call('import_survey', array($sSessionKey, $sLSSData, 'lss', 'Test import by JSON_RPC'));` must be replaced by `$client->import_survey( $sSessionKey, $sLSSData, 'lss', 'Test import by JSON_RPC' );` ……… Follow mùanual advice |
|
Fix committed to 3.x-LTS branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=30574 | |
Fixed in Release 3.24.1+201014 | |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-09-24 20:55 | gabrieljenik | New Issue | |
2020-09-24 20:55 | gabrieljenik | Status | new => assigned |
2020-09-24 20:55 | gabrieljenik | Assigned To | => gabrieljenik |
2020-09-24 20:55 | gabrieljenik | Note Added: 59948 | |
2020-09-24 21:19 | gabrieljenik | Note Added: 59949 | |
2020-09-24 21:20 | gabrieljenik | Note Added: 59950 | |
2020-09-25 15:27 | DenisChenu | Note Added: 59961 | |
2020-09-25 17:42 | DenisChenu | Note Added: 59963 | |
2020-09-25 17:44 | gabrieljenik | Note Added: 59964 | |
2020-09-25 18:15 | DenisChenu | Note Added: 59965 | |
2020-10-12 22:16 | gabrieljenik | Changeset attached | => LimeSurvey 3.x-LTS 5e66549e |
2020-10-12 22:16 | gabrieljenik | Note Added: 60162 | |
2020-10-12 22:16 | gabrieljenik | Resolution | open => fixed |
2020-10-14 11:54 | lime_release_bot | Note Added: 60201 | |
2020-10-14 11:54 | lime_release_bot | Status | assigned => closed |