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')); $allowedPictureTypes = ['jpg', 'jpeg', 'png']; $form->addFile('icon', get_lang('CustomIcon')); $form->addRule( 'icon', get_lang('OnlyImagesAllowed').' ('.implode(',', $allowedPictureTypes).')', 'filetype', $allowedPictureTypes ); $form->addSelect( 'target', get_lang('LinkTarget'), [ '_self' => get_lang('LinkOpenSelf'), '_blank' => get_lang('LinkOpenBlank'), ] ); $form->addSelect( 'visibility', get_lang('Visibility'), [1 => get_lang('Visible'), 0 => get_lang('Invisible')] ); $form->addTextarea( 'description', get_lang('Description'), ['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 = CourseHome::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, ['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; } $tpl = new Template($toolName); $tpl->assign('content', $content); $template = $tpl->get_template('layout/layout_1_col.tpl'); $tpl->display($template);