├── scss ├── roshnilite │ ├── pre.css │ ├── pre.css.map │ ├── pre.scss │ ├── body-background.scss │ └── post.scss ├── fontawesome.scss ├── moodle.scss ├── classicgrunt.scss ├── preset │ ├── plain.scss │ └── default.scss └── fontawesome.css.map ├── pix ├── c-1.jpg ├── cat-1.jpg ├── cat-2.jpg ├── cat-3.jpg ├── cat-4.jpg ├── cat-5.jpg ├── cat-6.jpg ├── cat-7.jpg ├── cat-8.jpg ├── nopic.jpg ├── sl-1.jpg ├── favicon.ico ├── img │ ├── b-1.jpg │ ├── b-2.jpg │ ├── b-3.jpg │ ├── b-4.jpg │ ├── b-h-1.png │ ├── b-h-2.png │ ├── b-h-3.png │ ├── b-h-4.png │ ├── logo.png │ ├── bg-lan-list.jpg │ ├── button-next.png │ ├── column3 │ │ ├── i-1.png │ │ ├── i-2.png │ │ ├── i-3.png │ │ ├── i-4.png │ │ ├── i-5.png │ │ ├── i-6.png │ │ ├── i-7.png │ │ ├── i-disk.png │ │ ├── block-action-1.png │ │ └── block-action-2.png │ ├── i-to-top-1.png │ ├── button-previous.png │ ├── line-left-dark.png │ ├── line-left-light.png │ ├── line-right-dark.png │ ├── line-right-light.png │ ├── bg-brand-partners.png │ ├── bxslider-img │ │ ├── controls.png │ │ ├── bx_loader.gif │ │ ├── i-arr-l-2.png │ │ ├── i-arr-next.png │ │ ├── i-arr-prev.png │ │ └── i-arr-r-2.png │ └── categoryImg.svg ├── screenshot.jpg ├── userimage.png ├── icon-conts-1.png ├── icon-conts-2.png ├── icon-conts-3.png └── icon-conts-4.png ├── templates ├── head.mustache ├── frontpagefooter.mustache ├── footer.mustache ├── login.mustache ├── frontpagenavbar.mustache ├── navbar-secure.mustache ├── maintenance.mustache ├── contentonly.mustache ├── navbar.mustache ├── secure.mustache ├── columns.mustache └── frontpage.mustache ├── layout ├── footer.php ├── maintenance.php ├── contentonly.php ├── navbar.php ├── login.php ├── secure.php ├── columns.php └── frontpage.php ├── version.php ├── Readme.txt ├── config.php ├── lang └── en │ └── theme_roshnilite.php ├── style └── font-awesome.min.css └── lib.php /scss/roshnilite/pre.css: -------------------------------------------------------------------------------- 1 | /*# sourceMappingURL=pre.css.map */ -------------------------------------------------------------------------------- /scss/fontawesome.scss: -------------------------------------------------------------------------------- 1 | // Import FontAwesome. 2 | @import "../../boost/scss/fontawesome"; -------------------------------------------------------------------------------- /scss/moodle.scss: -------------------------------------------------------------------------------- 1 | // Import Boost Core moodle CSS 2 | @import "../../boost/scss/moodle"; -------------------------------------------------------------------------------- /pix/c-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/c-1.jpg -------------------------------------------------------------------------------- /pix/cat-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-1.jpg -------------------------------------------------------------------------------- /pix/cat-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-2.jpg -------------------------------------------------------------------------------- /pix/cat-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-3.jpg -------------------------------------------------------------------------------- /pix/cat-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-4.jpg -------------------------------------------------------------------------------- /pix/cat-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-5.jpg -------------------------------------------------------------------------------- /pix/cat-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-6.jpg -------------------------------------------------------------------------------- /pix/cat-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-7.jpg -------------------------------------------------------------------------------- /pix/cat-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/cat-8.jpg -------------------------------------------------------------------------------- /pix/nopic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/nopic.jpg -------------------------------------------------------------------------------- /pix/sl-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/sl-1.jpg -------------------------------------------------------------------------------- /pix/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/favicon.ico -------------------------------------------------------------------------------- /pix/img/b-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-1.jpg -------------------------------------------------------------------------------- /pix/img/b-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-2.jpg -------------------------------------------------------------------------------- /pix/img/b-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-3.jpg -------------------------------------------------------------------------------- /pix/img/b-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-4.jpg -------------------------------------------------------------------------------- /scss/roshnilite/pre.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":[],"names":[],"mappings":"","file":"pre.css"} -------------------------------------------------------------------------------- /pix/img/b-h-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-h-1.png -------------------------------------------------------------------------------- /pix/img/b-h-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-h-2.png -------------------------------------------------------------------------------- /pix/img/b-h-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-h-3.png -------------------------------------------------------------------------------- /pix/img/b-h-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/b-h-4.png -------------------------------------------------------------------------------- /pix/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/logo.png -------------------------------------------------------------------------------- /pix/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/screenshot.jpg -------------------------------------------------------------------------------- /pix/userimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/userimage.png -------------------------------------------------------------------------------- /pix/icon-conts-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/icon-conts-1.png -------------------------------------------------------------------------------- /pix/icon-conts-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/icon-conts-2.png -------------------------------------------------------------------------------- /pix/icon-conts-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/icon-conts-3.png -------------------------------------------------------------------------------- /pix/icon-conts-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/icon-conts-4.png -------------------------------------------------------------------------------- /pix/img/bg-lan-list.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bg-lan-list.jpg -------------------------------------------------------------------------------- /pix/img/button-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/button-next.png -------------------------------------------------------------------------------- /pix/img/column3/i-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-1.png -------------------------------------------------------------------------------- /pix/img/column3/i-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-2.png -------------------------------------------------------------------------------- /pix/img/column3/i-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-3.png -------------------------------------------------------------------------------- /pix/img/column3/i-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-4.png -------------------------------------------------------------------------------- /pix/img/column3/i-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-5.png -------------------------------------------------------------------------------- /pix/img/column3/i-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-6.png -------------------------------------------------------------------------------- /pix/img/column3/i-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-7.png -------------------------------------------------------------------------------- /pix/img/i-to-top-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/i-to-top-1.png -------------------------------------------------------------------------------- /pix/img/button-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/button-previous.png -------------------------------------------------------------------------------- /pix/img/column3/i-disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/i-disk.png -------------------------------------------------------------------------------- /pix/img/line-left-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/line-left-dark.png -------------------------------------------------------------------------------- /pix/img/line-left-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/line-left-light.png -------------------------------------------------------------------------------- /pix/img/line-right-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/line-right-dark.png -------------------------------------------------------------------------------- /pix/img/line-right-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/line-right-light.png -------------------------------------------------------------------------------- /pix/img/bg-brand-partners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bg-brand-partners.png -------------------------------------------------------------------------------- /pix/img/bxslider-img/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/controls.png -------------------------------------------------------------------------------- /pix/img/bxslider-img/bx_loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/bx_loader.gif -------------------------------------------------------------------------------- /pix/img/bxslider-img/i-arr-l-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/i-arr-l-2.png -------------------------------------------------------------------------------- /pix/img/bxslider-img/i-arr-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/i-arr-next.png -------------------------------------------------------------------------------- /pix/img/bxslider-img/i-arr-prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/i-arr-prev.png -------------------------------------------------------------------------------- /pix/img/bxslider-img/i-arr-r-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/bxslider-img/i-arr-r-2.png -------------------------------------------------------------------------------- /pix/img/column3/block-action-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/block-action-1.png -------------------------------------------------------------------------------- /pix/img/column3/block-action-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kndnsow/moodle-theme_roshnilite/HEAD/pix/img/column3/block-action-2.png -------------------------------------------------------------------------------- /scss/roshnilite/pre.scss: -------------------------------------------------------------------------------- 1 | // General variables for all presets 2 | 3 | // Disable the Boost theme reset styling and fixed width content. 4 | $allow-reset-style: false; 5 | -------------------------------------------------------------------------------- /scss/classicgrunt.scss: -------------------------------------------------------------------------------- 1 | // This file allows the creation of precompiled css from the core Grunt task. 2 | @import "roshnilite/pre"; 3 | @import "preset/default"; 4 | @import "roshnilite/post"; -------------------------------------------------------------------------------- /scss/preset/plain.scss: -------------------------------------------------------------------------------- 1 | // Import FontAwesome. 2 | @import "fontawesome"; 3 | 4 | // Import All of Bootstrap 5 | @import "bootstrap"; 6 | 7 | // Import Core moodle CSS 8 | @import "moodle"; -------------------------------------------------------------------------------- /templates/head.mustache: -------------------------------------------------------------------------------- 1 | {{{ output.doctype }}} 2 | 3 | 4 | {{{ output.page_title }}} 5 | 6 | {{{ output.standard_head_html }}} 7 | 8 | -------------------------------------------------------------------------------- /scss/roshnilite/body-background.scss: -------------------------------------------------------------------------------- 1 | body { 2 | background-image: url($imageurl); 3 | background-size: cover; 4 | } 5 | .region-main .region-main-content { 6 | padding: 0.875rem; 7 | background-color: $body-bg; 8 | border: $card-border-width solid $card-border-color; 9 | @include border-radius($card-border-radius); 10 | } -------------------------------------------------------------------------------- /templates/frontpagefooter.mustache: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/footer.mustache: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layout/footer.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | $templatecontext = [ 29 | 'output' => $OUTPUT, 30 | ]; 31 | 32 | echo $OUTPUT->render_from_template('theme_roshnilite/footer', $templatecontext); 33 | -------------------------------------------------------------------------------- /layout/maintenance.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | global $PAGE; 28 | 29 | $templatecontext = [ 30 | 'sitename' => format_string($SITE->shortname, true, ["escape" => false]), 31 | 'output' => $OUTPUT, 32 | ]; 33 | 34 | echo $OUTPUT->render_from_template('theme_roshnilite/maintenance', $templatecontext); 35 | -------------------------------------------------------------------------------- /templates/login.mustache: -------------------------------------------------------------------------------- 1 | {{> theme_roshnilite/head }} 2 | 3 | 4 | {{> core/local/toast/wrapper}} 5 | 6 |
7 | 8 | {{{ output.standard_top_of_body_html }}} 9 | 10 |
11 |
12 |
13 |
14 | {{{ output.course_content_header }}} 15 | {{{ output.main_content }}} 16 | {{{ output.course_content_footer }}} 17 |
18 |
19 |
20 |
21 |
22 |
23 | 24 | 25 | {{# output.page_doc_link }} 26 | 27 | {{/ output.page_doc_link }} 28 | 29 | {{{ output.login_info }}} 30 | {{{ output.home_link }}} 31 | {{{ output.standard_footer_html }}} 32 | {{{ output.standard_end_of_body_html }}} 33 |
34 |
35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /version.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | // This line protects the file from being accessed by a URL directly. 27 | defined('MOODLE_INTERNAL') || die(); 28 | 29 | $plugin->version = 2023111600; 30 | $plugin->requires = 2022041900; // Moodle 4.0. 31 | $plugin->component = 'theme_roshnilite'; 32 | $plugin->dependencies = ['theme_boost' => 2022041900]; 33 | $plugin->maturity = MATURITY_STABLE; 34 | $plugin->release = '3.5.3 (Build: 2023111600)'; 35 | -------------------------------------------------------------------------------- /layout/contentonly.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | global $PAGE; 28 | 29 | $bodyattributes = $OUTPUT->body_attributes([]); 30 | 31 | $templatecontext = [ 32 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]), 33 | 'output' => $OUTPUT, 34 | 'bodyattributes' => $bodyattributes, 35 | ]; 36 | 37 | echo $OUTPUT->render_from_template('theme_roshnilite/contentonly', $templatecontext); 38 | -------------------------------------------------------------------------------- /layout/navbar.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | global $PAGE; 29 | 30 | if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) { 31 | $imgpath = $PAGE->theme->setting_file_url('logo', 'logo'); 32 | } else { 33 | $imgpath = $CFG->wwwroot."/theme/roshnilite/pix/img/logo.png"; 34 | } 35 | 36 | $templatecontext = [ 37 | 'output' => $OUTPUT, 38 | 'favicon' => $favicon, 39 | ]; 40 | 41 | echo $OUTPUT->render_from_template('theme_roshnilite/navbar', $templatecontext); 42 | -------------------------------------------------------------------------------- /pix/img/categoryImg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/frontpagenavbar.mustache: -------------------------------------------------------------------------------- 1 | 35 | 36 | {{{ login }}} 37 | 38 | -------------------------------------------------------------------------------- /layout/login.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | global $PAGE; 28 | 29 | $bodyattributes = $OUTPUT->body_attributes(); 30 | 31 | if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) { 32 | $favicon = $PAGE->theme->setting_file_url('favicon', 'favicon'); 33 | } else { 34 | $favicon = $CFG->wwwroot."/theme/roshnilite/pix/favicon.ico"; 35 | } 36 | 37 | $templatecontext = [ 38 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]), 39 | 'output' => $OUTPUT, 40 | 'bodyattributes' => $bodyattributes, 41 | 'favicon' => $favicon, 42 | ]; 43 | 44 | echo $OUTPUT->render_from_template('theme_roshnilite/login', $templatecontext); 45 | -------------------------------------------------------------------------------- /templates/navbar-secure.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_roshnilite/navbar-secure 19 | 20 | This template renders the top navbar. 21 | 22 | Example context (json): 23 | { 24 | "output": { 25 | "should_display_navbar_logo": "true", 26 | "get_compact_logo_url": "http://example.com/image.png" 27 | }, 28 | "sitename": "Moodle Site", 29 | "secure_login_info": "Logged in as test user" 30 | } 31 | }} 32 | -------------------------------------------------------------------------------- /layout/secure.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | global $PAGE; 28 | 29 | $bodyattributes = $OUTPUT->body_attributes(); 30 | 31 | $blockspre = $OUTPUT->blocks('side-pre'); 32 | $blockspost = $OUTPUT->blocks('side-post'); 33 | 34 | $hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT); 35 | $hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT); 36 | 37 | $templatecontext = [ 38 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]), 39 | 'output' => $OUTPUT, 40 | 'sidepreblocks' => $blockspre, 41 | 'sidepostblocks' => $blockspost, 42 | 'haspreblocks' => $hassidepre, 43 | 'haspostblocks' => $hassidepost, 44 | 'bodyattributes' => $bodyattributes, 45 | ]; 46 | 47 | echo $OUTPUT->render_from_template('theme_roshnilite/secure', $templatecontext); 48 | -------------------------------------------------------------------------------- /Readme.txt: -------------------------------------------------------------------------------- 1 | Roshni Lite [This block is written by DualCube.] 2 | =========== 3 | This Moodle Theme is a 100% responsive, feature heavy beautiful Moodle theme. It is compatible with the latest Moodle 4.1. 4 | It provides customizable sections on the front page which the user may customize through a backend setting panel, 5 | can add/update/delete content. 6 | 7 | 8 | Installation:- 9 | ------------ 10 | Go to [ Site administration > Plugins(Plugins) > Install plugins ] and just upload or drag & drop downloaed ZIP file. 11 | To install, place all downloaded files in /theme/roshnilite and visit /admin/index.php in your browser. 12 | 13 | Overview:- 14 | -------- 15 | It provides customizable sections on the front page which the user may customize through a backend setting panel, can add/update/delete content. 16 | 17 | 1. Truckloads of customization options! 18 | 2. Exclusive frontpage with high-resolution graphics. 19 | 3. Beautifully crafted dynamic Masonry blocks. 20 | 4. Two graphical and one contextual information sections. 21 | 5. Automatic display of course on the front page. 22 | 6. Set own custom theme color with the color picker. 23 | 7. Customizable social icons and custom font support. 24 | 8. Full-fledged slider! 25 | 9. Unique login page 26 | 10. Provision to display default "Main Page content" for Moodle. 27 | 28 | Setting Panel:- 29 | ------------- 30 | In site administration >> Appearance >> Themes >> Roshni Lite << you get total 4 panel for fully customize the theme 31 | 1.General Settings 32 | Here you can change- whole theme color(like.Brand colour, Main Theme Color), Background image, Favicon, Logo, Heading style ..., 33 | About site text...,social handle and its icons.. 34 | 2.Advanced settings 35 | Here you can change- Raw SCSS file which can change whole theme visualization (It's too powerful use if you know about the changes) 36 | 3.Font Settings 37 | Here you can change- your site default font. 38 | 4.Faculty Settings 39 | Here you can change- add faculty displays settings which will show in site Home page. 40 | 41 | Uninstall 42 | --------- 43 | Admin can uninstall this admin tool from- Administration > Site Administration > Plugins > Plugins overview [Roshni Lite] > uninstall 44 | -------------------------------------------------------------------------------- /templates/maintenance.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_roshnilite/maintenance 19 | 20 | Roshnilite maintenance layout template. 21 | 22 | Context variables required for this template: 23 | * output - The core renderer for the page 24 | 25 | Example context (json): 26 | { 27 | "output": { 28 | "doctype": "", 29 | "page_title": "Test page", 30 | "favicon": "favicon.ico", 31 | "main_content": "

Headings make html validators happier

" 32 | } 33 | } 34 | }} 35 | {{> theme_roshnilite/head }} 36 | 37 | 38 | 39 |
40 | 41 | {{{ output.standard_top_of_body_html }}} 42 | 43 |
44 | 45 |
46 |
47 | {{{ output.page_heading }}} 48 |
49 |
50 | 51 |
52 |
53 | {{{ output.main_content }}} 54 |
55 |
56 | 57 |
58 |
59 |
60 | {{{ output.standard_footer_html }}} 61 | {{{ output.standard_end_of_body_html }}} 62 |
63 |
64 |
65 | 66 | 67 | -------------------------------------------------------------------------------- /templates/contentonly.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_roshnilite/contentonly 19 | 20 | Roshnilite 1 column layout template. 21 | 22 | Context variables required for this template: 23 | * sitename - The name of the site 24 | * output - The core renderer for the page 25 | * bodyattributes - attributes for the body tag as a string of html attributes 26 | 27 | Example context (json): 28 | { 29 | "sitename": "Moodle", 30 | "output": { 31 | "doctype": "", 32 | "page_title": "Test page", 33 | "favicon": "favicon.ico", 34 | "main_content": "

Headings make html validators happier

" 35 | }, 36 | "bodyattributes":"" 37 | } 38 | }} 39 | 40 | {{> theme_roshnilite/head }} 41 | 42 | 43 | 44 |
45 | 46 | {{{ output.standard_top_of_body_html }}} 47 | 48 |
49 |
50 |
51 |
52 | {{{ output.course_content_header }}} 53 | {{{ output.main_content }}} 54 | {{{ output.activity_navigation }}} 55 | {{{ output.course_content_footer }}} 56 |
57 |
58 |
59 |
60 |
61 | {{{ output.standard_end_of_body_html }}} 62 | 63 | -------------------------------------------------------------------------------- /layout/columns.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | global $PAGE; 28 | 29 | if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) { 30 | $imgpath = $PAGE->theme->setting_file_url('logo', 'logo'); 31 | } else { 32 | $imgpath = $CFG->wwwroot . "/theme/roshnilite/pix/img/logo.png"; 33 | } 34 | 35 | if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) { 36 | $favicon = $PAGE->theme->setting_file_url('favicon', 'favicon'); 37 | } else { 38 | $favicon = $CFG->wwwroot . "/theme/roshnilite/pix/favicon.ico"; 39 | } 40 | 41 | $bodyattributes = $OUTPUT->body_attributes(); 42 | $blockspre = $OUTPUT->blocks('side-pre'); 43 | $blockspost = $OUTPUT->blocks('side-post'); 44 | 45 | $hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT); 46 | $hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT); 47 | 48 | 49 | if ($CFG->version >= 2018120300) { 50 | $version18 = $OUTPUT->standard_after_main_region_html(); 51 | } else { 52 | $version18 = ''; 53 | } 54 | 55 | $templatecontext = [ 56 | 'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]), 57 | 'output' => $OUTPUT, 58 | 'sidepreblocks' => $blockspre, 59 | 'sidepostblocks' => $blockspost, 60 | 'haspreblocks' => $hassidepre, 61 | 'haspostblocks' => $hassidepost, 62 | 'bodyattributes' => $bodyattributes, 63 | 'version18' => $version18, 64 | 'imgpath' => $imgpath, 65 | 'favicon' => $favicon, 66 | ]; 67 | 68 | echo $OUTPUT->render_from_template('theme_roshnilite/columns', $templatecontext); 69 | -------------------------------------------------------------------------------- /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 | @template theme_roshnilite/navbar 19 | 20 | This template renders the top navbar. 21 | 22 | Example context (json): 23 | { 24 | "output": { 25 | "should_display_navbar_logo": true, 26 | "get_compact_logo_url": "http://example.com/image.png", 27 | "custom_menu": "
  • ..
  • ", 28 | "page_heading_menu": "
  • ..
  • ", 29 | "search_box": "
    ", 30 | "navbar_plugin_output": "", 31 | "user_menu": "" 32 | }, 33 | "config": { 34 | "wwwroot": "#" 35 | }, 36 | "sitename": "Moodle Site" 37 | } 38 | }} 39 | 73 | 74 | -------------------------------------------------------------------------------- /scss/preset/default.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: true !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 | // Alerts 59 | $alert-border-width: 0 !default; 60 | 61 | $card-group-margin: .25rem; 62 | 63 | // stylelint-disable 64 | $theme-colors: () !default; 65 | $theme-colors: map-merge(( 66 | primary: $primary, 67 | secondary: $gray-200, 68 | success: $success, 69 | info: $info, 70 | warning: $orange, 71 | danger: $danger, 72 | light: $gray-100, 73 | dark: $gray-800 74 | ), $theme-colors); 75 | // stylelint-enable 76 | 77 | // Import FontAwesome. 78 | @import "fontawesome"; 79 | 80 | // Import All of Bootstrap 81 | @import "bootstrap"; 82 | 83 | // Import Core moodle CSS 84 | @import "moodle"; 85 | 86 | // Preset CSS 87 | .navbar { 88 | box-shadow: 0 2px 4px rgba(0, 0, 0, .08); 89 | } 90 | 91 | .filemanager-container, 92 | .filepicker-filelist { 93 | border: $border-width solid $border-color; 94 | } 95 | 96 | // Rounded user pictures 97 | .userpicture { 98 | border-radius: 50%; 99 | } 100 | 101 | .block { 102 | background-color: $gray-100; 103 | } 104 | 105 | #page-my-index { 106 | background-color: $white; 107 | } 108 | // Reset the default styling back to the bootstrap defaults for 109 | // the secondary outline button because gray-200 is much too light 110 | // for an outline button. 111 | .btn-outline-secondary { 112 | @include button-outline-variant($gray-600); 113 | border-color: $border-color; 114 | } -------------------------------------------------------------------------------- /templates/secure.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_roshnilite/secure 19 | 20 | Roshnilite secure layout template. 21 | 22 | Context variables required for this template: 23 | * sitename - The name of the site 24 | * output - The core renderer for the page 25 | * bodyattributes - Attributes for the body tag as a string of html attributes 26 | * sidepreblocks - HTML for the pre blocks 27 | * sidepostblocks - HTML for the post blocks 28 | * haspreblocks - true if there are pre blocks on this page 29 | * haspostblocks - true if there are post blocks on this page 30 | * bodyattributes - attributes for the body tag as a string of html attributes 31 | 32 | Example context (json): 33 | { 34 | "sitename": "Moodle", 35 | "output": { 36 | "doctype": "", 37 | "page_title": "Test page", 38 | "favicon": "favicon.ico", 39 | "main_content": "

    Headings make html validators happier

    " 40 | }, 41 | "bodyattributes":"", 42 | "sidepreblocks": "

    Pre blocks html goes here

    ", 43 | "sidepostblocks": "

    Post blocks html goes here

    ", 44 | "haspreblocks":true, 45 | "haspostblocks":true, 46 | "bodyattributes": "" 47 | } 48 | }} 49 | {{> theme_roshnilite/head }} 50 | 51 | 52 | 53 |
    54 | 55 | {{{ output.standard_top_of_body_html }}} 56 | 57 | {{>theme_roshnilite/navbar-secure}} 58 | 59 |
    60 | {{! Secured full header }} 61 | 62 | 71 | 72 |
    73 |
    74 |
    75 |
    76 |
    77 | {{{ output.course_content_header }}} 78 | {{{ output.main_content }}} 79 | {{{ output.course_content_footer }}} 80 |
    81 |
    82 |
    83 |
    84 |
    85 |
    86 | {{{ sidepreblocks }}} 87 |
    88 |
    89 | 90 |
    91 |
    92 | {{{ sidepostblocks }}} 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    99 | 100 | 101 | {{{ output.standard_end_of_body_html }}} 102 |
    103 |
    104 |
    105 | 106 | 107 | -------------------------------------------------------------------------------- /templates/columns.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 < http://www.gnu.org/licenses/ >. 16 | }} 17 | {{! 18 | @template theme_roshnilite/columns 19 | 20 | Admin time setting template. 21 | 22 | Roshnilite 1-3 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 | * regionmainsettingsmenu - HTML for the region main settings menu 31 | * hasregionmainsettingsmenu - There is a region main settings menu on this page. 32 | 33 | Example context (json): 34 | { 35 | "sitename": "Moodle", 36 | "output": { 37 | "doctype": "", 38 | "page_title": "Test page", 39 | "favicon": "favicon.ico", 40 | "main_content": "

    Headings make html validators happier

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

    Blocks html goes here

    ", 44 | "sidepostblocks": "

    Blocks html goes here

    ", 45 | "haspreblocks":true, 46 | "haspostblocks":true 47 | } 48 | }} 49 | {{> theme_roshnilite/head }} 50 | 51 | 52 | 53 |
    54 | 55 | {{{ output.standard_top_of_body_html }}} 56 | 57 | {{>theme_roshnilite/navbar}} 58 | 59 |
    60 | {{{ output.full_header }}} 61 | 62 |
    63 | 64 |
    65 |
    66 | {{{ sidepreblocks }}} 67 |
    68 |
    69 | 70 |
    71 | {{#hasregionmainsettingsmenu}} 72 |
    73 |
    {{{ output.region_main_settings_menu }}}
    74 |
    75 | 76 | 77 | {{/hasregionmainsettingsmenu}} 78 |
    79 | {{#hasregionmainsettingsmenu}} 80 |
    81 | {{/hasregionmainsettingsmenu}} 82 | {{{ output.course_content_header }}} 83 | {{{ output.main_content }}} 84 | {{{ output.activity_navigation }}} 85 | {{{ output.course_content_footer }}} 86 |
    87 |
    88 | 89 | 90 | 91 |
    92 |
    93 | {{{ sidepostblocks }}} 94 |
    95 |
    96 |
    97 |
    98 | 99 | {{{ version18 }}} 100 | 101 | {{> theme_roshnilite/footer }} 102 |
    103 | {{#js}} 104 | M.util.js_pending('theme_boost/loader'); 105 | require(['theme_boost/loader'], function() { 106 | M.util.js_complete('theme_boost/loader'); 107 | }); 108 | {{/js}} 109 | 110 | -------------------------------------------------------------------------------- /scss/roshnilite/post.scss: -------------------------------------------------------------------------------- 1 | // General Post SCSS for use in all presets. 2 | 3 | // Generate the column layout css. 4 | @mixin page_layout($blockswidth) { 5 | $mainwidth-oneblock: (100% - $blockswidth); 6 | $mainwidth-twoblocks: (100% - $blockswidth * 2); 7 | #page-content { 8 | display: flex; 9 | 10 | .region-main { 11 | flex: 0 0 100%; 12 | padding: 0 1rem; 13 | } 14 | 15 | &.blocks-pre { 16 | .columnleft { 17 | flex: 0 0 $blockswidth; 18 | order: -1; 19 | padding: 0 1rem; 20 | max-width: $blockswidth; 21 | } 22 | .region-main { 23 | flex: 0 0 $mainwidth-oneblock; 24 | max-width: $mainwidth-oneblock; 25 | padding: 0 1rem 0 0; 26 | } 27 | } 28 | &.blocks-post { 29 | .region-main { 30 | flex: 0 0 $mainwidth-oneblock; 31 | max-width: $mainwidth-oneblock; 32 | padding: 0 0 0 1rem; 33 | } 34 | .columnright { 35 | flex: 0 0 $blockswidth; 36 | padding: 0 1rem; 37 | max-width: $blockswidth; 38 | } 39 | } 40 | &.blocks-pre.blocks-post { 41 | .region-main { 42 | flex: 0 0 $mainwidth-twoblocks; 43 | max-width: $mainwidth-twoblocks; 44 | padding: 0; 45 | } 46 | } 47 | 48 | [data-region="blocks-column"] { 49 | width: 100%; 50 | } 51 | } 52 | 53 | .empty-region-side-pre { 54 | &.used-region-side-post { 55 | #page-content { 56 | .region-main { 57 | flex: 0 0 $mainwidth-oneblock; 58 | max-width: $mainwidth-oneblock; 59 | padding-left: 1rem; 60 | } 61 | .columnright { 62 | flex: 0 0 $blockswidth; 63 | padding: 0 1rem; 64 | max-width: $blockswidth; 65 | } 66 | } 67 | } 68 | } 69 | .empty-region-side-post { 70 | &.used-region-side-pre { 71 | #page-content { 72 | .region-main { 73 | flex: 0 0 $mainwidth-oneblock; 74 | max-width: $mainwidth-oneblock; 75 | padding-right: 1rem; 76 | } 77 | .columnleft { 78 | flex: 0 0 $blockswidth; 79 | order: -1; 80 | padding: 0 1rem; 81 | max-width: $blockswidth; 82 | } 83 | } 84 | } 85 | } 86 | .used-region-side-post { 87 | &.used-region-side-pre { 88 | #page-content { 89 | .region-main { 90 | flex: 0 0 $mainwidth-twoblocks; 91 | max-width: $mainwidth-twoblocks; 92 | padding: 0; 93 | } 94 | .columnleft { 95 | flex: 0 0 $blockswidth; 96 | order: -1; 97 | padding: 0 1rem; 98 | max-width: $blockswidth; 99 | } 100 | .columnright { 101 | flex: 0 0 $blockswidth; 102 | padding: 0 1rem; 103 | max-width: $blockswidth; 104 | } 105 | } 106 | } 107 | } 108 | } 109 | 110 | // The block column needs some padding on small devices. 111 | @include media-breakpoint-down(sm) { 112 | .blockcolumn, 113 | .region-main { 114 | flex: 0 0 100%; 115 | padding: 0 1rem; 116 | margin-bottom: 1rem; 117 | } 118 | } 119 | 120 | // When changing this please check the size of the calendar block. 121 | @include media-breakpoint-up(md) { 122 | @include page_layout(32%); 123 | } 124 | 125 | @include media-breakpoint-up(lg) { 126 | @include page_layout(25%); 127 | } 128 | 129 | @include media-breakpoint-up(xl) { 130 | @include page_layout(20%); 131 | } 132 | 133 | .block_myoverview, 134 | .block_recentlyaccesseditems { 135 | .dashboard-card-deck { 136 | .dashboard-card { 137 | width: calc(33.33% - #{$card-gutter}); 138 | } 139 | } 140 | } 141 | 142 | @include media-breakpoint-up(md) { 143 | .blockcolumn { 144 | .dashboard-card-deck { 145 | margin-left: 0; 146 | margin-right: 0; 147 | .dashboard-card { 148 | width: calc(100% - #{$card-gutter}) !important; /* stylelint-disable-line declaration-no-important */ 149 | } 150 | } 151 | } 152 | } 153 | 154 | // Settings and Navigation blocks don't render well from default boost. 155 | .block_navigation, 156 | .block_settings { 157 | .block_tree { 158 | &.list > li > ul { 159 | padding-left: 0; 160 | } 161 | .tree_item.branch { 162 | margin-left: 5px; 163 | padding-left: 0.75rem; 164 | } 165 | p.hasicon { 166 | text-indent: 0; 167 | padding-left: 0.75rem; 168 | } 169 | ul { 170 | margin-left: 0.25rem; 171 | padding-left: 1rem; 172 | } 173 | } 174 | } 175 | 176 | .block_navigation .block_tree p.hasicon .icon, 177 | .block_settings .block_tree p.hasicon .icon { 178 | margin-right: 5px; 179 | } 180 | 181 | // Remove left indenting from root nodes to allow sub-nodes to indent correctly. 182 | .root_node, 183 | .navigation_node { 184 | margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */ 185 | padding-left: 0 !important; /* stylelint-disable-line declaration-no-important */ 186 | } 187 | 188 | .block.block_settings { 189 | #settingsnav { 190 | padding-top: 0 !important; /* stylelint-disable-line declaration-no-important */ 191 | } 192 | } 193 | -------------------------------------------------------------------------------- /config.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | // This line protects the file from being accessed by a URL directly. 27 | defined('MOODLE_INTERNAL') || die(); 28 | global $CFG; 29 | 30 | $THEME->name = 'roshnilite'; 31 | 32 | $THEME->sheets = ['styles']; 33 | 34 | $THEME->editor_sheets = []; 35 | $THEME->parents = ['boost']; 36 | $THEME->haseditswitch = true; 37 | $THEME->enable_dock = false; 38 | $THEME->extrascsscallback = 'theme_roshnilite_get_extra_scss'; 39 | $THEME->prescsscallback = 'theme_roshnilite_get_pre_scss'; 40 | $THEME->precompiledcsscallback = 'theme_roshnilite_get_precompiled_css'; 41 | $THEME->yuicssmodules = []; 42 | $THEME->rendererfactory = 'theme_overridden_renderer_factory'; 43 | $THEME->csspostprocess = 'theme_roshnilite_process_css'; 44 | $THEME->scss = function ($theme) { 45 | return theme_roshnilite_get_main_scss_content($theme); 46 | }; 47 | $THEME->layouts = [ 48 | // Most backwards compatible layout without the blocks - this is the layout used by default. 49 | 'base' => [ 50 | 'file' => 'columns.php', 51 | 'regions' => [], 52 | ], 53 | // Standard layout with blocks, this is recommended for most pages with general information. 54 | 'standard' => [ 55 | 'file' => 'columns.php', 56 | 'regions' => ['side-pre', 'side-post'], 57 | 'defaultregion' => 'side-pre', 58 | ], 59 | // Main course page. 60 | 'course' => [ 61 | 'file' => 'columns.php', 62 | 'regions' => ['side-pre', 'side-post'], 63 | 'defaultregion' => 'side-pre', 64 | 'options' => ['langmenu' => true], 65 | ], 66 | 'coursecategory' => [ 67 | 'file' => 'columns.php', 68 | 'regions' => ['side-pre'], 69 | 'defaultregion' => 'side-pre', 70 | ], 71 | // Part of course, typical for modules - default page layout if $cm specified in require_login(). 72 | 'incourse' => [ 73 | 'file' => 'columns.php', 74 | 'regions' => ['side-pre'], 75 | 'defaultregion' => 'side-pre', 76 | ], 77 | // The site home page. 78 | 'frontpage' => [ 79 | 'file' => 'frontpage.php', 80 | 'regions' => ['side-pre', 'side-post'], 81 | 'defaultregion' => 'side-pre', 82 | 'options' => ['nofullheader' => true, 'nonavbar' => true], 83 | ], 84 | // Server administration scripts. 85 | 'admin' => [ 86 | 'file' => 'columns.php', 87 | 'regions' => ['side-pre'], 88 | 'defaultregion' => 'side-pre', 89 | ], 90 | // My dashboard page. 91 | 'mydashboard' => [ 92 | 'file' => 'columns.php', 93 | 'regions' => ['side-pre', 'side-post'], 94 | 'defaultregion' => 'side-pre', 95 | 'options' => ['nonavbar' => true, 'footer' => true, 'langmenu' => true, 'nocontextheader' => true], 96 | ], 97 | // My public page. 98 | 'mypublic' => [ 99 | 'file' => 'columns.php', 100 | 'regions' => ['side-pre'], 101 | 'defaultregion' => 'side-pre', 102 | ], 103 | 'login' => [ 104 | 'file' => 'login.php', 105 | 'regions' => [], 106 | 'options' => ['langmenu' => true], 107 | ], 108 | // Pages that appear in pop-up windows - no navigation, no blocks, no header. 109 | 'popup' => [ 110 | 'file' => 'contentonly.php', 111 | 'regions' => [], 112 | 'options' => ['nofooter' => true, 'nonavbar' => true], 113 | ], 114 | // No blocks and minimal footer - used for legacy frame layouts only! 115 | 'frametop' => [ 116 | 'file' => 'contentonly.php', 117 | 'regions' => [], 118 | 'options' => ['nofooter' => true, 'nocoursefooter' => true], 119 | ], 120 | // Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible. 121 | 'embedded' => [ 122 | 'file' => 'embedded.php', 123 | 'regions' => [], 124 | ], 125 | // Used during upgrade and install, and for the 'This site is undergoing maintenance' message. 126 | // This must not have any blocks, links, or API calls that would lead to database or cache interaction. 127 | // Please be extremely careful if you are modifying this layout. 128 | 'maintenance' => [ 129 | 'file' => 'maintenance.php', 130 | 'regions' => [], 131 | ], 132 | // Should display the content and basic headers only. 133 | 'print' => [ 134 | 'file' => 'contentonly.php', 135 | 'regions' => [], 136 | 'options' => ['nofooter' => true, 'nonavbar' => false], 137 | ], 138 | // The pagelayout used when a redirection is occuring. 139 | 'redirect' => [ 140 | 'file' => 'frontpage.php', 141 | 'regions' => [], 142 | ], 143 | // The pagelayout used for reports. 144 | 'report' => [ 145 | 'file' => 'columns.php', 146 | 'regions' => ['side-pre'], 147 | 'defaultregion' => 'side-pre', 148 | ], 149 | // The pagelayout used for safebrowser and securewindow. 150 | 'secure' => [ 151 | 'file' => 'secure.php', 152 | 'regions' => ['side-pre'], 153 | 'defaultregion' => 'side-pre', 154 | ], 155 | ]; 156 | -------------------------------------------------------------------------------- /templates/frontpage.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 < http://www.gnu.org/licenses/ >. 16 | }} 17 | {{! 18 | @template theme_roshnilite/columns 19 | 20 | Admin time setting template. 21 | 22 | Roshnilite 1-3 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 | * regionmainsettingsmenu - HTML for the region main settings menu 31 | * hasregionmainsettingsmenu - There is a region main settings menu on this page. 32 | 33 | Example context (json): 34 | { 35 | "sitename": "Moodle", 36 | "output": { 37 | "doctype": "", 38 | "page_title": "Test page", 39 | "favicon": "favicon.ico", 40 | "main_content": "

    Headings make html validators happier

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

    Blocks html goes here

    ", 44 | "sidepostblocks": "

    Blocks html goes here

    ", 45 | "haspreblocks":true, 46 | "haspostblocks":true 47 | } 48 | }} 49 | {{> theme_roshnilite/head }} 50 | 51 | 52 | 53 |
    54 | 55 | {{{ output.standard_top_of_body_html }}} 56 | 57 | {{>theme_roshnilite/frontpagenavbar}} 58 | 59 | {{{ sliderdetails }}} 60 | 61 | 62 | 63 |
    64 |
    {{{ aboutsiteheading }}}
    65 |
    {{{ aboutsitesubheading }}}
    66 |
    67 | {{ #aboutsitename1 }} 68 |
    69 |
    70 |
    71 |
    72 | aboutsiteurl1 73 |
    74 |
    75 | {{{ aboutsitename1 }}} 76 |
    {{{ aboutsitetext1 }}}
    77 |
    78 |
    79 | {{ /aboutsitename1 }} 80 | {{ #aboutsitename2 }} 81 |
    82 |
    83 |
    84 |
    85 | aboutsiteurl2 86 |
    87 |
    88 | {{{ aboutsitename2 }}} 89 |
    {{{ aboutsitetext2 }}}
    90 |
    91 |
    92 | {{ /aboutsitename2 }} 93 | {{ #aboutsitename3 }} 94 |
    95 |
    96 |
    97 |
    98 | aboutsiteurl3 99 |
    100 |
    101 | {{{ aboutsitename3 }}} 102 |
    {{{ aboutsitetext3 }}}
    103 |
    104 |
    105 | {{ /aboutsitename3 }} 106 | {{ #aboutsitename4 }} 107 |
    108 |
    109 |
    110 |
    111 | aboutsiteurl4 112 |
    113 |
    114 | {{{ aboutsitename4 }}} 115 |
    {{{ aboutsitetext4 }}}
    116 |
    117 |
    118 | {{ /aboutsitename4 }} 119 |
    120 |
    121 | 122 | 123 | 124 | {{{ coursedetail }}} 125 | {{{ allcourse }}} 126 | 127 | 128 | 129 | {{{ categorydetails }}} 130 | 131 | 132 | 133 | {{{ facultydetails }}} 134 | 135 | 136 | 137 | 138 | 139 |
    140 |
    141 | {{{ addressfontawesomeicon }}} 142 | {{{ address }}} 143 |
    144 |
    145 | {{{ emailfontawesomeicon }}} 146 | {{{ email }}} 147 |
    148 |
    149 | {{{ phonefontawesomeicon }}} 150 | {{{ phone }}} 151 |
    152 |
    153 | 174 | 175 | {{{ maincontent }}} 176 | {{{ version18 }}} 177 | 178 | 179 |
    180 | {{> theme_roshnilite/frontpagefooter }} 181 | 182 | {{#js}} 183 | require(['theme_boost/loader'], function() { 184 | require(['jquery', 'core/log'], 185 | function($, log) { 186 | $(document).ready(function(){ 187 | $('#courseCarousel').carousel({ 188 | interval :5000 189 | }); 190 | 191 | $('#categoryCarousel').carousel({ 192 | interval :8000 193 | }) 194 | 195 | $('#facultyCarousel').carousel({ 196 | interval :5000 197 | }) 198 | 199 | $('.carouselMultiple .carousel-item').each(function(){ 200 | var next = $(this).next(); 201 | if (!next.length) { 202 | next = $(this).siblings(':first'); 203 | } 204 | next.children(':first-child').clone().appendTo($(this)); 205 | 206 | for (var i=0;i<2;i++) { 207 | next=next.next(); 208 | if (!next.length) { 209 | next = $(this).siblings(':first'); 210 | } 211 | next.children(':first-child').clone().appendTo($(this)); 212 | } 213 | }); 214 | }); 215 | }); 216 | }); 217 | {{/js}} 218 | 219 | -------------------------------------------------------------------------------- /lang/en/theme_roshnilite.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Language file. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | // This line protects the file from being accessed by a URL directly. 27 | defined('MOODLE_INTERNAL') || die(); 28 | 29 | // Raw SCSS setting. 30 | $string['choosereadme'] = ' 31 |
    32 |
    33 |

    Roshni Lite

    34 |

    35 |
    36 |
    37 |

    Parents

    38 |

    This theme was previously based upon the Bootstrapbase theme, which was created for Moodle 2.5, with the help of:
    39 | Stuart Lamour, Mark Aberdour, Paul Hibbitts, Mary Evans.

    40 |

    Font setting section of this theme is based upon the Essential theme with the help of:
    41 | Julian Ridden, Gareth J. Barnard, David Bezemer.

    42 |

    Theme Credits

    43 |

    This theme has now been redeveloped as a child of Boost theme. This theme is compatible with moodle version starting from 3.6.8 to latest 3.8.1

    44 |

    Authors: DualCube
    45 | Contact: admin@dualcube.com
    46 | Website: https://dualcube.com/ 47 |

    48 |
    '; 49 | $string['configtitle'] = 'Roshni Lite'; 50 | $string['navbardark'] = 'Use a dark style navbar'; 51 | $string['navbardarkdesc'] = 'Swaps text and background colours for the navbar at the top of the page between dark and light.'; 52 | $string['pluginname'] = 'Roshni Lite'; 53 | $string['presetfiles'] = 'Additional theme preset files'; 54 | $string['presetfiles_desc'] = 'Preset files can be used to dramatically alter the appearance of the theme. See Boost presets for information on creating and sharing your own preset files, and see the Presets repository for presets that others have shared.'; 55 | 56 | $string['preset'] = 'Theme preset'; 57 | $string['preset_desc'] = 'Pick a preset to broadly change the look of the theme.'; 58 | 59 | $string['region-side-post'] = 'Right'; 60 | $string['region-side-pre'] = 'Left'; 61 | 62 | $string['sitetitle'] = 'Site title'; 63 | $string['privacy:metadata'] = 'The roshnilite theme does not store any personal data.'; 64 | 65 | $string['customcss'] = 'Custom CSS'; 66 | $string['customcssdesc'] = 'Whatever CSS rules you add to this textarea will be reflected in every page, making for easier customization of this theme.'; 67 | 68 | $string['logo'] = 'Logo'; 69 | $string['logodesc'] = 'Please upload or enter the url of your custom logo here if you want to add it to the header. 70 | The image should be 65px high and any reasonable width that suits. 71 | If you upload a logo it will replace the standard icon and name that was displayed by default.'; 72 | 73 | $string['favicon'] = 'Favicon'; 74 | $string['favicondesc'] = 'Please upload or enter the url of the icon you want to show in the browser address bar, the fav icon.'; 75 | $string['generalsettings'] = 'General Settings'; 76 | $string['standarddesc'] = 'General Settings Desc'; 77 | $string['customsettings'] = 'Custom Settings'; 78 | 79 | $string['fontfiles'] = 'Upload Unlimited Fonts'; 80 | $string['fontfilesdesc'] = 'Upload your font files here.'; 81 | $string['fontfilettfheading'] = 'Heading TTF font file'; 82 | $string['fontfileotfheading'] = 'Heading OTF font file'; 83 | $string['fontfilewoffheading'] = 'Heading WOFF font file'; 84 | $string['fontfilewofftwoheading'] = 'Heading WOFF2 font file'; 85 | $string['fontfileeotheading'] = 'Heading EOT font file'; 86 | $string['fontfilesvgheading'] = 'Heading SVG font file'; 87 | $string['fontfilettfbody'] = 'Body TTF font file'; 88 | $string['fontfileotfbody'] = 'Body OTF font file'; 89 | $string['fontfilewoffbody'] = 'Body WOFF font file'; 90 | $string['fontfilewofftwobody'] = 'Body WOFF2 font file'; 91 | $string['fontfileeotbody'] = 'Body EOT font file'; 92 | $string['fontfilesvgbody'] = 'Body SVG font file'; 93 | $string['fontselectdesc'] = 'You may choose from the ‘Standard’ fonts or add your customised fonts by selecting ‘Custom’ font.'; 94 | $string['fonttypestandard'] = 'Font Type Standard'; 95 | $string['fonttypecustom'] = 'Font Type Custom'; 96 | $string['fontselect'] = 'Select Font'; 97 | 98 | $string['fontnameheading'] = 'Choose Font Name Heading'; 99 | $string['fontnameheadingdesc'] = 'You may add the font name for the headings in your site i.e. site headings will be displayed in this font.'; 100 | $string['fontnamebody'] = 'Choose Font Name Body'; 101 | $string['fontnamebodydesc'] = 'You may add the font name for the body of your site i.e. the body of the site will be displayed in this font.'; 102 | 103 | $string['customdesc'] = 'Custom Desc'; 104 | $string['moodlemaincontentinfrontpage'] = 'Enable default moodle homepage content'; 105 | $string['moodlemaincontentinfrontpagedesc'] = ''; 106 | $string['fontsettings'] = 'Font Settings'; 107 | $string['slidercount'] = 'Slidercount '; 108 | $string['slidercountdesc'] = 'Select, from dropdown, the number of slides in the slider.You can add up to 6 slides.'; 109 | $string['one'] = '1'; 110 | $string['two'] = '2'; 111 | $string['three'] = '3'; 112 | $string['four'] = '4'; 113 | $string['five'] = '5'; 114 | $string['six'] = '6'; 115 | $string['seven'] = '7'; 116 | $string['eight'] = '8'; 117 | $string['slideimage'] = 'Upload Your Image For Slide '; 118 | $string['slideimagedesc'] = 'Please upload or enter the url of the image for the slide '; 119 | $string['slidertext'] = 'Text for slide '; 120 | $string['slidertextdesc'] = 'Enter a descriptive text for your slide '; 121 | $string['sliderurl'] = 'Link for slide '; 122 | $string['sliderbuttontext'] = 'Enter your text for button on slide '; 123 | $string['sliderbuttontextdesc'] = 'If you do not enter any text, the button will be disappear.'; 124 | $string['sliderurldesc'] = "Enter only pagename. e.g. If you want to go to the dashboard page, just write 'my' and it will redirective to the dashboard page of your moodle site."; 125 | 126 | $string['maincolor'] = 'Choose Main Theme Color'; 127 | $string['maincolordesc'] = 'Choose your own custom Color scheme for the theme.'; 128 | 129 | $string['masonrycount'] = 'Masonrycount'; 130 | $string['one'] = '1'; 131 | $string['two'] = '2'; 132 | $string['three'] = '3'; 133 | $string['four'] = '4'; 134 | $string['five'] = '5'; 135 | $string['six'] = '6'; 136 | $string['seven'] = '7'; 137 | $string['eight'] = '8'; 138 | $string['masonryimage'] = 'Upload your image for masonry block '; 139 | $string['masonryimagedesc'] = 'Upload your image for masonry block '; 140 | $string['masonrytext'] = 'Text for masonry block '; 141 | $string['masonrytextdesc'] = 'Enter the text for masonry block '; 142 | $string['masonryurl'] = 'Enter masonry URL '; 143 | $string['masonrysubtext'] = 'Sub text for masonry block '; 144 | $string['masonrysubtextdesc'] = 'Enter the sub text for masonry block '; 145 | $string['masonryurldesc'] = 'Enter the target url for the masonry block '; 146 | 147 | 148 | $string['addressfontawesomeicon'] = 'Enter Font awesome icon tag for address icon'; 149 | $string['addressfontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag'; 150 | $string['address'] = 'Enter Address'; 151 | $string['addressdesc'] = 'Enter your address here. '; 152 | 153 | $string['phonefontawesomeicon'] = 'Enter Font awesome icon tag for phone icon'; 154 | $string['phonefontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag'; 155 | $string['phone'] = 'Enter Phone Number'; 156 | $string['phonedesc'] = 'Enter your contact here. '; 157 | 158 | $string['emailfontawesomeicon'] = 'Enter Font awesome icon tag for email icon'; 159 | $string['emailfontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag'; 160 | $string['email'] = 'Enter Email Address'; 161 | $string['emaildesc'] = 'Enter your email address here. '; 162 | 163 | $string['socialfontawesomeicon1'] = 'Enter Font awesome icon tag for social icon'; 164 | $string['socialfontawesomeicondesc1'] = 'Just copy and paste < i >< / i > tag'; 165 | $string['socialfontawesomeicon2'] = 'Enter Font awesome icon tag for social icon'; 166 | $string['socialfontawesomeicondesc2'] = 'Just copy and paste < i >< / i > tag'; 167 | $string['socialfontawesomeicon3'] = 'Enter Font awesome icon tag for social icon'; 168 | $string['socialfontawesomeicondesc3'] = 'Just copy and paste < i >< / i > tag'; 169 | $string['socialfontawesomeicon4'] = 'Enter Font awesome icon tag for social icon'; 170 | $string['socialfontawesomeicondesc4'] = 'Just copy and paste < i >< / i > tag'; 171 | 172 | $string['socialicon'] = 'Link of social icon'; 173 | $string['socialicondesc'] = 'Enter the target link of icon. '; 174 | 175 | $string['aboutsiteimage'] = 'Upload image'; 176 | $string['faboutsiteimagedesc'] = 'Upload image for the first block.'; 177 | $string['aboutsitename'] = 'Enter block name'; 178 | $string['faboutsitenamedesc'] = 'Enter the name of first block in about site section.'; 179 | $string['aboutsitetext'] = 'Enter block sub text'; 180 | $string['faboutsitetextdesc'] = 'Enter the sub text for the first block.'; 181 | $string['aboutsiteurl'] = 'Enter url'; 182 | $string['faboutsiteurldesc'] = 'Enter the target url for the first block.'; 183 | 184 | 185 | $string['saboutsiteimagedesc'] = 'Upload image for the second block.'; 186 | $string['saboutsitenamedesc'] = 'Enter the name of second block in about site section.'; 187 | $string['saboutsitetextdesc'] = 'Enter the sub text for the second block.'; 188 | $string['saboutsiteurldesc'] = 'Enter the target url for the second block.'; 189 | 190 | 191 | $string['taboutsiteimagedesc'] = 'Upload image for the third block.'; 192 | $string['taboutsitenamedesc'] = 'Enter the name of third block in about site section.'; 193 | $string['taboutsitetextdesc'] = 'Enter the sub text for the third block.'; 194 | $string['taboutsiteurldesc'] = 'Enter the target url for the third block.'; 195 | 196 | 197 | $string['fraboutsiteimagedesc'] = 'Upload image for the fourth block.'; 198 | $string['fraboutsitenamedesc'] = 'Enter the name of fourth block in about site section.'; 199 | $string['fraboutsitetextdesc'] = 'Enter the sub text for the fourth block.'; 200 | $string['fraboutsiteurldesc'] = 'Enter the target url for the fourth block.'; 201 | 202 | $string['aboutsiteheading'] = 'Enter heading'; 203 | $string['aboutsiteheadingdesc'] = "Enter your custom heading for 'About Site' section."; 204 | $string['aboutsitesubheading'] = 'Enter sub heading'; 205 | $string['aboutsitesubheadingdesc'] = 'Enter your custom sub heading, may be your USP or tag line.'; 206 | 207 | $string['masonrycountdesc'] = 'Select, from dropdown, the number of blocks in the Masonry block section. You can add up to 8 blocks.'; 208 | $string['masonryheading'] = 'Enter heading'; 209 | $string['masonryheadingdesc'] = "Enter your custom heading for 'Masonry Block' section."; 210 | $string['masonrysubheading'] = 'Enter sub heading'; 211 | $string['masonrysubheadingdesc'] = ''; 212 | 213 | $string['socialheading'] = 'Enter social heading'; 214 | $string['socialheadingdesc'] = ''; 215 | 216 | /* frontpage strings */ 217 | $string['slidertextdefault'] = '

    THE TASK OF THE

    MODERN EDUCATOR

    IS NOT TO CUT DOWN JUNGLES, BUT TO IRRIGATE DESERTS

    '; 218 | $string['sliderbuttontextdefault'] = 'GET STARTED'; 219 | $string['sliderurldefault'] = 'javascript:void(0);'; 220 | $string['aboutsiteheadingdefault'] = 'NOBODY DOES IT LIKE US'; 221 | $string['aboutsitesubheadingdefault'] = 'Put In a Nice Little Piece Of Text That Describes Your USP'; 222 | $string['aboutsitename1default'] = 'Our Blog'; 223 | $string['aboutsitetext1default'] = "There's only one way to find out what life can be like at University of Utopia: dip into some of our students' uncut and uncensored blogs."; 224 | $string['aboutsitename2default'] = 'Courses'; 225 | $string['aboutsitetext2default'] = 'You can rename the content box names from the admin panel, and then add nifty descriptions for all the content boxes.'; 226 | $string['aboutsitename3default'] = 'Latest News'; 227 | $string['aboutsitetext3default'] = 'Wondering what is happening at you? A lot. And reading through this section will keep you updated about all the cutting edge research we are doing here!'; 228 | $string['aboutsitename4default'] = 'Upcoming Events'; 229 | $string['fraboutsitetextdescdefault'] = "All these content boxes are completely editable. You can change the hover colors, icons, names and the description text. Cool, isn't it?"; 230 | $string['masonryheadingdefault'] = 'OUR CATEGORY'; 231 | $string['masonrysubheadingdefault'] = 'You Can Showcase All Your Categories In This Beautiful Masonry Block'; 232 | $string['addressdefault'] = 'Kolkata, India'; 233 | $string['emaildefault'] = 'admin@dualcube.com'; 234 | $string['phonedefault'] = '+91 33 64578322'; 235 | $string['socialheadingdefault'] = 'STAY CONNECTED'; 236 | $string['fontnamedefault'] = ''; 237 | 238 | $string['facultysettings'] = 'Faculty Settings'; 239 | $string['facultyheading'] = 'Our Top Faculties'; 240 | $string['facultycount'] = 'Faculty Count'; 241 | $string['facultycountdesc'] = 'Select, from dropdown, the number of blocks in the Faculty block section. You can add up to 8 blocks.'; 242 | 243 | $string['facultyimage'] = 'Enter URL of your faculty image'; 244 | $string['facultyimagedesc'] = 'Enter URL of your faculty image'; 245 | $string['facultytwitterurldesc'] = 'Enter the twitter url for the faculty block '; 246 | 247 | $string['facultyname'] = 'Enter name of faculty '; 248 | $string['facultynamedesc'] = 'Enter the text for faculty description '; 249 | $string['facultysubtext'] = 'Enter the description of the faculty '; 250 | $string['facultysubtextdesc'] = 'Enter the description for faculty block '; 251 | $string['facultyfburl'] = 'Enter faculty facebook URL '; 252 | $string['facultyfburldesc'] = 'Enter the facebook url for the faculty block '; 253 | $string['facultylnkdnurl'] = 'Enter faculty linkedin URL '; 254 | $string['facultylnkdnurldesc'] = 'Enter the linkedin url for the faculty block '; 255 | 256 | $string['facultygoogleurl'] = 'Enter faculty google URL '; 257 | $string['facultygoogleurldesc'] = 'Enter the google url for the faculty block '; 258 | 259 | $string['facultytwitterurl'] = 'Enter faculty twitter URL '; 260 | $string['facultytwitterurldesc'] = 'Enter the twitter url for the faculty block '; 261 | 262 | $string['backgroundimage'] = 'Background image'; 263 | $string['backgroundimage_desc'] = 'The image to display as a background of the site. The background image you upload here will override the background image in your theme preset files.'; 264 | 265 | $string['brandcolor'] = 'Brand colour'; 266 | $string['brandcolor_desc'] = 'The accent colour.'; 267 | 268 | $string['advancedsettings'] = 'Advanced settings'; 269 | 270 | $string['rawscsspre'] = 'Raw initial SCSS'; 271 | $string['rawscsspre_desc'] = 'In this field you can provide initialising SCSS code, it will be injected before everything else. Most of the time you will use this setting to define variables.'; 272 | 273 | $string['rawscss'] = 'Raw SCSS'; 274 | $string['rawscss_desc'] = 'Use this field to provide SCSS or CSS code which will be injected at the end of the style sheet.'; 275 | 276 | $string['fontsize'] = 'Font size reference'; 277 | $string['fontsize_desc'] = 'This allows you to set the default font size for this theme. It is not recommended to set this higher than 24px and lower than 13px as it is known to cause display problems with certain blocks. '; 278 | -------------------------------------------------------------------------------- /scss/fontawesome.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["../../boost/scss/fontawesome.scss","fontawesome.css","../../boost/scss/fontawesome/font-awesome.scss","../../boost/scss/fontawesome/_core.scss","../../boost/scss/fontawesome/_larger.scss","../../boost/scss/fontawesome/_fixed-width.scss","../../boost/scss/fontawesome/_list.scss","../../boost/scss/fontawesome/_variables.scss","../../boost/scss/fontawesome/_bordered-pulled.scss","../../boost/scss/fontawesome/_animated.scss","../../boost/scss/fontawesome/_rotated-flipped.scss","../../boost/scss/fontawesome/_mixins.scss","../../boost/scss/fontawesome/_stacked.scss","../../boost/scss/fontawesome/_icons.scss","../../boost/scss/fontawesome/_screen-reader.scss"],"names":[],"mappings":"AAIA;EACI,0BAAA;EACA,yDAAA;EACA,0YACI;EAKJ,mBAAA;EACA,kBAAA;ACRJ;ACNA;;;EAAA;ACGA;EACE,qBAAA;EACA,6CAAA;EACA,kBAAA;EACA,oBAAA;EACA,mCAAA;EACA,kCAAA;AFSF;;AGfA,6DAAA;AACA;EACE,yBAAA;EACA,mBAAA;EACA,oBAAA;AHkBF;;AGhBA;EAAwB,cAAA;AHoBxB;;AGnBA;EAAwB,cAAA;AHuBxB;;AGtBA;EAAwB,cAAA;AH0BxB;;AGzBA;EAAwB,cAAA;AH6BxB;;AIvCA;EACE,qBAAA;EACA,kBAAA;AJ0CF;;AK3CA;EACE,eAAA;EACA,2BCMoB;EDLpB,qBAAA;AL8CF;AK7CE;EAAO,kBAAA;ALgDT;;AK9CA;EACE,kBAAA;EACA,qBAAA;EACA,qBCDoB;EDEpB,mBAAA;EACA,kBAAA;ALiDF;AKhDE;EACE,qBAAA;ALkDJ;;AO/DA;EACE,4BAAA;EACA,yBAAA;EACA,oBAAA;APkEF;;AO/DA;EAA+B,WAAA;APmE/B;;AOlEA;EAAgC,YAAA;APsEhC;;AOnEE;EAAgC,mBAAA;APuElC;AOtEE;EAAiC,kBAAA;APyEnC;;AOtEA,2BAAA;AACA;EAAc,YAAA;AP0Ed;;AOzEA;EAAa,WAAA;AP6Eb;;AO1EE;EAAc,mBAAA;AP8EhB;AO7EE;EAAe,kBAAA;APgFjB;;AQpGA;EACE,6CAAA;EACQ,qCAAA;ARuGV;;AQpGA;EACE,+CAAA;EACQ,uCAAA;ARuGV;;AQpGA;EACE;IAEU,uBAAA;ERuGV;EQrGA;IAEU,yBAAA;ERuGV;AACF;AQpGA;EACE;IAEU,uBAAA;ERsGV;EQpGA;IAEU,yBAAA;ERsGV;AACF;ASnIA;ECWE,sEAAA;EAGQ,wBAAA;AV2HV;;ASxIA;ECUE,sEAAA;EAGQ,yBAAA;AVkIV;;AS9IA;ECSE,sEAAA;EAGQ,yBAAA;AVyIV;;ASnJA;ECcE,gFAAA;EAGQ,uBAAA;AVyIV;;ASzJA;ECaE,gFAAA;EAGQ,uBAAA;AVgJV;;AS3JA;;;;;EAKE,YAAA;AT8JF;;AW7KA;EACE,kBAAA;EACA,qBAAA;EACA,UAAA;EACA,WAAA;EACA,gBAAA;EACA,sBAAA;AXgLF;;AW9KA;EACE,kBAAA;EACA,OAAA;EACA,WAAA;EACA,kBAAA;AXiLF;;AW/KA;EAA8B,oBAAA;AXmL9B;;AWlLA;EAA8B,cAAA;AXsL9B;;AWrLA;EAA6B,WLTP;ANkMtB;;AY5MA;mEAAA;AAGA;EAAkC,gBNwUnB;ANzHf;;AY9MA;EAAkC,gBN2dnB;ANzQf;;AYjNA;EAAmC,gBN0jBnB;ANrWhB;;AYpNA;EAAuC,gBNsOnB;ANdpB;;AYvNA;EAAkC,gBNuWnB;AN5If;;AY1NA;EAAiC,gBNknBnB;ANpZd;;AY7NA;EAAmC,gBNsnBnB;ANrZhB;;AYhOA;EAAiC,gBNytBnB;ANrfd;;AYnOA;EAAiC,gBNmRnB;AN5Cd;;AYtOA;EAAqC,gBNupBnB;AN7alB;;AYzOA;EAA+B,gBNqpBnB;ANxaZ;;AY5OA;EAAoC,gBNspBnB;ANtajB;;AY/OA;EAAkC,gBNyInB;AN0Gf;;AYlPA;;;EAEkC,gBNqqBnB;AN/af;;AYrPA;EAAwC,gBN8iBnB;ANrTrB;;AYxPA;EAAyC,gBN4iBnB;ANhTtB;;AY3PA;EAAsC,gBN4fnB;AN7PnB;;AY9PA;EAAmC,gBNikBnB;AN/ThB;;AYjQA;;EACgC,gBNgKnB;ANqGb;;AYpQA;EAAoC,gBN+qBnB;ANvajB;;AYvQA;EAAiC,gBNwVnB;AN7Ed;;AY1QA;EAAmC,gBNuPnB;ANuBhB;;AY7QA;EAAoC,gBNgJnB;ANiIjB;;AYhRA;EAAiC,gBNmhBnB;AN/Pd;;AYnRA;EAAqC,gBNgMnB;ANuFlB;;AYtRA;EAAgD,gBNYnB;AN8Q7B;;AYzRA;EAA8C,gBNcnB;AN+Q3B;;AY5RA;EAAkC,gBNqWnB;ANrEf;;AY/RA;EAA0C,gBNwenB;ANrMvB;;AYlSA;;EACmC,gBNsgBnB;ANhOhB;;AYrSA;EAAoC,gBNggBnB;ANvNjB;;AYxSA;EAAqC,gBNwYnB;AN5FlB;;AY3SA;EAAiC,gBN2YnB;AN5Fd;;AY9SA;EAAiC,gBN4PnB;ANsDd;;AYjTA;EAAuC,gBNoUnB;ANfpB;;AYpTA;EAAuC,gBNitBnB;ANzZpB;;AYvTA;EAAwC,gBN+sBnB;ANpZrB;;AY1TA;EAAsC,gBNgtBnB;ANlZnB;;AY7TA;EAAmC,gBNyenB;ANxKhB;;AYhUA;EAAoC,gBNwBnB;AN4SjB;;AYnUA;EAAgC,gBNymBnB;ANlSb;;AYtUA;EAAiC,gBNymBnB;AN/Rd;;AYzUA;EAAiC,gBNyDnB;ANoRd;;AY5UA;EAAqC,gBNyDnB;ANuRlB;;AY/UA;EAAkC,gBN+dnB;AN5If;;AYlVA;EAAmC,gBN2EnB;AN2QhB;;AYrVA;EAAiC,gBN0PnB;AN+Fd;;AYxVA;EAAiC,gBNiDnB;AN2Sd;;AY3VA;EAAmC,gBN0VnB;ANKhB;;AY9VA;EAAwC,gBNwmBnB;ANtQrB;;AYjWA;EAAuC,gBNwmBnB;ANnQpB;;AYpWA;EAAuC,gBNpCnB;AN4YpB;;AYvWA;EAAyC,gBNvCnB;ANkZtB;;AY1WA;EAAwC,gBNrCnB;ANmZrB;;AY7WA;EAA0C,gBNxCnB;ANyZvB;;AYhXA;EAAiC,gBN+WnB;ANKd;;AYnXA;;EACoC,gBN2anB;ANpDjB;;AYtXA;EAAmC,gBNsUnB;ANoDhB;;AYzXA;EAAyC,gBNkrBnB;ANrTtB;;AY5XA;;;EAEsC,gBN0bnB;AN1DnB;;AY/XA;EAAmC,gBNkbnB;AN/ChB;;AYlYA;EAAuC,gBNwXnB;ANcpB;;AYrYA;EAAmC,gBNtDnB;AN+bhB;;AYxYA;EAAiC,gBNmnBnB;ANvOd;;AY3YA;;EAC4C,gBN+anB;ANhCzB;;AY9YA;EAA2C,gBN8fnB;AN5GxB;;AYjZA;EAA2C,gBN+EnB;ANsUxB;;AYpZA;EAAmC,gBNzBnB;ANibhB;;AYvZA;EAA0C,gBNmjBnB;ANxJvB;;AY1ZA;EAA0C,gBNqLnB;ANyOvB;;AY7ZA;EAAqC,gBNlBnB;ANmblB;;AYhaA;EAAiC,gBNsbnB;ANlBd;;AYnaA;EAAkC,gBNganB;ANOf;;AYtaA;EAAiC,gBNmjBnB;ANzId;;AYzaA;EAAoC,gBN+NnB;AN8MjB;;AY5aA;EAAyC,gBNgLnB;ANgQtB;;AY/aA;EAAyC,gBN4iBnB;ANzHtB;;AYlbA;EAAkC,gBN+InB;ANuSf;;AYrbA;EAAyC,gBNyEnB;ANgXtB;;AYxbA;EAA0C,gBNyEnB;ANmXvB;;AY3bA;EAAwC,gBNkbnB;ANarB;;AY9bA;EAAyC,gBNuXnB;AN2EtB;;AYjcA;EAAyC,gBN2lBnB;ANtJtB;;AYpcA;EAAyC,gBN2DnB;AN6YtB;;AYvcA;EAA4C,gBNybnB;ANkBzB;;AY1cA;EAAwC,gBN0SnB;ANoKrB;;AY7cA;EAAuC,gBN0GnB;ANuWpB;;AYhdA;EAA2C,gBNulBnB;ANnIxB;;AYndA;EAA2C,gBNuDnB;ANgaxB;;AYtdA;EAAgC,gBNnCnB;AN6fb;;AYzdA;EAAuC,gBNnDnB;ANghBpB;;AY5dA;EAAwC,gBNnDnB;ANmhBrB;;AY/dA;EAAqC,gBNnDnB;ANshBlB;;AYleA;EAAuC,gBNvDnB;AN6hBpB;;AYreA;;EACkC,gBN4dnB;ANaf;;AYxeA;EAAmC,gBN8InB;AN8VhB;;AY3eA;EAAqC,gBNsFnB;ANyZlB;;AY9eA;EAAiC,gBN+ZnB;ANmFd;;AYjfA;EAAkC,gBNoWnB;ANiJf;;AYpfA;EAAqC,gBNpDnB;AN4iBlB;;AYvfA;EAA+C,gBNuInB;ANoX5B;;AY1fA;EAAiC,gBNkNnB;AN4Sd;;AY7fA;EAAiC,gBN0SnB;ANuNd;;AYhgBA;EAAiC,gBN6KnB;ANuVd;;AYngBA;EAAgC,gBNyInB;AN8Xb;;AYtgBA;EAAsC,gBNyInB;ANiYnB;;AYzgBA;;EACiD,gBNiInB;AN4Y9B;;AY5gBA;EAAkC,gBN+YnB;ANiIf;;AY/gBA;EAAqC,gBAAA;AZmhBrC;;AYlhBA;EAAmC,gBNoanB;ANkHhB;;AYrhBA;EAAoC,gBNgEnB;ANydjB;;AYxhBA;EAAmC,gBN6TnB;AN+NhB;;AY3hBA;EAAuC,gBNuCnB;ANwfpB;;AY9hBA;EAAyC,gBNmCnB;AN+ftB;;AYjiBA;EAAoC,gBN+anB;ANsHjB;;AYpiBA;EAA0C,gBNkdnB;ANsFvB;;AYviBA;EAAmC,gBN0KnB;ANiYhB;;AY1iBA;EAAwC,gBN2KnB;ANmYrB;;AY7iBA;EAAqC,gBN3EnB;AN4nBlB;;AYhjBA;EAAqC,gBN7EnB;ANioBlB;;AYnjBA;;EACsC,gBNlEnB;ANynBnB;;AYtjBA;EAA2C,gBN+kBnB;ANrBxB;;AYzjBA;EAA4C,gBN4HnB;ANiczB;;AY5jBA;EAAyC,gBNTnB;ANykBtB;;AY/jBA;EAAgC,gBN2QnB;ANwTb;;AYlkBA;;EACiC,gBN6CnB;ANyhBd;;AYrkBA;EAAqC,gBNkDnB;ANuhBlB;;AYxkBA;EAAwC,gBNsiBnB;ANsCrB;;AY3kBA;EAA0C,gBNoiBnB;AN2CvB;;AY9kBA;EAAsC,gBN2enB;ANuGnB;;AYjlBA;EAAoC,gBN8NnB;ANuXjB;;AYplBA;EAAqC,gBNocnB;ANoJlB;;AYvlBA;EAA4C,gBNuRnB;ANoUzB;;AY1lBA;EAAuC,gBN6hBnB;ANiEpB;;AY7lBA;EAA0C,gBNsGnB;AN2fvB;;AYhmBA;EAAoC,gBN8bnB;ANsKjB;;AYnmBA;EAAmC,gBNqjBnB;ANkDhB;;AYtmBA;EAA0C,gBNgLnB;AN0bvB;;AYzmBA;EAAmC,gBNukBnB;ANsChB;;AY5mBA;EAAoC,gBNqQnB;AN2WjB;;AY/mBA;EAAkC,gBNiWnB;ANkRf;;AYlnBA;EAAqC,gBN2dnB;AN2JlB;;AYrnBA;EAAuC,gBNjDnB;AN0qBpB;;AYxnBA;EAAyC,gBN+VnB;AN6RtB;;AY3nBA;EAAoC,gBNsjBnB;ANyEjB;;AY9nBA;;EACqC,gBNgGnB;ANkiBlB;;AYjoBA;EAAmC,gBNoKnB;ANiehB;;AYpoBA;EAAmC,gBN0jBnB;AN8EhB;;AYvoBA;EAAwC,gBNoCnB;ANumBrB;;AY1oBA;;EACgC,gBN+YnB;AN+Pb;;AY7oBA;EAAkC,gBNoMnB;AN6cf;;AYhpBA;EAAqC,gBNrDnB;ANysBlB;;AYnpBA;EAAiC,gBNhFnB;ANuuBd;;AYtpBA;EAAwC,gBNrBnB;AN+qBrB;;AYzpBA;EAAyC,gBNoLnB;ANyetB;;AY5pBA;EAAwC,gBNkLnB;AN8erB;;AY/pBA;EAAsC,gBNmLnB;ANgfnB;;AYlqBA;EAAwC,gBN+KnB;ANufrB;;AYrqBA;EAA8C,gBNrInB;AN8yB3B;;AYxqBA;EAA+C,gBNjInB;AN6yB5B;;AY3qBA;EAA4C,gBNjInB;ANgzBzB;;AY9qBA;EAA8C,gBNzInB;AN2zB3B;;AYjrBA;EAAkC,gBN2JnB;AN0hBf;;AYprBA;EAAmC,gBN6lBnB;AN2FhB;;AYvrBA;EAAkC,gBNqenB;ANsNf;;AY1rBA;EAAmC,gBNyGnB;ANqlBhB;;AY7rBA;EAAsC,gBNzEnB;AN0wBnB;;AYhsBA;EAAuC,gBNlInB;ANs0BpB;;AYnsBA;;EACkC,gBNijBnB;ANsJf;;AYtsBA;;EACiC,gBN4OnB;AN8dd;;AYzsBA;EAAkC,gBNdnB;AN2tBf;;AY5sBA;EAAkC,gBN0GnB;ANsmBf;;AY/sBA;;EACqC,gBN6XnB;ANsVlB;;AYltBA;;EACoC,gBN2FnB;AN2nBjB;;AYrtBA;EAAsC,gBN6SnB;AN4anB;;AYxtBA;;EACqC,gBNqGnB;ANunBlB;;AY3tBA;EAAmC,gBNgbnB;AN+ShB;;AY9tBA;;;EAEiC,gBNlInB;ANo2Bd;;AYjuBA;EAAoC,gBNsOnB;AN+fjB;;AYpuBA;EAAoC,gBNoOnB;ANogBjB;;AYvuBA;EAA0C,gBN+bnB;AN4SvB;;AY1uBA;EAAsC,gBN2gBnB;ANmOnB;;AY7uBA;EAAkC,gBNucnB;AN0Sf;;AYhvBA;EAAkC,gBNyOnB;AN2gBf;;AYnvBA;EAAkC,gBN6fnB;AN0Pf;;AYtvBA;EAAsC,gBNmTnB;ANucnB;;AYzvBA;EAA6C,gBNoTnB;ANyc1B;;AY5vBA;EAA+C,gBNgInB;ANgoB5B;;AY/vBA;EAAwC,gBN4HnB;ANuoBrB;;AYlwBA;EAAkC,gBNqQnB;ANigBf;;AYrwBA;EAAuC,gBNpFnB;AN61BpB;;AYxwBA;EAAqC,gBN9EnB;AN01BlB;;AY3wBA;EAAuC,gBNrFnB;ANo2BpB;;AY9wBA;EAAwC,gBNrFnB;ANu2BrB;;AYjxBA;EAAoC,gBNhCnB;ANqzBjB;;AYpxBA;;EACiC,gBN0YnB;AN8Yd;;AYvxBA;;EACsC,gBN8YnB;AN6YnB;;AY1xBA;;EACqC,gBN2YnB;ANmZlB;;AY7xBA;EAAqC,gBNUnB;ANuxBlB;;AYhyBA;EAAqC,gBNuMnB;AN6lBlB;;AYnyBA;;EACiC,gBNqfnB;ANkTd;;AYtyBA;;EACkC,gBNoFnB;ANstBf;;AYzyBA;;EACuC,gBN+anB;AN8XpB;;AY5yBA;EAAsC,gBN7CnB;AN61BnB;;AY/yBA;EAAuC,gBN1CnB;AN61BpB;;AYlzBA;;EACiC,gBNpInB;AN07Bd;;AYrzBA;EAAoC,gBN6WnB;AN4cjB;;AYxzBA;EAAqC,gBNyenB;ANmVlB;;AY3zBA;;EACsC,gBNrEnB;ANo4BnB;;AY9zBA;EAAwC,gBNqLnB;AN6oBrB;;AYj0BA;EAAqC,gBNGnB;ANk0BlB;;AYp0BA;EAA2C,gBNnEnB;AN24BxB;;AYv0BA;EAAyC,gBNnEnB;AN84BtB;;AY10BA;EAAoC,gBNifnB;AN6VjB;;AY70BA;EAAwC,gBN8YnB;ANmcrB;;AYh1BA;EAAqC,gBNyZnB;AN2blB;;AYn1BA;EAAmC,gBN9JnB;ANq/BhB;;AYt1BA;EAAmC,gBNlEnB;AN45BhB;;AYz1BA;EAAoC,gBN1CnB;ANu4BjB;;AY51BA;EAAwC,gBN8BnB;ANk0BrB;;AY/1BA;EAAuC,gBN1InB;AN6+BpB;;AYl2BA;EAAuC,gBNsHnB;ANgvBpB;;AYr2BA;EAAsC,gBNrOnB;AN8kCnB;;AYx2BA;EAAmC,gBN4MnB;ANgqBhB;;AY32BA;EAAwC,gBNUnB;ANq2BrB;;AY92BA;EAAiC,gBN3KnB;AN6hCd;;AYj3BA;EAAqC,gBNuFnB;AN8xBlB;;AYp3BA;EAAwC,gBN2QnB;AN6mBrB;;AYv3BA;EAA8C,gBNrOnB;ANgmC3B;;AY13BA;EAA+C,gBNrOnB;ANmmC5B;;AY73BA;EAA4C,gBNrOnB;ANsmCzB;;AYh4BA;EAA8C,gBNzOnB;AN6mC3B;;AYn4BA;EAAuC,gBNrOnB;AN4mCpB;;AYt4BA;EAAwC,gBNrOnB;AN+mCrB;;AYz4BA;EAAqC,gBNrOnB;ANknClB;;AY54BA;EAAuC,gBNzOnB;ANynCpB;;AY/4BA;EAAoC,gBNpDnB;ANu8BjB;;AYl5BA;EAAmC,gBN4InB;AN0wBhB;;AYr5BA;EAAmC,gBNwYnB;ANihBhB;;AYx5BA;;EACmC,gBNuMnB;ANqtBhB;;AY35BA;EAAqC,gBNzGnB;ANwgClB;;AY95BA;EAAuC,gBNyQnB;ANypBpB;;AYj6BA;EAAwC,gBNyQnB;AN4pBrB;;AYp6BA;EAAoC,gBN+VnB;ANykBjB;;AYv6BA;EAAmC,gBN9GnB;ANyhChB;;AY16BA;;EACkC,gBNoRnB;AN0pBf;;AY76BA;EAAuC,gBN+CnB;ANk4BpB;;AYh7BA;EAAqC,gBNmBnB;ANi6BlB;;AYn7BA;EAA0C,gBNoBnB;ANm6BvB;;AYt7BA;EAAoC,gBNqUnB;ANqnBjB;;AYz7BA;EAAoC,gBN2BnB;ANk6BjB;;AY57BA;EAAkC,gBNgLnB;ANgxBf;;AY/7BA;EAAoC,gBN2BnB;ANw6BjB;;AYl8BA;EAAuC,gBNuHnB;AN+0BpB;;AYr8BA;EAAmC,gBNMnB;ANm8BhB;;AYx8BA;EAA2C,gBNInB;ANw8BxB;;AY38BA;EAAqC,gBN6XnB;ANklBlB;;AY98BA;EAAiC,gBNhHnB;ANkkCd;;AYj9BA;;EACsC,gBNuQnB;AN8sBnB;;AYp9BA;;;EAEwC,gBNsVnB;ANkoBrB;;AYv9BA;EAA2C,gBNwInB;ANm1BxB;;AY19BA;EAAiC,gBNhGnB;AN8jCd;;AY79BA;EAAsC,gBNvHnB;ANwlCnB;;AYh+BA;;EACyC,gBNtJnB;AN0nCtB;;AYn+BA;EAAqC,gBNyOnB;AN8vBlB;;AYt+BA;EAAiC,gBN0FnB;ANg5Bd;;AYz+BA;EAAwC,gBN1DnB;ANuiCrB;;AY5+BA;EAAwC,gBNkWnB;AN8oBrB;;AY/+BA;EAAsC,gBN4VnB;ANupBnB;;AYl/BA;EAAmC,gBNlEnB;ANwjChB;;AYr/BA;EAAyC,gBNgOnB;ANyxBtB;;AYx/BA;EAAuC,gBN2JnB;ANi2BpB;;AY3/BA;EAA6C,gBN2JnB;ANo2B1B;;AY9/BA;EAAmC,gBNsRnB;AN4uBhB;;AYjgCA;EAAuC,gBN5LnB;ANisCpB;;AYpgCA;EAA8C,gBNxBnB;ANgiC3B;;AYvgCA;EAAmC,gBNuPnB;ANoxBhB;;AY1gCA;EAAmC,gBN6InB;ANi4BhB;;AY7gCA;EAAgD,gBN9JnB;AN+qC7B;;AYhhCA;EAAiD,gBN9JnB;ANkrC9B;;AYnhCA;EAA8C,gBN9JnB;ANqrC3B;;AYthCA;EAAgD,gBNlKnB;AN4rC7B;;AYzhCA;EAAkC,gBN8DnB;AN+9Bf;;AY5hCA;EAAiC,gBNrHnB;ANqpCd;;AY/hCA;EAAmC,gBNvSnB;AN00ChB;;AYliCA;EAAuC,gBN2ZnB;AN2oBpB;;AYriCA;EAAqC,gBNhNnB;ANyvClB;;AYxiCA;EAAuC,gBN7FnB;ANyoCpB;;AY3iCA;EAAuC,gBN7FnB;AN4oCpB;;AY9iCA;EAAuC,gBN+OnB;ANm0BpB;;AYjjCA;EAAwC,gBNiMnB;ANo3BrB;;AYpjCA;EAAmC,gBN6WnB;AN2sBhB;;AYvjCA;EAAyC,gBN0InB;ANi7BtB;;AY1jCA;EAA2C,gBN0InB;ANo7BxB;;AY7jCA;EAAqC,gBNqFnB;AN4+BlB;;AYhkCA;EAAuC,gBNmFnB;ANi/BpB;;AYnkCA;EAAyC,gBNnLnB;AN0vCtB;;AYtkCA;EAA0C,gBN0KnB;ANg6BvB;;AYzkCA;EAAiD,gBNpFnB;ANiqC9B;;AY5kCA;EAAyC,gBNwPnB;ANw1BtB;;AY/kCA;EAAoC,gBNjJnB;ANouCjB;;AYllCA;;EACgD,gBN/MnB;ANqyC7B;;AYrlCA;;EAC8C,gBN9MnB;ANuyC3B;;AYxlCA;;EACiD,gBNjNnB;AN6yC9B;;AY3lCA;;EACgC,gBNvGnB;ANssCb;;AY9lCA;EAAgC,gBNhCnB;ANkoCb;;AYjmCA;;EACgC,gBNqYnB;ANguBb;;AYpmCA;;EACgC,gBN4CnB;AN4jCb;;AYvmCA;;;;EAGgC,gBNgDnB;AN2jCb;;AY1mCA;;;EAEgC,gBNiNnB;AN65Bb;;AY7mCA;;EACgC,gBN+CnB;ANkkCb;;AYhnCA;;EACgC,gBN3PnB;AN+2Cb;;AYnnCA;EAAiC,gBNhGnB;ANutCd;;AYtnCA;EAAsC,gBNpFnB;AN8sCnB;;AYznCA;EAA2C,gBN0PnB;ANm4BxB;;AY5nCA;EAA4C,gBN0PnB;ANs4BzB;;AY/nCA;EAA4C,gBN0PnB;ANy4BzB;;AYloCA;EAA6C,gBN0PnB;AN44B1B;;AYroCA;EAA6C,gBN6PnB;AN44B1B;;AYxoCA;EAA8C,gBN6PnB;AN+4B3B;;AY3oCA;EAAsC,gBNkUnB;AN60BnB;;AY9oCA;EAAwC,gBN8TnB;ANo1BrB;;AYjpCA;EAA2C,gBNyanB;AN4uBxB;;AYppCA;EAAoC,gBNsanB;ANkvBjB;;AYvpCA;EAAiC,gBN2ZnB;ANgwBd;;AY1pCA;EAAwC,gBN2ZnB;ANmwBrB;;AY7pCA;EAAyC,gBNoanB;AN6vBtB;;AYhqCA;EAAoC,gBNxJnB;AN4zCjB;;AYnqCA;EAA2C,gBN8PnB;ANy6BxB;;AYtqCA;EAAsC,gBNgBnB;AN0pCnB;;AYzqCA;EAAmC,gBNpFnB;ANiwChB;;AY5qCA;EAAgC,gBN3WnB;AN2hDb;;AY/qCA;EAAsC,gBN/RnB;ANk9CnB;;AYlrCA;EAA6C,gBN/RnB;ANq9C1B;;AYrrCA;EAAmC,gBN+UnB;AN02BhB;;AYxrCA;EAA0C,gBN+UnB;AN62BvB;;AY3rCA;EAA4C,gBNgDnB;AN+oCzB;;AY9rCA;EAA0C,gBNkDnB;ANgpCvB;;AYjsCA;EAA4C,gBN+CnB;ANspCzB;;AYpsCA;EAA6C,gBN+CnB;ANypC1B;;AYvsCA;EAAkC,gBNjWnB;AN4iDf;;AY1sCA;EAAoC,gBNmYnB;AN20BjB;;AY7sCA;EAAoC,gBN7WnB;AN8jDjB;;AYhtCA;EAAkC,gBNkCnB;ANkrCf;;AYntCA;EAAqC,gBN5KnB;ANm4ClB;;AYttCA;EAAkC,gBNgNnB;AN0gCf;;AYztCA;EAAuC,gBNxFnB;ANqzCpB;;AY5tCA;EAAmC,gBN4TnB;ANo6BhB;;AY/tCA;EAAmC,gBNtInB;ANy2ChB;;AYluCA;EAAiC,gBN6CnB;ANyrCd;;AYruCA;;EACqC,gBN5DnB;ANqyClB;;AYxuCA;EAAkC,gBN8PnB;AN8+Bf;;AY3uCA;EAAmC,gBNuEnB;ANwqChB;;AY9uCA;EAAoC,gBN9WnB;ANgmDjB;;AYjvCA;EAAgC,gBNtSnB;AN2hDb;;AYpvCA;EAA+B,gBNiWnB;ANu5BZ;;AYvvCA;EAAkC,gBNuWnB;ANo5Bf;;AY1vCA;EAAmC,gBN+InB;AN+mChB;;AY7vCA;EAAsC,gBNkFnB;AN+qCnB;;AYhwCA;EAA2C,gBN6NnB;ANuiCxB;;AYnwCA;EAAiD,gBN/WnB;ANsnD9B;;AYtwCA;EAAgD,gBNjXnB;AN2nD7B;;AYzwCA;;EACgD,gBNzRnB;ANsiD7B;;AY5wCA;EAAyC,gBNnMnB;ANm9CtB;;AY/wCA;EAAuC,gBNiWnB;ANk7BpB;;AYlxCA;EAAyC,gBNoVnB;ANk8BtB;;AYrxCA;;EACgC,gBN0SnB;AN++Bb;;AYxxCA;EAA0C,gBN0GnB;ANkrCvB;;AY3xCA;EAA0C,gBN4MnB;ANmlCvB;;AY9xCA;EAAkC,gBNsLnB;AN4mCf;;AYjyCA;EAA4C,gBNzLnB;AN89CzB;;AYpyCA;EAAsC,gBNoWnB;ANo8BnB;;AYvyCA;EAAmC,gBN8DnB;AN6uChB;;AY1yCA;;;EAEuC,gBN8SnB;ANggCpB;;AY7yCA;;EAC2C,gBN1FnB;AN24CxB;;AYhzCA;EAAkC,gBNsWnB;AN88Bf;;AYnzCA;EAAmC,gBNlGnB;ANy5ChB;;AYtzCA;EAAmC,gBNgHnB;AN0sChB;;AYzzCA;EAA0C,gBNiHnB;AN4sCvB;;AY5zCA;EAA+C,gBNyNnB;ANumC5B;;AY/zCA;EAAwC,gBNuNnB;AN4mCrB;;AYl0CA;EAAsC,gBN/NnB;ANqiDnB;;AYr0CA;EAAiC,gBN5NnB;ANqiDd;;AYx0CA;EAA0C,gBN2EnB;ANiwCvB;;AY30CA;EAA2C,gBNyEnB;ANswCxB;;AY90CA;EAAmC,gBNvNnB;ANyiDhB;;AYj1CA;EAAmC,gBNzCnB;AN83ChB;;AYp1CA;EAAqC,gBNpCnB;AN43ClB;;AYv1CA;EAAgC,gBNtLnB;ANihDb;;AY11CA;EAAqC,gBN7UnB;AN2qDlB;;AY71CA;EAAkC,gBN1RnB;AN2nDf;;AYh2CA;EAAgC,gBNsDnB;AN8yCb;;AYn2CA;EAAkC,gBNmLnB;ANorCf;;AYt2CA;EAAiC,gBNrPnB;AN+lDd;;AYz2CA;EAAkC,gBNrPnB;ANkmDf;;AY52CA;EAAoC,gBN7WnB;AN6tDjB;;AY/2CA;EAA2C,gBN7WnB;ANguDxB;;AYl3CA;EAAkC,gBN0LnB;AN4rCf;;AYr3CA;EAAyC,gBN0LnB;AN+rCtB;;AYx3CA;EAAoC,gBNyFnB;ANmyCjB;;AY33CA;;EACgC,gBNzUnB;ANwsDb;;AY93CA;;EACiC,gBN+MnB;ANmrCd;;AYj4CA;EAAiC,gBN4PnB;ANyoCd;;AYp4CA;EAAoC,gBNuKnB;ANiuCjB;;AYv4CA;EAAuC,gBNtPnB;ANioDpB;;AY14CA;EAAuC,gBNiKnB;AN6uCpB;;AY74CA;EAAqC,gBN9PnB;AN+oDlB;;AYh5CA;EAAuC,gBN/LnB;ANmlDpB;;AYn5CA;EAAwC,gBNxLnB;AN+kDrB;;AYt5CA;EAAyC,gBNrMnB;AN+lDtB;;AYz5CA;EAA8C,gBN/LnB;AN4lD3B;;AY55CA;;;EAEyC,gBNxMnB;ANwmDtB;;AY/5CA;;EAC2C,gBN9MnB;ANinDxB;;AYl6CA;;EACyC,gBN/MnB;ANqnDtB;;AYr6CA;;EACyC,gBNpMnB;AN6mDtB;;AYx6CA;EAAwC,gBNjNnB;AN6nDrB;;AY36CA;EAAiC,gBNuRnB;ANwpCd;;AY96CA;EAAoC,gBN5SnB;AN8tDjB;;AYj7CA;EAAqC,gBN9EnB;ANmgDlB;;AYp7CA;;;;;EAIsC,gBNnEnB;AN2/CnB;;AYv7CA;EAA2C,gBN/TnB;AN0vDxB;;AY17CA;;;EAEkC,gBNqDnB;ANy4Cf;;AY77CA;;EACmC,gBNnQnB;ANosDhB;;AYh8CA;EAAuC,gBNzKnB;AN6mDpB;;AYn8CA;EAAgC,gBN3KnB;ANknDb;;AYt8CA;;;EAEwC,gBNxJnB;ANkmDrB;;AYz8CA;EAA0C,gBN2KnB;ANkyCvB;;AY58CA;EAA+B,gBNiCnB;AN+6CZ;;AY/8CA;;EACmC,gBN0QnB;ANysChB;;AYl9CA;;EACwC,gBNVnB;ANg+CrB;;AYr9CA;;EAC0C,gBNXnB;ANo+CvB;;AYx9CA;EAAoC,gBN1InB;ANsmDjB;;AY39CA;EAAwC,gBNlVnB;ANizDrB;;AY99CA;EAAmC,gBNjJnB;ANmnDhB;;AYj+CA;EAAsC,gBNbnB;ANk/CnB;;AYp+CA;EAAoC,gBN+FnB;ANy4CjB;;AYv+CA;EAAsC,gBNuEnB;ANo6CnB;;AY1+CA;EAA6C,gBNuEnB;ANu6C1B;;AY7+CA;EAAiC,gBNzZnB;AN04Dd;;AYh/CA;;EACqC,gBN5MnB;ANgsDlB;;AYn/CA;EAAgC,gBN0MnB;AN6yCb;;AYt/CA;EAAuC,gBNxanB;ANk6DpB;;AYz/CA;EAAiC,gBNInB;ANy/Cd;;AY5/CA;EAAuC,gBNuFnB;ANy6CpB;;AY//CA;EAAmC,gBN2MnB;ANwzChB;;AYlgDA;EAAiC,gBN+QnB;ANuvCd;;AYrgDA;EAAwC,gBNzCnB;ANkjDrB;;AYxgDA;EAAiC,gBNwPnB;ANoxCd;;AY3gDA;EAAuC,gBNrZnB;ANo6DpB;;AY9gDA;EAAmC,gBNvBnB;ANyiDhB;;AYjhDA;EAA0C,gBN3LnB;ANgtDvB;;AYphDA;EAAoC,gBN5XnB;ANo5DjB;;AYvhDA;EAA0C,gBNhYnB;AN25DvB;;AY1hDA;EAAwC,gBNnYnB;ANi6DrB;;AY7hDA;EAAoC,gBNtYnB;ANu6DjB;;AYhiDA;EAAsC,gBNlYnB;ANs6DnB;;AYniDA;EAAsC,gBNlYnB;ANy6DnB;;AYtiDA;EAAuC,gBN3bnB;ANq+DpB;;AYziDA;EAAyC,gBN3bnB;ANw+DtB;;AY5iDA;EAAkC,gBN+KnB;ANi4Cf;;AY/iDA;EAAsC,gBNnVnB;ANs4DnB;;AYljDA;EAA+B,gBN9dnB;ANohEZ;;AYrjDA;EAAuC,gBN5RnB;ANq1DpB;;AYxjDA;EAAwC,gBN/CnB;AN2mDrB;;AY3jDA;EAA0C,gBN9bnB;AN6/DvB;;AY9jDA;EAAuC,gBNtfnB;ANwjEpB;;AYjkDA;EAAsC,gBN/BnB;ANomDnB;;AYpkDA;EAAuC,gBNzHnB;ANisDpB;;AYvkDA;EAAmC,gBNvInB;ANktDhB;;AY1kDA;EAA0C,gBNvInB;ANqtDvB;;AY7kDA;EAAuC,gBN4JnB;ANq7CpB;;AYhlDA;EAAsC,gBN4JnB;ANw7CnB;;AYnlDA;EAAoC,gBNxcnB;AN+hEjB;;AYtlDA;EAAgC,gBNjbnB;AN2gEb;;AYzlDA;EAAoC,gBNvJnB;ANovDjB;;AY5lDA;EAAsC,gBN3gBnB;AN2mEnB;;AY/lDA;EAA+B,gBN7ZnB;ANggEZ;;AYlmDA;;;EAEgC,gBNzKnB;AN+wDb;;AYrmDA;EAAqC,gBNpGnB;AN6sDlB;;AYxmDA;EAAuC,gBNxbnB;ANoiEpB;;AY3mDA;EAA2C,gBN5WnB;AN29DxB;;AY9mDA;EAAqC,gBN9VnB;ANg9DlB;;AYjnDA;EAAqC,gBN9PnB;ANm3DlB;;AYpnDA;EAAoC,gBNrJnB;AN6wDjB;;AYvnDA;EAAmC,gBNenB;AN4mDhB;;AY1nDA;EAAyC,gBN2BnB;ANmmDtB;;AY7nDA;EAAwC,gBNoCnB;AN6lDrB;;AYhoDA;EAAqC,gBNqCnB;AN+lDlB;;AYnoDA;EAAsC,gBN5anB;ANmjEnB;;AYtoDA;EAA4C,gBN9anB;ANwjEzB;;AYzoDA;EAAoC,gBN/VnB;AN4+DjB;;AY5oDA;EAAiC,gBNoBnB;AN4nDd;;AY/oDA;EAAwC,gBN8KnB;ANq+CrB;;AYlpDA;EAAuC,gBN/FnB;ANqvDpB;;AYrpDA;EAAwC,gBN6EnB;AN4kDrB;;AYxpDA;EAAsC,gBN9MnB;AN02DnB;;AY3pDA;EAAkC,gBN+KnB;ANg/Cf;;AY9pDA;EAAiC,gBN7HnB;AN+xDd;;AYjqDA;EAAoC,gBNnHnB;ANwxDjB;;AYpqDA;;EACwC,gBNkInB;ANsiDrB;;AYvqDA;EAA4C,gBNkInB;ANyiDzB;;AY1qDA;EAAyC,gBN0KnB;ANogDtB;;AY7qDA;EAAwC,gBNlInB;ANmzDrB;;AYhrDA;EAAuC,gBNyKnB;AN2gDpB;;AYnrDA;EAAwC,gBNnInB;AN0zDrB;;AYtrDA;EAA0C,gBNlInB;AN4zDvB;;AYzrDA;EAA0C,gBNpInB;ANi0DvB;;AY5rDA;EAAmC,gBN1GnB;AN0yDhB;;AY/rDA;EAAuC,gBN7QnB;ANg9DpB;;AYlsDA;EAA8C,gBN1UnB;ANghE3B;;AYrsDA;EAAwC,gBNzEnB;ANkxDrB;;AYxsDA;EAAqC,gBNkLnB;AN0hDlB;;AY3sDA;EAAmC,gBNXnB;AN0tDhB;;AY9sDA;EAAsC,gBNuJnB;AN2jDnB;;AYjtDA;EAAuC,gBNwJnB;AN6jDpB;;AYptDA;;EACgC,gBN/fnB;ANutEb;;AYvtDA;EAAoC,gBN4JnB;AN+jDjB;;AY1tDA;EAAkC,gBN8GnB;ANgnDf;;AY7tDA;EAAmC,gBNwDnB;ANyqDhB;;AYhuDA;EAAmC,gBN9InB;ANk3DhB;;AYnuDA;;EACyC,gBN0LnB;AN6iDtB;;AYtuDA;EAA0C,gBNjHnB;AN21DvB;;AYzuDA;EAAqC,gBNrHnB;ANk2DlB;;AY5uDA;EAAyC,gBNnWnB;ANmlEtB;;AY/uDA;;;EAEyC,gBN/gBnB;ANkwEtB;;AYlvDA;;EACmD,gBN9gBnB;ANowEhC;;AYrvDA;;EACyC,gBNlhBnB;AN2wEtB;;AYxvDA;;EAC4C,gBNnhBnB;AN+wEzB;;AY3vDA;;EAC0C,gBNxhBnB;ANuxEvB;;AY9vDA;EAA0C,gBN3InB;AN64DvB;;AYjwDA;EAAqC,gBN3OnB;ANg/DlB;;AYpwDA;EAAyC,gBNxInB;ANg5DtB;;AYvwDA;EAA2C,gBNxInB;ANm5DxB;;AY1wDA;EAAwC,gBNwBnB;ANsvDrB;;AY7wDA;EAA0C,gBNwBnB;ANyvDvB;;AYhxDA;EAAmC,gBN/dnB;ANmvEhB;;AYnxDA;EAA2C,gBNlenB;ANyvExB;;AYtxDA;EAAkC,gBNpcnB;AN8tEf;;AYzxDA;EAA0C,gBNljBnB;AN+0EvB;;AY5xDA;EAAwC,gBNxPnB;ANwhErB;;AY/xDA;;EAC4C,gBNzPnB;AN4hEzB;;AYlyDA;;EAC2C,gBN7PnB;ANmiExB;;AYryDA;;EAC0C,gBNhQnB;ANyiEvB;;AYxyDA;EAAsC,gBNrQnB;ANijEnB;;AY3yDA;;EACwC,gBNxRnB;ANukErB;;AY9yDA;;EACyC,gBN7RnB;AN+kEtB;;AYjzDA;EAA4C,gBN1RnB;AN+kEzB;;AYpzDA;EAA0C,gBNpSnB;AN4lEvB;;AYvzDA;EAAyC,gBN3RnB;ANslEtB;;AY1zDA;EAA2C,gBN/RnB;AN6lExB;;AY7zDA;EAAyC,gBNjSnB;ANkmEtB;;AYh0DA;EAAsC,gBN+DnB;ANqwDnB;;AYn0DA;EAAuC,gBN/FnB;ANs6DpB;;AYt0DA;EAA6C,gBN/bnB;ANywE1B;;AYz0DA;EAA+B,gBNtUnB;ANmpEZ;;AY50DA;EAAsC,gBNtUnB;ANspEnB;;AY/0DA;EAAwC,gBNkEnB;ANixDrB;;AYl1DA;EAA0C,gBNrKnB;AN2/DvB;;AYr1DA;EAAiD,gBNrKnB;AN8/D9B;;AYx1DA;EAAuC,gBN5UnB;ANwqEpB;;AY31DA;EAAwC,gBNwHnB;ANuuDrB;;AY91DA;EAAmC,gBNnFnB;ANq7DhB;;AYj2DA;EAAmC,gBNzenB;AN80EhB;;AYp2DA;EAAoC,gBN9WnB;ANstEjB;;AYv2DA;EAAkC,gBNxKnB;ANmhEf;;AY12DA;EAA8C,gBNpQnB;ANknE3B;;AY72DA;;EACuC,gBNSnB;ANw2DpB;;AYh3DA;EAAmC,gBNjdnB;ANq0EhB;;AYn3DA;EAAkC,gBNzoBnB;ANggFf;;AYt3DA;EAAmC,gBN/nBnB;ANy/EhB;;AYz3DA;EAA4C,gBN3hBnB;ANw5EzB;;AY53DA;EAA6C,gBN9hBnB;AN85E1B;;AY/3DA;EAA6C,gBN5hBnB;AN+5E1B;;AYl4DA;EAA6C,gBNjiBnB;ANu6E1B;;AYr4DA;EAAqC,gBNpRnB;AN6pElB;;AYx4DA;EAAoC,gBN5NnB;ANwmEjB;;AY34DA;EAAsC,gBN5NnB;AN2mEnB;;AY94DA;EAAkC,gBN/NnB;ANinEf;;AYj5DA;EAAgC,gBNlOnB;ANunEb;;AYp5DA;EAAuC,gBNpenB;AN43EpB;;AYv5DA;EAAyC,gBNpenB;AN+3EtB;;AY15DA;EAAkC,gBNtSnB;ANosEf;;AY75DA;EAAkC,gBNiFnB;ANg1Df;;AYh6DA;EAAsC,gBNlkBnB;ANs+EnB;;AYn6DA;EAAsC,gBNrXnB;AN4xEnB;;AYt6DA;EAAyC,gBNpInB;AN8iEtB;;AYz6DA;EAAiC,gBNpcnB;ANi3Ed;;AY56DA;EAA4C,gBNhenB;ANg5EzB;;AY/6DA;EAAqC,gBNpfnB;ANu6ElB;;AYl7DA;EAAiC,gBNlNnB;ANwoEd;;AYr7DA;EAAyC,gBN1XnB;ANmzEtB;;AYx7DA;EAAgC,gBNoDnB;ANw4Db;;AY37DA;EAAyC,gBN3JnB;AN0lEtB;;AY97DA;EAAqC,gBNzNnB;AN2pElB;;AYj8DA;EAAmC,gBNlHnB;ANujEhB;;AYp8DA;EAAyC,gBN7LnB;ANqoEtB;;AYv8DA;EAA2C,gBN7LnB;ANwoExB;;AY18DA;EAAwC,gBN3CnB;ANy/DrB;;AY78DA;EAA0C,gBN3CnB;AN4/DvB;;AYh9DA;EAAyC,gBNrGnB;ANyjEtB;;AYn9DA;EAA4C,gBNrGnB;AN4jEzB;;AYt9DA;EAAoC,gBN7UnB;ANuyEjB;;AYz9DA;EAAsC,gBNnlBnB;ANgjFnB;;AY59DA;EAAwC,gBNnlBnB;ANmjFrB;;AY/9DA;EAAoC,gBN/LnB;ANkqEjB;;AYl+DA;EAAmC,gBNlXnB;ANw1EhB;;AYr+DA;EAAuC,gBNkFnB;ANu5DpB;;AYx+DA;EAAoC,gBNmFnB;ANy5DjB;;AY3+DA;EAAmC,gBN9cnB;AN67EhB;;AY9+DA;EAA6C,gBN2BnB;ANu9D1B;;AYj/DA;EAA2C,gBNmEnB;ANk7DxB;;AYp/DA;EAA8C,gBNxKnB;ANgqE3B;;AYv/DA;EAAkC,gBN9lBnB;ANylFf;;AY1/DA;EAA8C,gBNtoBnB;ANooF3B;;AY7/DA;EAAiD,gBNqDnB;AN48D9B;;AYhgEA;EAAoC,gBNxlBnB;AN4lFjB;;AYngEA;EAAwD,gBN5oBnB;ANmpFrC;;AYtgEA;;EACgE,gBN9qBnB;ANwrF7C;;AYzgEA;;;EAEiC,gBNvfnB;ANogFd;;AY5gEA;EAAkC,gBNhYnB;ANg5Ef;;AY/gEA;EAAoC,gBNhYnB;ANm5EjB;;AYlhEA;;EAC0C,gBN1HnB;ANgpEvB;;AYrhEA;EAAuC,gBNzRnB;ANkzEpB;;AYxhEA;EAAmC,gBNiCnB;AN2/DhB;;AY3hEA;EAA0C,gBNiCnB;AN8/DvB;;AY9hEA;EAAqC,gBNlHnB;ANopElB;;AYjiEA;EAA2C,gBNlHnB;ANupExB;;AYpiEA;EAA4C,gBNlHnB;AN0pEzB;;AYviEA;EAAuC,gBNrNnB;ANgwEpB;;AY1iEA;EAAwC,gBNpbnB;ANk+ErB;;AY7iEA;EAAkC,gBNmEnB;AN8+Df;;AYhjEA;EAAsC,gBNpDnB;ANwmEnB;;AYnjEA;;EACiD,gBNzYnB;ANg8E9B;;AYtjEA;;EACyC,gBN7anB;ANu+EtB;;AYzjEA;EAAwC,gBNtXnB;ANm7ErB;;AY5jEA;EAA0C,gBNlfnB;ANkjFvB;;AY/jEA;EAA4C,gBNlfnB;ANqjFzB;;AYlkEA;EAAmC,gBNtTnB;AN43EhB;;AYrkEA;EAAyC,gBNptBnB;AN6xFtB;;AYxkEA;EAA2C,gBNptBnB;ANgyFxB;;AY3kEA;;EACyC,gBNrtBnB;ANoyFtB;;AY9kEA;;EAC2C,gBNttBnB;ANwyFxB;;AYjlEA;EAAwC,gBNJnB;ANylErB;;AYplEA;EAA0C,gBNJnB;AN4lEvB;;AYvlEA;EAAmC,gBNHnB;AN8lEhB;;AY1lEA;EAAqC,gBN3WnB;ANy8ElB;;AY7lEA;;EACoC,gBN5WnB;AN68EjB;;AYhmEA;;EACsC,gBN7WnB;ANi9EnB;;AYnmEA;EAAkC,gBNtNnB;AN6zEf;;AYtmEA;EAA2C,gBN3bnB;ANqiFxB;;AYzmEA;EAAqC,gBNtFnB;ANmsElB;;AY5mEA;;;EAE6C,gBNxEnB;ANwrE1B;;AY/mEA;;EACuD,gBNvEnB;AN0rEpC;;AYlnEA;;EAC6C,gBN3EnB;ANisE1B;;AYrnEA;;EACgD,gBN5EnB;ANqsE7B;;AYxnEA;;EAC8C,gBNjFnB;AN6sE3B;;AY3nEA;EAAmC,gBN3KnB;AN0yEhB;;AY9nEA;;;EAEiC,gBNzrBnB;AN2zFd;;AYjoEA;EAAoC,gBNlPnB;ANu3EjB;;AYpoEA;EAA4C,gBNKnB;ANmoEzB;;AYvoEA;EAA4C,gBNKnB;ANsoEzB;;AY1oEA;EAA2C,gBNKnB;ANyoExB;;AY7oEA;;EACyC,gBNDnB;ANkpEtB;;AYhpEA;;EAC2C,gBNFnB;ANspExB;;AYnpEA;EAAqC,gBNxsBnB;AN+1FlB;;AYtpEA;EAAiC,gBNpbnB;AN8kFd;;AYzpEA;EAAiC,gBN1hBnB;ANurFd;;AY5pEA;EAAiC,gBNxYnB;ANwiFd;;AY/pEA;EAAoC,gBN/OnB;ANk5EjB;;AYlqEA;EAAoC,gBNziBnB;AN+sFjB;;AYrqEA;EAAsC,gBNjUnB;AN0+EnB;;AYxqEA;EAAwC,gBN7KnB;ANy1ErB;;AY3qEA;EAAwC,gBNhInB;AN+yErB;;AY9qEA;EAAuC,gBNJnB;ANsrEpB;;AYjrEA;EAAmC,gBNxUnB;AN6/EhB;;Aat8FA;EH8BE,kBAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA;EACA,gBAAA;EACA,sBAAA;EACA,SAAA;AV46FF;;AUl6FE;EAEE,gBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,iBAAA;EACA,UAAA;AVo6FJ","file":"fontawesome.css"} -------------------------------------------------------------------------------- /layout/frontpage.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | defined('MOODLE_INTERNAL') || die(); 27 | 28 | global $DB, $PAGE; 29 | 30 | if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) { 31 | $imgpath = $PAGE->theme->setting_file_url('logo', 'logo'); 32 | } else { 33 | $imgpath = $CFG->wwwroot."/theme/roshnilite/pix/img/logo.png"; 34 | } 35 | if (!isloggedin()) { 36 | $login = '
    37 |
    38 |
    39 | 40 | 41 | 42 | 43 |
    44 |
    45 |
    '; 46 | $logvar = 0; 47 | } else { 48 | $login = ''; 49 | $logvar = 1; 50 | } 51 | 52 | if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) { 53 | $favicon = $PAGE->theme->setting_file_url('favicon', 'favicon'); 54 | } else { 55 | $favicon = $CFG->wwwroot."/theme/roshnilite/pix/favicon.ico"; 56 | } 57 | 58 | $bodyattributes = $OUTPUT->body_attributes(); 59 | $backgroundimage = $PAGE->theme->setting_file_url('backgroundimage', 'backgroundimage'); 60 | 61 | $html = theme_roshnilite_get_html_for_settings($OUTPUT, $PAGE); 62 | 63 | $roshniliteformatoptions = new stdClass(); 64 | $roshniliteformatoptions->noclean = true; 65 | $roshniliteformatoptions->overflowdiv = false; 66 | 67 | $enablemoodlemaincontent = get_config('theme_roshnilite', 'moodlemaincontentinfrontpage'); 68 | 69 | if (right_to_left()) { 70 | $regionbsid = 'region-bs-main-and-post'; 71 | } else { 72 | $regionbsid = 'region-bs-main-and-pre'; 73 | } 74 | 75 | $context = context_system::instance(); 76 | 77 | $checkslidercount = $PAGE->theme->setting_file_url('slidercount', 'slidercount'); 78 | $sliderdetails = ''; 79 | if (!empty($checkslidercount)) { 80 | 81 | $slideimagecheck = $PAGE->theme->setting_file_url('slideimage1', 'slideimage1'); 82 | $slidertextcheck = get_config('theme_roshnilite', 'slidertext1'); 83 | $sliderbuttontextcheck = get_config('theme_roshnilite', 'sliderbuttontext1'); 84 | $sliderurlcheck = get_config('theme_roshnilite', 'sliderurl1'); 85 | if (!empty($slideimagecheck) || !empty($slidertextcheck) || !empty($sliderbuttontextcheck) || !empty($sliderurlcheck)) { 86 | 87 | $start = strlen($checkslidercount) - 1; 88 | $totalslidercount = ''; 89 | 90 | for ($x = $start; $x < strlen($checkslidercount); $x++) { 91 | $totalslidercount = $checkslidercount[$x]; 92 | } 93 | $totalslidercount = (int)$totalslidercount; 94 | $sliderdetails = '
    95 | 130 |
    '; 131 | } else { 132 | $sliderdetails = ''; 133 | } 134 | 135 | $aboutsiteheading = format_text((!empty($html->aboutsiteheading)) ? $html->aboutsiteheading : 136 | get_string('aboutsiteheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 137 | $aboutsitesubheading = format_text((!empty($html->aboutsitesubheading)) ? $html->aboutsitesubheading : 138 | get_string('aboutsitesubheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 139 | 140 | if ($enablemoodlemaincontent == 1) { 141 | $maincontent = ''; 154 | } else { 155 | $maincontent = ''; 156 | } 157 | 158 | if ($CFG->version >= 2018120300) { 159 | $version18 = $OUTPUT->standard_after_main_region_html(); 160 | } else { 161 | $version18 = ''; 162 | } 163 | 164 | $aboutsitename1 = format_text((!empty($html->aboutsitename1)) ? $html->aboutsitename1 : 165 | get_string('aboutsitename1default', 'theme_roshnilite'), "", $roshniliteformatoptions); 166 | $aboutsitetext1 = format_text((!empty($html->aboutsitetext1)) ? $html->aboutsitetext1 : 167 | get_string('aboutsitetext1default', 'theme_roshnilite'), "", $roshniliteformatoptions); 168 | $aboutsiteurl1 = (!empty($html->aboutsiteurl1)) ? $html->aboutsiteurl1 : ''; 169 | 170 | $checkaboutsiteimage1 = $PAGE->theme->setting_file_url('aboutsiteimage1', 'aboutsiteimage1'); 171 | if (!empty($checkaboutsiteimage1)) { 172 | $aboutsiteimage1 = $PAGE->theme->setting_file_url('aboutsiteimage1', 'aboutsiteimage1'); 173 | } else { 174 | $aboutsiteimage1 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-1.png"; 175 | } 176 | 177 | $aboutsitename2 = format_text((!empty($html->aboutsitename2)) ? $html->aboutsitename2 : 178 | get_string('aboutsitename2default', 'theme_roshnilite'), "", $roshniliteformatoptions); 179 | $aboutsitetext2 = format_text((!empty($html->aboutsitetext2)) ? $html->aboutsitetext2 : 180 | get_string('aboutsitetext2default', 'theme_roshnilite'), "", $roshniliteformatoptions); 181 | $aboutsiteurl2 = (!empty($html->aboutsiteurl2)) ? $html->aboutsiteurl2 : ''; 182 | $checkaboutsiteimage2 = $PAGE->theme->setting_file_url('aboutsiteimage2', 'aboutsiteimage2'); 183 | if (!empty($checkaboutsiteimage2)) { 184 | $aboutsiteimage2 = $PAGE->theme->setting_file_url('aboutsiteimage2', 'aboutsiteimage2'); 185 | } else { 186 | $aboutsiteimage2 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-2.png"; 187 | } 188 | 189 | $aboutsitename3 = format_text((!empty($html->aboutsitename3)) ? $html->aboutsitename3 : 190 | get_string('aboutsitename3default', 'theme_roshnilite'), "", $roshniliteformatoptions); 191 | $aboutsitetext3 = format_text((!empty($html->aboutsitetext3)) ? $html->aboutsitetext3 : 192 | get_string('aboutsitetext3default', 'theme_roshnilite'), "", $roshniliteformatoptions); 193 | $aboutsiteurl3 = (!empty($html->aboutsiteurl3)) ? $html->aboutsiteurl3 : ''; 194 | $checkaboutsiteimage3 = $PAGE->theme->setting_file_url('aboutsiteimage3', 'aboutsiteimage3'); 195 | if (!empty($checkaboutsiteimage3)) { 196 | $aboutsiteimage3 = $PAGE->theme->setting_file_url('aboutsiteimage3', 'aboutsiteimage3'); 197 | } else { 198 | $aboutsiteimage3 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-3.png"; 199 | } 200 | 201 | $aboutsitename4 = format_text((!empty($html->aboutsitename4)) ? $html->aboutsitename4 : 202 | get_string('aboutsitename4default', 'theme_roshnilite'), "", $roshniliteformatoptions); 203 | $aboutsitetext4 = format_text((!empty($html->aboutsitetext4)) ? $html->aboutsitetext4 : 204 | get_string('fraboutsitetextdescdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 205 | $aboutsiteurl4 = (!empty($html->aboutsiteurl4)) ? $html->aboutsiteurl4 : ''; 206 | $checkaboutsiteimage4 = $PAGE->theme->setting_file_url('aboutsiteimage4', 'aboutsiteimage4'); 207 | if (!empty($checkaboutsiteimage4)) { 208 | $aboutsiteimage4 = $PAGE->theme->setting_file_url('aboutsiteimage4', 'aboutsiteimage4'); 209 | } else { 210 | $aboutsiteimage4 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-4.png"; 211 | } 212 | 213 | $course = $DB->get_records_sql('SELECT c.* FROM {course} c where id != ? AND visible = ?', [1, 1]); 214 | $coursedetailsarray = []; 215 | if (count($course) > 0) { 216 | $coursegetstring = get_string('courses'); 217 | $coursedetail = '
    218 |
    219 |
    ' . $coursegetstring . '
    220 |
    221 | 269 | 270 |
    271 | 272 |
    273 | Previous 274 |
    275 | 276 |
    277 | 278 |
    279 | Next 280 |
    281 | 282 |
    283 |
    284 | '; 285 | } else { 286 | $coursedetail = ''; 287 | } 288 | $allcourse = get_string('viewallcourses'); 289 | 290 | $masonryheading = format_text((!empty($html->masonryheading)) ? $html->masonryheading : 291 | get_string('masonryheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 292 | 293 | $masonrysubheading = format_text((!empty($html->masonrysubheading)) ? $html->masonrysubheading : 294 | get_string('masonrysubheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 295 | 296 | $categorydetails = ''; 297 | $categories = $DB->get_records('course_categories'); 298 | 299 | if (!empty( $categories ) && count($categories) > 1) { 300 | $categorydetails .= '
    301 |
    ' . $masonryheading . '
    302 |
    ' . $masonrysubheading . '
    303 |
    304 | 335 |
    336 |
    337 |
    '; 338 | } 339 | 340 | $checkfacultycount = $PAGE->theme->setting_file_url('facultycount', 'facultycount'); 341 | 342 | $facultydetails = ''; 343 | if (!empty($checkfacultycount)) { 344 | 345 | $facultyimagecheck = $PAGE->theme->setting_file_url('facultyimage1', 'facultyimage1'); 346 | $facultynamecheck = get_config('theme_roshnilite', 'facultyname1'); 347 | $facultysubtextcheck = get_config('theme_roshnilite', 'facultysubtext1'); 348 | if (!empty($facultyimagecheck) || !empty($facultynamecheck) || !empty($facultysubtextcheck)) { 349 | 350 | $facultyheading = format_text(get_string('facultyheading', 'theme_roshnilite'), "", $roshniliteformatoptions); 351 | $start = strlen($checkfacultycount) - 1; 352 | $str1 = ''; 353 | 354 | for ($x = $start; $x < strlen($checkfacultycount); $x++) { 355 | $str1 = $checkfacultycount[$x]; 356 | } 357 | $str1 = (int)$str1; 358 | $facultydetails = '
    359 |
    ' . $facultyheading . '
    360 |
    361 | 411 |
    '; 412 | } else { 413 | $facultydetails = ''; 414 | } 415 | $addressfontawesomeicon = get_config('theme_roshnilite', 'addressfontawesomeicon'); 416 | $emailfontawesomeicon = get_config('theme_roshnilite', 'emailfontawesomeicon'); 417 | $phonefontawesomeicon = get_config('theme_roshnilite', 'phonefontawesomeicon'); 418 | 419 | $address = get_config('theme_roshnilite', 'address'); 420 | $email = get_config('theme_roshnilite', 'email'); 421 | $phone = get_config('theme_roshnilite', 'phone'); 422 | if (empty($addressfontawesomeicon) || empty($emailfontawesomeicon) || empty($phonefontawesomeicon) || 423 | empty($address) || empty($email) || empty($phone)) { 424 | $addressfontawesomeicon = ''; 425 | $emailfontawesomeicon = ''; 426 | $phonefontawesomeicon = ''; 427 | $address = format_text(get_string('addressdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 428 | $email = format_text(get_string('emaildefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 429 | $phone = format_text(get_string('phonedefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 430 | } 431 | 432 | $socialfontawesomeicon1 = get_config('theme_roshnilite', 'socialfontawesomeicon1'); 433 | $socialicon1 = get_config('theme_roshnilite', 'socialicon1'); 434 | $socialfontawesomeicon2 = get_config('theme_roshnilite', 'socialfontawesomeicon2'); 435 | $socialicon2 = get_config('theme_roshnilite', 'socialicon2'); 436 | $socialfontawesomeicon3 = get_config('theme_roshnilite', 'socialfontawesomeicon3'); 437 | $socialicon3 = get_config('theme_roshnilite', 'socialicon3'); 438 | $socialfontawesomeicon4 = get_config('theme_roshnilite', 'socialfontawesomeicon4'); 439 | $socialicon4 = get_config('theme_roshnilite', 'socialicon4'); 440 | 441 | $socialheading = get_config('theme_roshnilite', 'socialheading'); 442 | 443 | if (empty($socialfontawesomeicon1) || empty($socialfontawesomeicon2) || empty($socialfontawesomeicon3) || 444 | empty($socialfontawesomeicon4) || empty($socialheading) 445 | || empty($socialicon1) || empty($socialicon2) || 446 | empty($socialicon3) || empty($socialicon4)) { 447 | 448 | $socialfontawesomeicon1 = ''; 449 | $socialfontawesomeicon2 = ''; 450 | $socialfontawesomeicon3 = ''; 451 | $socialfontawesomeicon4 = ''; 452 | $socialheading = format_text(get_string('socialheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions); 453 | $socialicon1 = 'javascript:void(0);'; 454 | $socialicon2 = 'javascript:void(0);'; 455 | $socialicon3 = 'javascript:void(0);'; 456 | $socialicon4 = 'javascript:void(0);'; 457 | } 458 | 459 | $templatecontext = [ 460 | 'html' => $html, 461 | 'output' => $OUTPUT, 462 | 'page' => $PAGE, 463 | 'regionbsid' => $regionbsid, 464 | 'enablemoodlemaincontent' => $enablemoodlemaincontent, 465 | 'context' => $context, 466 | 'maincontent' => $maincontent, 467 | 'bodyattributes' => $bodyattributes, 468 | 'login' => $login, 469 | 'logvar' => $logvar, 470 | 471 | 'version18' => $version18, 472 | 'imgpath' => $imgpath, 473 | 'favicon' => $favicon, 474 | 'backgroundimage' => $backgroundimage, 475 | 476 | 'roshniliteformatoptions' => $roshniliteformatoptions, 477 | 478 | 'aboutsiteimage1' => $aboutsiteimage1, 479 | 'aboutsiteimage2' => $aboutsiteimage2, 480 | 'aboutsiteimage3' => $aboutsiteimage3, 481 | 'aboutsiteimage4' => $aboutsiteimage4, 482 | 483 | 'aboutsiteheading' => $aboutsiteheading, 484 | 'aboutsitesubheading' => $aboutsitesubheading, 485 | 486 | 'aboutsiteurl1' => $aboutsiteurl1, 487 | 'aboutsiteurl2' => $aboutsiteurl2, 488 | 'aboutsiteurl3' => $aboutsiteurl3, 489 | 'aboutsiteurl4' => $aboutsiteurl4, 490 | 491 | 'aboutsitetext1' => $aboutsitetext1, 492 | 'aboutsitetext2' => $aboutsitetext2, 493 | 'aboutsitetext3' => $aboutsitetext3, 494 | 'aboutsitetext4' => $aboutsitetext4, 495 | 496 | 'aboutsitename1' => $aboutsitename1, 497 | 'aboutsitename2' => $aboutsitename2, 498 | 'aboutsitename3' => $aboutsitename3, 499 | 'aboutsitename4' => $aboutsitename4, 500 | 501 | 'coursedetailsarray' => $coursedetailsarray, 502 | 'avlcoursearrayvalue' => $avlcoursearrayvalue, 503 | 'coursegetstring' => $coursegetstring, 504 | 'allcourse' => $allcourse, 505 | 'coursedetail' => $coursedetail, 506 | 507 | 'masonryheading' => $masonryheading, 508 | 'masonrysubheading1' => $masonrysubheading, 509 | 510 | 'socialfontawesomeicon1' => $socialfontawesomeicon1, 511 | 'socialfontawesomeicon2' => $socialfontawesomeicon2, 512 | 'socialfontawesomeicon3' => $socialfontawesomeicon3, 513 | 'socialfontawesomeicon4' => $socialfontawesomeicon4, 514 | 515 | 'socialheading' => $socialheading, 516 | 517 | 'socialicon1' => $socialicon1, 518 | 'socialicon2' => $socialicon2, 519 | 'socialicon3' => $socialicon3, 520 | 'socialicon4' => $socialicon4, 521 | 522 | 'addressfontawesomeicon' => $addressfontawesomeicon, 523 | 'emailfontawesomeicon' => $emailfontawesomeicon, 524 | 'phonefontawesomeicon' => $phonefontawesomeicon, 525 | 'address' => $address, 526 | 'email' => $email, 527 | 'phone' => $phone, 528 | 529 | 'categorydetails' => $categorydetails, 530 | 'facultydetails' => $facultydetails, 531 | 'sliderdetails' => $sliderdetails, 532 | 533 | ]; 534 | 535 | echo $OUTPUT->render_from_template('theme_roshnilite/frontpage', $templatecontext); 536 | -------------------------------------------------------------------------------- /style/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} -------------------------------------------------------------------------------- /lib.php: -------------------------------------------------------------------------------- 1 | . 16 | 17 | /** 18 | * Roshnilite theme. 19 | * 20 | * @package theme_roshnilite 21 | * @author DualCube 22 | * @copyright DualCube (https://dualcube.com) 23 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 | */ 25 | 26 | // Every file should have GPL and copyright in the header - we skip it in tutorials but you should not skip it for real. 27 | 28 | // We will add callbacks here as we add features to our theme. 29 | // Function to return the SCSS to prepend to our main SCSS for this theme. 30 | // Note the function name starts with the component name because this is a global function and we don't want namespace clashes. 31 | /** 32 | * theme_roshnilite_get_pre_scss function for load custom settings. 33 | * 34 | * @param string $theme 35 | * @return $theme->settings->$setting 36 | */ 37 | function theme_roshnilite_get_pre_scss($theme) { 38 | global $CFG; 39 | 40 | $scss = ''; 41 | $configurable = [ 42 | 'brandcolor' => ['secondary', 'black'], 43 | ]; 44 | 45 | // Prepend variables first. 46 | foreach ($configurable as $configkey => $targets) { 47 | $value = isset($theme->settings->{$configkey}) ? $theme->settings->{$configkey} : null; 48 | if (empty($value)) { 49 | continue; 50 | } 51 | array_map(function($target) use (&$scss, $value) { 52 | $scss .= '$' . $target . ': ' . $value . ";\n"; 53 | }, (array) $targets); 54 | } 55 | 56 | // Prepend pre-scss. 57 | if (!empty($theme->settings->scsspre)) { 58 | $scss .= $theme->settings->scsspre; 59 | } 60 | 61 | if (!empty($theme->settings->fontsize)) { 62 | $scss .= '$font-size-base: ' . (1 / 100 * $theme->settings->fontsize) . "rem !default;\n"; 63 | } 64 | 65 | return $scss; 66 | } 67 | // Function to return the SCSS to append to our main SCSS for this theme. 68 | // Note the function name starts with the component name because this is a global function and we don't want namespace clashes. 69 | /** 70 | * theme_roshnilite_get_extra_scss function for load custom settings. 71 | * 72 | * @param string $theme 73 | * @return $theme->settings->$setting 74 | */ 75 | function theme_roshnilite_get_extra_scss($theme) { 76 | global $CFG; 77 | $content = ''; 78 | 79 | // Set the page background image. 80 | $imageurl = $theme->setting_file_url('backgroundimage', 'backgroundimage'); 81 | if (!empty($imageurl)) { 82 | $content .= '$imageurl: "' . $imageurl . '";'; 83 | $content .= file_get_contents($CFG->dirroot . 84 | '/theme/roshnilite/scss/roshnilite/body-background.scss'); 85 | } 86 | 87 | if (!empty($theme->settings->navbardark)) { 88 | $content .= file_get_contents($CFG->dirroot . 89 | '/theme/roshnilite/scss/roshnilite/navbar-dark.scss'); 90 | } else { 91 | $content .= file_get_contents($CFG->dirroot . 92 | '/theme/roshnilite/scss/roshnilite/navbar-light.scss'); 93 | } 94 | if (!empty($theme->settings->scss)) { 95 | $content .= $theme->settings->scss; 96 | } 97 | return $content; 98 | } 99 | 100 | /** 101 | * Get compiled css. 102 | * 103 | * @return string compiled css 104 | */ 105 | function theme_roshnilite_get_precompiled_css() { 106 | global $CFG; 107 | return file_get_contents($CFG->dirroot . '/theme/roshnilite/style/moodle.css'); 108 | } 109 | 110 | /** 111 | * theme_roshnilite_get_main_scss_content function for load custom theme css settings. 112 | * 113 | * @param string $theme 114 | * @return string $pre,$scss and $post 115 | */ 116 | function theme_roshnilite_get_main_scss_content($theme) { 117 | global $CFG; 118 | 119 | $scss = ''; 120 | $filename = !empty($theme->settings->preset) ? $theme->settings->preset : null; 121 | $fs = get_file_storage(); 122 | 123 | $context = context_system::instance(); 124 | if ($filename == 'default.scss') { 125 | $scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/default.scss'); 126 | } else if ($filename == 'plain.scss') { 127 | $scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/plain.scss'); 128 | } else if ($filename && ($presetfile = $fs->get_file($context->id, 'theme_roshnilite', 'preset', 0, '/', $filename))) { 129 | $scss .= $presetfile->get_content(); 130 | } else { 131 | // Safety fallback - maybe new installs etc. 132 | $scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/default.scss'); 133 | } 134 | 135 | // Pre CSS - this is loaded AFTER any prescss from the setting but before the main scss. 136 | $pre = file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/roshnilite/pre.scss'); 137 | // Post CSS - this is loaded AFTER the main scss but before the extra scss from the setting. 138 | $post = file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/roshnilite/post.scss'); 139 | 140 | return $pre . "\n" . $scss . "\n" . $post; 141 | 142 | } 143 | 144 | /** 145 | * Parses CSS before it is cached. 146 | * 147 | * This function can make alterations and replace patterns within the CSS. 148 | * 149 | * @param string $css The CSS 150 | * @param theme_config $theme The theme config object. 151 | * @return string The parsed CSS The parsed CSS. 152 | */ 153 | function theme_roshnilite_process_css($css, $theme) { 154 | 155 | // Set the background image for the logo. 156 | $logo = $theme->setting_file_url('logo', 'logo'); 157 | $css = theme_roshnilite_set_logo($css, $logo); 158 | if (!empty($theme->settings->fontnamebody)) { 159 | $font = $theme->settings->fontnamebody; 160 | } else { 161 | $font = get_string('fontnamedefault', 'theme_roshnilite'); 162 | } 163 | $headingfont = theme_roshnilite_get_setting('fontnameheading'); 164 | $bodyfont = theme_roshnilite_get_setting('fontnamebody'); 165 | 166 | $css = theme_roshnilite_set_headingfont($css, $headingfont); 167 | $css = theme_roshnilite_set_bodyfont($css, $bodyfont); 168 | $css = theme_roshnilite_set_fontfiles($css, 'heading', $headingfont); 169 | $css = theme_roshnilite_set_fontfiles($css, 'body', $bodyfont); 170 | // Set custom CSS. 171 | if (!empty($theme->settings->customcss)) { 172 | $customcss = $theme->settings->customcss; 173 | } else { 174 | $customcss = null; 175 | } 176 | $css = theme_roshnilite_set_customcss($css, $customcss); 177 | $thememaincolor = theme_roshnilite_get_setting('maincolor'); 178 | $css = theme_roshnilite_set_maincolor($css, $thememaincolor); 179 | $themebrandcolor = theme_roshnilite_get_setting('brandcolor'); 180 | $css = theme_roshnilite_set_brandcolor($css, $themebrandcolor); 181 | $themefontsize = theme_roshnilite_get_setting('fontsize'); 182 | $css = theme_roshnilite_set_fontsize($css, $themefontsize); 183 | return $css; 184 | } 185 | 186 | function theme_roshnilite_set_fontsize($css, $themefontsize) { 187 | $tag = '[[setting:fontsize]]'; 188 | $replacement = $themefontsize; 189 | if (is_null($replacement)) { 190 | $replacement = '15'; 191 | } 192 | $css = str_replace($tag, $replacement, $css); 193 | return $css; 194 | } 195 | 196 | /** 197 | * Adds the logo to CSS. 198 | * 199 | * @param string $css The CSS. 200 | * @param string $logo The URL of the logo. 201 | * @return string The parsed CSS 202 | */ 203 | function theme_roshnilite_set_logo($css, $logo) { 204 | GLOBAL $CFG; 205 | $tag = '[[setting:logo]]'; 206 | $replacement = $logo; 207 | if (is_null($replacement)) { 208 | $replacement = $CFG->wwwroot.'/theme/roshnilite/pix/img/logo.png'; 209 | } 210 | 211 | $css = str_replace($tag, $replacement, $css); 212 | 213 | return $css; 214 | } 215 | /** 216 | * theme_roshnilite_get_setting function for load custom settings. 217 | * 218 | * @param string $setting 219 | * @param string $format 220 | * @return $theme->settings->$setting 221 | */ 222 | function theme_roshnilite_get_setting($setting, $format = false) { 223 | global $CFG; 224 | require_once($CFG->dirroot . '/lib/weblib.php'); 225 | static $theme; 226 | if (empty($theme)) { 227 | $theme = theme_config::load('roshnilite'); 228 | } 229 | if (empty($theme->settings->$setting)) { 230 | return false; 231 | } else if (!$format) { 232 | return $theme->settings->$setting; 233 | } else if ($format === 'format_text') { 234 | return format_text($theme->settings->$setting, FORMAT_PLAIN); 235 | } else if ($format === 'format_html') { 236 | return format_text($theme->settings->$setting, FORMAT_HTML, ['trusted' => true, 'noclean' => true]); 237 | } else { 238 | return format_string($theme->settings->$setting); 239 | } 240 | } 241 | /** 242 | * Adds any custom headingfont to the CSS before it is cached. 243 | * 244 | * @param string $css The original CSS. 245 | * @param string $headingfont The custom CSS to add. 246 | * @return string The CSS which now contains our custom CSS. 247 | */ 248 | function theme_roshnilite_set_headingfont($css, $headingfont) { 249 | $tag = '[[setting:headingfont]]'; 250 | $replacement = $headingfont; 251 | $css = str_replace($tag, $replacement, $css); 252 | return $css; 253 | } 254 | /** 255 | * Adds any custom bodyfont to the CSS before it is cached. 256 | * 257 | * @param string $css The original CSS. 258 | * @param string $bodyfont The custom CSS to add. 259 | * @return string The CSS which now contains our custom CSS. 260 | */ 261 | function theme_roshnilite_set_bodyfont($css, $bodyfont) { 262 | $tag = '[[setting:bodyfont]]'; 263 | $replacement = $bodyfont; 264 | $css = str_replace($tag, $replacement, $css); 265 | return $css; 266 | } 267 | /** 268 | * Adds the font to CSS. 269 | * 270 | * @param string $css The CSS. 271 | * @param string $type The font file type. 272 | * @param string $fontname The font name. 273 | * @return string The parsed CSS 274 | */ 275 | function theme_roshnilite_set_fontfiles($css, $type, $fontname) { 276 | $tag = '[[setting:fontname]]'; 277 | $replacement = $fontname; 278 | if (is_null($replacement)) { 279 | $replacement = ''; 280 | } 281 | if (theme_roshnilite_get_setting('fontselect') === '2') { 282 | static $theme; 283 | if (empty($theme)) { 284 | $theme = theme_config::load('roshnilite'); 285 | } 286 | 287 | $fontfiles = []; 288 | $fontfileeot = $theme->setting_file_url('fontfileeot' . $type, 'fontfileeot' . $type); 289 | if (!empty($fontfileeot)) { 290 | $fontfiles[] = "url('" . $fontfileeot . "?#iefix') format('embedded-opentype')"; 291 | } 292 | $fontfilewoff = $theme->setting_file_url('fontfilewoff' . $type, 'fontfilewoff' . $type); 293 | if (!empty($fontfilewoff)) { 294 | $fontfiles[] = "url('" . $fontfilewoff . "') format('woff')"; 295 | } 296 | $fontfilewofftwo = $theme->setting_file_url('fontfilewofftwo' . $type, 'fontfilewofftwo' . $type); 297 | if (!empty($fontfilewofftwo)) { 298 | $fontfiles[] = "url('" . $fontfilewofftwo . "') format('woff2')"; 299 | } 300 | $fontfileotf = $theme->setting_file_url('fontfileotf' . $type, 'fontfileotf' . $type); 301 | if (!empty($fontfileotf)) { 302 | $fontfiles[] = "url('" . $fontfileotf . "') format('opentype')"; 303 | } 304 | $fontfilettf = $theme->setting_file_url('fontfilettf' . $type, 'fontfilettf' . $type); 305 | if (!empty($fontfilettf)) { 306 | $fontfiles[] = "url('" . $fontfilettf . "') format('truetype')"; 307 | } 308 | $fontfilesvg = $theme->setting_file_url('fontfilesvg' . $type, 'fontfilesvg' . $type); 309 | if (!empty($fontfilesvg)) { 310 | $fontfiles[] = "url('" . $fontfilesvg . "') format('svg')"; 311 | } 312 | 313 | $replacement = '@font-face {' . PHP_EOL . 'font-family: "' . $fontname . '";' . PHP_EOL; 314 | $replacement .= !empty($fontfileeot) ? "src: url('" . $fontfileeot . "');" . PHP_EOL : ''; 315 | if (!empty($fontfiles)) { 316 | $replacement .= "src: "; 317 | $replacement .= implode("," . PHP_EOL . " ", $fontfiles); 318 | $replacement .= ";"; 319 | } 320 | $replacement .= '' . PHP_EOL . "}"; 321 | } 322 | 323 | $css = str_replace($tag, $replacement, $css); 324 | return $css; 325 | } 326 | /** 327 | * Adds any custom CSS to the CSS before it is cached. 328 | * 329 | * @param string $css The original CSS. 330 | * @param string $customcss The custom CSS to add. 331 | * @return string The CSS which now contains our custom CSS. 332 | */ 333 | function theme_roshnilite_set_customcss($css, $customcss) { 334 | $tag = '[[setting:customcss]]'; 335 | $replacement = $customcss; 336 | if (is_null($replacement)) { 337 | $replacement = ''; 338 | } 339 | 340 | $css = str_replace($tag, $replacement, $css); 341 | 342 | return $css; 343 | } 344 | /** 345 | * Adds any custom color to the CSS before it is cached. 346 | * 347 | * @param string $css The original CSS. 348 | * @param string $themecolor The custom CSS to add. 349 | * @return string The CSS which now contains our custom CSS. 350 | */ 351 | function theme_roshnilite_set_maincolor($css, $themecolor) { 352 | $tag = '[[setting:maincolor]]'; 353 | $replacement = $themecolor; 354 | if (is_null($replacement)) { 355 | $replacement = '#e74c3c'; 356 | } 357 | $css = str_replace($tag, $replacement, $css); 358 | return $css; 359 | } 360 | 361 | /** 362 | * Adds any custom color to the CSS before it is cached. 363 | * 364 | * @param string $css The original CSS. 365 | * @param string $themecolor The custom CSS to add. 366 | * @return string The CSS which now contains our custom CSS. 367 | */ 368 | function theme_roshnilite_set_brandcolor($css, $themecolor) { 369 | $tag = '[[setting:brandcolor]]'; 370 | $replacement = $themecolor; 371 | if (is_null($replacement)) { 372 | $replacement = '#e74c3c'; 373 | } 374 | $css = str_replace($tag, $replacement, $css); 375 | return $css; 376 | } 377 | 378 | 379 | /** 380 | * Returns an object containing HTML for the areas affected by settings. 381 | * 382 | * Do not add roshnilite specific logic in here, child themes should be able to 383 | * rely on that function just by declaring settings with similar names. 384 | * 385 | * @param renderer_base $output Pass in $OUTPUT. 386 | * @param moodle_page $page Pass in $PAGE. 387 | * @return stdClass An object with the following properties: 388 | * - navbarclass A CSS class to use on the navbar. By default ''. 389 | * - heading HTML to use for the heading. A logo if one is selected or the default heading. 390 | * - footnote HTML to use as a footnote. By default ''. 391 | */ 392 | function theme_roshnilite_get_html_for_settings(renderer_base $output, moodle_page $page) { 393 | global $CFG, $USER; 394 | $return = new stdClass; 395 | 396 | $return->navbarclass = ''; 397 | if (!empty($page->theme->settings->invert)) { 398 | $return->navbarclass .= ' navbar-inverse'; 399 | } 400 | 401 | if (!empty($page->theme->settings->logo)) { 402 | $return->heading = html_writer::tag('div', '', ['class' => 'logo']); 403 | } else { 404 | $return->heading = $output->page_heading(); 405 | } 406 | 407 | $return->footnote = ''; 408 | if (!empty($page->theme->settings->footnote)) { 409 | $return->footnote = '
    '.format_text($page->theme->settings->footnote).'
    '; 410 | } 411 | /*-----------------------for contact*--------------------------*/ 412 | if (!empty($page->theme->settings->addressfontawesomeicon)) { 413 | $return->addressfontawesomeicon = $page->theme->settings->addressfontawesomeicon; 414 | } 415 | if (!empty($page->theme->settings->emailfontawesomeicon)) { 416 | $return->emailfontawesomeicon = $page->theme->settings->emailfontawesomeicon; 417 | } 418 | if (!empty($page->theme->settings->phonefontawesomeicon)) { 419 | $return->phonefontawesomeicon = $page->theme->settings->phonefontawesomeicon; 420 | } 421 | if (!empty($page->theme->settings->address)) { 422 | $return->address = $page->theme->settings->address; 423 | } 424 | if (!empty($page->theme->settings->phone)) { 425 | $return->phone = $page->theme->settings->phone; 426 | } 427 | if (!empty($page->theme->settings->email)) { 428 | $return->email = $page->theme->settings->email; 429 | } 430 | /*-----------------------for social contact*--------------------------*/ 431 | if (!empty($page->theme->settings->socialheading)) { 432 | $return->socialheading = $page->theme->settings->socialheading; 433 | } 434 | if (!empty($page->theme->settings->masonrysubheading)) { 435 | $return->masonrysubheading = $page->theme->settings->masonrysubheading; 436 | } 437 | if (!empty($page->theme->settings->socialfontawesomeicon1)) { 438 | $return->socialfontawesomeicon1 = $page->theme->settings->socialfontawesomeicon1; 439 | } 440 | if (!empty($page->theme->settings->socialicon1)) { 441 | $return->socialicon1 = $page->theme->settings->socialicon1; 442 | } 443 | if (!empty($page->theme->settings->socialfontawesomeicon2)) { 444 | $return->socialfontawesomeicon2 = $page->theme->settings->socialfontawesomeicon2; 445 | } 446 | if (!empty($page->theme->settings->socialicon2)) { 447 | $return->socialicon2 = $page->theme->settings->socialicon2; 448 | } 449 | if (!empty($page->theme->settings->socialfontawesomeicon3)) { 450 | $return->socialfontawesomeicon3 = $page->theme->settings->socialfontawesomeicon3; 451 | } 452 | if (!empty($page->theme->settings->socialicon3)) { 453 | $return->socialicon3 = $page->theme->settings->socialicon3; 454 | } 455 | if (!empty($page->theme->settings->socialfontawesomeicon4)) { 456 | $return->socialfontawesomeicon4 = $page->theme->settings->socialfontawesomeicon4; 457 | } 458 | if (!empty($page->theme->settings->socialicon4)) { 459 | $return->socialicon4 = $page->theme->settings->socialicon4; 460 | } 461 | /*--------------------for masonry--------------------------------*/ 462 | if (!empty($page->theme->settings->masonryheading)) { 463 | $return->masonryheading = $page->theme->settings->masonryheading; 464 | } 465 | if (!empty($page->theme->settings->masonrysubheading)) { 466 | $return->masonrysubheading = $page->theme->settings->masonrysubheading; 467 | } 468 | if (!empty($page->theme->settings->masonrytext1)) { 469 | $return->masonrytext1 = $page->theme->settings->masonrytext1; 470 | } 471 | if (!empty($page->theme->settings->masonrysubtext1)) { 472 | $return->masonrysubtext1 = $page->theme->settings->masonrysubtext1; 473 | } 474 | if (!empty($page->theme->settings->masonryrurl1)) { 475 | $return->masonryurl1 = $page->theme->settings->masonryrurl1; 476 | } 477 | 478 | if (!empty($page->theme->settings->masonrytext2)) { 479 | $return->masonrytext2 = $page->theme->settings->masonrytext2; 480 | } 481 | if (!empty($page->theme->settings->masonrysubtext2)) { 482 | $return->masonrysubtext2 = $page->theme->settings->masonrysubtext2; 483 | } 484 | if (!empty($page->theme->settings->masonryrurl2)) { 485 | $return->masonryurl2 = $page->theme->settings->masonryrurl2; 486 | } 487 | 488 | if (!empty($page->theme->settings->masonrytext3)) { 489 | $return->masonrytext3 = $page->theme->settings->masonrytext3; 490 | } 491 | if (!empty($page->theme->settings->masonrysubtext3)) { 492 | $return->masonrysubtext3 = $page->theme->settings->masonrysubtext3; 493 | } 494 | if (!empty($page->theme->settings->masonryrurl3)) { 495 | $return->masonryurl3 = $page->theme->settings->masonryrurl3; 496 | } 497 | 498 | if (!empty($page->theme->settings->masonrytext4)) { 499 | $return->masonrytext4 = $page->theme->settings->masonrytext4; 500 | } 501 | if (!empty($page->theme->settings->masonrysubtext4)) { 502 | $return->masonrysubtext4 = $page->theme->settings->masonrysubtext4; 503 | } 504 | if (!empty($page->theme->settings->masonryrurl4)) { 505 | $return->masonryurl4 = $page->theme->settings->masonryrurl4; 506 | } 507 | 508 | if (!empty($page->theme->settings->masonrytext5)) { 509 | $return->masonrytext5 = $page->theme->settings->masonrytext5; 510 | } 511 | if (!empty($page->theme->settings->masonrysubtext5)) { 512 | $return->masonrysubtext5 = $page->theme->settings->masonrysubtext5; 513 | } 514 | if (!empty($page->theme->settings->masonryrurl5)) { 515 | $return->masonryurl5 = $page->theme->settings->masonryrurl5; 516 | } 517 | 518 | if (!empty($page->theme->settings->masonrytext6)) { 519 | $return->masonrytext6 = $page->theme->settings->masonrytext6; 520 | } 521 | if (!empty($page->theme->settings->masonrysubtext6)) { 522 | $return->masonrysubtext6 = $page->theme->settings->masonrysubtext6; 523 | } 524 | if (!empty($page->theme->settings->masonryrurl6)) { 525 | $return->masonryurl6 = $page->theme->settings->masonryrurl6; 526 | } 527 | 528 | if (!empty($page->theme->settings->masonrytext7)) { 529 | $return->masonrytext7 = $page->theme->settings->masonrytext7; 530 | } 531 | if (!empty($page->theme->settings->masonrysubtext7)) { 532 | $return->masonrysubtext7 = $page->theme->settings->masonrysubtext7; 533 | } 534 | if (!empty($page->theme->settings->masonryrurl7)) { 535 | $return->masonryurl7 = $page->theme->settings->masonryrurl7; 536 | } 537 | 538 | if (!empty($page->theme->settings->masonrytext8)) { 539 | $return->masonrytext8 = $page->theme->settings->masonrytext8; 540 | } 541 | if (!empty($page->theme->settings->masonrysubtext8)) { 542 | $return->masonrysubtext8 = $page->theme->settings->masonrysubtext8; 543 | } 544 | if (!empty($page->theme->settings->masonryrurl8)) { 545 | $return->masonryurl8 = $page->theme->settings->masonryrurl8; 546 | } 547 | 548 | /*-------------------------for first slider-----------------------------*/ 549 | if (!empty($page->theme->settings->slidertext1)) { 550 | $return->slidertext1 = $page->theme->settings->slidertext1; 551 | } 552 | if (!empty($page->theme->settings->sliderbuttontext1)) { 553 | $return->sliderbuttontext1 = $page->theme->settings->sliderbuttontext1; 554 | } 555 | if (!empty($page->theme->settings->sliderurl1)) { 556 | $return->sliderurl1 = $page->theme->settings->sliderurl1; 557 | } 558 | 559 | if (!empty($page->theme->settings->slidertext2)) { 560 | $return->slidertext2 = $page->theme->settings->slidertext2; 561 | } 562 | if (!empty($page->theme->settings->sliderbuttontext2)) { 563 | $return->sliderbuttontext2 = $page->theme->settings->sliderbuttontext2; 564 | } 565 | if (!empty($page->theme->settings->sliderurl2)) { 566 | $return->sliderurl2 = $page->theme->settings->sliderurl2; 567 | } 568 | 569 | if (!empty($page->theme->settings->slidertext3)) { 570 | $return->slidertext3 = $page->theme->settings->slidertext3; 571 | } 572 | if (!empty($page->theme->settings->sliderbuttontext3)) { 573 | $return->sliderbuttontext3 = $page->theme->settings->sliderbuttontext3; 574 | } 575 | if (!empty($page->theme->settings->sliderurl3)) { 576 | $return->sliderurl3 = $page->theme->settings->sliderurl3; 577 | } 578 | 579 | if (!empty($page->theme->settings->slidertext4)) { 580 | $return->slidertext4 = $page->theme->settings->slidertext4; 581 | } 582 | if (!empty($page->theme->settings->sliderbuttontext4)) { 583 | $return->sliderbuttontext4 = $page->theme->settings->sliderbuttontext4; 584 | } 585 | if (!empty($page->theme->settings->sliderurl4)) { 586 | $return->sliderurl4 = $page->theme->settings->sliderurl4; 587 | } 588 | 589 | if (!empty($page->theme->settings->slidertext5)) { 590 | $return->slidertext5 = $page->theme->settings->slidertext5; 591 | } 592 | if (!empty($page->theme->settings->sliderbuttontext5)) { 593 | $return->sliderbuttontext5 = $page->theme->settings->sliderbuttontext5; 594 | } 595 | if (!empty($page->theme->settings->sliderurl5)) { 596 | $return->sliderurl5 = $page->theme->settings->sliderurl5; 597 | } 598 | if (!empty($page->theme->settings->slidertext6)) { 599 | $return->slidertext6 = $page->theme->settings->slidertext6; 600 | } 601 | if (!empty($page->theme->settings->sliderbuttontext6)) { 602 | $return->sliderbuttontext6 = $page->theme->settings->sliderbuttontext6; 603 | } 604 | if (!empty($page->theme->settings->sliderurl6)) { 605 | $return->sliderurl6 = $page->theme->settings->sliderurl6; 606 | } 607 | /*--------------------------about site---------------------------------*/ 608 | if (!empty($page->theme->settings->aboutsiteheading)) { 609 | $return->aboutsiteheading = $page->theme->settings->aboutsiteheading; 610 | } 611 | if (!empty($page->theme->settings->aboutsitesubheading)) { 612 | $return->aboutsitesubheading = $page->theme->settings->aboutsitesubheading; 613 | } 614 | 615 | if (!empty($page->theme->settings->aboutsitename1)) { 616 | $return->aboutsitename1 = $page->theme->settings->aboutsitename1; 617 | } 618 | if (!empty($page->theme->settings->aboutsitetext1)) { 619 | $return->aboutsitetext1 = $page->theme->settings->aboutsitetext1; 620 | } 621 | if (!empty($page->theme->settings->aboutsiteurl1)) { 622 | $return->aboutsiteurl1 = $page->theme->settings->aboutsiteurl1; 623 | } else { 624 | $return->aboutsiteurl1 = $CFG->wwwroot.'/mod/forum/user.php?id='.$USER->id; 625 | } 626 | 627 | if (!empty($page->theme->settings->aboutsitename2)) { 628 | $return->aboutsitename2 = $page->theme->settings->aboutsitename2; 629 | } 630 | if (!empty($page->theme->settings->aboutsitetext2)) { 631 | $return->aboutsitetext2 = $page->theme->settings->aboutsitetext2; 632 | } 633 | if (!empty($page->theme->settings->aboutsiteurl2)) { 634 | $return->aboutsiteurl2 = $page->theme->settings->aboutsiteurl2; 635 | } else { 636 | $return->aboutsiteurl2 = $CFG->wwwroot.'/course/index.php'; 637 | } 638 | 639 | if (!empty($page->theme->settings->aboutsitename3)) { 640 | $return->aboutsitename3 = $page->theme->settings->aboutsitename3; 641 | } 642 | if (!empty($page->theme->settings->aboutsitetext3)) { 643 | $return->aboutsitetext3 = $page->theme->settings->aboutsitetext3; 644 | } 645 | if (!empty($page->theme->settings->aboutsiteurl3)) { 646 | $return->aboutsiteurl3 = $page->theme->settings->aboutsiteurl3; 647 | } else { 648 | $return->aboutsiteurl3 = $CFG->wwwroot.'/blog/index.php?userid='.$USER->id; 649 | } 650 | 651 | if (!empty($page->theme->settings->aboutsitename4)) { 652 | $return->aboutsitename4 = $page->theme->settings->aboutsitename4; 653 | } 654 | if (!empty($page->theme->settings->aboutsitetext4)) { 655 | $return->aboutsitetext4 = $page->theme->settings->aboutsitetext4; 656 | } 657 | if (!empty($page->theme->settings->aboutsiteurl4)) { 658 | $return->aboutsiteurl4 = $page->theme->settings->aboutsiteurl4; 659 | } else { 660 | $return->aboutsiteurl4 = $CFG->wwwroot.'/calendar/view.php'; 661 | } 662 | return $return; 663 | } 664 | /** 665 | * Serves any files associated with the theme settings. 666 | * 667 | * @param stdClass $course 668 | * @param stdClass $cm 669 | * @param context $context 670 | * @param string $filearea 671 | * @param array $args 672 | * @param bool $forcedownload 673 | * @param array $options 674 | * @return bool 675 | */ 676 | function theme_roshnilite_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options = []) { 677 | static $theme; 678 | if (empty($theme)) { 679 | $theme = theme_config::load('roshnilite'); 680 | } 681 | if ($context->contextlevel == CONTEXT_SYSTEM) { 682 | if ($filearea === 'logo') { 683 | return $theme->setting_file_serve('logo', $args, $forcedownload, $options); 684 | } else if ($filearea === 'backgroundimage') { 685 | return $theme->setting_file_serve('backgroundimage', $args, $forcedownload, $options); 686 | } else if (preg_match("/^fontfile(eot|otf|svg|ttf|woff|woff2)(heading|body)$/", $filearea)) { 687 | return $theme->setting_file_serve($filearea, $args, $forcedownload, $options); 688 | } else if (preg_match("/^(marketing|slide)[1-9][0-9]*image$/", $filearea)) { 689 | return $theme->setting_file_serve($filearea, $args, $forcedownload, $options); 690 | } else if ($filearea === 'favicon') { 691 | return $theme->setting_file_serve('favicon', $args, $forcedownload, $options); 692 | } else if ($filearea === 'slideimage1') { 693 | return $theme->setting_file_serve('slideimage1', $args, $forcedownload, $options); 694 | } else if ($filearea === 'slideimage2') { 695 | return $theme->setting_file_serve('slideimage2', $args, $forcedownload, $options); 696 | } else if ($filearea === 'slideimage3') { 697 | return $theme->setting_file_serve('slideimage3', $args, $forcedownload, $options); 698 | } else if ($filearea === 'slideimage4') { 699 | return $theme->setting_file_serve('slideimage4', $args, $forcedownload, $options); 700 | } else if ($filearea === 'slideimage5') { 701 | return $theme->setting_file_serve('slideimage5', $args, $forcedownload, $options); 702 | } else if ($filearea === 'slideimage6') { 703 | return $theme->setting_file_serve('slideimage6', $args, $forcedownload, $options); 704 | } else if ($filearea === 'aboutsiteimage1') { 705 | return $theme->setting_file_serve('aboutsiteimage1', $args, $forcedownload, $options); 706 | } else if ($filearea === 'aboutsiteimage2') { 707 | return $theme->setting_file_serve('aboutsiteimage2', $args, $forcedownload, $options); 708 | } else if ($filearea === 'aboutsiteimage3') { 709 | return $theme->setting_file_serve('aboutsiteimage3', $args, $forcedownload, $options); 710 | } else if ($filearea === 'aboutsiteimage4') { 711 | return $theme->setting_file_serve('aboutsiteimage4', $args, $forcedownload, $options); 712 | } else if ($filearea === 'facultyimage1') { 713 | return $theme->setting_file_serve('facultyimage1', $args, $forcedownload, $options); 714 | } else if ($filearea === 'facultyimage2') { 715 | return $theme->setting_file_serve('facultyimage2', $args, $forcedownload, $options); 716 | } else if ($filearea === 'facultyimage3') { 717 | return $theme->setting_file_serve('facultyimage3', $args, $forcedownload, $options); 718 | } else if ($filearea === 'facultyimage4') { 719 | return $theme->setting_file_serve('facultyimage4', $args, $forcedownload, $options); 720 | } else if ($filearea === 'facultyimage5') { 721 | return $theme->setting_file_serve('facultyimage5', $args, $forcedownload, $options); 722 | } else if ($filearea === 'facultyimage6') { 723 | return $theme->setting_file_serve('facultyimage6', $args, $forcedownload, $options); 724 | } else if ($filearea === 'facultyimage7') { 725 | return $theme->setting_file_serve('facultyimage7', $args, $forcedownload, $options); 726 | } else if ($filearea === 'facultyimage8') { 727 | return $theme->setting_file_serve('facultyimage8', $args, $forcedownload, $options); 728 | } else { 729 | send_file_not_found(); 730 | } 731 | } else { 732 | send_file_not_found(); 733 | } 734 | } 735 | --------------------------------------------------------------------------------