Доработать доступ к курсам в компоненте Guru

  • 2 Ответов
  • 249 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

yaspis

  • **
  • 15
  • + 1 -
Необходимые функции:
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. Необходима возможность добавлять пользователей к курсам через админку, а так же удаление, что вроде бы там есть, но только по каждому пользователю отдельно (только удаление), нужно расширить функцию управления. Т.е. при редактировании курса можно посмотреть список учеников, а нужно там же, добавлять учеников из зарегистрированных пользователей и удалять их из курса.

*

robert

  • ********
  • 4002
  • + 371 -
Непонятно, зачем вы привели неполный кусок JS-скрипта. Лучше укажите порядок бюджета.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

yaspis

  • **
  • 15
  • + 1 -
Вопрос решен. Всем спасибо.