protected function set($key, $value) { parent::set($key, $value); switch ($key) { case 'tier': $this->_tier = intval($value); break; case 'slot': $this->_slotType = $value; break; case 'skills': foreach ($value as $skillInfo) { //TODO: This should normally be a "skills" entity set, but it doesn't exist! $skill = new Skill($this->getSet(), $skillInfo['id']); unset($skillInfo['id']); $skill->update($skillInfo, true); $this->_skills[] = $skill; } break; case 'specialization': $this->_specializationId = intval($value); break; } }
$existsBadgesDirectory = is_dir($badgePath); if (!$existsBadgesDirectory) { $existsBadgesDirectory = api_create_protected_dir('badges', api_get_path(SYS_UPLOAD_PATH)); } if ($existsBadgesDirectory) { if (!empty($skill['icon'])) { $iconFileAbsolutePath = $badgePath . $skill['icon']; if (Security::check_abs_path($iconFileAbsolutePath, $badgePath)) { unlink($badgePath . $skill['icon']); } } $skillImagePath = sprintf("%s%s.png", $badgePath, $fileName); $skillImage = new Image($_FILES['image']['tmp_name']); $skillImage->send_image($skillImagePath, -1, 'png'); $skillThumbPath = sprintf("%s%s-small.png", $badgePath, $fileName); $skillImageThumb = new Image($skillImagePath); $skillImageThumb->resize(ICON_SIZE_BIG, ICON_SIZE_BIG); $skillImageThumb->send_image($skillThumbPath); $params['icon'] = sprintf("%s.png", $fileName); } else { Session::write('errorMessage', get_lang('UplUnableToSaveFile')); } } $objSkill->update($params); header('Location: ' . api_get_path(WEB_CODE_PATH) . 'admin/skill_badge_list.php'); exit; } $interbreadcrumb = array(array('url' => api_get_path(WEB_CODE_PATH) . 'admin/index.php', 'name' => get_lang('Administration')), array('url' => api_get_path(WEB_CODE_PATH) . 'admin/skill_badge.php', 'name' => get_lang('Badges')), array('url' => '#', 'name' => get_lang('CreateBadge'))); $toolbar = Display::toolbarButton(get_lang('ManageSkills'), api_get_path(WEB_CODE_PATH) . 'admin/skill_list.php', 'list', 'primary', ['title' => get_lang('ManageSkills')]); echo $toolbar; echo Container::getTemplating()->render('@template_style/skill/badge_create.html.twig', ['skill' => $skill]);