Необходимые функции:
1. У категорий курсов и самих курсов нужно добавить возможность управлять правами по стандартной ACL.
Т.е. по сути, некоторые курсы нужно скрыть в списке категории, доступ только одной группе пользователей.
Вот тут определяются права: есть три варианта -гости, зарегистрированные или тот кто является студентом курса( купил, зачислен на курс). Но такой доступ регулируется только уже внутри курса - доступ к контенту, а нужно чтобы доступ регулировался выше, на уровне списка категории, чтобы курс не выводился в списке вообще, если у пользователя не хватает прав.
for_all_students = true;
if(document.getElementById("step_access_courses").value == 1){ // for members
groups = document.getElementsByName("groups[]");
nr_checked_groups = 0;
for(var i=0; i<groups.length; i++){
group = groups[i];
if(group.checked){
nr_checked_groups ++;
}
}
if(nr_checked_groups > 0 && nr_checked_groups < groups.length){
for_all_students = false;
}
}
else if(document.getElementById("step_access_courses").value == 0){ // for students
for_all_students = false;
}
chb_free_courses = document.getElementById("chb_free_courses").checked;
step_access_courses = document.getElementById("step_access_courses").value;
course_type = document.getElementById("course_type").value;
if(chb_free_courses == true && step_access_courses == "2" && course_type == "1"){
alert("<?php echo JText::_("GURU_NOT_FREE_SEQUENTIAL_FOR_GUESTS"); ?>");
return false;
}
if(chb_free_courses == false || (chb_free_courses == true && !for_all_students) ){
// start if check if price is correct
k=0;
subscription_added = false;
while(eval(document.getElementById("subscription_price_"+k))){
if(document.getElementById("subscriptions_"+k).checked == true){
subscription_added = true;
subscription_price = document.getElementById("subscription_price_"+k).value;
if(subscription_price != ""){
if(!isFloat(subscription_price) || subscription_price <= 0){
alert("<?php echo JText::_("GURU_ALERT_INVALID_PRICE"); ?>");
return false;
}
}
else{
alert("<?php echo JText::_("GURU_ALERT_INVALID_PRICE"); ?>");
return false;
}
}
k++;
}
if(!subscription_added){
if(chb_free_courses == true){
alert("<?php echo JText::_("GURU_ALERT_ADD_PRICE_FOR_NO_GROUPS"); ?>");
return false;
}
else{
alert("<?php echo JText::_("GURU_ALERT_ADD_PRICE"); ?>");
return false;
}
}
2. Необходима возможность добавлять пользователей к курсам через админку, а так же удаление, что вроде бы там есть, но только по каждому пользователю отдельно (только удаление), нужно расширить функцию управления. Т.е. при редактировании курса можно посмотреть список учеников, а нужно там же, добавлять учеников из зарегистрированных пользователей и удалять их из курса.