Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/admin/skill_list.php

159 lines
4.4 KiB

<?php
/* For licensing terms, see /license.txt */
/**
* Skill list for management
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
* @package chamilo.admin
*/
use ChamiloSession as Session;
$cidReset = true;
require_once '../inc/global.inc.php';
$this_section = SECTION_PLATFORM_ADMIN;
api_protect_admin_script();
if (api_get_setting('allow_skills_tool') != 'true') {
api_not_allowed();
}
$action = isset($_GET['action']) ? $_GET['action'] : 'list';
$skillId = isset($_GET['id']) ? intval($_GET['id']): 0;
$entityManager = Database::getManager();
switch ($action) {
case 'enable':
$skill = $entityManager->find('ChamiloCoreBundle:Skill', $skillId);
if (is_null($skill)) {
Display::addFlash(
Display::return_message(
get_lang('SkillNotFound'),
'error'
)
);
} else {
$updatedAt = new DateTime(
api_get_utc_datetime(),
new DateTimeZone(_api_get_timezone())
);
$skill->setStatus(1);
$skill->setUpdatedAt($updatedAt);
$entityManager->persist($skill);
$entityManager->flush();
Display::addFlash(
Display::return_message(
sprintf(get_lang('SkillXEnabled'), $skill->getName()),
'success'
)
);
}
header('Location: ' . api_get_self());
exit;
break;
case 'disable':
$skill = $entityManager->find('ChamiloCoreBundle:Skill', $skillId);
if (is_null($skill)) {
Display::addFlash(
Display::return_message(
get_lang('SkillNotFound'),
'error'
)
);
} else {
$updatedAt = new DateTime(
api_get_utc_datetime(),
new DateTimeZone(_api_get_timezone())
);
$skill->setStatus(0);
$skill->setUpdatedAt($updatedAt);
$entityManager->persist($skill);
$skillObj = new Skill();
$childrens = $skillObj->get_children($skill->getId());
foreach ($childrens as $children) {
$skill = $entityManager->find(
'ChamiloCoreBundle:Skill',
$children['id']
);
if (empty($skill)) {
continue;
}
$skill->setStatus(0);
$skill->setUpdatedAt($updatedAt);
$entityManager->persist($skill);
}
$entityManager->flush();
Display::addFlash(
Display::return_message(
sprintf(get_lang('SkillXDisabled'), $skill->getName()),
'success'
)
);
}
header('Location: ' . api_get_self());
exit;
break;
case 'list':
//no break
default:
$interbreadcrumb[] = array ("url" => 'index.php', "name" => get_lang('PlatformAdmin'));
$message = Session::has('message') ? Session::read('message') : null;
$toolbar = Display::toolbarButton(
get_lang('CreateSkill'),
api_get_path(WEB_CODE_PATH) . 'admin/skill_create.php',
'plus',
'success',
['title' => get_lang('CreateSkill')]
);
$toolbar .= Display::toolbarButton(
get_lang('SkillsWheel'),
api_get_path(WEB_CODE_PATH) . 'admin/skills_wheel.php',
'bullseye',
'primary',
['title' => get_lang('CreateSkill')]
);
$toolbar .= Display::toolbarButton(
get_lang('BadgesManagement'),
api_get_path(WEB_CODE_PATH) . 'admin/skill_badge_list.php',
'shield',
'warning',
['title' => get_lang('BadgesManagement')]
);
/* View */
$skill = new Skill();
$skillList = $skill->get_all();
$tpl = new Template(get_lang('ManageSkills'));
$tpl->assign('message', $message);
$tpl->assign('skills', $skillList);
$content = $tpl->fetch('default/skill/list.tpl');
$tpl->assign('actions', $toolbar);
$tpl->assign('content', $content);
$tpl->display_one_col_template();
Session::erase('message');
break;
}