From 20a97b75acf389e0350f6816742f9bc559a977e1 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Tue, 5 Dec 2017 14:36:00 +0100 Subject: [PATCH] Update skills changes from 1.11.x --- main/admin/skill_badge.php | 2 +- main/admin/skill_badge_create.php | 2 +- main/admin/skill_badge_list.php | 2 +- main/admin/skill_create.php | 2 +- main/admin/skill_edit.php | 2 +- main/admin/skill_list.php | 2 +- main/admin/skills.php | 2 +- main/admin/skills_gradebook.php | 2 +- main/admin/skills_profile.php | 2 +- main/admin/skills_wheel.php | 2 +- main/admin/user_information.php | 4 +- main/badge/issued.php | 2 +- main/badge/issued_all.php | 2 +- main/gradebook/get_badges.php | 2 +- main/inc/ajax/skill.ajax.php | 2 +- main/inc/lib/course.lib.php | 2 +- main/inc/lib/skill.lib.php | 309 ++++++++++++------ main/inc/lib/social.lib.php | 2 +- main/inc/lib/tracking.lib.php | 2 +- main/inc/lib/userportal.lib.php | 2 +- main/social/my_skills_report.php | 36 +- main/social/skills_ranking.php | 2 +- main/social/skills_tree.php | 2 +- main/social/skills_wheel.php | 2 +- main/template/rainbow/skill/drh_report.tpl | 84 ++--- .../rainbow/skill/student_boss_report.tpl | 44 +-- .../template/rainbow/skill/student_report.tpl | 152 +++++++-- 27 files changed, 452 insertions(+), 219 deletions(-) diff --git a/main/admin/skill_badge.php b/main/admin/skill_badge.php index 52754435ac..f6137a7d0f 100644 --- a/main/admin/skill_badge.php +++ b/main/admin/skill_badge.php @@ -12,7 +12,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $backpack = 'https://backpack.openbadges.org/'; diff --git a/main/admin/skill_badge_create.php b/main/admin/skill_badge_create.php index 9f2443fb61..335bd1229a 100644 --- a/main/admin/skill_badge_create.php +++ b/main/admin/skill_badge_create.php @@ -14,7 +14,7 @@ $cidReset = true; require_once __DIR__.'/../inc/global.inc.php'; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $this_section = SECTION_PLATFORM_ADMIN; diff --git a/main/admin/skill_badge_list.php b/main/admin/skill_badge_list.php index d1e89ea578..edeb5d513e 100644 --- a/main/admin/skill_badge_list.php +++ b/main/admin/skill_badge_list.php @@ -14,7 +14,7 @@ $cidReset = true; require_once __DIR__.'/../inc/global.inc.php'; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $this_section = SECTION_PLATFORM_ADMIN; diff --git a/main/admin/skill_create.php b/main/admin/skill_create.php index 86aea5feea..4c3390a4aa 100644 --- a/main/admin/skill_create.php +++ b/main/admin/skill_create.php @@ -16,7 +16,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $interbreadcrumb[] = array("url" => 'index.php', "name" => get_lang('PlatformAdmin')); $interbreadcrumb[] = array('url' => 'skill_list.php', 'name' => get_lang('ManageSkills')); diff --git a/main/admin/skill_edit.php b/main/admin/skill_edit.php index cf64d6721f..8c58205be7 100644 --- a/main/admin/skill_edit.php +++ b/main/admin/skill_edit.php @@ -16,7 +16,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $interbreadcrumb[] = array("url" => 'index.php', "name" => get_lang('PlatformAdmin')); $interbreadcrumb[] = array('url' => 'skill_list.php', 'name' => get_lang('ManageSkills')); diff --git a/main/admin/skill_list.php b/main/admin/skill_list.php index 5e1659eccf..59e465f7f5 100644 --- a/main/admin/skill_list.php +++ b/main/admin/skill_list.php @@ -14,7 +14,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $action = isset($_GET['action']) ? $_GET['action'] : 'list'; $skillId = isset($_GET['id']) ? intval($_GET['id']) : 0; diff --git a/main/admin/skills.php b/main/admin/skills.php index b4cf59b013..2ccad4c5ba 100755 --- a/main/admin/skills.php +++ b/main/admin/skills.php @@ -11,7 +11,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); //Adds the JS needed to use the jqgrid $htmlHeadXtra[] = api_get_js('jquery.jsPlumb.all.js'); diff --git a/main/admin/skills_gradebook.php b/main/admin/skills_gradebook.php index 5cb54fe911..16003cb16f 100755 --- a/main/admin/skills_gradebook.php +++ b/main/admin/skills_gradebook.php @@ -11,7 +11,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); //Adds the JS needed to use the jqgrid $htmlHeadXtra[] = api_get_jqgrid_js(); diff --git a/main/admin/skills_profile.php b/main/admin/skills_profile.php index ba6226bebf..f1297a5bc5 100755 --- a/main/admin/skills_profile.php +++ b/main/admin/skills_profile.php @@ -12,7 +12,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(); -Skill::isAllow(); +Skill::isAllowed(); $interbreadcrumb[] = array( 'url' => 'index.php', diff --git a/main/admin/skills_wheel.php b/main/admin/skills_wheel.php index a0529e4585..df1b9fe674 100755 --- a/main/admin/skills_wheel.php +++ b/main/admin/skills_wheel.php @@ -11,7 +11,7 @@ require_once __DIR__.'/../inc/global.inc.php'; $this_section = SECTION_PLATFORM_ADMIN; api_protect_admin_script(false, true); -Skill::isAllow(); +Skill::isAllowed(); //Adds the JS needed to use the jqgrid $htmlHeadXtra[] = api_get_js('d3/d3.v3.5.4.min.js'); diff --git a/main/admin/user_information.php b/main/admin/user_information.php index 0339968113..13d5e2a48f 100755 --- a/main/admin/user_information.php +++ b/main/admin/user_information.php @@ -109,7 +109,7 @@ if (api_is_platform_admin()) { api_get_path(WEB_CODE_PATH).'admin/add_drh_to_user.php?u='.$userId ); - if (Skill::isAllow($userId, false)) { + if (Skill::isAllowed($userId, false)) { $actions[] = Display::url( Display::return_icon( 'skill-badges.png', @@ -529,7 +529,7 @@ if (isset($_GET['action'])) { */ // ofaj LegalManager::sendLegal($userId); - + break; case 'delete_legal': // ofaj diff --git a/main/badge/issued.php b/main/badge/issued.php index d060205217..d459adc099 100644 --- a/main/badge/issued.php +++ b/main/badge/issued.php @@ -46,7 +46,7 @@ if (!$user || !$skill) { exit; } -Skill::isAllow($user->getId()); +Skill::isAllowed($user->getId()); $userInfo = [ 'id' => $user->getId(), diff --git a/main/badge/issued_all.php b/main/badge/issued_all.php index 99447e6a40..d2980c1dd0 100644 --- a/main/badge/issued_all.php +++ b/main/badge/issued_all.php @@ -20,7 +20,7 @@ if (!$userId || !$skillId) { api_not_allowed(true); } -Skill::isAllow($userId); +Skill::isAllowed($userId); $em = Database::getManager(); $user = $em->find('ChamiloUserBundle:User', $userId); diff --git a/main/gradebook/get_badges.php b/main/gradebook/get_badges.php index 8a6c7c6da3..48814e9eeb 100644 --- a/main/gradebook/get_badges.php +++ b/main/gradebook/get_badges.php @@ -15,7 +15,7 @@ if (empty($userId)) { api_not_allowed(true); } -Skill::isAllow($userId); +Skill::isAllowed($userId); $courseId = api_get_course_int_id(); $sessionId = api_get_session_id(); diff --git a/main/inc/ajax/skill.ajax.php b/main/inc/ajax/skill.ajax.php index 6be80e0276..6569b49347 100755 --- a/main/inc/ajax/skill.ajax.php +++ b/main/inc/ajax/skill.ajax.php @@ -10,7 +10,7 @@ $action = isset($_REQUEST['a']) ? $_REQUEST['a'] : null; api_block_anonymous_users(); -Skill::isAllow(api_get_user_id()); +Skill::isAllowed(api_get_user_id()); $skill = new Skill(); $gradebook = new Gradebook(); diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 4f95778278..2921b3ab3d 100755 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -4368,7 +4368,7 @@ class CourseManager 'session_category_id' => $session_category_id ); - if (Skill::isAllow($user_id, false)) { + if (Skill::isAllowed($user_id, false)) { $em = Database::getManager(); $objUser = $em->find('ChamiloUserBundle:User', $user_id); $objCourse = $em->find('ChamiloCoreBundle:Course', $course['real_id']); diff --git a/main/inc/lib/skill.lib.php b/main/inc/lib/skill.lib.php index 07c45d83b9..2955d1af58 100755 --- a/main/inc/lib/skill.lib.php +++ b/main/inc/lib/skill.lib.php @@ -3,6 +3,8 @@ use Chamilo\UserBundle\Entity\User; use Chamilo\UserBundle\Entity\Repository\UserRepository; +use Fhaculty\Graph\Vertex; +use Fhaculty\Graph\Graph; use Chamilo\CoreBundle\Component\Utils\ChamiloApi; /** @@ -98,7 +100,7 @@ class SkillProfile extends Model Database::delete( $this->table_rel_profile, array( - 'profile_id' => $id + 'profile_id' => $id, ) ); @@ -201,7 +203,7 @@ class SkillRelSkill extends Model */ public function getSkillParents($skill_id, $add_child_info = true) { - $skill_id = (int) $skill_id; + $skill_id = intval($skill_id); $sql = 'SELECT child.* FROM '.$this->table.' child LEFT JOIN '.$this->table.' parent ON child.parent_id = parent.skill_id @@ -223,15 +225,15 @@ class SkillRelSkill extends Model } /** - * @param int $skill_id + * @param int $skillId * @return array */ - public function getDirectParents($skill_id) + public function getDirectParents($skillId) { - $skill_id = intval($skill_id); + $skillId = (int) $skillId; $sql = 'SELECT parent_id as skill_id FROM '.$this->table.' - WHERE skill_id = '.$skill_id.' '; + WHERE skill_id = '.$skillId.' '; $result = Database::query($sql); $skill = Database::store_result($result, 'ASSOC'); $skill = isset($skill[0]) ? $skill[0] : null; @@ -256,7 +258,7 @@ class SkillRelSkill extends Model $order = '' ) { $skill_id = (int) $skill_id; - $sql = 'SELECT skill.* FROM '.$this->tableSkill.' skill + $sql = 'SELECT parent.* FROM '.$this->tableSkill.' skill INNER JOIN '.$this->table.' parent ON parent.id = skill.id WHERE parent_id = '.$skill_id.' @@ -277,11 +279,11 @@ class SkillRelSkill extends Model if (!empty($skills)) { foreach ($skills as &$skill) { - $skill['data'] = $skill_obj->get($skill['id']); + $skill['data'] = $skill_obj->get($skill['skill_id']); if (isset($skill['data']) && !empty($skill['data'])) { if (!empty($done_skills)) { $skill['data']['passed'] = 0; - if (in_array($skill['id'], $done_skills)) { + if (in_array($skill['skill_id'], $done_skills)) { $skill['data']['passed'] = 1; } } @@ -325,9 +327,9 @@ class SkillRelSkill extends Model 'where' => array( 'skill_id = ? AND parent_id = ?' => array( $skill_id, - $parent_id - ) - ) + $parent_id, + ), + ), ) ); @@ -366,9 +368,9 @@ class SkillRelGradebook extends Model 'where' => array( 'gradebook_id = ? AND skill_id = ?' => array( $gradebookId, - $skillId - ) - ) + $skillId, + ), + ), ) ); if (!empty($result)) { @@ -392,9 +394,9 @@ class SkillRelGradebook extends Model 'where' => array( 'skill_id = ? AND gradebook_id = ? ' => array( $skill_id, - $gradebookId - ) - ) + $gradebookId, + ), + ), ), 'first' ); @@ -444,7 +446,7 @@ class SkillRelGradebook extends Model foreach ($gradebooks_to_add as $gradebook_id) { $attributes = array( 'skill_id' => $skill_id, - 'gradebook_id' => $gradebook_id + 'gradebook_id' => $gradebook_id, ); $this->save($attributes); } @@ -533,7 +535,7 @@ class SkillRelUser extends Model $courseId = intval($courseId); $sessionId = $sessionId ? intval($sessionId) : null; $whereConditions = array( - 'user_id = ? ' => intval($userId) + 'user_id = ? ' => intval($userId), ); if ($courseId > 0) { @@ -545,7 +547,7 @@ class SkillRelUser extends Model 'skill_id', $this->table, array( - 'where' => $whereConditions + 'where' => $whereConditions, ), 'all' ); @@ -567,12 +569,12 @@ class SkillRelUser extends Model intval($userId), intval($skillId), intval($courseId), - $sessionId ? intval($sessionId) : null - ) + $sessionId ? intval($sessionId) : null, + ), ); return Database::select('*', $this->table, array( - 'where' => $where + 'where' => $where, ), 'first'); } @@ -590,7 +592,7 @@ class Skill extends Model 'access_url_id', 'short_code', 'icon', - 'criteria' + 'criteria', ); public $required = array('name'); @@ -629,6 +631,10 @@ class Skill extends Model public function get($id) { $result = parent::get($id); + if (empty($result)) { + return []; + } + $path = api_get_path(WEB_UPLOAD_PATH).'badges/'; if (!empty($result['icon'])) { @@ -654,7 +660,6 @@ class Skill extends Model $result['icon_big'] = $iconSmall; $result['icon_small'] = $iconBig; $result['icon_mini'] = $iconMini; - $result['img_mini'] = Display::img($iconBig, $result['name'], ['width' => ICON_SIZE_MEDIUM]); $result['img_big'] = Display::img($iconBig, $result['name']); $result['img_small'] = Display::img($iconSmall, $result['name']); @@ -688,6 +693,9 @@ class Skill extends Model } $html .= '