|
@@ -19,44 +19,141 @@ if (api_get_setting('allow_skills_tool') != 'true') {
|
|
|
api_not_allowed();
|
|
|
}
|
|
|
|
|
|
-$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',
|
|
|
- 'certificate',
|
|
|
- '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');
|
|
|
+$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',
|
|
|
+ 'certificate',
|
|
|
+ '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;
|
|
|
+}
|