From 02f0faa770e174527a79c555c40aef96d79413b5 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Tue, 17 Feb 2015 09:10:25 -0500 Subject: [PATCH] Add error message when the upload has failed - refs BT#9082 --- main/admin/skill_badge_create.php | 6 ++++++ main/admin/skill_badge_list.php | 11 +++++++++++ main/inc/lib/api.lib.php | 4 ++++ main/template/default/skill/badge_list.tpl | 5 +++++ 4 files changed, 26 insertions(+) diff --git a/main/admin/skill_badge_create.php b/main/admin/skill_badge_create.php index 37a907d76a..c2b148496d 100644 --- a/main/admin/skill_badge_create.php +++ b/main/admin/skill_badge_create.php @@ -5,6 +5,10 @@ * @author Angel Fernando Quiroz Campos * @package chamilo.admin.openbadges */ +use \ChamiloSession as Session; + +$language_file = array('document'); + $cidReset = true; require_once '../inc/global.inc.php'; @@ -62,6 +66,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $imageExtraField->send_image($sysDataPath . $fileDir . $fileName, -1, 'png'); $params['icon'] = $fileDir . $fileName; + } else { + Session::write('errorMessage', get_lang('UplUnableToSaveFile')); } } diff --git a/main/admin/skill_badge_list.php b/main/admin/skill_badge_list.php index 83bebcbc97..303ecfcfef 100644 --- a/main/admin/skill_badge_list.php +++ b/main/admin/skill_badge_list.php @@ -5,6 +5,8 @@ * @author Angel Fernando Quiroz Campos * @package chamilo.admin.openbadges */ +use \ChamiloSession as Session; + $cidReset = true; require_once '../inc/global.inc.php'; @@ -15,6 +17,12 @@ if (!api_is_platform_admin() || api_get_setting('allow_skills_tool') !== 'true') $this_section = SECTION_PLATFORM_ADMIN; +$errorMessage = null; + +if (Session::has('errorMessage')) { + $errorMessage = Session::read('errorMessage'); +} + $objSkill = new Skill(); $skills = $objSkill->get_all(); @@ -30,9 +38,12 @@ $interbreadcrumb = array( ); $tpl = new Template(get_lang('Skills')); +$tpl->assign('errorMessage', $errorMessage); $tpl->assign('platformAdminEmail', get_setting('emailAdministrator')); $tpl->assign('skills', $skills); $contentTemplate = $tpl->get_template('skill/badge_list.tpl'); $tpl->display($contentTemplate); + +Session::erase('errorMessage'); diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 21c7d5d479..271d69ff66 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -7791,6 +7791,10 @@ function api_create_protected_dir($name, $parentDirectory) { $isCreated = false; + if (!is_writable($parentDirectory)) { + return false; + } + $fullPath = $parentDirectory . replace_dangerous_char($name); if (mkdir($fullPath, api_get_permissions_for_new_directories(), true)) { diff --git a/main/template/default/skill/badge_list.tpl b/main/template/default/skill/badge_list.tpl index c25ad26a01..986832fbfe 100644 --- a/main/template/default/skill/badge_list.tpl +++ b/main/template/default/skill/badge_list.tpl @@ -16,6 +16,11 @@
+ {% if not errorMessage is empty %} +
+ {{ errorMessage }} +
+ {% endif %}