├── README.md ├── classes ├── format_collapsibletopics_renderer.php ├── format_topics_renderer.php ├── format_weeks_renderer.php ├── output │ ├── core │ │ └── course_renderer.php │ ├── core_renderer.php │ └── core_renderer_ajax.php ├── privacy │ └── provider.php └── qtype_shortanswer_renderer.php ├── config.php ├── javascript ├── blockslider.js ├── courseblock.js ├── scrollspy.js ├── scrolltotop.js └── tooltipfix.js ├── lang └── en │ └── theme_fordson.php ├── layout ├── columns2.php ├── course.php ├── frontpage.php ├── login.php └── mydashboard.php ├── lib.php ├── lib ├── filesettings_lib.php ├── fordson_lib.php └── scss_lib.php ├── pix ├── favicon.ico ├── headerbg-old2.jpg ├── headerbg.jpg ├── noimg-old2.jpg ├── noimg.jpg └── screenshot.png ├── pix_core ├── f │ ├── archive.svg │ ├── audio.svg │ ├── avi.svg │ ├── base.svg │ ├── bmp.svg │ ├── calc.svg │ ├── chart.svg │ ├── code.svg │ ├── database.svg │ ├── document.svg │ ├── draw.svg │ ├── eps.svg │ ├── epub.svg │ ├── flash.svg │ ├── folder.svg │ ├── gif.svg │ ├── html.svg │ ├── image.svg │ ├── impress.svg │ ├── jpeg.svg │ ├── markup.svg │ ├── math.svg │ ├── mp3.svg │ ├── mpeg.svg │ ├── pdf.svg │ ├── png.svg │ ├── powerpoint.svg │ ├── psd.svg │ ├── publisher.svg │ ├── quicktime.svg │ ├── sourcecode.svg │ ├── spreadsheet.svg │ ├── text.svg │ ├── tiff.svg │ ├── unknown.svg │ ├── video.svg │ ├── wave.svg │ ├── wmv.svg │ └── writer.svg └── i │ ├── completion-auto-fail.svg │ ├── completion-auto-n.svg │ ├── completion-auto-pass.svg │ ├── completion-auto-y.svg │ ├── completion-manual-n.svg │ └── completion-manual-y.svg ├── pix_plugins └── mod │ ├── assign │ └── icon.svg │ ├── assignment │ └── icon.svg │ ├── book │ └── icon.svg │ ├── certificate │ └── icon.svg │ ├── chat │ └── icon.svg │ ├── choice │ └── icon.svg │ ├── data │ └── icon.svg │ ├── feedback │ └── icon.svg │ ├── folder │ └── icon.svg │ ├── forum │ └── icon.svg │ ├── glossary │ └── icon.svg │ ├── label │ └── icon.svg │ ├── lesson │ └── icon.svg │ ├── lti │ └── icon.svg │ ├── page │ └── icon.svg │ ├── questionnaire │ └── icon.svg │ ├── quiz │ └── icon.svg │ ├── resource │ └── icon.svg │ ├── scorm │ └── icon.svg │ ├── survey │ └── icon.svg │ ├── url │ └── icon.svg │ ├── wiki │ └── icon.svg │ └── workshop │ └── icon.svg ├── scss ├── fordson_variables.scss ├── marketingstyle │ ├── marketingstyle1.scss │ ├── marketingstyle2.scss │ ├── marketingstyle3.scss │ └── marketingstyle4.scss ├── pagelayout │ ├── layout1.scss │ ├── layout2.scss │ ├── layout3.scss │ ├── layout4.scss │ └── layout5.scss ├── preset.scss ├── preset │ ├── Boost.scss │ ├── Modern Moodle.scss │ ├── Perception.scss │ ├── Spectrum-Achromatic.scss │ ├── e-Learner.scss │ └── pulse.scss ├── sectionlayout │ ├── sectionstyle1.scss │ ├── sectionstyle2.scss │ ├── sectionstyle3.scss │ ├── sectionstyle4.scss │ ├── sectionstyle5.scss │ ├── sectionstyle6.scss │ ├── sectionstyle7.scss │ └── sectionstyle8.scss └── styles.scss ├── settings.php ├── settings ├── colours_settings.php ├── content_settings.php ├── customlogin_settings.php ├── footer_settings.php ├── fpicons_settings.php ├── image_settings.php ├── markettiles_settings.php ├── menu_settings.php ├── presets_adjustments_settings.php ├── presets_settings.php └── slideshow_settings.php ├── templates ├── activitygroups.mustache ├── blockspanelslider.mustache ├── columns2.mustache ├── core │ ├── chooser.mustache │ ├── loginform.mustache │ └── navbar.mustache ├── customlogin.mustache ├── footer.mustache ├── fpmarkettiles.mustache ├── fpwonderbox.mustache ├── frontpage.mustache ├── header.mustache ├── login.mustache ├── mydashboard.mustache ├── navbar.mustache ├── progress-bar.mustache ├── slideshow.mustache ├── socialicons.mustache ├── teacherdash.mustache └── teacherdashmenu.mustache └── version.php /README.md: -------------------------------------------------------------------------------- 1 | THEME_Fordson 2 | =========== 3 | 4 | # Fordson 5 | 6 | Fordson is focused on students going from login to learning, with features that help teachers build better courses and students engage with content. Your school is unique and Fordson provides impressive customizations for a professional and modern learning platform. 7 | 8 | # Install from Github 9 | Click on the button to "Clone or Download" https://github.com/dbnschools/moodle-theme_fordson . When downloaded to your computer, unzip it. It should create a folder named "moodle-theme_fordson-master". Rename the folder so that it is "fordson" (without quotes). You can FTP that folder to your moodle site in /moodle/theme/ directory. Or you can create a new ZIP file of the "fordson" folder and upload and install it via the Plugin Administration in Site Administration. 10 | 11 | 12 | # Versions and Updates 13 | 14 | ## Moodle 3.11 Fordson v3.11 release 1 15 | * Fixed breadcrumb spacing issue. -------------------------------------------------------------------------------- /classes/output/core_renderer_ajax.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Snap core renderer for ajax calls. 19 | * 20 | * @package theme_snap 21 | * @copyright Copyright (c) 2015 Moodlerooms Inc. (http://www.moodlerooms.com) 22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 | */ 24 | 25 | namespace theme_fordson\output; 26 | 27 | defined('MOODLE_INTERNAL') || die(); 28 | 29 | class core_renderer_ajax extends \core_renderer_ajax { 30 | 31 | public function image_url($imagename, $component = 'moodle') { 32 | // Strip -24, -64, -256 etc from the end of filetype icons so we 33 | // only need to provide one SVG, see MDL-47082. 34 | $imagename = \preg_replace('/-\d\d\d?$/', '', $imagename); 35 | return $this->page->theme->image_url($imagename, $component); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /classes/privacy/provider.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Overriden question type shortanswer. 19 | * 20 | * @package theme_fordson 21 | * 22 | */ 23 | defined('MOODLE_INTERNAL') || die(); 24 | 25 | require_once($CFG->dirroot . '/question/type/shortanswer/renderer.php'); 26 | 27 | class theme_fordson_qtype_shortanswer_renderer extends qtype_shortanswer_renderer { 28 | public function formulation_and_controls(question_attempt $qa, 29 | question_display_options $options) { 30 | 31 | $question = $qa->get_question(); 32 | $currentanswer = $qa->get_last_qt_var('answer'); 33 | 34 | $inputname = $qa->get_qt_field_name('answer'); 35 | $inputattributes = array( 36 | 'type' => 'text', 37 | 'name' => $inputname, 38 | 'spellcheck' => 'false', 39 | 'value' => $currentanswer, 40 | 'id' => $inputname, 41 | 'size' => 80, 42 | 'class' => 'form-control', 43 | ); 44 | 45 | if ($options->readonly) { 46 | $inputattributes['readonly'] = 'readonly'; 47 | } 48 | 49 | $feedbackimg = ''; 50 | if ($options->correctness) { 51 | $answer = $question->get_matching_answer(array('answer' => $currentanswer)); 52 | if ($answer) { 53 | $fraction = $answer->fraction; 54 | } else { 55 | $fraction = 0; 56 | } 57 | $inputattributes['class'] .= ' ' . $this->feedback_class($fraction); 58 | $feedbackimg = $this->feedback_image($fraction); 59 | } 60 | 61 | $questiontext = $question->format_questiontext($qa); 62 | $placeholder = false; 63 | if (preg_match('/_____+/', $questiontext, $matches)) { 64 | $placeholder = $matches[0]; 65 | $inputattributes['size'] = round(strlen($placeholder) * 1.1); 66 | } 67 | $input = html_writer::empty_tag('input', $inputattributes) . $feedbackimg; 68 | 69 | if ($placeholder) { 70 | $inputinplace = html_writer::tag('label', get_string('answer'), 71 | array('for' => $inputattributes['id'], 'class' => 'accesshide')); 72 | $inputinplace .= $input; 73 | $questiontext = substr_replace($questiontext, $inputinplace, 74 | strpos($questiontext, $placeholder), strlen($placeholder)); 75 | } 76 | 77 | $result = html_writer::tag('div', $questiontext, array('class' => 'qtext')); 78 | 79 | if (!$placeholder) { 80 | $result .= html_writer::start_tag('div', array('class' => 'ablock form-inline')); 81 | $result .= html_writer::tag('label', get_string('answer', 'qtype_shortanswer', 82 | html_writer::tag('span', $input, array('class' => 'answer'))), 83 | array('for' => $inputattributes['id'])); 84 | $result .= html_writer::end_tag('div'); 85 | } 86 | 87 | if ($qa->get_state() == question_state::$invalid) { 88 | $result .= html_writer::nonempty_tag('div', 89 | $question->get_validation_error(array('answer' => $currentanswer)), 90 | array('class' => 'validationerror')); 91 | } 92 | 93 | return $result; 94 | } 95 | 96 | } -------------------------------------------------------------------------------- /javascript/blockslider.js: -------------------------------------------------------------------------------- 1 | $('.blockpanelbutton').click(function () { 2 | var blockslideropen = localStorage.getItem('blockslideropen'); 3 | 4 | if (blockslideropen == 1) { 5 | localStorage.setItem('blockslideropen', 0); 6 | } else { 7 | localStorage.setItem('blockslideropen', 1); 8 | } 9 | 10 | }); 11 | 12 | if (localStorage.getItem('blockslideropen') == 1) { 13 | $('#blockslider').addClass('show'); 14 | } 15 | -------------------------------------------------------------------------------- /javascript/courseblock.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | 3 | $('.blockpanelbutton').click(function () { 4 | if ($('#blockslider').hasClass('show')) { 5 | window.scrollTo(0, 0); 6 | } 7 | }); 8 | 9 | }); 10 | -------------------------------------------------------------------------------- /javascript/scrollspy.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | 3 | $('.edit-btn').click(function () { 4 | 5 | window.sessionStorage.setItem('edit_toggled', true); 6 | 7 | var viewport_top = $(window).scrollTop(); 8 | var closest = null; 9 | var closest_offset = null; 10 | 11 | $('.section.main').each(function (e, f) { 12 | var this_offset = $(f).offset().top; 13 | 14 | if ($(closest).offset()) { 15 | closest_offset = $(closest).offset().top; 16 | } 17 | if (closest == null || Math.abs(this_offset - viewport_top) < Math.abs(closest_offset - viewport_top)) { 18 | closest = f; 19 | } 20 | }); 21 | 22 | window.sessionStorage.setItem('closest_id', closest.id); 23 | window.sessionStorage.setItem('closest_delta', viewport_top - $(closest).offset().top); 24 | 25 | }); 26 | 27 | var edit_toggled = window.sessionStorage.getItem('edit_toggled'); 28 | 29 | if (edit_toggled) { 30 | 31 | var closest_id = window.sessionStorage.getItem('closest_id'); 32 | var closest_delta = window.sessionStorage.getItem('closest_delta'); 33 | 34 | if (closest_id && closest_delta) { 35 | var closest = $('#' + closest_id); 36 | $(window).scrollTop(closest.offset().top + parseInt(closest_delta)); 37 | } 38 | 39 | window.sessionStorage.removeItem('edit_toggled'); 40 | window.sessionStorage.removeItem('closest_id'); 41 | window.sessionStorage.removeItem('closest_delta'); 42 | 43 | } 44 | 45 | }); 46 | -------------------------------------------------------------------------------- /javascript/scrolltotop.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | if ($('#back-to-top').length) { 3 | var scrollTrigger = 200, // px 4 | backToTop = function () { 5 | var scrollTop = $(window).scrollTop(); 6 | if (scrollTop > scrollTrigger) { 7 | $('#back-to-top').addClass('show'); 8 | } else { 9 | $('#back-to-top').removeClass('show'); 10 | } 11 | }; 12 | backToTop(); 13 | $(window).on('scroll', function () { 14 | backToTop(); 15 | }); 16 | $('#back-to-top').on('click', function (e) { 17 | e.preventDefault(); 18 | $('html,body').animate({ 19 | scrollTop: 0 20 | }, 700); 21 | }); 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /javascript/tooltipfix.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | 3 | $('[data-tooltip="tooltip"]').on('mouseleave', function () { 4 | $(this).tooltip('hide'); 5 | }); 6 | 7 | }); 8 | -------------------------------------------------------------------------------- /layout/columns2.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * A two column layout for the boost theme. 19 | * 20 | * @package theme_boost 21 | * @copyright 2016 Damyon Wiese 22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 | */ 24 | 25 | defined('MOODLE_INTERNAL') || die(); 26 | 27 | user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA); 28 | require_once($CFG->libdir . '/behat/lib.php'); 29 | 30 | $hasfhsdrawer = isset($PAGE->theme->settings->shownavdrawer) && $PAGE->theme->settings->shownavdrawer == 1; 31 | if (isloggedin() && $hasfhsdrawer && isset($PAGE->theme->settings->shownavclosed) && $PAGE->theme->settings->shownavclosed == 0) { 32 | $navdraweropen = (get_user_preferences('drawer-open-nav', 'true') == 'true'); 33 | } else { 34 | $navdraweropen = false; 35 | } 36 | $extraclasses = []; 37 | if ($navdraweropen) { 38 | $extraclasses[] = 'drawer-open-left'; 39 | } 40 | $bodyattributes = $OUTPUT->body_attributes($extraclasses); 41 | $blockshtml = $OUTPUT->blocks('side-pre'); 42 | $hasblocks = strpos($blockshtml, 'data-block=') !== false; 43 | 44 | $blockshtmla = $OUTPUT->blocks('fp-a'); 45 | $blockshtmlb = $OUTPUT->blocks('fp-b'); 46 | $blockshtmlc = $OUTPUT->blocks('fp-c'); 47 | $hasfpblockregion = ($PAGE->theme->settings->blockdisplay == 1) !== false; 48 | 49 | $hasactivitynav = ($PAGE->theme->settings->showactivitynav ==1) !== false; 50 | 51 | $regionmainsettingsmenu = $OUTPUT->region_main_settings_menu(); 52 | $templatecontext = [ 53 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID) , "escape" => false]) , 54 | 'output' => $OUTPUT, 55 | 'sidepreblocks' => $blockshtml, 56 | 'fpablocks' => $blockshtmla, 57 | 'fpbblocks' => $blockshtmlb, 58 | 'fpcblocks' => $blockshtmlc, 59 | 'hasfpblockregion' => $hasfpblockregion, 60 | 'hasblocks' => $hasblocks, 61 | 'bodyattributes' => $bodyattributes, 62 | 'navdraweropen' => $navdraweropen, 63 | 'hasfhsdrawer' => $hasfhsdrawer, 64 | 'regionmainsettingsmenu' => $regionmainsettingsmenu, 65 | 'hasregionmainsettingsmenu' => !empty($regionmainsettingsmenu), 66 | 'hasactivitynav' => $hasactivitynav 67 | ]; 68 | 69 | $PAGE->requires->jquery(); 70 | $PAGE->requires->js('/theme/fordson/javascript/scrolltotop.js'); 71 | $PAGE->requires->js('/theme/fordson/javascript/scrollspy.js'); 72 | $PAGE->requires->js('/theme/fordson/javascript/blockslider.js'); 73 | 74 | $nav = $PAGE->flatnav; 75 | $templatecontext['flatnavigation'] = $nav; 76 | $templatecontext['firstcollectionlabel'] = $nav->get_collectionlabel(); 77 | echo $OUTPUT->render_from_template('theme_fordson/columns2', $templatecontext); -------------------------------------------------------------------------------- /layout/course.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * A two column layout for the boost theme. 19 | * 20 | * @package theme_boost 21 | * @copyright 2016 Damyon Wiese 22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 | */ 24 | 25 | defined('MOODLE_INTERNAL') || die(); 26 | 27 | user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA); 28 | require_once($CFG->libdir . '/behat/lib.php'); 29 | 30 | $hasfhsdrawer = isset($PAGE->theme->settings->shownavdrawer) && $PAGE->theme->settings->shownavdrawer == 1; 31 | if (isloggedin() && $hasfhsdrawer && isset($PAGE->theme->settings->shownavclosed) && $PAGE->theme->settings->shownavclosed == 0) { 32 | $navdraweropen = (get_user_preferences('drawer-open-nav', 'true') == 'true'); 33 | } else { 34 | $navdraweropen = false; 35 | } 36 | $extraclasses = []; 37 | if ($navdraweropen) { 38 | $extraclasses[] = 'drawer-open-left'; 39 | } 40 | $bodyattributes = $OUTPUT->body_attributes($extraclasses); 41 | $blockshtml = $OUTPUT->blocks('side-pre'); 42 | $hasblocks = strpos($blockshtml, 'data-block=') !== false; 43 | 44 | $blockshtmla = $OUTPUT->blocks('fp-a'); 45 | $blockshtmlb = $OUTPUT->blocks('fp-b'); 46 | $blockshtmlc = $OUTPUT->blocks('fp-c'); 47 | $checkblocka = strpos($blockshtmla, 'data-block=') !== false; 48 | $checkblockb = strpos($blockshtmlb, 'data-block=') !== false; 49 | $checkblockc = strpos($blockshtmlc, 'data-block=') !== false; 50 | $hasfpblockregion = ($PAGE->theme->settings->blockdisplay == 1) !== false; 51 | 52 | $hasactivitynav = ($PAGE->theme->settings->showactivitynav ==1) !== false; 53 | 54 | $hascourseblocks = false; 55 | if ($checkblocka || $checkblockb || $checkblockc) { 56 | $hascourseblocks = true; 57 | } 58 | 59 | $regionmainsettingsmenu = $OUTPUT->region_main_settings_menu(); 60 | 61 | $templatecontext = [ 62 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID) , "escape" => false]) , 63 | 'output' => $OUTPUT, 64 | 'sidepreblocks' => $blockshtml, 65 | 'fpablocks' => $blockshtmla, 66 | 'fpbblocks' => $blockshtmlb, 67 | 'fpcblocks' => $blockshtmlc, 68 | 'hasblocks' => $hasblocks, 69 | 'hascourseblocks' => $hascourseblocks, 70 | 'hasfpblockregion' => $hasfpblockregion, 71 | 'bodyattributes' => $bodyattributes, 72 | 'navdraweropen' => $navdraweropen, 73 | 'hasfhsdrawer' => $hasfhsdrawer, 74 | 'regionmainsettingsmenu' => $regionmainsettingsmenu, 75 | 'hasregionmainsettingsmenu' => !empty($regionmainsettingsmenu), 76 | 'hasactivitynav' => $hasactivitynav 77 | ]; 78 | 79 | $PAGE->requires->jquery(); 80 | $PAGE->requires->js('/theme/fordson/javascript/scrolltotop.js'); 81 | $PAGE->requires->js('/theme/fordson/javascript/scrollspy.js'); 82 | $PAGE->requires->js('/theme/fordson/javascript/blockslider.js'); 83 | 84 | if (isset($PAGE->theme->settings->preset) && $PAGE->theme->settings->preset != 'Spectrum-Achromatic') { 85 | $PAGE->requires->js('/theme/fordson/javascript/courseblock.js'); 86 | } 87 | 88 | $nav = $PAGE->flatnav; 89 | $templatecontext['flatnavigation'] = $nav; 90 | $templatecontext['firstcollectionlabel'] = $nav->get_collectionlabel(); 91 | echo $OUTPUT->render_from_template('theme_fordson/columns2', $templatecontext); -------------------------------------------------------------------------------- /layout/frontpage.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * A two column layout for the boost theme. 19 | * 20 | * @package theme_boost 21 | * @copyright 2016 Damyon Wiese 22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 | */ 24 | 25 | defined('MOODLE_INTERNAL') || die(); 26 | 27 | user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA); 28 | require_once($CFG->libdir . '/behat/lib.php'); 29 | 30 | $hasfhsdrawer = isset($PAGE->theme->settings->shownavdrawer) && $PAGE->theme->settings->shownavdrawer == 1; 31 | if (isloggedin() && $hasfhsdrawer && isset($PAGE->theme->settings->shownavclosed) && $PAGE->theme->settings->shownavclosed == 0) { 32 | $navdraweropen = (get_user_preferences('drawer-open-nav', 'true') == 'true'); 33 | } else { 34 | $navdraweropen = false; 35 | } 36 | $extraclasses = []; 37 | if ($navdraweropen) { 38 | $extraclasses[] = 'drawer-open-left'; 39 | } 40 | 41 | $enrolform = ''; 42 | $plugin = enrol_get_plugin('easy'); 43 | if ($plugin && !isguestuser()) { 44 | $enrolform = $plugin->get_form(); 45 | } 46 | 47 | $bodyattributes = $OUTPUT->body_attributes($extraclasses); 48 | $headerlogo = $PAGE->theme->setting_file_url('headerlogo', 'headerlogo'); 49 | $blockshtml = $OUTPUT->blocks('side-pre'); 50 | $hasblocks = strpos($blockshtml, 'data-block=') !== false; 51 | 52 | $blockshtmla = $OUTPUT->blocks('fp-a'); 53 | $blockshtmlb = $OUTPUT->blocks('fp-b'); 54 | $blockshtmlc = $OUTPUT->blocks('fp-c'); 55 | $hasfpblockregion = (isset($PAGE->theme->settings->blockdisplay) && ($PAGE->theme->settings->blockdisplay == 1)) !== false; 56 | 57 | $hasslideshowpages = (isset($PAGE->theme->settings->slideshowpages) && ($PAGE->theme->settings->slideshowpages == 1 || $PAGE->theme->settings->slideshowpages == 2)) !== false; 58 | 59 | $regionmainsettingsmenu = $OUTPUT->region_main_settings_menu(); 60 | $templatecontext = [ 61 | 'sitename' => format_string($SITE->shortname, true, array('context' => context_course::instance(SITEID))), 62 | 'output' => $OUTPUT, 63 | 'sidepreblocks' => $blockshtml, 64 | 'fpablocks' => $blockshtmla, 65 | 'fpbblocks' => $blockshtmlb, 66 | 'fpcblocks' => $blockshtmlc, 67 | 'hasblocks' => $hasblocks, 68 | 'hasfpblockregion' => $hasfpblockregion, 69 | 'bodyattributes' => $bodyattributes, 70 | 'navdraweropen' => $navdraweropen, 71 | 'hasfhsdrawer' => $hasfhsdrawer, 72 | 'headerlogo' => $headerlogo, 73 | 'regionmainsettingsmenu' => $regionmainsettingsmenu, 74 | 'hasregionmainsettingsmenu' => !empty($regionmainsettingsmenu), 75 | 'enrolform' => $enrolform, 76 | 'hasslideshowpages' => $hasslideshowpages, 77 | ]; 78 | 79 | $PAGE->requires->jquery(); 80 | $PAGE->requires->js('/theme/fordson/javascript/scrolltotop.js'); 81 | 82 | $nav = $PAGE->flatnav; 83 | $templatecontext['flatnavigation'] = $nav; 84 | $templatecontext['firstcollectionlabel'] = $nav->get_collectionlabel(); 85 | echo $OUTPUT->render_from_template('theme_fordson/frontpage', $templatecontext); 86 | 87 | -------------------------------------------------------------------------------- /layout/login.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | defined('MOODLE_INTERNAL') || die(); 18 | 19 | /** 20 | * A login page layout for the boost theme. 21 | * 22 | * @package theme_boost 23 | * @copyright 2016 Damyon Wiese 24 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 25 | */ 26 | 27 | $bodyattributes = $OUTPUT->body_attributes(); 28 | $hasslideshowpages = (isset($PAGE->theme->settings->slideshowpages) && ($PAGE->theme->settings->slideshowpages == 0 || $PAGE->theme->settings->slideshowpages == 2)) !== false; 29 | 30 | $templatecontext = [ 31 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]), 32 | 'output' => $OUTPUT, 33 | 'bodyattributes' => $bodyattributes, 34 | 'hascustomlogin' => $PAGE->theme->settings->showcustomlogin == 1, 35 | 'hasslideshowpages' => $hasslideshowpages, 36 | ]; 37 | 38 | echo $OUTPUT->render_from_template('theme_fordson/login', $templatecontext); 39 | -------------------------------------------------------------------------------- /layout/mydashboard.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * A two column layout for the boost theme. 19 | * 20 | * @package theme_boost 21 | * @copyright 2016 Damyon Wiese 22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 | */ 24 | 25 | defined('MOODLE_INTERNAL') || die(); 26 | 27 | user_preference_allow_ajax_update('drawer-open-nav', PARAM_ALPHA); 28 | require_once($CFG->libdir . '/behat/lib.php'); 29 | 30 | $hasfhsdrawer = isset($PAGE->theme->settings->shownavdrawer) && $PAGE->theme->settings->shownavdrawer == 1; 31 | if (isloggedin() && $hasfhsdrawer && isset($PAGE->theme->settings->shownavclosed) && $PAGE->theme->settings->shownavclosed == 0) { 32 | $navdraweropen = (get_user_preferences('drawer-open-nav', 'true') == 'true'); 33 | } else { 34 | $navdraweropen = false; 35 | } 36 | $extraclasses = []; 37 | if ($navdraweropen) { 38 | $extraclasses[] = 'drawer-open-left'; 39 | } 40 | 41 | $enrolform = ''; 42 | $plugin = enrol_get_plugin('easy'); 43 | if ($plugin && !isguestuser()) { 44 | $enrolform = $plugin->get_form(); 45 | } 46 | 47 | $bodyattributes = $OUTPUT->body_attributes($extraclasses); 48 | $headerlogo = $PAGE->theme->setting_file_url('headerlogo', 'headerlogo'); 49 | $blockshtml = $OUTPUT->blocks('side-pre'); 50 | $hasblocks = strpos($blockshtml, 'data-block=') !== false; 51 | 52 | $blockshtmla = $OUTPUT->blocks('fp-a'); 53 | $blockshtmlb = $OUTPUT->blocks('fp-b'); 54 | $blockshtmlc = $OUTPUT->blocks('fp-c'); 55 | $checkblocka = strpos($blockshtmla, 'data-block=') !== false; 56 | $checkblockb = strpos($blockshtmlb, 'data-block=') !== false; 57 | $checkblockc = strpos($blockshtmlc, 'data-block=') !== false; 58 | $hasfpblockregion = ($PAGE->theme->settings->blockdisplay == 1) !== false; 59 | 60 | $hascourseblocks = false; 61 | if ($checkblocka || $checkblockb || $checkblockc) { 62 | $hascourseblocks = true; 63 | } 64 | $hasslideshowpages = (isset($PAGE->theme->settings->slideshowpages) && ($PAGE->theme->settings->slideshowpages == 1 || $PAGE->theme->settings->slideshowpages == 2)) !== false; 65 | 66 | $regionmainsettingsmenu = $OUTPUT->region_main_settings_menu(); 67 | $templatecontext = [ 68 | 'sitename' => format_string($SITE->shortname, true, array('context' => context_course::instance(SITEID))), 69 | 'output' => $OUTPUT, 70 | 'sidepreblocks' => $blockshtml, 71 | 'fpablocks' => $blockshtmla, 72 | 'fpbblocks' => $blockshtmlb, 73 | 'fpcblocks' => $blockshtmlc, 74 | 'hasblocks' => $hasblocks, 75 | 'hascourseblocks' => $hascourseblocks, 76 | 'hasfpblockregion' => $hasfpblockregion, 77 | 'bodyattributes' => $bodyattributes, 78 | 'navdraweropen' => $navdraweropen, 79 | 'hasfhsdrawer' => $hasfhsdrawer, 80 | 'headerlogo' => $headerlogo, 81 | 'regionmainsettingsmenu' => $regionmainsettingsmenu, 82 | 'hasregionmainsettingsmenu' => !empty($regionmainsettingsmenu), 83 | 'enrolform' => $enrolform, 84 | 'hasslideshowpages' => $hasslideshowpages, 85 | ]; 86 | 87 | $PAGE->requires->jquery(); 88 | $PAGE->requires->js('/theme/fordson/javascript/scrolltotop.js'); 89 | $PAGE->requires->js('/theme/fordson/javascript/blockslider.js'); 90 | if ($PAGE->theme->settings->preset != 'Spectrum-Achromatic') { 91 | $PAGE->requires->js('/theme/fordson/javascript/courseblock.js'); 92 | } 93 | 94 | $nav = $PAGE->flatnav; 95 | $templatecontext['flatnavigation'] = $nav; 96 | $templatecontext['firstcollectionlabel'] = $nav->get_collectionlabel(); 97 | echo $OUTPUT->render_from_template('theme_fordson/mydashboard', $templatecontext); 98 | 99 | -------------------------------------------------------------------------------- /lib.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Main Lib file. 19 | * 20 | * @package theme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @credits theme_boost - MoodleHQ 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | /* THEME_fordson BUILDING NOTES 27 | * ============================= 28 | * Lib functions have been split into separate files, which are called 29 | * from this central file. This is to aid ongoing development as I find 30 | * it easier to work with multiple smaller function-specific files than 31 | * with a single monolithic lib file. This may be a personal preference 32 | * and it would be quite feasible to bring all lib functions back into 33 | * a single central file if another developer prefered to work in that way. 34 | */ 35 | 36 | defined('MOODLE_INTERNAL') || die(); 37 | 38 | require('lib/scss_lib.php'); 39 | require('lib/filesettings_lib.php'); 40 | require('lib/fordson_lib.php'); -------------------------------------------------------------------------------- /lib/fordson_lib.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * FileSettings Lib file. 19 | * 20 | * @package theme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @credits theme_boost - MoodleHQ 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | /** 27 | * Serves any files associated with the theme settings. 28 | * 29 | * @param stdClass $course 30 | * @param stdClass $cm 31 | * @param context $context 32 | * @param string $filearea 33 | * @param array $args 34 | * @param bool $forcedownload 35 | * @param array $options 36 | * @return bool 37 | */ 38 | 39 | defined('MOODLE_INTERNAL') || die(); 40 | 41 | function theme_fordson_get_course_activities() { 42 | GLOBAL $CFG, $PAGE, $OUTPUT; 43 | // A copy of block_activity_modules. 44 | $course = $PAGE->course; 45 | $content = new stdClass(); 46 | $modinfo = get_fast_modinfo($course); 47 | $modfullnames = array(); 48 | 49 | $archetypes = array(); 50 | 51 | foreach ($modinfo->cms as $cm) { 52 | // Exclude activities which are not visible or have no link (=label). 53 | if (!$cm->uservisible or !$cm->has_view()) { 54 | continue; 55 | } 56 | if (array_key_exists($cm->modname, $modfullnames)) { 57 | continue; 58 | } 59 | if (!array_key_exists($cm->modname, $archetypes)) { 60 | $archetypes[$cm->modname] = plugin_supports('mod', $cm->modname, FEATURE_MOD_ARCHETYPE, MOD_ARCHETYPE_OTHER); 61 | } 62 | if ($archetypes[$cm->modname] == MOD_ARCHETYPE_RESOURCE) { 63 | if (!array_key_exists('resources', $modfullnames)) { 64 | $modfullnames['resources'] = get_string('resources'); 65 | } 66 | } else { 67 | $modfullnames[$cm->modname] = $cm->modplural; 68 | } 69 | } 70 | core_collator::asort($modfullnames); 71 | 72 | return $modfullnames; 73 | } 74 | 75 | function theme_fordson_strip_html_tags( $text ) { 76 | $text = preg_replace( 77 | array( 78 | // Remove invisible content. 79 | '@]*?>.*?@siu', 80 | '@]*?>.*?@siu', 81 | '@]*?.*?@siu', 82 | '@]*?.*?@siu', 83 | '@]*?.*?@siu', 84 | '@]*?.*?@siu', 85 | '@]*?.*?@siu', 86 | '@]*?.*?@siu', 87 | '@]*?.*?@siu', 88 | // Add line breaks before and after blocks. 89 | '@cm; 134 | 135 | if ($course) { 136 | return true; 137 | } else { 138 | return false; 139 | } 140 | 141 | } -------------------------------------------------------------------------------- /pix/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/favicon.ico -------------------------------------------------------------------------------- /pix/headerbg-old2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/headerbg-old2.jpg -------------------------------------------------------------------------------- /pix/headerbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/headerbg.jpg -------------------------------------------------------------------------------- /pix/noimg-old2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/noimg-old2.jpg -------------------------------------------------------------------------------- /pix/noimg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/noimg.jpg -------------------------------------------------------------------------------- /pix/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbnschools/moodle-theme_fordson/ba04c6d4456f32dc2f49be52faefcbdf56d5f863/pix/screenshot.png -------------------------------------------------------------------------------- /pix_core/f/archive.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/avi.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/base.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 30 | 50 | 54 | 55 | -------------------------------------------------------------------------------- /pix_core/f/bmp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/database.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 22 | image/svg+xml 23 | 25 | 26 | 27 | 28 | 30 | 50 | 54 | 55 | -------------------------------------------------------------------------------- /pix_core/f/document.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/draw.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/eps.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/epub.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/flash.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/gif.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/impress.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 18 | 20 | image/svg+xml 21 | 23 | 24 | 25 | 26 | 46 | 48 | 50 | 51 | 53 | 57 | 65 | 70 | 78 | 86 | 94 | 102 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /pix_core/f/jpeg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/mpeg.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/pdf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 17 | 18 | -------------------------------------------------------------------------------- /pix_core/f/png.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/powerpoint.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/psd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/publisher.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/quicktime.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/spreadsheet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/text.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/tiff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pix_core/f/unknown.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/video.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/wmv.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/f/writer.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pix_core/i/completion-auto-fail.svg: -------------------------------------------------------------------------------- 1 | 2 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 50 | 52 | 55 | 56 | 58 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /pix_core/i/completion-auto-n.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 23 | 25 | image/svg+xml 26 | 28 | 29 | 30 | 31 | 32 | 34 | 54 | 59 | 60 | -------------------------------------------------------------------------------- /pix_core/i/completion-auto-pass.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 16 | 17 | -------------------------------------------------------------------------------- /pix_core/i/completion-auto-y.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 16 | 17 | -------------------------------------------------------------------------------- /pix_core/i/completion-manual-n.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 59 | 60 | -------------------------------------------------------------------------------- /pix_core/i/completion-manual-y.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 16 | 17 | -------------------------------------------------------------------------------- /pix_plugins/mod/assign/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/assignment/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/book/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml -------------------------------------------------------------------------------- /pix_plugins/mod/certificate/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pix_plugins/mod/chat/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pix_plugins/mod/choice/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/data/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/feedback/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/folder/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /pix_plugins/mod/forum/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 16 | 17 | -------------------------------------------------------------------------------- /pix_plugins/mod/glossary/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/label/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/lesson/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/lti/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/page/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/questionnaire/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/quiz/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/resource/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/scorm/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /pix_plugins/mod/survey/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 12 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /pix_plugins/mod/url/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 55 | 60 | 61 | -------------------------------------------------------------------------------- /pix_plugins/mod/wiki/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml -------------------------------------------------------------------------------- /pix_plugins/mod/workshop/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | 27 | 28 | 29 | 31 | 51 | 56 | 60 | 61 | -------------------------------------------------------------------------------- /scss/fordson_variables.scss: -------------------------------------------------------------------------------- 1 | // Default Fordson theme variables 2 | 3 | $fpicon-width: 100px !default; 4 | $fpiconcreate-width: 150px !default; 5 | $fploginform: rgba(255, 255, 255, 0.9) !default; 6 | 7 | $headerimagepadding: 275px !default; 8 | $showheadergradient: 0 !default; 9 | 10 | $courseboxheight: 250px !default; 11 | 12 | $marketing1image: #fff !default; 13 | $marketing2image: #fff !default; 14 | $marketing3image: #fff !default; 15 | $marketing4image: #fff !default; 16 | $marketing5image: #fff !default; 17 | $marketing6image: #fff !default; 18 | $markettile-radius: 5px !default; 19 | $markettextbg: rgba(255, 255, 255, 0.8) !default; 20 | 21 | $border-radius: 4px !default; 22 | 23 | $learningcontentpadding: 400px !default; 24 | 25 | $blockwidthfordson: 280px !default; 26 | 27 | $drawer-bg: darken($body-bg, 5%) !default; 28 | $footer-bg: $gray-800 !default; 29 | $breadcrumb-bg: $primary !default; 30 | $breadcrumb-bg-hover: darken($breadcrumb-bg, 15%) !default; 31 | $breadcrumb-text-color: #ffffff !default; 32 | $breadcrumbdash: #ffffff !default; 33 | $breadcrumbdimmed: $gray-600 !default; 34 | 35 | $slideshowheight: 250px !default; 36 | 37 | $activityiconsize: 36px !default; 38 | $activityhover: #fff6ae !default; 39 | 40 | $gutterwidth: 2rem !default; 41 | 42 | $calendartoday: #fbffba !default; 43 | $custommenu-bg: #fff !default; 44 | 45 | $sectionnamehighlight : #43d0f3 !default; 46 | $dpsaccentcolor: #44d4a6 !default; 47 | $sectionactivitybkg: #fdfdfd !default; 48 | $sectionbkg: $sectionactivitybkg !default; 49 | $layout5imgoverlay: rgba(0,0,0,0.5) !default; 50 | $spectrum-base: #3fcbda !default; 51 | $elearningcontentbkg: rgba(255,255,255,0.6) !default; 52 | 53 | //Preset Checks for unique styling 54 | $spectrumpreset: 0 !default; 55 | $modernmoodlepreset: 0 !default; 56 | $perceptionpreset: 0 !default; 57 | 58 | $topnavbarbg: $white !default; 59 | $teachernavbarcolor: #f3e420 !default; 60 | $studentnavbarcolor: $topnavbarbg !default; 61 | $navbar-fhs-color: $black !default; 62 | $navbar-fhs-active-color: $black !default; 63 | $navbar-fhs-hover-color: $black !default; 64 | $navbar-fhs-disabled-color: $black !default; 65 | $navbar-fhs-toggler-border-color: initial !default; 66 | $navbar-fhs-toggler-icon-bg: initial !default; 67 | 68 | $perceptionfontsize: 1.25rem !default; -------------------------------------------------------------------------------- /scss/marketingstyle/marketingstyle1.scss: -------------------------------------------------------------------------------- 1 | .markettiles { 2 | margin: 1rem 0; 3 | } 4 | 5 | .market-tile { 6 | margin: 1rem 0rem; 7 | background-color: $body-bg; 8 | padding: 1rem; 9 | border-top: 10px solid $dark; 10 | } 11 | 12 | .marketcontent { 13 | padding: 1rem; 14 | background-color: $markettextbg; 15 | height: 10rem; 16 | overflow: auto; 17 | margin-bottom: 1rem; 18 | } -------------------------------------------------------------------------------- /scss/marketingstyle/marketingstyle2.scss: -------------------------------------------------------------------------------- 1 | .markettiles { 2 | margin: 1rem 0; 3 | } 4 | 5 | .col-md-4 .market-tile { 6 | text-decoration:none; 7 | color:#000; 8 | background:#ffc; 9 | display:block; 10 | padding:1rem; 11 | margin: 1rem 0; 12 | transform: rotate(1deg); 13 | box-shadow: 0px 4px 6px #333; 14 | border-top: 2rem solid rgba($dark,0.3); 15 | } 16 | 17 | .col-md-4:nth-child(odd) .market-tile { 18 | transform: rotate(-2deg); 19 | } 20 | 21 | .marketcontent { 22 | padding: 1rem; 23 | background-color: $markettextbg; 24 | height: 10rem; 25 | overflow: auto; 26 | margin-bottom: 1rem; 27 | } 28 | 29 | .market-tile .card-title { 30 | border-bottom: 1px dotted $dark; 31 | } -------------------------------------------------------------------------------- /scss/marketingstyle/marketingstyle3.scss: -------------------------------------------------------------------------------- 1 | .markettiles { 2 | margin: 1rem 0; 3 | } 4 | 5 | .market-tile { 6 | margin: 1rem 0rem; 7 | padding: 1rem; 8 | background-color: $gray-100; 9 | border: 1px solid $gray-200; 10 | } 11 | 12 | .marketcontent { 13 | height: 14rem; 14 | overflow: auto; 15 | } 16 | 17 | .marketcontent .text_to_html { 18 | padding: .5rem; 19 | background-color: rgba($white,0.8); 20 | } 21 | 22 | .market-tile .btn-primary { 23 | display: block; 24 | } 25 | 26 | @if $perceptionpreset == 1 { 27 | .market-tile { 28 | margin: 1rem 0rem; 29 | padding: 0; 30 | background-color: $gray-100; 31 | border: 1px solid $gray-200; 32 | border-top: 7px solid $perception-base; 33 | } 34 | .market-tile .card-title { 35 | padding: 1rem .5rem; 36 | background-color: $gray-200; 37 | margin-bottom: 0; 38 | } 39 | .marketcontent { 40 | height: 10rem; 41 | overflow: auto; 42 | } 43 | .market-tile .btn-primary { 44 | margin-top: .25rem; 45 | color: $dark; 46 | background-color: $gray-200; 47 | border-color: $gray-200; 48 | display: inline-block; 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /scss/marketingstyle/marketingstyle4.scss: -------------------------------------------------------------------------------- 1 | .markettiles { 2 | margin: 1rem 0; 3 | } 4 | 5 | .market-tile { 6 | margin: 1rem 0rem; 7 | background-color: $gray-100; 8 | box-shadow: 0px -1px 12px 1px rgba($gray-700, 0.8); 9 | } 10 | 11 | .market-tile .btn-primary { 12 | display: block; 13 | } 14 | 15 | .market-tile .card-title { 16 | padding: 1rem; 17 | } 18 | 19 | .marketcontent { 20 | height: 10rem; 21 | overflow: auto; 22 | position: relative; 23 | } 24 | 25 | .marketcontent .text_to_html { 26 | padding: .5rem; 27 | background-color: rgba($dark,0.6); 28 | color: $white; 29 | font-weight: bold; 30 | position: absolute; 31 | top: 0; 32 | left: 0; 33 | width: 100%; 34 | } 35 | 36 | .marketcontent .text_to_html a { 37 | text-decoration: underline; 38 | color: $white; 39 | } 40 | 41 | .marketcontent .text_to_html a:hover { 42 | color: darken($white, 15%); 43 | } -------------------------------------------------------------------------------- /scss/pagelayout/layout5.scss: -------------------------------------------------------------------------------- 1 | // 2 | // The MIT License (MIT) 3 | // 4 | // Copyright (c) 2013 Thomas Park 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | $bootstrap-sass-asset-helper: false !default; 25 | 26 | .page-context-header .page-header-headings { 27 | padding: .25rem .5rem; 28 | background-color: $primary; 29 | border-radius: .5rem; 30 | margin-top: 1.25rem; 31 | margin-bottom: .25rem; 32 | } 33 | div#page-navbar { 34 | z-index: 1; 35 | } 36 | 37 | //Add space on top for Fordson block slider button 38 | .pt-3, .py-3 { 39 | padding-top: 3rem!important; 40 | } 41 | 42 | #region-main { 43 | border: 1px solid $border-color; 44 | background-color: initial; 45 | } 46 | 47 | .pagelayout-mydashboard #region-main { 48 | background-color: $card-bg; 49 | padding: 1rem; 50 | } 51 | 52 | #page-content .page-context-header .page-header-headings { 53 | background-color: initial; 54 | } 55 | 56 | .page-context-header .page-header-headings h1 { 57 | color: $white; 58 | margin: 0; 59 | } 60 | 61 | #page-site-index .page-context-header .page-header-headings { 62 | background-color: transparent; 63 | } 64 | 65 | .headerbkg { 66 | height: 100%; 67 | width: 100%; 68 | position: absolute; 69 | top: 0; 70 | left: 0; 71 | right: 0; 72 | bottom: 0; 73 | z-index: 0; 74 | } 75 | 76 | //Button fixes for display over images 77 | #page-header .btn.btn-secondary { 78 | background-color: $white; 79 | } 80 | #page-header .btn.btn-secondary:hover { 81 | background-color: darken($primary, 10%); 82 | } 83 | 84 | div#learningcontent { 85 | position: relative; 86 | background-color: transparent; 87 | } 88 | 89 | .breadcrumb { 90 | padding: .25rem .5rem; 91 | background-color: $card-bg; 92 | border-radius: $border-radius; 93 | } 94 | 95 | @media screen and (max-width: 576px) { 96 | .breadcrumb { 97 | background-color:rgba(255,255,255,0.8)!important; 98 | padding: 1rem; 99 | } 100 | } 101 | 102 | 103 | // Scrollbars 104 | 105 | #nav-drawer::-webkit-scrollbar { 106 | width: 7px; 107 | } 108 | 109 | #nav-drawer::-webkit-scrollbar-track { 110 | -webkit-box-shadow: inset 0 0 7px rgba(0, 0, 0, 0.6); 111 | border-radius: 5%; 112 | } 113 | 114 | #nav-drawer::-webkit-scrollbar-thumb { 115 | background-color: darken($primary, 15%); 116 | outline: 1px solid slategrey; 117 | } 118 | 119 | 120 | // Fixes for phone with main content area 121 | 122 | @media screen and (max-width: 576px) { 123 | #page-course-view-topics .course-content ul.topics li.section { 124 | padding: 2rem 0; 125 | } 126 | .card-block { 127 | padding: .5rem; 128 | } 129 | .section li.activity { 130 | padding: .5rem; 131 | } 132 | .course-content ul.section { 133 | margin: 0; 134 | } 135 | #page.container-fluid { 136 | padding: 0; 137 | } 138 | .row { 139 | margin-left: 0; 140 | margin-right: 0; 141 | } 142 | .p-a-1 { 143 | padding: 0 !important; 144 | } 145 | } 146 | 147 | // Activity navigation 148 | 149 | .course-content .single-section .section-navigation { 150 | padding: 1rem; 151 | border-radius: 3px; 152 | margin: 0!important; 153 | border-top: 7px solid rgba(0,0,0,.2); 154 | border-radius: 0; 155 | } 156 | 157 | // Preset specific styling. 158 | 159 | @if $spectrumpreset == 1 { 160 | #page-header .pt-3, #page-header .py-3 { 161 | padding-top: 0!important; 162 | } 163 | div#page-content { 164 | padding: 0 2rem; 165 | } 166 | } 167 | 168 | @if $modernmoodlepreset == 1 { 169 | #page-header .pb-3 { 170 | padding-top: 0!important; 171 | } 172 | } 173 | -------------------------------------------------------------------------------- /scss/preset.scss: -------------------------------------------------------------------------------- 1 | // This file is intentionally empty. 2 | -------------------------------------------------------------------------------- /scss/preset/Boost.scss: -------------------------------------------------------------------------------- 1 | // Bootstrap variables 2 | 3 | $white: #fff !default; 4 | $gray-100: #f8f9fa !default; 5 | $gray-200: #e9ecef !default; 6 | $gray-300: #dee2e6 !default; 7 | $gray-400: #ced4da !default; 8 | $gray-500: #adb5bd !default; 9 | $gray-600: #868e96 !default; 10 | $gray-700: #495057 !default; 11 | $gray-800: #373a3c !default; 12 | $gray-900: #212529 !default; 13 | $black: #000 !default; 14 | 15 | $blue: #1177d1 !default; 16 | $indigo: #6610f2 !default; 17 | $purple: #613d7c !default; 18 | $pink: #e83e8c !default; 19 | $red: #d9534f !default; 20 | $orange: #f0ad4e !default; 21 | $yellow: #ff7518 !default; 22 | $green: #5cb85c !default; 23 | $teal: #20c997 !default; 24 | $cyan: #5bc0de !default; 25 | 26 | $primary: $blue !default; 27 | $secondary: $gray-800 !default; 28 | $success: $green !default; 29 | $info: $cyan !default; 30 | $warning: $yellow !default; 31 | $danger: $red !default; 32 | $light: $gray-100 !default; 33 | $dark: $gray-800 !default; 34 | 35 | // Options 36 | $enable-rounded: false !default; 37 | 38 | // Body 39 | $body-color: $gray-800 !default; 40 | 41 | // Fonts 42 | $font-size-base: 0.9375rem !default; 43 | $headings-font-weight: 300 !default; 44 | 45 | // Navbar 46 | $navbar-dark-hover-color: rgba($white, 1) !default; 47 | $navbar-light-hover-color: rgba($black, .9) !default; 48 | 49 | // Breadcrumbs 50 | $breadcrumb-padding-y: .25rem !default; 51 | $breadcrumb-padding-x: 0 !default; 52 | $breadcrumb-item-padding: .5rem !default; 53 | $breadcrumb-margin-bottom: 0 !default; 54 | $breadcrumb-bg: transparent !default; 55 | $breadcrumb-divider: "/" !default; 56 | $breadcrumb-divider-rtl: "/" !default; 57 | 58 | $breadcrumb-bg: $primary !default; 59 | $breadcrumb-bg-hover: darken($primary, 15%) !default; 60 | $breadcrumb-text-color: $white !default; 61 | $breadcrumbdash: $gray-200 !default; 62 | $breadcrumbdimmed: $gray-600 !default; 63 | 64 | // Alerts 65 | $alert-border-width: 0 !default; 66 | 67 | $card-group-margin: .25rem; 68 | 69 | $theme-colors: ( 70 | primary: $primary, 71 | secondary: $gray-200, 72 | success: $success, 73 | info: $info, 74 | warning: $orange, 75 | danger: $danger, 76 | light: $gray-100, 77 | dark: $gray-800 78 | ); 79 | 80 | // Import FontAwesome. 81 | @import "../../boost/scss/fontawesome"; 82 | 83 | // Import All of Bootstrap 84 | @import "../../boost/scss/bootstrap"; 85 | 86 | // Import Core moodle CSS 87 | @import "../../boost/scss/moodle"; 88 | 89 | 90 | // Preset CSS 91 | 92 | body { 93 | -webkit-font-smoothing: antialiased; 94 | } 95 | 96 | .navbar { 97 | box-shadow: 0 2px 4px rgba(0, 0, 0, .08); 98 | } 99 | 100 | .filemanager-container, 101 | .filepicker-filelist { 102 | @extend .border; 103 | } 104 | 105 | // Rounded user pictures 106 | .userpicture { 107 | border-radius: 50%; 108 | } 109 | 110 | // Reset the default styling back to the bootstrap defaults for 111 | // the secondary outline button because gray-200 is much too light 112 | // for an outline button. 113 | .btn-outline-secondary { 114 | @include button-outline-variant($gray-600); 115 | border-color: $border-color; 116 | } 117 | -------------------------------------------------------------------------------- /scss/sectionlayout/sectionstyle1.scss: -------------------------------------------------------------------------------- 1 | // 2 | // The MIT License (MIT) 3 | // 4 | // Copyright (c) 2013 Thomas Park 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | 25 | // -------------------------------------------------- 26 | 27 | /* stylelint-disable color-hex-length */ 28 | 29 | /** 30 | * Default preset file. 31 | * 32 | * Use this space to customise variables, create mixins and override SCSS. 33 | */ 34 | 35 | //Styling 36 | #page-course-view-topics .course-content .section-summary { 37 | border: 0; 38 | border-bottom: 1px solid $gray-500; 39 | } 40 | 41 | @if $spectrumpreset == 1 { 42 | .course-content ul.topics li.section, .course-content ul.weeks li.section { 43 | margin-bottom: 3rem; 44 | } 45 | .course-content .section-summary { 46 | border: 0; 47 | } 48 | .section-go-link.btn.btn-secondary { 49 | display: block; 50 | margin-top: 2rem; 51 | } 52 | } 53 | 54 | @if $perceptionpreset == 1 { 55 | #page-course-view-topics .course-content ul.topics li.section.current, #page-course-view-topics .course-content ul.weeks li.section.current { 56 | border-left: 7px solid $perception-base; 57 | background-color: $gray-100; 58 | } 59 | #page-course-view-topics .course-content ul.topics li.section.hidden, #page-course-view-topics .course-content ul.weeks li.section.hidden { 60 | border-left: 7px solid $gray-900; 61 | background-color: $gray-100; 62 | } 63 | li.section.current { 64 | border-left: 7px solid $perception-base; 65 | background-color: lighten($gray-200, 5%); 66 | } 67 | 68 | li.section.hidden { 69 | border-left: 7px solid $gray-900; 70 | background-color: lighten($gray-200, 5%); 71 | } 72 | 73 | .course-content .section-summary { 74 | border: 0; 75 | } 76 | .course-content img.activityicon { 77 | height: $activityiconsize; 78 | width: $activityiconsize; 79 | vertical-align: middle !important; 80 | } 81 | .section li.activity { 82 | padding: calc($spacer - 50%); 83 | border-bottom: 1px dashed transparent; 84 | } 85 | 86 | .section li.activity:hover { 87 | transition: all 0.3s cubic-bezier(.25, .8, .25, 1); 88 | background-color: rgba($activityhover, .8); 89 | border-bottom: 1px dashed $gray-300; 90 | } 91 | 92 | .section li.activity.modtype_label.label:hover { 93 | transition: none; 94 | background-color: inherit; 95 | } 96 | 97 | .editing .section .activity:hover, 98 | .editing .section .activity.action-menu-shown { 99 | background-color: $activityhover; 100 | } 101 | .section li.activity { 102 | padding: .2rem .5rem; 103 | clear: both; 104 | } 105 | .course-content ul li.section.main { 106 | border-bottom: 1px solid $gray-500; 107 | } 108 | 109 | } -------------------------------------------------------------------------------- /scss/sectionlayout/sectionstyle8.scss: -------------------------------------------------------------------------------- 1 | // 2 | // The MIT License (MIT) 3 | // 4 | // Copyright (c) 2013 Thomas Park 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | // 24 | 25 | // -------------------------------------------------- 26 | 27 | /* stylelint-disable color-hex-length */ 28 | 29 | /** 30 | * Default preset file. 31 | * 32 | * Use this space to customise variables, create mixins and override SCSS. 33 | */ 34 | 35 | //Styling 36 | 37 | h3.sectionname { 38 | text-align: center; 39 | padding: $spacer; 40 | background-color: $gray-300; 41 | } 42 | 43 | #page-course-view-topics .course-content ul.topics li.section, #page-course-view-weeks .course-content ul.weeks li.section { 44 | margin-bottom: 3rem; 45 | padding-top: 0; 46 | } 47 | 48 | .course-content img.activityicon { 49 | height: $activityiconsize; 50 | width: $activityiconsize; 51 | vertical-align: middle !important; 52 | } 53 | 54 | .course-content .current::before { 55 | border-left: $primary 8px solid; 56 | } 57 | 58 | .course-content .single-section .section-navigation { 59 | padding: 1rem; 60 | margin: 0!important; 61 | border-top: 7px solid rgba(0,0,0,.2); 62 | border-radius: 0; 63 | } 64 | .course-content .section-summary { 65 | border: 0; 66 | } 67 | 68 | .progress.fordsonsinglepage { 69 | margin-top: 1rem; 70 | margin-right: 1rem; 71 | height: 12px!important; 72 | border: 1px solid $white !important; 73 | } 74 | 75 | @if $perceptionpreset == 1 { 76 | .course-content ul.topics li.section .content, .course-content ul.weeks li.section .content { 77 | margin: 0; 78 | padding: 0; 79 | } 80 | h3.sectionname { 81 | text-align: left; 82 | padding: $spacer; 83 | background-color: $perception-base; 84 | } 85 | .hidden h3.sectionname { 86 | text-align: left; 87 | padding: 1rem; 88 | background-color: $gray-300; 89 | } 90 | 91 | .course-content .current::before { 92 | border-left: 0; 93 | } 94 | .course-content ul.topics li.section.current h3.sectionname, .course-content ul.weeks li.section.current h3.sectionname { 95 | background-color: $sectionnamehighlight; 96 | } 97 | .progress-bar { 98 | background-color: $sectionnamehighlight; 99 | } 100 | } -------------------------------------------------------------------------------- /settings.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Main settings file. 19 | * 20 | * @package theme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @credits theme_boost - MoodleHQ 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | /* THEME_fordson BUILDING NOTES 27 | * ============================= 28 | * Settings have been split into separate files, which are called from 29 | * this central file. This is to aid ongoing development as I find it 30 | * easier to work with multiple smaller function-specific files than 31 | * with a single monolithic settings file. 32 | * This may be a personal preference and it would be quite feasible to 33 | * bring all lib functions back into a single central file if another 34 | * developer prefered to work in that way. 35 | */ 36 | 37 | defined('MOODLE_INTERNAL') || die(); 38 | 39 | if ($ADMIN->fulltree) { 40 | // Note new tabs layout for admin settings pages. 41 | $settings = new theme_boost_admin_settingspage_tabs('themesettingfordson', get_string('configtitle', 'theme_fordson')); 42 | 43 | require('settings/presets_settings.php'); 44 | require('settings/presets_adjustments_settings.php'); 45 | require('settings/image_settings.php'); 46 | require('settings/colours_settings.php'); 47 | require('settings/content_settings.php'); 48 | require('settings/menu_settings.php'); 49 | require('settings/fpicons_settings.php'); 50 | require('settings/markettiles_settings.php'); 51 | require('settings/footer_settings.php'); 52 | require('settings/slideshow_settings.php'); 53 | require('settings/customlogin_settings.php'); 54 | } 55 | -------------------------------------------------------------------------------- /settings/content_settings.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Heading and course images settings page file. 19 | * 20 | * @packagetheme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @creditstheme_fordson - MoodleHQ 23 | * @licensehttp://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | $page = new admin_settingpage('theme_fordson_content', get_string('contentsettings', 'theme_fordson')); 29 | // Content Info 30 | $name = 'theme_fordson/textcontentinfo'; 31 | $heading = get_string('textcontentinfo', 'theme_fordson'); 32 | $information = get_string('textcontentinfodesc', 'theme_fordson'); 33 | $setting = new admin_setting_heading($name, $heading, $information); 34 | $page->add($setting); 35 | 36 | // Frontpage Textbox. 37 | $name = 'theme_fordson/fptextbox'; 38 | $title = get_string('fptextbox', 'theme_fordson'); 39 | $description = get_string('fptextbox_desc', 'theme_fordson'); 40 | $default = ''; 41 | $setting = new admin_setting_confightmleditor($name, $title, $description, $default); 42 | $setting->set_updatedcallback('theme_reset_all_caches'); 43 | $page->add($setting); 44 | 45 | // Frontpage Textbox Logged Out. 46 | $name = 'theme_fordson/fptextboxlogout'; 47 | $title = get_string('fptextboxlogout', 'theme_fordson'); 48 | $description = get_string('fptextboxlogout_desc', 'theme_fordson'); 49 | $default = ''; 50 | $setting = new admin_setting_confightmleditor($name, $title, $description, $default); 51 | $setting->set_updatedcallback('theme_reset_all_caches'); 52 | $page->add($setting); 53 | 54 | // Alert setting. 55 | $name = 'theme_fordson/alertbox'; 56 | $title = get_string('alert', 'theme_fordson'); 57 | $description = get_string('alert_desc', 'theme_fordson'); 58 | $default = ''; 59 | $setting = new admin_setting_confightmleditor($name, $title, $description, $default); 60 | $setting->set_updatedcallback('theme_reset_all_caches'); 61 | $page->add($setting); 62 | 63 | // Must add the page after definiting all the settings! 64 | $settings->add($page); 65 | -------------------------------------------------------------------------------- /settings/image_settings.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Heading and course images settings page file. 19 | * 20 | * @packagetheme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @creditstheme_boost - MoodleHQ 23 | * @licensehttp://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | $page = new admin_settingpage('theme_fordson_images', get_string('imagesettings', 'theme_fordson')); 29 | 30 | // Show hide user enrollment toggle. 31 | $name = 'theme_fordson/showcourseheaderimage'; 32 | $title = get_string('showcourseheaderimage', 'theme_fordson'); 33 | $description = get_string('showcourseheaderimage_desc', 'theme_fordson'); 34 | $default = 1; 35 | $setting = new admin_setting_configcheckbox($name, $title, $description, $default); 36 | $setting->set_updatedcallback('theme_reset_all_caches'); 37 | $page->add($setting); 38 | 39 | // Favicon upload. 40 | $name = 'theme_fordson/favicon'; 41 | $title = get_string ( 'favicon', 'theme_fordson' ); 42 | $description = get_string ( 'favicon_desc', 'theme_fordson' ); 43 | $setting = new admin_setting_configstoredfile( $name, $title, $description, 'favicon', 0, 44 | array('maxfiles' => 1, 'accepted_types' => array('png', 'jpg', 'ico'))); 45 | $setting->set_updatedcallback ( 'theme_reset_all_caches' ); 46 | $page->add($setting); 47 | 48 | // logo image. 49 | $name = 'theme_fordson/headerlogo'; 50 | $title = get_string('headerlogo', 'theme_fordson'); 51 | $description = get_string('headerlogo_desc', 'theme_fordson'); 52 | $setting = new admin_setting_configstoredfile($name, $title, $description, 'headerlogo'); 53 | $setting->set_updatedcallback('theme_reset_all_caches'); 54 | $page->add($setting); 55 | 56 | // Default header image. 57 | $name = 'theme_fordson/headerdefaultimage'; 58 | $title = get_string('headerdefaultimage', 'theme_fordson'); 59 | $description = get_string('headerdefaultimage_desc', 'theme_fordson'); 60 | $setting = new admin_setting_configstoredfile($name, $title, $description, 'headerdefaultimage'); 61 | $setting->set_updatedcallback('theme_reset_all_caches'); 62 | $page->add($setting); 63 | 64 | // Default background image. 65 | $name = 'theme_fordson/backgroundimage'; 66 | $title = get_string('backgroundimage', 'theme_fordson'); 67 | $description = get_string('backgroundimage_desc', 'theme_fordson'); 68 | $setting = new admin_setting_configstoredfile($name, $title, $description, 'backgroundimage'); 69 | $setting->set_updatedcallback('theme_reset_all_caches'); 70 | $page->add($setting); 71 | 72 | // Default login page image. 73 | $name = 'theme_fordson/loginimage'; 74 | $title = get_string('loginimage', 'theme_fordson'); 75 | $description = get_string('loginimage_desc', 'theme_fordson'); 76 | $setting = new admin_setting_configstoredfile($name, $title, $description, 'loginimage'); 77 | $setting->set_updatedcallback('theme_reset_all_caches'); 78 | $page->add($setting); 79 | 80 | // Must add the page after definiting all the settings! 81 | $settings->add($page); 82 | -------------------------------------------------------------------------------- /templates/activitygroups.mustache: -------------------------------------------------------------------------------- 1 |
2 | {{#haschildren}} 3 | {{#children}} 4 | {{text}} 5 | {{/children}} 6 | {{/haschildren}} 7 |
-------------------------------------------------------------------------------- /templates/blockspanelslider.mustache: -------------------------------------------------------------------------------- 1 | {{#hascourseblocks}} 2 |
3 | {{#hasfpblockregion}} 4 |
5 |
6 |
7 |
8 |
9 | {{{ fpablocks }}} 10 |
11 |
12 |
13 |
14 | {{{ fpbblocks }}} 15 |
16 |
17 |
18 |
19 | {{{ fpcblocks }}} 20 |
21 |
22 |
23 |
24 | 25 |
26 | 29 | {{/hasfpblockregion}} 30 |
31 | 32 | {{#hasfpblockregion}} 33 |
34 | 37 |
38 | {{/hasfpblockregion}} 39 | 40 | {{/hascourseblocks}} -------------------------------------------------------------------------------- /templates/core/chooser.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | @template core/chooser 19 | 20 | Chooser. 21 | 22 | Example context (json): 23 | { 24 | "title": "Chooser title", 25 | "method": "post", 26 | "actionurl": "http://example.org/test", 27 | "instructions": "Choose one:", 28 | "paramname": "param", 29 | "sections": [{ 30 | "id": "section-1", 31 | "label": "Section one", 32 | "items": [{ 33 | "label": "item one", 34 | "description": "description one" 35 | }] 36 | }] 37 | } 38 | }} 39 |
40 | {{title}} 41 |
42 | 43 |
44 |
45 |
46 |
47 |
48 | {{#params}} 49 | 50 | {{/params}} 51 | 52 |
53 | 54 |
55 |
56 | {{instructions}} 57 |
58 |
59 | {{#sections}} 60 |
61 |
62 | 65 |
66 | {{#items}} 67 | {{>core/chooser_item}} 68 | {{/items}} 69 |
70 | {{/sections}} 71 |
72 |
73 | 74 |
75 | 76 | 77 |
78 | 79 |
80 |
81 |
82 |
83 | -------------------------------------------------------------------------------- /templates/core/navbar.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | @template core/navbar 19 | 20 | Navbar template. 21 | 22 | Classes required for JS: 23 | * none 24 | 25 | Data attributes required for JS: 26 | * none 27 | 28 | Context variables required for this template: 29 | * get_items - array of items 30 | * has_action - boolean 31 | * action - string 32 | * get_title - string 33 | * text - HTML 34 | 35 | Example context (json): 36 | { 37 | "get_items": [ 38 | { 39 | "has_action": true, 40 | "action": "#", 41 | "get_title": "Test title", 42 | "text": "First & fresh" 43 | }, 44 | { 45 | "has_action": true, 46 | "action": "#", 47 | "get_title": "Second item & a title", 48 | "text": "Second item" 49 | }, 50 | { 51 | "has_action": false, 52 | "text": "Third item" 53 | }, 54 | { 55 | "has_action": false, 56 | "text": "Fourth & last" 57 | } 58 | ] 59 | } 60 | }} 61 | 62 | -------------------------------------------------------------------------------- /templates/customlogin.mustache: -------------------------------------------------------------------------------- 1 | {{#hascustomlogin}} 2 | 3 | {{#hasfpiconnav}} 4 |
5 | {{#fpiconnav}} {{#hasicon}} 6 |
7 |
8 |
9 | 10 |
11 |
12 |

{{{title}}}

{{{text}}} 13 |
14 |
15 |
16 | {{/hasicon}} {{/fpiconnav}} 17 |
18 | {{/hasfpiconnav}} 19 | 20 | {{#hasfeature1}} 21 |
22 |
23 |
24 | {{{feature1text}}} 25 |
26 |
27 |
28 |
29 | Responsive image 30 |
31 |
32 |
33 | {{/hasfeature1}} 34 | {{#hasfeature2}} 35 |
36 |
37 |
38 | {{{feature2text}}} 39 |
40 |
41 |
42 |
43 | Responsive image 44 |
45 |
46 |
47 | {{/hasfeature2}} 48 | {{#hasfeature3}} 49 |
50 |
51 |
52 | {{{feature3text}}} 53 |
54 |
55 |
56 |
57 | Responsive image 58 |
59 |
60 |
61 | {{/hasfeature3}} 62 | 63 | {{/hascustomlogin}} -------------------------------------------------------------------------------- /templates/footer.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | Page footer. 19 | }} 20 | 21 |
22 |
23 | 24 | 25 | 26 |
27 | 28 |
29 | {{{ output.footnote }}} 30 | 31 | {{{ output.login_info }}} 32 | 33 | {{{ output.home_link }}} 34 | 35 | {{# output.page_doc_link }} 36 | 37 | {{/ output.page_doc_link }} 38 | 39 |
40 | 41 |
42 |
43 | 44 | {{#output.brandorganization_footer}}

{{output.brandorganization_footer}}

{{/output.brandorganization_footer}} 45 |
    46 | {{#output.brandwebsite_footer}}
  • {{output.brandwebsite_footer}}
  • {{/output.brandwebsite_footer}} 47 | {{#output.brandemail_footer}}
  • {{output.brandemail_footer}}
  • {{/output.brandemail_footer}} 48 | {{#output.brandphone_footer}}
  • {{output.brandphone_footer}}
  • {{/output.brandphone_footer}} 49 |
50 | 51 | {{{ output.social_icons }}} 52 | 53 |
54 |
55 | 56 |
57 | 64 | {{{ output.standard_footer_html }}} 65 | {{{ output.standard_end_of_body_html }}} 66 | 67 |
68 | 69 |
70 | -------------------------------------------------------------------------------- /templates/fpmarkettiles.mustache: -------------------------------------------------------------------------------- 1 | {{#hasmarkettiles}} 2 |
3 |
4 |
5 | 6 | {{#markettiles}} 7 | {{#hastile}} 8 | 9 |
10 |
11 |

{{{title}}}

12 |
13 |

{{{content}}}

14 |

15 | {{{button}}} 16 |
17 |
18 | 19 | {{/hastile}} 20 | {{/markettiles}} 21 | 22 |
23 |
24 |
25 |
26 | {{/hasmarkettiles}} -------------------------------------------------------------------------------- /templates/header.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | Page header. 19 | }} 20 | 21 | -------------------------------------------------------------------------------- /templates/login.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | @template theme_boost/login 19 | 20 | Login page template 21 | 22 | Example context (json): 23 | { 24 | "output": { 25 | "doctype": "", 26 | "page_title": "Login page", 27 | "favicon": "favicon.ico", 28 | "main_content": "

Headers keep HTML validators happy

" 29 | } 30 | } 31 | }} 32 | {{> theme_boost/head }} 33 | 34 | 35 | 36 |
37 | 38 | {{{ output.standard_top_of_body_html }}} 39 | 40 |
41 |
42 |
43 | {{#hasslideshowpages}} 44 |
45 | {{{ output.fp_slideshow }}} 46 |
47 | {{/hasslideshowpages}} 48 | {{{ output.course_content_header }}} 49 | {{{ output.main_content }}} 50 | {{#hasslideshowpages}} 51 |
52 | {{/hasslideshowpages}} 53 | {{{ output.course_content_footer }}} 54 |
55 |
56 |
57 | {{#hascustomlogin}} 58 |
59 |
60 | {{{ output.customlogin }}} 61 |
62 |
63 | {{/hascustomlogin}} 64 | {{> theme_fordson/footer }} 65 |
66 | 67 | 68 | 69 | 70 | {{#js}} 71 | require(['theme_boost/loader']); 72 | {{/js}} 73 | -------------------------------------------------------------------------------- /templates/mydashboard.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | @template theme_boost/columns2 19 | 20 | Admin time setting template. 21 | 22 | Boost 2 column layout template. 23 | 24 | Context variables required for this template: 25 | * sitename - The name of the site 26 | * output - The core renderer for the page 27 | * bodyattributes - attributes for the body tag as a string of html attributes 28 | * sidepreblocks - HTML for the blocks 29 | * hasblocks - true if there are blocks on this page 30 | * navdraweropen - true if the nav drawer should be open on page load 31 | * regionmainsettingsmenu - HTML for the region main settings menu 32 | * hasregionmainsettingsmenu - There is a region main settings menu on this page. 33 | 34 | Example context (json): 35 | { 36 | "sitename": "Moodle", 37 | "output": { 38 | "doctype": "", 39 | "page_title": "Test page", 40 | "favicon": "favicon.ico", 41 | "main_content": "

Headings make html validators happier

" 42 | }, 43 | "bodyattributes":"", 44 | "sidepreblocks": "

Blocks html goes here

", 45 | "hasblocks":true, 46 | "navdraweropen":true, 47 | "regionmainsettingsmenu": "", 48 | "hasregionmainsettingsmenu": false 49 | } 50 | }} 51 | {{> theme_boost/head }} 52 | 53 | 54 | 55 |
56 | 57 | {{{ output.standard_top_of_body_html }}} 58 | 59 | {{>theme_fordson/navbar}} 60 | 61 | {{#output.headerbkglocation}} 62 | {{{ output.headerimage }}} 63 | {{/output.headerbkglocation}} 64 | 65 |
66 | 67 |
68 | 69 | {{#headerlogo}} 70 | 73 | {{/headerlogo}} 74 | {{>theme_fordson/blockspanelslider}} 75 | {{#hasslideshowpages}} 76 | {{{ output.fp_slideshow }}} 77 | {{/hasslideshowpages}} 78 | {{{ output.full_header }}} 79 | 80 |
81 |
82 | {{#hasregionmainsettingsmenu}} 83 |
84 |
{{{ output.region_main_settings_menu }}}
85 |
86 | {{/hasregionmainsettingsmenu}} 87 |
88 | 89 | {{#hasregionmainsettingsmenu}} 90 |
91 | {{/hasregionmainsettingsmenu}} 92 | {{{ output.course_content_header }}} 93 | {{{ enrolform }}} 94 | {{{ output.fp_wonderbox }}} 95 | {{{ output.main_content }}} 96 | {{{ output.fp_marketingtiles }}} 97 | {{{ output.course_content_footer }}} 98 | 99 |
100 | {{#hasblocks}} 101 |
102 | {{{ sidepreblocks }}} 103 |
104 | {{/hasblocks}} 105 |
106 |
107 |
108 |
109 | {{{ output.standard_after_main_region_html }}} 110 | {{#hasfhsdrawer}} 111 | {{> theme_boost/nav-drawer }} 112 | {{/hasfhsdrawer}} 113 | 114 | {{> theme_fordson/footer }} 115 | 116 |
117 | 118 | 119 | 120 | 121 | 122 | {{#js}} 123 | require(['theme_boost/loader']); 124 | require(['jquery','theme_boost/bootstrap/tooltip'], function($){$('[data-tooltip="tooltip"]').tooltip()}); 125 | require(['theme_boost/drawer'], function(mod) { 126 | mod.init(); 127 | }); 128 | {{/js}} 129 | -------------------------------------------------------------------------------- /templates/navbar.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | Page navbar. 19 | }} 20 | 67 | 68 | -------------------------------------------------------------------------------- /templates/progress-bar.mustache: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | {{#str}}aria:courseprogress, block_myoverview{{/str}} 5 | {{progress}}{{#str}}myprogresspercentage, theme_fordson{{/str}} 6 |
7 |
8 |
9 | -------------------------------------------------------------------------------- /templates/slideshow.mustache: -------------------------------------------------------------------------------- 1 | {{#hasfpslideshow}} 2 | 3 | 65 | 66 | {{/hasfpslideshow}} -------------------------------------------------------------------------------- /templates/socialicons.mustache: -------------------------------------------------------------------------------- 1 | {{! 2 | This file is part of Moodle - http://moodle.org/ 3 | 4 | Moodle is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Moodle is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Moodle. If not, see . 16 | }} 17 | {{! 18 | @template theme_fordson/socialicons 19 | 20 | fordson Social Icons display. 21 | 22 | Context variables required for this template: 23 | * hassocialnetworks 24 | * hasfacebook 25 | * has twitter 26 | * hasgoogleplus 27 | * haslinkedin 28 | * hasyoutube 29 | * hasflickr 30 | * hasvk 31 | * haspinterest 32 | * hasinstagram 33 | * hasskype 34 | * haswebsite 35 | * hasblog 36 | * hasvimeo 37 | * hastumblr 38 | * hassocial1 39 | * hassocial1icon 40 | * hassocial2 41 | * hassocial2icon 42 | * hassocial3 43 | * hassocial3icon 44 | }} 45 | 46 | {{#hassocialnetworks}} 47 |
48 | 61 |
62 | {{/hassocialnetworks}} 63 | -------------------------------------------------------------------------------- /templates/teacherdashmenu.mustache: -------------------------------------------------------------------------------- 1 | {{#showincourseonly}} 2 | {{#hasteacherdash}} 3 | 6 | {{/hasteacherdash}} 7 | 8 | {{#haspermission}} 9 | {{#dashmenu}} 10 | {{#haseasyenrollment}} 11 | 14 | {{/haseasyenrollment}} 15 | {{/dashmenu}} 16 | {{/haspermission}} 17 | 18 | {{#hasstudentdash}} 19 | 22 | {{/hasstudentdash}} 23 | {{/showincourseonly}} 24 | 25 | {{#hasadminlink}} 26 | 29 | {{/hasadminlink}} -------------------------------------------------------------------------------- /version.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Version file. 19 | * 20 | * @package theme_fordson 21 | * @copyright 2016 Chris Kenniburg 22 | * @credits theme_boost - MoodleHQ 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | 29 | $plugin->version = 2021072100; 30 | $plugin->release = 'Moodle 3.11 Fordson v3.11 release 1'; 31 | $plugin->maturity = MATURITY_STABLE; 32 | $plugin->requires = 2021051100; 33 | $plugin->component = 'theme_fordson'; 34 | $plugin->dependencies = array( 35 | 'theme_boost' => 2021051700, 36 | ); 37 | --------------------------------------------------------------------------------