api_get_self().'?'.api_get_cidreq(), 'name' => get_lang('CustomizeIcons')); $toolName = Security::remove_XSS(stripslashes($tool['name'])); $currentUrl = api_get_self().'?action=edit_icon&id=' . $id.'&'.api_get_cidreq(); $form = new FormValidator('icon_edit', 'post', $currentUrl); $form->addHeader(get_lang('EditIcon')); $form->addHtml('
'); $form->addText('name', get_lang('Name')); $form->addText('link', get_lang('Links')); $allowed_picture_types = array ('jpg', 'jpeg', 'png'); $form->addFile('icon', get_lang('CustomIcon')); $form->addRule('icon', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowed_picture_types).')', 'filetype', $allowed_picture_types); $form->addSelect( 'target', get_lang('LinkTarget'), [ '_self' => get_lang('LinkOpenSelf'), '_blank' => get_lang('LinkOpenBlank') ] ); $form->addSelect( 'visibility', get_lang('Visibility'), array(1 => get_lang('Visible'), 0 => get_lang('Invisible')) ); $form->addTextarea( 'description', get_lang('Description'), array('rows' => '3', 'cols' => '40') ); $form->addButtonUpdate(get_lang('Update')); $form->addHtml('
'); $form->addHtml('
'); if (isset($tool['custom_icon']) && !empty($tool['custom_icon'])) { $form->addLabel( get_lang('CurrentIcon'), Display::img( CourseHome::getCustomWebIconPath().$tool['custom_icon'] ) ); $form->addCheckBox('delete_icon', null, get_lang('DeletePicture')); } $form->addHtml('
'); $form->setDefaults($tool); $content = $form->returnForm(); if ($form->validate()) { $data = $form->getSubmitValues(); CourseHome::updateTool($id, $data); Display::addFlash(Display::return_message(get_lang('Updated'))); if (isset($data['delete_icon'])) { CourseHome::deleteIcon($id); } $currentUrlReturn = api_get_self().'?'.api_get_cidreq(); header('Location: '.$currentUrlReturn); exit; } break; case 'list': default: $toolList = CourseHome::toolsIconsAction( api_get_course_int_id(), api_get_session_id() ); $iconsTools = '
'; $iconsTools .= Display::page_header(get_lang('CustomizeIcons'), null, 'h4'); $iconsTools .= '
'; foreach ($toolList as $tool) { $tool['name'] = Security::remove_XSS(stripslashes($tool['name'])); $toolIconName = 'Tool' . api_underscore_to_camel_case($tool['name']); $toolIconName = isset($$toolIconName) ? get_lang($toolIconName) : $tool['name']; $iconsTools .= '
'; $iconsTools .= '
'; if (!empty($tool['custom_icon'])) { $image = getCustomWebIconPath().$tool['custom_icon']; $icon = Display::img($image, $toolIconName); } else { $image = (substr($tool['image'], 0, strpos($tool['image'], '.'))).'.png'; $icon = Display::return_icon( $image, $toolIconName, array('id' => 'tool_'.$tool['id']), ICON_SIZE_BIG, false ); } $delete = (!empty($tool['custom_icon'])) ? " " : ""; $edit = ''; $iconsTools .= '
'. $icon . '
'; $iconsTools .= '
' . $toolIconName . '
'; $iconsTools .= '
' . $edit . $delete . '
'; $iconsTools .= '
'; $iconsTools .= '
'; } $iconsTools .= '
'; $iconsTools .= '
'; $content = $iconsTools; break; } /** * @return string */ function getCustomWebIconPath() { // Check if directory exists or create it if it doesn't $dir = api_get_path(WEB_COURSE_PATH).api_get_course_path().'/upload/course_home_icons/'; return $dir; } //$tpl = new Template($toolName); echo $content;