Actualización

This commit is contained in:
Xes
2025-04-10 12:49:05 +02:00
parent 4aff98e77b
commit 1cdd00920f
9151 changed files with 1800913 additions and 0 deletions

View 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
View 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
View 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;