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.
		
		
		
		
		
			
		
			
				
					
					
						
							159 lines
						
					
					
						
							4.4 KiB
						
					
					
				
			
		
		
	
	
							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;
 | 
						|
}
 | 
						|
 |