upgrade
This commit is contained in:
43
main/lp/js/HOWTO-storageapi
Normal file
43
main/lp/js/HOWTO-storageapi
Normal file
@@ -0,0 +1,43 @@
|
||||
HOWTO use Storage API in your content.
|
||||
|
||||
Include the following JavaScript function in your content:
|
||||
--------------------javascript code--------------------
|
||||
function FindSTAPI(win) {
|
||||
var g_nFindAPITries = 0;
|
||||
while ((win.STAPI == null) && (win.parent != null) && (win.parent != win)) {
|
||||
g_nFindAPITries ++;
|
||||
if (g_nFindAPITries > 500) {
|
||||
return null;
|
||||
}
|
||||
win = win.parent;
|
||||
}
|
||||
return win.STAPI;
|
||||
}
|
||||
--------------------javascript code--------------------
|
||||
|
||||
This function returns a facade object which has the following methods :
|
||||
|
||||
- testCall(message) : outputs message in an alertbox, you can use it to make sure the API is reachable
|
||||
- getAllUsers : get a list of users info (user ids, usernames, firstnames, lastnames)
|
||||
|
||||
Basic storage:
|
||||
- setValue(sv_key, sv_value): set the given value for the given key for the current user
|
||||
- getValue(sv_key): get the value stored for the key sv_key for the current user
|
||||
- getAll(): get all stored key/values pair for the current user
|
||||
|
||||
Stack storage (you can store a stack of values instead of a single value for each key):
|
||||
- stack_push(sv_key, sv_value): push a new value in the stack for sv_key for the current user
|
||||
- stack_pop(sv_key): pop the most recently pushed value from the sv_key stack for the current user
|
||||
- stack_length(sv_key): get the number of stacked values for the key sv_key for the current user
|
||||
- stack_clear(sv_key): erase all values from the storage stack for the key sv_key for the current user
|
||||
- stack_getAll(sv_key): get all values from the storage stack for the key sv_key for the current user
|
||||
|
||||
These storage values have superuser counterparts which allow platform administrators to alter values for any user :
|
||||
- setValue_user(sv_key, sv_value, user_id)
|
||||
- getValue(sv_key, user_id)
|
||||
- getAll(user_id)
|
||||
- stack_push(sv_key, sv_value, user_id)
|
||||
- stack_pop(sv_key, sv_value, user_id)
|
||||
- stack_length(sv_key, user_id)
|
||||
- stack_clear(sv_key, user_id)
|
||||
- stack_getAll(sv_key, user_id)
|
||||
28
main/lp/js/documentapi.js
Normal file
28
main/lp/js/documentapi.js
Normal file
@@ -0,0 +1,28 @@
|
||||
// JS interface enabling scorm content to use main/document/remote.php easily
|
||||
// CBlue SPRL, Arnaud Ligot <arnaud@cblue.be>
|
||||
|
||||
|
||||
lms_documents_list = function(path) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
datatype: "json",
|
||||
url: "../document/remote.php",
|
||||
data: {
|
||||
action: "list",
|
||||
cwd: path,
|
||||
cidReq: chamilo_courseCode,
|
||||
},
|
||||
success: function(data) {
|
||||
result = eval("("+data+")");
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
// Accessor object
|
||||
function DOCUMENTAPIobject() {
|
||||
this.list = lms_documents_list;
|
||||
}
|
||||
var DOCUMENTAPI = new DOCUMENTAPIobject();
|
||||
302
main/lp/js/storageapi.js
Normal file
302
main/lp/js/storageapi.js
Normal file
@@ -0,0 +1,302 @@
|
||||
// Storage API
|
||||
// JavaScript API
|
||||
// CBlue SPRL, Jean-Karim Bockstael <jeankarim@cblue.be>
|
||||
|
||||
|
||||
lms_storage_testCall = function(content) {
|
||||
alert(content);
|
||||
}
|
||||
|
||||
lms_storage_setValue_user = function(sv_key, sv_value, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "set",
|
||||
svkey: sv_key,
|
||||
svvalue: sv_value,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = (data != '0');
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_getValue_user = function(sv_key, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "get",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_getPosition_user = function(sv_key, sv_user, sv_asc) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "getposition",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco,
|
||||
svasc: sv_asc
|
||||
},
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_getLeaders_user = function(sv_key, sv_user, sv_asc, sv_length) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "getleaders",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco,
|
||||
svasc: sv_asc,
|
||||
svlength: sv_length
|
||||
},
|
||||
success: function(data) {
|
||||
result = eval("("+data+")");
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
lms_storage_getAll_user = function(sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "getall",
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = eval("("+data+")");
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_stack_push_user = function(sv_key, sv_value, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "stackpush",
|
||||
svvalue: sv_value,
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = (data != '0');
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_stack_pop_user = function(sv_key, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "stackpop",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_stack_length_user = function(sv_key, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "stacklength",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_stack_clear_user = function(sv_key, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "stackclear",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = data;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_stack_getAll_user = function(sv_key, sv_user) {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "stackgetall",
|
||||
svkey: sv_key,
|
||||
svuser: sv_user,
|
||||
svcourse: sv_course,
|
||||
svsco: sv_sco
|
||||
},
|
||||
success: function(data) {
|
||||
result = eval("("+data+")");
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_getAllUsers = function() {
|
||||
var result;
|
||||
$.ajax({
|
||||
async: false,
|
||||
type: "POST",
|
||||
url: "storageapi.php",
|
||||
data: {
|
||||
action: "usersgetall"
|
||||
},
|
||||
success: function(data) {
|
||||
result = eval("("+data+")");
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
lms_storage_setValue = function(sv_key, sv_value) {
|
||||
return lms_storage_setValue_user(sv_key, sv_value, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_getValue = function(sv_key) {
|
||||
return lms_storage_getValue_user(sv_key, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_getPosition = function(sv_key, sv_asc) {
|
||||
return lms_storage_getPosition_user(sv_key, sv_user, sv_asc);
|
||||
}
|
||||
|
||||
lms_storage_getLeaders = function(sv_key, sv_asc, sv_length) {
|
||||
return lms_storage_getLeaders_user(sv_key, sv_user, sv_asc, sv_length);
|
||||
}
|
||||
|
||||
lms_storage_getAll = function() {
|
||||
return lms_storage_getAll_user(sv_user);
|
||||
}
|
||||
|
||||
lms_storage_stack_push = function(sv_key, sv_value) {
|
||||
return lms_storage_stack_push_user(sv_key, sv_value, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_stack_pop = function(sv_key) {
|
||||
return lms_storage_stack_pop(sv_key, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_stack_length = function(sv_key) {
|
||||
return lms_storage_stack_length_user(sv_key, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_stack_clear = function(sv_key) {
|
||||
return lms_storage_stack_clear_user(sv_key, sv_user);
|
||||
}
|
||||
|
||||
lms_storage_stack_getAll = function(sv_key) {
|
||||
return lms_storage_stack_getAll_user(sv_key, sv_user);
|
||||
}
|
||||
|
||||
|
||||
// Accessor object
|
||||
function STORAGEAPIobject() {
|
||||
this.testCall = lms_storage_testCall;
|
||||
this.setValue = lms_storage_setValue;
|
||||
this.setValue_user = lms_storage_setValue_user;
|
||||
this.getValue = lms_storage_getValue;
|
||||
this.getValue_user = lms_storage_getValue_user;
|
||||
this.getAll = lms_storage_getAll;
|
||||
this.getAll_user = lms_storage_getAll_user;
|
||||
this.getPosition_user = lms_storage_getPosition_user;
|
||||
this.getPosition = lms_storage_getPosition;
|
||||
this.getLeaders_user = lms_storage_getLeaders_user;
|
||||
this.getLeaders = lms_storage_getLeaders;
|
||||
this.stack_push = lms_storage_stack_push;
|
||||
this.stack_push_user = lms_storage_stack_push_user;
|
||||
this.stack_pop = lms_storage_stack_pop;
|
||||
this.stack_pop_user = lms_storage_stack_pop_user;
|
||||
this.stack_length = lms_storage_stack_length;
|
||||
this.stack_length_user = lms_storage_stack_length_user;
|
||||
this.stack_clear = lms_storage_stack_clear;
|
||||
this.stack_clear_user = lms_storage_stack_clear_user;
|
||||
this.stack_getAll = lms_storage_stack_getAll;
|
||||
this.stack_getAll_user = lms_storage_stack_getAll_user;
|
||||
this.getAllUsers = lms_storage_getAllUsers;
|
||||
this.sv_user = sv_user;
|
||||
this.sv_course = sv_course;
|
||||
this.sv_sco = sv_sco;
|
||||
}
|
||||
var STORAGEAPI = new STORAGEAPIobject();
|
||||
var STAPI = STORAGEAPI;
|
||||
Reference in New Issue
Block a user