Showing preview only (865K chars total). Download the full file or copy to clipboard to get everything.
Repository: kndnsow/moodle-theme_roshnilite
Branch: master
Commit: f938386e1fd8
Files: 38
Total size: 837.2 KB
Directory structure:
gitextract_1wpdxlqs/
├── Readme.txt
├── config.php
├── lang/
│ └── en/
│ └── theme_roshnilite.php
├── layout/
│ ├── columns.php
│ ├── contentonly.php
│ ├── footer.php
│ ├── frontpage.php
│ ├── login.php
│ ├── maintenance.php
│ ├── navbar.php
│ └── secure.php
├── lib.php
├── scss/
│ ├── classicgrunt.scss
│ ├── fontawesome.css
│ ├── fontawesome.scss
│ ├── moodle.scss
│ ├── preset/
│ │ ├── default.scss
│ │ └── plain.scss
│ └── roshnilite/
│ ├── body-background.scss
│ ├── post.scss
│ ├── pre.css
│ └── pre.scss
├── settings.php
├── style/
│ ├── moodle.css
│ └── styles.css
├── templates/
│ ├── columns.mustache
│ ├── contentonly.mustache
│ ├── footer.mustache
│ ├── frontpage.mustache
│ ├── frontpagefooter.mustache
│ ├── frontpagenavbar.mustache
│ ├── head.mustache
│ ├── login.mustache
│ ├── maintenance.mustache
│ ├── navbar-secure.mustache
│ ├── navbar.mustache
│ └── secure.mustache
└── version.php
================================================
FILE CONTENTS
================================================
================================================
FILE: Readme.txt
================================================
Roshni Lite [This block is written by DualCube<admin@dulacube.com>.]
===========
This Moodle Theme is a 100% responsive, feature heavy beautiful Moodle theme. It is compatible with the latest Moodle 4.1.
It provides customizable sections on the front page which the user may customize through a backend setting panel,
can add/update/delete content.
Installation:-
------------
Go to [ Site administration > Plugins(Plugins) > Install plugins ] and just upload or drag & drop downloaed ZIP file.
To install, place all downloaded files in /theme/roshnilite and visit /admin/index.php in your browser.
Overview:-
--------
It provides customizable sections on the front page which the user may customize through a backend setting panel, can add/update/delete content.
1. Truckloads of customization options!
2. Exclusive frontpage with high-resolution graphics.
3. Beautifully crafted dynamic Masonry blocks.
4. Two graphical and one contextual information sections.
5. Automatic display of course on the front page.
6. Set own custom theme color with the color picker.
7. Customizable social icons and custom font support.
8. Full-fledged slider!
9. Unique login page
10. Provision to display default "Main Page content" for Moodle.
Setting Panel:-
-------------
In site administration >> Appearance >> Themes >> Roshni Lite << you get total 4 panel for fully customize the theme
1.General Settings
Here you can change- whole theme color(like.Brand colour, Main Theme Color), Background image, Favicon, Logo, Heading style ...,
About site text...,social handle and its icons..
2.Advanced settings
Here you can change- Raw SCSS file which can change whole theme visualization (It's too powerful use if you know about the changes)
3.Font Settings
Here you can change- your site default font.
4.Faculty Settings
Here you can change- add faculty displays settings which will show in site Home page.
Uninstall
---------
Admin can uninstall this admin tool from- Administration > Site Administration > Plugins > Plugins overview [Roshni Lite] > uninstall
================================================
FILE: config.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// This line protects the file from being accessed by a URL directly.
defined('MOODLE_INTERNAL') || die();
global $CFG;
$THEME->name = 'roshnilite';
$THEME->sheets = ['styles'];
$THEME->editor_sheets = [];
$THEME->parents = ['boost'];
$THEME->haseditswitch = true;
$THEME->enable_dock = false;
$THEME->extrascsscallback = 'theme_roshnilite_get_extra_scss';
$THEME->prescsscallback = 'theme_roshnilite_get_pre_scss';
$THEME->precompiledcsscallback = 'theme_roshnilite_get_precompiled_css';
$THEME->yuicssmodules = [];
$THEME->rendererfactory = 'theme_overridden_renderer_factory';
$THEME->csspostprocess = 'theme_roshnilite_process_css';
$THEME->scss = function ($theme) {
return theme_roshnilite_get_main_scss_content($theme);
};
$THEME->layouts = [
// Most backwards compatible layout without the blocks - this is the layout used by default.
'base' => [
'file' => 'columns.php',
'regions' => [],
],
// Standard layout with blocks, this is recommended for most pages with general information.
'standard' => [
'file' => 'columns.php',
'regions' => ['side-pre', 'side-post'],
'defaultregion' => 'side-pre',
],
// Main course page.
'course' => [
'file' => 'columns.php',
'regions' => ['side-pre', 'side-post'],
'defaultregion' => 'side-pre',
'options' => ['langmenu' => true],
],
'coursecategory' => [
'file' => 'columns.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
// Part of course, typical for modules - default page layout if $cm specified in require_login().
'incourse' => [
'file' => 'columns.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
// The site home page.
'frontpage' => [
'file' => 'frontpage.php',
'regions' => ['side-pre', 'side-post'],
'defaultregion' => 'side-pre',
'options' => ['nofullheader' => true, 'nonavbar' => true],
],
// Server administration scripts.
'admin' => [
'file' => 'columns.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
// My dashboard page.
'mydashboard' => [
'file' => 'columns.php',
'regions' => ['side-pre', 'side-post'],
'defaultregion' => 'side-pre',
'options' => ['nonavbar' => true, 'footer' => true, 'langmenu' => true, 'nocontextheader' => true],
],
// My public page.
'mypublic' => [
'file' => 'columns.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
'login' => [
'file' => 'login.php',
'regions' => [],
'options' => ['langmenu' => true],
],
// Pages that appear in pop-up windows - no navigation, no blocks, no header.
'popup' => [
'file' => 'contentonly.php',
'regions' => [],
'options' => ['nofooter' => true, 'nonavbar' => true],
],
// No blocks and minimal footer - used for legacy frame layouts only!
'frametop' => [
'file' => 'contentonly.php',
'regions' => [],
'options' => ['nofooter' => true, 'nocoursefooter' => true],
],
// Embeded pages, like iframe/object embeded in moodleform - it needs as much space as possible.
'embedded' => [
'file' => 'embedded.php',
'regions' => [],
],
// Used during upgrade and install, and for the 'This site is undergoing maintenance' message.
// This must not have any blocks, links, or API calls that would lead to database or cache interaction.
// Please be extremely careful if you are modifying this layout.
'maintenance' => [
'file' => 'maintenance.php',
'regions' => [],
],
// Should display the content and basic headers only.
'print' => [
'file' => 'contentonly.php',
'regions' => [],
'options' => ['nofooter' => true, 'nonavbar' => false],
],
// The pagelayout used when a redirection is occuring.
'redirect' => [
'file' => 'frontpage.php',
'regions' => [],
],
// The pagelayout used for reports.
'report' => [
'file' => 'columns.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
// The pagelayout used for safebrowser and securewindow.
'secure' => [
'file' => 'secure.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
];
================================================
FILE: lang/en/theme_roshnilite.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Language file.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// This line protects the file from being accessed by a URL directly.
defined('MOODLE_INTERNAL') || die();
// Raw SCSS setting.
$string['choosereadme'] = '
<div class="clearfix">
<div class="well">
<h2>Roshni Lite</h2>
<p><img class=img-polaroid src="roshnilite/pix/screenshot.jpg" /></p>
</div>
<div class="well">
<h3>Parents</h3>
<p>This theme was previously based upon the Bootstrapbase theme, which was created for Moodle 2.5, with the help of:<br>
Stuart Lamour, Mark Aberdour, Paul Hibbitts, Mary Evans.</p>
<p>Font setting section of this theme is based upon the Essential theme with the help of:<br>
Julian Ridden, Gareth J. Barnard, David Bezemer.</p>
<h3>Theme Credits</h3>
<p>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</p>
<p>Authors: DualCube<br>
Contact: admin@dualcube.com<br>
Website: <a href="https://dualcube.com/">https://dualcube.com/</a>
</p>
</div></div>';
$string['configtitle'] = 'Roshni Lite';
$string['navbardark'] = 'Use a dark style navbar';
$string['navbardarkdesc'] = 'Swaps text and background colours for the navbar at the top of the page between dark and light.';
$string['pluginname'] = 'Roshni Lite';
$string['presetfiles'] = 'Additional theme preset files';
$string['presetfiles_desc'] = 'Preset files can be used to dramatically alter the appearance of the theme. See <a href="https://docs.moodle.org/dev/Boost_Presets">Boost presets</a> for information on creating and sharing your own preset files, and see the <a href="https://archive.moodle.net/boost">Presets repository</a> for presets that others have shared.';
$string['preset'] = 'Theme preset';
$string['preset_desc'] = 'Pick a preset to broadly change the look of the theme.';
$string['region-side-post'] = 'Right';
$string['region-side-pre'] = 'Left';
$string['sitetitle'] = 'Site title';
$string['privacy:metadata'] = 'The roshnilite theme does not store any personal data.';
$string['customcss'] = 'Custom CSS';
$string['customcssdesc'] = 'Whatever CSS rules you add to this textarea will be reflected in every page, making for easier customization of this theme.';
$string['logo'] = 'Logo';
$string['logodesc'] = 'Please upload or enter the url of your custom logo here if you want to add it to the header.
The image should be 65px high and any reasonable width that suits.
If you upload a logo it will replace the standard icon and name that was displayed by default.';
$string['favicon'] = 'Favicon';
$string['favicondesc'] = 'Please upload or enter the url of the icon you want to show in the browser address bar, the fav icon.';
$string['generalsettings'] = 'General Settings';
$string['standarddesc'] = 'General Settings Desc';
$string['customsettings'] = 'Custom Settings';
$string['fontfiles'] = 'Upload Unlimited Fonts';
$string['fontfilesdesc'] = 'Upload your font files here.';
$string['fontfilettfheading'] = 'Heading TTF font file';
$string['fontfileotfheading'] = 'Heading OTF font file';
$string['fontfilewoffheading'] = 'Heading WOFF font file';
$string['fontfilewofftwoheading'] = 'Heading WOFF2 font file';
$string['fontfileeotheading'] = 'Heading EOT font file';
$string['fontfilesvgheading'] = 'Heading SVG font file';
$string['fontfilettfbody'] = 'Body TTF font file';
$string['fontfileotfbody'] = 'Body OTF font file';
$string['fontfilewoffbody'] = 'Body WOFF font file';
$string['fontfilewofftwobody'] = 'Body WOFF2 font file';
$string['fontfileeotbody'] = 'Body EOT font file';
$string['fontfilesvgbody'] = 'Body SVG font file';
$string['fontselectdesc'] = 'You may choose from the ‘Standard’ fonts or add your customised fonts by selecting ‘Custom’ font.';
$string['fonttypestandard'] = 'Font Type Standard';
$string['fonttypecustom'] = 'Font Type Custom';
$string['fontselect'] = 'Select Font';
$string['fontnameheading'] = 'Choose Font Name Heading';
$string['fontnameheadingdesc'] = 'You may add the font name for the headings in your site i.e. site headings will be displayed in this font.';
$string['fontnamebody'] = 'Choose Font Name Body';
$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.';
$string['customdesc'] = 'Custom Desc';
$string['moodlemaincontentinfrontpage'] = 'Enable default moodle homepage content';
$string['moodlemaincontentinfrontpagedesc'] = '';
$string['fontsettings'] = 'Font Settings';
$string['slidercount'] = 'Slidercount ';
$string['slidercountdesc'] = 'Select, from dropdown, the number of slides in the slider.You can add up to 6 slides.';
$string['one'] = '1';
$string['two'] = '2';
$string['three'] = '3';
$string['four'] = '4';
$string['five'] = '5';
$string['six'] = '6';
$string['seven'] = '7';
$string['eight'] = '8';
$string['slideimage'] = 'Upload Your Image For Slide ';
$string['slideimagedesc'] = 'Please upload or enter the url of the image for the slide ';
$string['slidertext'] = 'Text for slide ';
$string['slidertextdesc'] = 'Enter a descriptive text for your slide ';
$string['sliderurl'] = 'Link for slide ';
$string['sliderbuttontext'] = 'Enter your text for button on slide ';
$string['sliderbuttontextdesc'] = 'If you do not enter any text, the button will be disappear.';
$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.";
$string['maincolor'] = 'Choose Main Theme Color';
$string['maincolordesc'] = 'Choose your own custom Color scheme for the theme.';
$string['masonrycount'] = 'Masonrycount';
$string['one'] = '1';
$string['two'] = '2';
$string['three'] = '3';
$string['four'] = '4';
$string['five'] = '5';
$string['six'] = '6';
$string['seven'] = '7';
$string['eight'] = '8';
$string['masonryimage'] = 'Upload your image for masonry block ';
$string['masonryimagedesc'] = 'Upload your image for masonry block ';
$string['masonrytext'] = 'Text for masonry block ';
$string['masonrytextdesc'] = 'Enter the text for masonry block ';
$string['masonryurl'] = 'Enter masonry URL ';
$string['masonrysubtext'] = 'Sub text for masonry block ';
$string['masonrysubtextdesc'] = 'Enter the sub text for masonry block ';
$string['masonryurldesc'] = 'Enter the target url for the masonry block ';
$string['addressfontawesomeicon'] = 'Enter Font awesome icon tag for address icon';
$string['addressfontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag';
$string['address'] = 'Enter Address';
$string['addressdesc'] = 'Enter your address here. ';
$string['phonefontawesomeicon'] = 'Enter Font awesome icon tag for phone icon';
$string['phonefontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag';
$string['phone'] = 'Enter Phone Number';
$string['phonedesc'] = 'Enter your contact here. ';
$string['emailfontawesomeicon'] = 'Enter Font awesome icon tag for email icon';
$string['emailfontawesomeicondesc'] = 'Just copy and paste < i >< / i > tag';
$string['email'] = 'Enter Email Address';
$string['emaildesc'] = 'Enter your email address here. ';
$string['socialfontawesomeicon1'] = 'Enter Font awesome icon tag for social icon';
$string['socialfontawesomeicondesc1'] = 'Just copy and paste < i >< / i > tag';
$string['socialfontawesomeicon2'] = 'Enter Font awesome icon tag for social icon';
$string['socialfontawesomeicondesc2'] = 'Just copy and paste < i >< / i > tag';
$string['socialfontawesomeicon3'] = 'Enter Font awesome icon tag for social icon';
$string['socialfontawesomeicondesc3'] = 'Just copy and paste < i >< / i > tag';
$string['socialfontawesomeicon4'] = 'Enter Font awesome icon tag for social icon';
$string['socialfontawesomeicondesc4'] = 'Just copy and paste < i >< / i > tag';
$string['socialicon'] = 'Link of social icon';
$string['socialicondesc'] = 'Enter the target link of icon. ';
$string['aboutsiteimage'] = 'Upload image';
$string['faboutsiteimagedesc'] = 'Upload image for the first block.';
$string['aboutsitename'] = 'Enter block name';
$string['faboutsitenamedesc'] = 'Enter the name of first block in about site section.';
$string['aboutsitetext'] = 'Enter block sub text';
$string['faboutsitetextdesc'] = 'Enter the sub text for the first block.';
$string['aboutsiteurl'] = 'Enter url';
$string['faboutsiteurldesc'] = 'Enter the target url for the first block.';
$string['saboutsiteimagedesc'] = 'Upload image for the second block.';
$string['saboutsitenamedesc'] = 'Enter the name of second block in about site section.';
$string['saboutsitetextdesc'] = 'Enter the sub text for the second block.';
$string['saboutsiteurldesc'] = 'Enter the target url for the second block.';
$string['taboutsiteimagedesc'] = 'Upload image for the third block.';
$string['taboutsitenamedesc'] = 'Enter the name of third block in about site section.';
$string['taboutsitetextdesc'] = 'Enter the sub text for the third block.';
$string['taboutsiteurldesc'] = 'Enter the target url for the third block.';
$string['fraboutsiteimagedesc'] = 'Upload image for the fourth block.';
$string['fraboutsitenamedesc'] = 'Enter the name of fourth block in about site section.';
$string['fraboutsitetextdesc'] = 'Enter the sub text for the fourth block.';
$string['fraboutsiteurldesc'] = 'Enter the target url for the fourth block.';
$string['aboutsiteheading'] = 'Enter heading';
$string['aboutsiteheadingdesc'] = "Enter your custom heading for 'About Site' section.";
$string['aboutsitesubheading'] = 'Enter sub heading';
$string['aboutsitesubheadingdesc'] = 'Enter your custom sub heading, may be your USP or tag line.';
$string['masonrycountdesc'] = 'Select, from dropdown, the number of blocks in the Masonry block section. You can add up to 8 blocks.';
$string['masonryheading'] = 'Enter heading';
$string['masonryheadingdesc'] = "Enter your custom heading for 'Masonry Block' section.";
$string['masonrysubheading'] = 'Enter sub heading';
$string['masonrysubheadingdesc'] = '';
$string['socialheading'] = 'Enter social heading';
$string['socialheadingdesc'] = '';
/* frontpage strings */
$string['slidertextdefault'] = '<h2>THE TASK OF THE</h2><h1>MODERN EDUCATOR</h1> <h3>IS NOT TO CUT DOWN JUNGLES, BUT TO IRRIGATE DESERTS</h3>';
$string['sliderbuttontextdefault'] = 'GET STARTED';
$string['sliderurldefault'] = 'javascript:void(0);';
$string['aboutsiteheadingdefault'] = 'NOBODY DOES IT LIKE US';
$string['aboutsitesubheadingdefault'] = 'Put In a Nice Little Piece Of Text That Describes Your USP';
$string['aboutsitename1default'] = 'Our Blog';
$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.";
$string['aboutsitename2default'] = 'Courses';
$string['aboutsitetext2default'] = 'You can rename the content box names from the admin panel, and then add nifty descriptions for all the content boxes.';
$string['aboutsitename3default'] = 'Latest News';
$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!';
$string['aboutsitename4default'] = 'Upcoming Events';
$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?";
$string['masonryheadingdefault'] = 'OUR CATEGORY';
$string['masonrysubheadingdefault'] = 'You Can Showcase All Your Categories In This Beautiful Masonry Block';
$string['addressdefault'] = 'Kolkata, India';
$string['emaildefault'] = 'admin@dualcube.com';
$string['phonedefault'] = '+91 33 64578322';
$string['socialheadingdefault'] = 'STAY CONNECTED';
$string['fontnamedefault'] = '';
$string['facultysettings'] = 'Faculty Settings';
$string['facultyheading'] = 'Our Top Faculties';
$string['facultycount'] = 'Faculty Count';
$string['facultycountdesc'] = 'Select, from dropdown, the number of blocks in the Faculty block section. You can add up to 8 blocks.';
$string['facultyimage'] = 'Enter URL of your faculty image';
$string['facultyimagedesc'] = 'Enter URL of your faculty image';
$string['facultytwitterurldesc'] = 'Enter the twitter url for the faculty block ';
$string['facultyname'] = 'Enter name of faculty ';
$string['facultynamedesc'] = 'Enter the text for faculty description ';
$string['facultysubtext'] = 'Enter the description of the faculty ';
$string['facultysubtextdesc'] = 'Enter the description for faculty block ';
$string['facultyfburl'] = 'Enter faculty facebook URL ';
$string['facultyfburldesc'] = 'Enter the facebook url for the faculty block ';
$string['facultylnkdnurl'] = 'Enter faculty linkedin URL ';
$string['facultylnkdnurldesc'] = 'Enter the linkedin url for the faculty block ';
$string['facultygoogleurl'] = 'Enter faculty google URL ';
$string['facultygoogleurldesc'] = 'Enter the google url for the faculty block ';
$string['facultytwitterurl'] = 'Enter faculty twitter URL ';
$string['facultytwitterurldesc'] = 'Enter the twitter url for the faculty block ';
$string['backgroundimage'] = 'Background image';
$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.';
$string['brandcolor'] = 'Brand colour';
$string['brandcolor_desc'] = 'The accent colour.';
$string['advancedsettings'] = 'Advanced settings';
$string['rawscsspre'] = 'Raw initial SCSS';
$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.';
$string['rawscss'] = 'Raw SCSS';
$string['rawscss_desc'] = 'Use this field to provide SCSS or CSS code which will be injected at the end of the style sheet.';
$string['fontsize'] = 'Font size reference';
$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. ';
================================================
FILE: layout/columns.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) {
$imgpath = $PAGE->theme->setting_file_url('logo', 'logo');
} else {
$imgpath = $CFG->wwwroot . "/theme/roshnilite/pix/img/logo.png";
}
if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) {
$favicon = $PAGE->theme->setting_file_url('favicon', 'favicon');
} else {
$favicon = $CFG->wwwroot . "/theme/roshnilite/pix/favicon.ico";
}
$bodyattributes = $OUTPUT->body_attributes();
$blockspre = $OUTPUT->blocks('side-pre');
$blockspost = $OUTPUT->blocks('side-post');
$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
if ($CFG->version >= 2018120300) {
$version18 = $OUTPUT->standard_after_main_region_html();
} else {
$version18 = '';
}
$templatecontext = [
'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
'output' => $OUTPUT,
'sidepreblocks' => $blockspre,
'sidepostblocks' => $blockspost,
'haspreblocks' => $hassidepre,
'haspostblocks' => $hassidepost,
'bodyattributes' => $bodyattributes,
'version18' => $version18,
'imgpath' => $imgpath,
'favicon' => $favicon,
];
echo $OUTPUT->render_from_template('theme_roshnilite/columns', $templatecontext);
================================================
FILE: layout/contentonly.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
$bodyattributes = $OUTPUT->body_attributes([]);
$templatecontext = [
'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
'output' => $OUTPUT,
'bodyattributes' => $bodyattributes,
];
echo $OUTPUT->render_from_template('theme_roshnilite/contentonly', $templatecontext);
================================================
FILE: layout/footer.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$templatecontext = [
'output' => $OUTPUT,
];
echo $OUTPUT->render_from_template('theme_roshnilite/footer', $templatecontext);
================================================
FILE: layout/frontpage.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $DB, $PAGE;
if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) {
$imgpath = $PAGE->theme->setting_file_url('logo', 'logo');
} else {
$imgpath = $CFG->wwwroot."/theme/roshnilite/pix/img/logo.png";
}
if (!isloggedin()) {
$login = ' <div class="loginnavbar">
<div class="container">
<form method="post" action="' . $CFG->wwwroot . '/login/index.php?authldap_skipntlmsso=1">
<input type="hidden" name="logintoken" value="' . s(\core\session\manager::get_login_token()) . '" />
<input type="text" name="username" placeholder="Username:">
<input type="password" name="password" placeholder="Password:">
<input type="submit" value="LOG IN">
</form>
</div>
</div> ';
$logvar = 0;
} else {
$login = '';
$logvar = 1;
}
if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) {
$favicon = $PAGE->theme->setting_file_url('favicon', 'favicon');
} else {
$favicon = $CFG->wwwroot."/theme/roshnilite/pix/favicon.ico";
}
$bodyattributes = $OUTPUT->body_attributes();
$backgroundimage = $PAGE->theme->setting_file_url('backgroundimage', 'backgroundimage');
$html = theme_roshnilite_get_html_for_settings($OUTPUT, $PAGE);
$roshniliteformatoptions = new stdClass();
$roshniliteformatoptions->noclean = true;
$roshniliteformatoptions->overflowdiv = false;
$enablemoodlemaincontent = get_config('theme_roshnilite', 'moodlemaincontentinfrontpage');
if (right_to_left()) {
$regionbsid = 'region-bs-main-and-post';
} else {
$regionbsid = 'region-bs-main-and-pre';
}
$context = context_system::instance();
$checkslidercount = $PAGE->theme->setting_file_url('slidercount', 'slidercount');
$sliderdetails = '';
if (!empty($checkslidercount)) {
$slideimagecheck = $PAGE->theme->setting_file_url('slideimage1', 'slideimage1');
$slidertextcheck = get_config('theme_roshnilite', 'slidertext1');
$sliderbuttontextcheck = get_config('theme_roshnilite', 'sliderbuttontext1');
$sliderurlcheck = get_config('theme_roshnilite', 'sliderurl1');
if (!empty($slideimagecheck) || !empty($slidertextcheck) || !empty($sliderbuttontextcheck) || !empty($sliderurlcheck)) {
$start = strlen($checkslidercount) - 1;
$totalslidercount = '';
for ($x = $start; $x < strlen($checkslidercount); $x++) {
$totalslidercount = $checkslidercount[$x];
}
$totalslidercount = (int)$totalslidercount;
$sliderdetails = '<div class="container-fluid no-padding">
<div id="home-slide" class="carousel slide" data-ride="carousel">
<h3></h3>
<ul class="carousel-indicators">';
for ($i = 0; $i < $totalslidercount; $i++) {
$sliderdetails .= '<li data-target="#home-slide" data-slide-to="' . $i . '"></li>';
}
$sliderdetails .= '</ul><div class="carousel-inner">';
for ($i = 1; $i <= $totalslidercount; $i++) {
$slideimage = $PAGE->theme->setting_file_url('slideimage' . $i, 'slideimage' . $i);
if ($slideimage == '') {
$slideimage = $CFG->wwwroot."/theme/roshnilite/pix/sl-1.jpg";
}
$slidertext = get_config('theme_roshnilite', 'slidertext' . $i);
$sliderbuttontext = get_config('theme_roshnilite', 'sliderbuttontext' . $i);
$sliderurl = get_config('theme_roshnilite', 'sliderurl' . $i);
if ($i == 1) {
$active = 'active';
} else {
$active = '';
}
$sliderdetails .= '<div class="carousel-item ' . $active . '">
<img src="' . $slideimage . '" alt="sliderimage" />
<div class="carousel-caption">
' . $slidertext;
if ($sliderbuttontext != '') {
$sliderdetails .= '<a href="' . $sliderurl . '" class="btn-theme">' . $sliderbuttontext.'</a>';
}
$sliderdetails .= '</div>
</div>';
}
$sliderdetails .= '</div>';
}
$sliderdetails .= '</div>
</div>';
} else {
$sliderdetails = '';
}
$aboutsiteheading = format_text((!empty($html->aboutsiteheading)) ? $html->aboutsiteheading :
get_string('aboutsiteheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsitesubheading = format_text((!empty($html->aboutsitesubheading)) ? $html->aboutsitesubheading :
get_string('aboutsitesubheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
if ($enablemoodlemaincontent == 1) {
$maincontent = '<div class="container" style="display:none;">
<div class="moodlecorecontent">';
$maincontent .= $OUTPUT->main_content();
if (isloggedin()) {
if (has_capability('moodle/course:create', $context)) {
if ($PAGE->user_is_editing() && isset($turneditingoff)) {
$maincontent .= '<a class = "turnedit turneditbtn" href="' . $turneditingoff . '">' . get_string('turneditingoff') . '</a>';
} else {
$maincontent .= '<a class = "turnedit turneditbtn" href="">' . get_string('turneditingon') . '</a>';
}
}
}
$maincontent .= '</div></div>';
} else {
$maincontent = '<div class="maincontent" style="display:none;">' . $OUTPUT->main_content() . '</div>';
}
if ($CFG->version >= 2018120300) {
$version18 = $OUTPUT->standard_after_main_region_html();
} else {
$version18 = '';
}
$aboutsitename1 = format_text((!empty($html->aboutsitename1)) ? $html->aboutsitename1 :
get_string('aboutsitename1default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsitetext1 = format_text((!empty($html->aboutsitetext1)) ? $html->aboutsitetext1 :
get_string('aboutsitetext1default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsiteurl1 = (!empty($html->aboutsiteurl1)) ? $html->aboutsiteurl1 : '';
$checkaboutsiteimage1 = $PAGE->theme->setting_file_url('aboutsiteimage1', 'aboutsiteimage1');
if (!empty($checkaboutsiteimage1)) {
$aboutsiteimage1 = $PAGE->theme->setting_file_url('aboutsiteimage1', 'aboutsiteimage1');
} else {
$aboutsiteimage1 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-1.png";
}
$aboutsitename2 = format_text((!empty($html->aboutsitename2)) ? $html->aboutsitename2 :
get_string('aboutsitename2default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsitetext2 = format_text((!empty($html->aboutsitetext2)) ? $html->aboutsitetext2 :
get_string('aboutsitetext2default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsiteurl2 = (!empty($html->aboutsiteurl2)) ? $html->aboutsiteurl2 : '';
$checkaboutsiteimage2 = $PAGE->theme->setting_file_url('aboutsiteimage2', 'aboutsiteimage2');
if (!empty($checkaboutsiteimage2)) {
$aboutsiteimage2 = $PAGE->theme->setting_file_url('aboutsiteimage2', 'aboutsiteimage2');
} else {
$aboutsiteimage2 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-2.png";
}
$aboutsitename3 = format_text((!empty($html->aboutsitename3)) ? $html->aboutsitename3 :
get_string('aboutsitename3default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsitetext3 = format_text((!empty($html->aboutsitetext3)) ? $html->aboutsitetext3 :
get_string('aboutsitetext3default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsiteurl3 = (!empty($html->aboutsiteurl3)) ? $html->aboutsiteurl3 : '';
$checkaboutsiteimage3 = $PAGE->theme->setting_file_url('aboutsiteimage3', 'aboutsiteimage3');
if (!empty($checkaboutsiteimage3)) {
$aboutsiteimage3 = $PAGE->theme->setting_file_url('aboutsiteimage3', 'aboutsiteimage3');
} else {
$aboutsiteimage3 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-3.png";
}
$aboutsitename4 = format_text((!empty($html->aboutsitename4)) ? $html->aboutsitename4 :
get_string('aboutsitename4default', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsitetext4 = format_text((!empty($html->aboutsitetext4)) ? $html->aboutsitetext4 :
get_string('fraboutsitetextdescdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$aboutsiteurl4 = (!empty($html->aboutsiteurl4)) ? $html->aboutsiteurl4 : '';
$checkaboutsiteimage4 = $PAGE->theme->setting_file_url('aboutsiteimage4', 'aboutsiteimage4');
if (!empty($checkaboutsiteimage4)) {
$aboutsiteimage4 = $PAGE->theme->setting_file_url('aboutsiteimage4', 'aboutsiteimage4');
} else {
$aboutsiteimage4 = $CFG->wwwroot."/theme/roshnilite/pix/icon-conts-4.png";
}
$course = $DB->get_records_sql('SELECT c.* FROM {course} c where id != ? AND visible = ?', [1, 1]);
$coursedetailsarray = [];
if (count($course) > 0) {
$coursegetstring = get_string('courses');
$coursedetail = '<div class="divider"></div>
<div class="container-fluid text-center course-section">
<div class="heading-large text-center">' . $coursegetstring . '</div>
<div class="row mx-auto my-auto">
<div id="courseCarousel" class="carouselMultiple carousel slide w-100" data-ride="carousel">';
foreach ($course as $key => $coursevalue) {
$coursedetailsarray[$key]["courseid"] = $CFG->wwwroot."/course/view.php?id=".$coursevalue->id;
$coursedetailsarray[$key]["coursename"] = $coursevalue->fullname;
$coursecontext = context_course::instance($coursevalue->id);
$isfile = $DB->get_records_sql("Select * from {files} where contextid = ? and filename != ? and filearea = ?",
[$coursecontext->id, ".", "overviewfiles"]);
if ( $isfile ) {
foreach ($isfile as $key1 => $isfilevalue) {
$courseimage = $CFG->wwwroot . "/pluginfile.php/" . $isfilevalue->contextid .
"/" . $isfilevalue->component . "/" . $isfilevalue->filearea . "/" . $isfilevalue->filename;
}
}
if ( !empty( $courseimage ) ) {
$coursedetailsarray[$key]["courseimage"] = $courseimage;
} else {
$coursedetailsarray[$key]["courseimage"] = $CFG->wwwroot."/theme/roshnilite/pix/nopic.jpg";
}
$courseimage = '';
}
$coursedetail .= '<div class="carousel-inner w-100" role="listbox">';
$a = 0;
foreach ($coursedetailsarray as $avlcoursearrayvalue) {
if ($a == 0) {
$active = 'active';
} else {
$active = '';
}
$a++;
$coursedetail .= '<div class="carousel-item ' . $active . '">
<div class="course-grid">';
if ( !empty ($avlcoursearrayvalue["courseimage"]) ) {
$coursedetail .=
'<img width="900" height="1200" class="img-fluid" src="' . $avlcoursearrayvalue["courseimage"] . '" alt="courseimage" />';
}
if ( !empty ($avlcoursearrayvalue["coursename"]) ) {
$coursedetail .= '<div class="mask"></div>
<a class="av-course-item-cont" href="' .
$avlcoursearrayvalue["courseid"] . '">' .
$avlcoursearrayvalue["coursename"] . '</a>';
}
$coursedetail .= '</div>
</div>';
}
$coursedetail .= '</div>
</div>
<a class="carousel-control-prev" href="#courseCarousel" role="button" data-slide="prev">
<div class="round-arrow">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
</div>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#courseCarousel" role="button" data-slide="next">
<div class="round-arrow-next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
</div>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>';
} else {
$coursedetail = '';
}
$allcourse = get_string('viewallcourses');
$masonryheading = format_text((!empty($html->masonryheading)) ? $html->masonryheading :
get_string('masonryheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$masonrysubheading = format_text((!empty($html->masonrysubheading)) ? $html->masonrysubheading :
get_string('masonrysubheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$categorydetails = '';
$categories = $DB->get_records('course_categories');
if (!empty( $categories ) && count($categories) > 1) {
$categorydetails .= '<div class="container text-center our-category">
<div class="heading-large text-center">' . $masonryheading . '</div>
<div class="header-small text-center">' . $masonrysubheading . '</div>
<div class="row mx-auto my-auto">
<div id="categoryCarousel" class="carouselMultiple carousel slide w-100" data-ride="carousel">
<div class="carousel-inner w-100" role="listbox">';
$a = 0;
foreach ($categories as $cat) {
$active = ($a == 0) ? 'active' : '';
$a++;
$catdes = ( $cat->description != null ? strip_tags($cat->description) : '');
$categorydetails .= '<div class="carousel-item ' . $active . '">
<div class="categories-item item">
<div class="item-inner media align-items-center">
<div class="icon-holder">
</div>
<div class="media-body">
<h5 class="title">' . $cat->name . '</h5>
<div class="desc">' . $catdes . '</div>
<a class="item-link" href="' . $CFG->wwwroot . '/course/index.php?categoryid=' . $cat->id . '"></a>
</div>
</div>
</div>
</div>';
}
$categorydetails .= '</div>
<a class="carousel-control-prev" href="#categoryCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#categoryCarousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
<div class="divider"></div>';
}
$checkfacultycount = $PAGE->theme->setting_file_url('facultycount', 'facultycount');
$facultydetails = '';
if (!empty($checkfacultycount)) {
$facultyimagecheck = $PAGE->theme->setting_file_url('facultyimage1', 'facultyimage1');
$facultynamecheck = get_config('theme_roshnilite', 'facultyname1');
$facultysubtextcheck = get_config('theme_roshnilite', 'facultysubtext1');
if (!empty($facultyimagecheck) || !empty($facultynamecheck) || !empty($facultysubtextcheck)) {
$facultyheading = format_text(get_string('facultyheading', 'theme_roshnilite'), "", $roshniliteformatoptions);
$start = strlen($checkfacultycount) - 1;
$str1 = '';
for ($x = $start; $x < strlen($checkfacultycount); $x++) {
$str1 = $checkfacultycount[$x];
}
$str1 = (int)$str1;
$facultydetails = '<div class="container text-center top-faculti">
<div class="heading-large text-center">' . $facultyheading . '</div>
<div class="row mx-auto my-auto">
<div id="facultyCarousel" class="carouselMultiple carousel slide w-100" data-ride="carousel">
<div class="carousel-inner w-100" role="listbox">';
for ($i = 1; $i <= $str1; $i++) {
$facultyimage = $PAGE->theme->setting_file_url('facultyimage' . $i, 'facultyimage' . $i);
if ($facultyimage == '') {
$facultyimage = $CFG->wwwroot."/theme/roshnilite/pix/nopic.jpg";
}
$facultyname = get_config('theme_roshnilite', 'facultyname' . $i);
$facultysubtext = get_config('theme_roshnilite', 'facultysubtext' . $i);
$facultyfburl = get_config('theme_roshnilite', 'facultyfburl' . $i);
$facultylnkdnurl = get_config('theme_roshnilite', 'facultylnkdnurl' . $i);
$facultygoogleurl = get_config('theme_roshnilite', 'facultygoogleurl' . $i);
$facultytwitterurl = get_config('theme_roshnilite', 'facultytwitterurl' . $i);
$active = ($i == 1) ? 'active' : '';
$facultydetails .= '<div class="carousel-item ' . $active . '">
<div class="instructor-block col-md-6">
<div class="instructor-block-left">
<img src="' . $facultyimage.'" alt="' . $facultyname . '" />
</div>
<div class="instructor-block-right">
<div class="instroctor-name">' . $facultyname . '</div>
<div class="instructor-desc"><p>' . $facultysubtext . '</p></div>
<ul class="social-network social-circle">
<li><a href="' . $facultyfburl . '"
class="icoFacebook" title="Facebook"><i class="fa fa-facebook"></i></a></li>
<li><a href="' . $facultytwitterurl . '"
class="icoTwitter" title="Twitter"><i class="fa fa-twitter"></i></a></li>
<li><a href="' . $facultygoogleurl . '"
class="icoGoogle" title="Google +"><i class="fa fa-google-plus"></i></a></li>
<li><a href="' . $facultylnkdnurl . '"
class="icoLinkedin" title="Linkedin"><i class="fa fa-linkedin"></i></a></li>
</ul>
</div>
</div>
</div>';
}
}
$facultydetails .= '
</div>
<a class="carousel-control-prev" href="#facultyCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#facultyCarousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>';
} else {
$facultydetails = '';
}
$addressfontawesomeicon = get_config('theme_roshnilite', 'addressfontawesomeicon');
$emailfontawesomeicon = get_config('theme_roshnilite', 'emailfontawesomeicon');
$phonefontawesomeicon = get_config('theme_roshnilite', 'phonefontawesomeicon');
$address = get_config('theme_roshnilite', 'address');
$email = get_config('theme_roshnilite', 'email');
$phone = get_config('theme_roshnilite', 'phone');
if (empty($addressfontawesomeicon) || empty($emailfontawesomeicon) || empty($phonefontawesomeicon) ||
empty($address) || empty($email) || empty($phone)) {
$addressfontawesomeicon = '<i class="fa fa-map-marker"></i>';
$emailfontawesomeicon = '<i class="fa fa-envelope"></i>';
$phonefontawesomeicon = '<i class="fa fa-phone"></i>';
$address = format_text(get_string('addressdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$email = format_text(get_string('emaildefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$phone = format_text(get_string('phonedefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
}
$socialfontawesomeicon1 = get_config('theme_roshnilite', 'socialfontawesomeicon1');
$socialicon1 = get_config('theme_roshnilite', 'socialicon1');
$socialfontawesomeicon2 = get_config('theme_roshnilite', 'socialfontawesomeicon2');
$socialicon2 = get_config('theme_roshnilite', 'socialicon2');
$socialfontawesomeicon3 = get_config('theme_roshnilite', 'socialfontawesomeicon3');
$socialicon3 = get_config('theme_roshnilite', 'socialicon3');
$socialfontawesomeicon4 = get_config('theme_roshnilite', 'socialfontawesomeicon4');
$socialicon4 = get_config('theme_roshnilite', 'socialicon4');
$socialheading = get_config('theme_roshnilite', 'socialheading');
if (empty($socialfontawesomeicon1) || empty($socialfontawesomeicon2) || empty($socialfontawesomeicon3) ||
empty($socialfontawesomeicon4) || empty($socialheading)
|| empty($socialicon1) || empty($socialicon2) ||
empty($socialicon3) || empty($socialicon4)) {
$socialfontawesomeicon1 = '<i class="fa fa-facebook"></i>';
$socialfontawesomeicon2 = '<i class="fa fa-twitter"></i>';
$socialfontawesomeicon3 = '<i class="fa fa-linkedin"></i>';
$socialfontawesomeicon4 = '<i class="fa fa-google-plus"></i>';
$socialheading = format_text(get_string('socialheadingdefault', 'theme_roshnilite'), "", $roshniliteformatoptions);
$socialicon1 = 'javascript:void(0);';
$socialicon2 = 'javascript:void(0);';
$socialicon3 = 'javascript:void(0);';
$socialicon4 = 'javascript:void(0);';
}
$templatecontext = [
'html' => $html,
'output' => $OUTPUT,
'page' => $PAGE,
'regionbsid' => $regionbsid,
'enablemoodlemaincontent' => $enablemoodlemaincontent,
'context' => $context,
'maincontent' => $maincontent,
'bodyattributes' => $bodyattributes,
'login' => $login,
'logvar' => $logvar,
'version18' => $version18,
'imgpath' => $imgpath,
'favicon' => $favicon,
'backgroundimage' => $backgroundimage,
'roshniliteformatoptions' => $roshniliteformatoptions,
'aboutsiteimage1' => $aboutsiteimage1,
'aboutsiteimage2' => $aboutsiteimage2,
'aboutsiteimage3' => $aboutsiteimage3,
'aboutsiteimage4' => $aboutsiteimage4,
'aboutsiteheading' => $aboutsiteheading,
'aboutsitesubheading' => $aboutsitesubheading,
'aboutsiteurl1' => $aboutsiteurl1,
'aboutsiteurl2' => $aboutsiteurl2,
'aboutsiteurl3' => $aboutsiteurl3,
'aboutsiteurl4' => $aboutsiteurl4,
'aboutsitetext1' => $aboutsitetext1,
'aboutsitetext2' => $aboutsitetext2,
'aboutsitetext3' => $aboutsitetext3,
'aboutsitetext4' => $aboutsitetext4,
'aboutsitename1' => $aboutsitename1,
'aboutsitename2' => $aboutsitename2,
'aboutsitename3' => $aboutsitename3,
'aboutsitename4' => $aboutsitename4,
'coursedetailsarray' => $coursedetailsarray,
'avlcoursearrayvalue' => $avlcoursearrayvalue,
'coursegetstring' => $coursegetstring,
'allcourse' => $allcourse,
'coursedetail' => $coursedetail,
'masonryheading' => $masonryheading,
'masonrysubheading1' => $masonrysubheading,
'socialfontawesomeicon1' => $socialfontawesomeicon1,
'socialfontawesomeicon2' => $socialfontawesomeicon2,
'socialfontawesomeicon3' => $socialfontawesomeicon3,
'socialfontawesomeicon4' => $socialfontawesomeicon4,
'socialheading' => $socialheading,
'socialicon1' => $socialicon1,
'socialicon2' => $socialicon2,
'socialicon3' => $socialicon3,
'socialicon4' => $socialicon4,
'addressfontawesomeicon' => $addressfontawesomeicon,
'emailfontawesomeicon' => $emailfontawesomeicon,
'phonefontawesomeicon' => $phonefontawesomeicon,
'address' => $address,
'email' => $email,
'phone' => $phone,
'categorydetails' => $categorydetails,
'facultydetails' => $facultydetails,
'sliderdetails' => $sliderdetails,
];
echo $OUTPUT->render_from_template('theme_roshnilite/frontpage', $templatecontext);
================================================
FILE: layout/login.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
$bodyattributes = $OUTPUT->body_attributes();
if (!empty($PAGE->theme->setting_file_url('favicon', 'favicon'))) {
$favicon = $PAGE->theme->setting_file_url('favicon', 'favicon');
} else {
$favicon = $CFG->wwwroot."/theme/roshnilite/pix/favicon.ico";
}
$templatecontext = [
'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
'output' => $OUTPUT,
'bodyattributes' => $bodyattributes,
'favicon' => $favicon,
];
echo $OUTPUT->render_from_template('theme_roshnilite/login', $templatecontext);
================================================
FILE: layout/maintenance.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
$templatecontext = [
'sitename' => format_string($SITE->shortname, true, ["escape" => false]),
'output' => $OUTPUT,
];
echo $OUTPUT->render_from_template('theme_roshnilite/maintenance', $templatecontext);
================================================
FILE: layout/navbar.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
if (!empty($PAGE->theme->setting_file_url('logo', 'logo'))) {
$imgpath = $PAGE->theme->setting_file_url('logo', 'logo');
} else {
$imgpath = $CFG->wwwroot."/theme/roshnilite/pix/img/logo.png";
}
$templatecontext = [
'output' => $OUTPUT,
'favicon' => $favicon,
];
echo $OUTPUT->render_from_template('theme_roshnilite/navbar', $templatecontext);
================================================
FILE: layout/secure.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $PAGE;
$bodyattributes = $OUTPUT->body_attributes();
$blockspre = $OUTPUT->blocks('side-pre');
$blockspost = $OUTPUT->blocks('side-post');
$hassidepre = $PAGE->blocks->region_has_content('side-pre', $OUTPUT);
$hassidepost = $PAGE->blocks->region_has_content('side-post', $OUTPUT);
$templatecontext = [
'sitename' => format_string($SITE->shortname, true, ['context' => context_course::instance(SITEID), "escape" => false]),
'output' => $OUTPUT,
'sidepreblocks' => $blockspre,
'sidepostblocks' => $blockspost,
'haspreblocks' => $hassidepre,
'haspostblocks' => $hassidepost,
'bodyattributes' => $bodyattributes,
];
echo $OUTPUT->render_from_template('theme_roshnilite/secure', $templatecontext);
================================================
FILE: lib.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// Every file should have GPL and copyright in the header - we skip it in tutorials but you should not skip it for real.
// We will add callbacks here as we add features to our theme.
// Function to return the SCSS to prepend to our main SCSS for this theme.
// Note the function name starts with the component name because this is a global function and we don't want namespace clashes.
/**
* theme_roshnilite_get_pre_scss function for load custom settings.
*
* @param string $theme
* @return $theme->settings->$setting
*/
function theme_roshnilite_get_pre_scss($theme) {
global $CFG;
$scss = '';
$configurable = [
'brandcolor' => ['secondary', 'black'],
];
// Prepend variables first.
foreach ($configurable as $configkey => $targets) {
$value = isset($theme->settings->{$configkey}) ? $theme->settings->{$configkey} : null;
if (empty($value)) {
continue;
}
array_map(function($target) use (&$scss, $value) {
$scss .= '$' . $target . ': ' . $value . ";\n";
}, (array) $targets);
}
// Prepend pre-scss.
if (!empty($theme->settings->scsspre)) {
$scss .= $theme->settings->scsspre;
}
if (!empty($theme->settings->fontsize)) {
$scss .= '$font-size-base: ' . (1 / 100 * $theme->settings->fontsize) . "rem !default;\n";
}
return $scss;
}
// Function to return the SCSS to append to our main SCSS for this theme.
// Note the function name starts with the component name because this is a global function and we don't want namespace clashes.
/**
* theme_roshnilite_get_extra_scss function for load custom settings.
*
* @param string $theme
* @return $theme->settings->$setting
*/
function theme_roshnilite_get_extra_scss($theme) {
global $CFG;
$content = '';
// Set the page background image.
$imageurl = $theme->setting_file_url('backgroundimage', 'backgroundimage');
if (!empty($imageurl)) {
$content .= '$imageurl: "' . $imageurl . '";';
$content .= file_get_contents($CFG->dirroot .
'/theme/roshnilite/scss/roshnilite/body-background.scss');
}
if (!empty($theme->settings->navbardark)) {
$content .= file_get_contents($CFG->dirroot .
'/theme/roshnilite/scss/roshnilite/navbar-dark.scss');
} else {
$content .= file_get_contents($CFG->dirroot .
'/theme/roshnilite/scss/roshnilite/navbar-light.scss');
}
if (!empty($theme->settings->scss)) {
$content .= $theme->settings->scss;
}
return $content;
}
/**
* Get compiled css.
*
* @return string compiled css
*/
function theme_roshnilite_get_precompiled_css() {
global $CFG;
return file_get_contents($CFG->dirroot . '/theme/roshnilite/style/moodle.css');
}
/**
* theme_roshnilite_get_main_scss_content function for load custom theme css settings.
*
* @param string $theme
* @return string $pre,$scss and $post
*/
function theme_roshnilite_get_main_scss_content($theme) {
global $CFG;
$scss = '';
$filename = !empty($theme->settings->preset) ? $theme->settings->preset : null;
$fs = get_file_storage();
$context = context_system::instance();
if ($filename == 'default.scss') {
$scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/default.scss');
} else if ($filename == 'plain.scss') {
$scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/plain.scss');
} else if ($filename && ($presetfile = $fs->get_file($context->id, 'theme_roshnilite', 'preset', 0, '/', $filename))) {
$scss .= $presetfile->get_content();
} else {
// Safety fallback - maybe new installs etc.
$scss .= file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/preset/default.scss');
}
// Pre CSS - this is loaded AFTER any prescss from the setting but before the main scss.
$pre = file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/roshnilite/pre.scss');
// Post CSS - this is loaded AFTER the main scss but before the extra scss from the setting.
$post = file_get_contents($CFG->dirroot . '/theme/roshnilite/scss/roshnilite/post.scss');
return $pre . "\n" . $scss . "\n" . $post;
}
/**
* Parses CSS before it is cached.
*
* This function can make alterations and replace patterns within the CSS.
*
* @param string $css The CSS
* @param theme_config $theme The theme config object.
* @return string The parsed CSS The parsed CSS.
*/
function theme_roshnilite_process_css($css, $theme) {
// Set the background image for the logo.
$logo = $theme->setting_file_url('logo', 'logo');
$css = theme_roshnilite_set_logo($css, $logo);
if (!empty($theme->settings->fontnamebody)) {
$font = $theme->settings->fontnamebody;
} else {
$font = get_string('fontnamedefault', 'theme_roshnilite');
}
$headingfont = theme_roshnilite_get_setting('fontnameheading');
$bodyfont = theme_roshnilite_get_setting('fontnamebody');
$css = theme_roshnilite_set_headingfont($css, $headingfont);
$css = theme_roshnilite_set_bodyfont($css, $bodyfont);
$css = theme_roshnilite_set_fontfiles($css, 'heading', $headingfont);
$css = theme_roshnilite_set_fontfiles($css, 'body', $bodyfont);
// Set custom CSS.
if (!empty($theme->settings->customcss)) {
$customcss = $theme->settings->customcss;
} else {
$customcss = null;
}
$css = theme_roshnilite_set_customcss($css, $customcss);
$thememaincolor = theme_roshnilite_get_setting('maincolor');
$css = theme_roshnilite_set_maincolor($css, $thememaincolor);
$themebrandcolor = theme_roshnilite_get_setting('brandcolor');
$css = theme_roshnilite_set_brandcolor($css, $themebrandcolor);
$themefontsize = theme_roshnilite_get_setting('fontsize');
$css = theme_roshnilite_set_fontsize($css, $themefontsize);
return $css;
}
function theme_roshnilite_set_fontsize($css, $themefontsize) {
$tag = '[[setting:fontsize]]';
$replacement = $themefontsize;
if (is_null($replacement)) {
$replacement = '15';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds the logo to CSS.
*
* @param string $css The CSS.
* @param string $logo The URL of the logo.
* @return string The parsed CSS
*/
function theme_roshnilite_set_logo($css, $logo) {
GLOBAL $CFG;
$tag = '[[setting:logo]]';
$replacement = $logo;
if (is_null($replacement)) {
$replacement = $CFG->wwwroot.'/theme/roshnilite/pix/img/logo.png';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* theme_roshnilite_get_setting function for load custom settings.
*
* @param string $setting
* @param string $format
* @return $theme->settings->$setting
*/
function theme_roshnilite_get_setting($setting, $format = false) {
global $CFG;
require_once($CFG->dirroot . '/lib/weblib.php');
static $theme;
if (empty($theme)) {
$theme = theme_config::load('roshnilite');
}
if (empty($theme->settings->$setting)) {
return false;
} else if (!$format) {
return $theme->settings->$setting;
} else if ($format === 'format_text') {
return format_text($theme->settings->$setting, FORMAT_PLAIN);
} else if ($format === 'format_html') {
return format_text($theme->settings->$setting, FORMAT_HTML, ['trusted' => true, 'noclean' => true]);
} else {
return format_string($theme->settings->$setting);
}
}
/**
* Adds any custom headingfont to the CSS before it is cached.
*
* @param string $css The original CSS.
* @param string $headingfont The custom CSS to add.
* @return string The CSS which now contains our custom CSS.
*/
function theme_roshnilite_set_headingfont($css, $headingfont) {
$tag = '[[setting:headingfont]]';
$replacement = $headingfont;
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds any custom bodyfont to the CSS before it is cached.
*
* @param string $css The original CSS.
* @param string $bodyfont The custom CSS to add.
* @return string The CSS which now contains our custom CSS.
*/
function theme_roshnilite_set_bodyfont($css, $bodyfont) {
$tag = '[[setting:bodyfont]]';
$replacement = $bodyfont;
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds the font to CSS.
*
* @param string $css The CSS.
* @param string $type The font file type.
* @param string $fontname The font name.
* @return string The parsed CSS
*/
function theme_roshnilite_set_fontfiles($css, $type, $fontname) {
$tag = '[[setting:fontname]]';
$replacement = $fontname;
if (is_null($replacement)) {
$replacement = '';
}
if (theme_roshnilite_get_setting('fontselect') === '2') {
static $theme;
if (empty($theme)) {
$theme = theme_config::load('roshnilite');
}
$fontfiles = [];
$fontfileeot = $theme->setting_file_url('fontfileeot' . $type, 'fontfileeot' . $type);
if (!empty($fontfileeot)) {
$fontfiles[] = "url('" . $fontfileeot . "?#iefix') format('embedded-opentype')";
}
$fontfilewoff = $theme->setting_file_url('fontfilewoff' . $type, 'fontfilewoff' . $type);
if (!empty($fontfilewoff)) {
$fontfiles[] = "url('" . $fontfilewoff . "') format('woff')";
}
$fontfilewofftwo = $theme->setting_file_url('fontfilewofftwo' . $type, 'fontfilewofftwo' . $type);
if (!empty($fontfilewofftwo)) {
$fontfiles[] = "url('" . $fontfilewofftwo . "') format('woff2')";
}
$fontfileotf = $theme->setting_file_url('fontfileotf' . $type, 'fontfileotf' . $type);
if (!empty($fontfileotf)) {
$fontfiles[] = "url('" . $fontfileotf . "') format('opentype')";
}
$fontfilettf = $theme->setting_file_url('fontfilettf' . $type, 'fontfilettf' . $type);
if (!empty($fontfilettf)) {
$fontfiles[] = "url('" . $fontfilettf . "') format('truetype')";
}
$fontfilesvg = $theme->setting_file_url('fontfilesvg' . $type, 'fontfilesvg' . $type);
if (!empty($fontfilesvg)) {
$fontfiles[] = "url('" . $fontfilesvg . "') format('svg')";
}
$replacement = '@font-face {' . PHP_EOL . 'font-family: "' . $fontname . '";' . PHP_EOL;
$replacement .= !empty($fontfileeot) ? "src: url('" . $fontfileeot . "');" . PHP_EOL : '';
if (!empty($fontfiles)) {
$replacement .= "src: ";
$replacement .= implode("," . PHP_EOL . " ", $fontfiles);
$replacement .= ";";
}
$replacement .= '' . PHP_EOL . "}";
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds any custom CSS to the CSS before it is cached.
*
* @param string $css The original CSS.
* @param string $customcss The custom CSS to add.
* @return string The CSS which now contains our custom CSS.
*/
function theme_roshnilite_set_customcss($css, $customcss) {
$tag = '[[setting:customcss]]';
$replacement = $customcss;
if (is_null($replacement)) {
$replacement = '';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds any custom color to the CSS before it is cached.
*
* @param string $css The original CSS.
* @param string $themecolor The custom CSS to add.
* @return string The CSS which now contains our custom CSS.
*/
function theme_roshnilite_set_maincolor($css, $themecolor) {
$tag = '[[setting:maincolor]]';
$replacement = $themecolor;
if (is_null($replacement)) {
$replacement = '#e74c3c';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Adds any custom color to the CSS before it is cached.
*
* @param string $css The original CSS.
* @param string $themecolor The custom CSS to add.
* @return string The CSS which now contains our custom CSS.
*/
function theme_roshnilite_set_brandcolor($css, $themecolor) {
$tag = '[[setting:brandcolor]]';
$replacement = $themecolor;
if (is_null($replacement)) {
$replacement = '#e74c3c';
}
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Returns an object containing HTML for the areas affected by settings.
*
* Do not add roshnilite specific logic in here, child themes should be able to
* rely on that function just by declaring settings with similar names.
*
* @param renderer_base $output Pass in $OUTPUT.
* @param moodle_page $page Pass in $PAGE.
* @return stdClass An object with the following properties:
* - navbarclass A CSS class to use on the navbar. By default ''.
* - heading HTML to use for the heading. A logo if one is selected or the default heading.
* - footnote HTML to use as a footnote. By default ''.
*/
function theme_roshnilite_get_html_for_settings(renderer_base $output, moodle_page $page) {
global $CFG, $USER;
$return = new stdClass;
$return->navbarclass = '';
if (!empty($page->theme->settings->invert)) {
$return->navbarclass .= ' navbar-inverse';
}
if (!empty($page->theme->settings->logo)) {
$return->heading = html_writer::tag('div', '', ['class' => 'logo']);
} else {
$return->heading = $output->page_heading();
}
$return->footnote = '';
if (!empty($page->theme->settings->footnote)) {
$return->footnote = '<div class="footnote text-center">'.format_text($page->theme->settings->footnote).'</div>';
}
/*-----------------------for contact*--------------------------*/
if (!empty($page->theme->settings->addressfontawesomeicon)) {
$return->addressfontawesomeicon = $page->theme->settings->addressfontawesomeicon;
}
if (!empty($page->theme->settings->emailfontawesomeicon)) {
$return->emailfontawesomeicon = $page->theme->settings->emailfontawesomeicon;
}
if (!empty($page->theme->settings->phonefontawesomeicon)) {
$return->phonefontawesomeicon = $page->theme->settings->phonefontawesomeicon;
}
if (!empty($page->theme->settings->address)) {
$return->address = $page->theme->settings->address;
}
if (!empty($page->theme->settings->phone)) {
$return->phone = $page->theme->settings->phone;
}
if (!empty($page->theme->settings->email)) {
$return->email = $page->theme->settings->email;
}
/*-----------------------for social contact*--------------------------*/
if (!empty($page->theme->settings->socialheading)) {
$return->socialheading = $page->theme->settings->socialheading;
}
if (!empty($page->theme->settings->masonrysubheading)) {
$return->masonrysubheading = $page->theme->settings->masonrysubheading;
}
if (!empty($page->theme->settings->socialfontawesomeicon1)) {
$return->socialfontawesomeicon1 = $page->theme->settings->socialfontawesomeicon1;
}
if (!empty($page->theme->settings->socialicon1)) {
$return->socialicon1 = $page->theme->settings->socialicon1;
}
if (!empty($page->theme->settings->socialfontawesomeicon2)) {
$return->socialfontawesomeicon2 = $page->theme->settings->socialfontawesomeicon2;
}
if (!empty($page->theme->settings->socialicon2)) {
$return->socialicon2 = $page->theme->settings->socialicon2;
}
if (!empty($page->theme->settings->socialfontawesomeicon3)) {
$return->socialfontawesomeicon3 = $page->theme->settings->socialfontawesomeicon3;
}
if (!empty($page->theme->settings->socialicon3)) {
$return->socialicon3 = $page->theme->settings->socialicon3;
}
if (!empty($page->theme->settings->socialfontawesomeicon4)) {
$return->socialfontawesomeicon4 = $page->theme->settings->socialfontawesomeicon4;
}
if (!empty($page->theme->settings->socialicon4)) {
$return->socialicon4 = $page->theme->settings->socialicon4;
}
/*--------------------for masonry--------------------------------*/
if (!empty($page->theme->settings->masonryheading)) {
$return->masonryheading = $page->theme->settings->masonryheading;
}
if (!empty($page->theme->settings->masonrysubheading)) {
$return->masonrysubheading = $page->theme->settings->masonrysubheading;
}
if (!empty($page->theme->settings->masonrytext1)) {
$return->masonrytext1 = $page->theme->settings->masonrytext1;
}
if (!empty($page->theme->settings->masonrysubtext1)) {
$return->masonrysubtext1 = $page->theme->settings->masonrysubtext1;
}
if (!empty($page->theme->settings->masonryrurl1)) {
$return->masonryurl1 = $page->theme->settings->masonryrurl1;
}
if (!empty($page->theme->settings->masonrytext2)) {
$return->masonrytext2 = $page->theme->settings->masonrytext2;
}
if (!empty($page->theme->settings->masonrysubtext2)) {
$return->masonrysubtext2 = $page->theme->settings->masonrysubtext2;
}
if (!empty($page->theme->settings->masonryrurl2)) {
$return->masonryurl2 = $page->theme->settings->masonryrurl2;
}
if (!empty($page->theme->settings->masonrytext3)) {
$return->masonrytext3 = $page->theme->settings->masonrytext3;
}
if (!empty($page->theme->settings->masonrysubtext3)) {
$return->masonrysubtext3 = $page->theme->settings->masonrysubtext3;
}
if (!empty($page->theme->settings->masonryrurl3)) {
$return->masonryurl3 = $page->theme->settings->masonryrurl3;
}
if (!empty($page->theme->settings->masonrytext4)) {
$return->masonrytext4 = $page->theme->settings->masonrytext4;
}
if (!empty($page->theme->settings->masonrysubtext4)) {
$return->masonrysubtext4 = $page->theme->settings->masonrysubtext4;
}
if (!empty($page->theme->settings->masonryrurl4)) {
$return->masonryurl4 = $page->theme->settings->masonryrurl4;
}
if (!empty($page->theme->settings->masonrytext5)) {
$return->masonrytext5 = $page->theme->settings->masonrytext5;
}
if (!empty($page->theme->settings->masonrysubtext5)) {
$return->masonrysubtext5 = $page->theme->settings->masonrysubtext5;
}
if (!empty($page->theme->settings->masonryrurl5)) {
$return->masonryurl5 = $page->theme->settings->masonryrurl5;
}
if (!empty($page->theme->settings->masonrytext6)) {
$return->masonrytext6 = $page->theme->settings->masonrytext6;
}
if (!empty($page->theme->settings->masonrysubtext6)) {
$return->masonrysubtext6 = $page->theme->settings->masonrysubtext6;
}
if (!empty($page->theme->settings->masonryrurl6)) {
$return->masonryurl6 = $page->theme->settings->masonryrurl6;
}
if (!empty($page->theme->settings->masonrytext7)) {
$return->masonrytext7 = $page->theme->settings->masonrytext7;
}
if (!empty($page->theme->settings->masonrysubtext7)) {
$return->masonrysubtext7 = $page->theme->settings->masonrysubtext7;
}
if (!empty($page->theme->settings->masonryrurl7)) {
$return->masonryurl7 = $page->theme->settings->masonryrurl7;
}
if (!empty($page->theme->settings->masonrytext8)) {
$return->masonrytext8 = $page->theme->settings->masonrytext8;
}
if (!empty($page->theme->settings->masonrysubtext8)) {
$return->masonrysubtext8 = $page->theme->settings->masonrysubtext8;
}
if (!empty($page->theme->settings->masonryrurl8)) {
$return->masonryurl8 = $page->theme->settings->masonryrurl8;
}
/*-------------------------for first slider-----------------------------*/
if (!empty($page->theme->settings->slidertext1)) {
$return->slidertext1 = $page->theme->settings->slidertext1;
}
if (!empty($page->theme->settings->sliderbuttontext1)) {
$return->sliderbuttontext1 = $page->theme->settings->sliderbuttontext1;
}
if (!empty($page->theme->settings->sliderurl1)) {
$return->sliderurl1 = $page->theme->settings->sliderurl1;
}
if (!empty($page->theme->settings->slidertext2)) {
$return->slidertext2 = $page->theme->settings->slidertext2;
}
if (!empty($page->theme->settings->sliderbuttontext2)) {
$return->sliderbuttontext2 = $page->theme->settings->sliderbuttontext2;
}
if (!empty($page->theme->settings->sliderurl2)) {
$return->sliderurl2 = $page->theme->settings->sliderurl2;
}
if (!empty($page->theme->settings->slidertext3)) {
$return->slidertext3 = $page->theme->settings->slidertext3;
}
if (!empty($page->theme->settings->sliderbuttontext3)) {
$return->sliderbuttontext3 = $page->theme->settings->sliderbuttontext3;
}
if (!empty($page->theme->settings->sliderurl3)) {
$return->sliderurl3 = $page->theme->settings->sliderurl3;
}
if (!empty($page->theme->settings->slidertext4)) {
$return->slidertext4 = $page->theme->settings->slidertext4;
}
if (!empty($page->theme->settings->sliderbuttontext4)) {
$return->sliderbuttontext4 = $page->theme->settings->sliderbuttontext4;
}
if (!empty($page->theme->settings->sliderurl4)) {
$return->sliderurl4 = $page->theme->settings->sliderurl4;
}
if (!empty($page->theme->settings->slidertext5)) {
$return->slidertext5 = $page->theme->settings->slidertext5;
}
if (!empty($page->theme->settings->sliderbuttontext5)) {
$return->sliderbuttontext5 = $page->theme->settings->sliderbuttontext5;
}
if (!empty($page->theme->settings->sliderurl5)) {
$return->sliderurl5 = $page->theme->settings->sliderurl5;
}
if (!empty($page->theme->settings->slidertext6)) {
$return->slidertext6 = $page->theme->settings->slidertext6;
}
if (!empty($page->theme->settings->sliderbuttontext6)) {
$return->sliderbuttontext6 = $page->theme->settings->sliderbuttontext6;
}
if (!empty($page->theme->settings->sliderurl6)) {
$return->sliderurl6 = $page->theme->settings->sliderurl6;
}
/*--------------------------about site---------------------------------*/
if (!empty($page->theme->settings->aboutsiteheading)) {
$return->aboutsiteheading = $page->theme->settings->aboutsiteheading;
}
if (!empty($page->theme->settings->aboutsitesubheading)) {
$return->aboutsitesubheading = $page->theme->settings->aboutsitesubheading;
}
if (!empty($page->theme->settings->aboutsitename1)) {
$return->aboutsitename1 = $page->theme->settings->aboutsitename1;
}
if (!empty($page->theme->settings->aboutsitetext1)) {
$return->aboutsitetext1 = $page->theme->settings->aboutsitetext1;
}
if (!empty($page->theme->settings->aboutsiteurl1)) {
$return->aboutsiteurl1 = $page->theme->settings->aboutsiteurl1;
} else {
$return->aboutsiteurl1 = $CFG->wwwroot.'/mod/forum/user.php?id='.$USER->id;
}
if (!empty($page->theme->settings->aboutsitename2)) {
$return->aboutsitename2 = $page->theme->settings->aboutsitename2;
}
if (!empty($page->theme->settings->aboutsitetext2)) {
$return->aboutsitetext2 = $page->theme->settings->aboutsitetext2;
}
if (!empty($page->theme->settings->aboutsiteurl2)) {
$return->aboutsiteurl2 = $page->theme->settings->aboutsiteurl2;
} else {
$return->aboutsiteurl2 = $CFG->wwwroot.'/course/index.php';
}
if (!empty($page->theme->settings->aboutsitename3)) {
$return->aboutsitename3 = $page->theme->settings->aboutsitename3;
}
if (!empty($page->theme->settings->aboutsitetext3)) {
$return->aboutsitetext3 = $page->theme->settings->aboutsitetext3;
}
if (!empty($page->theme->settings->aboutsiteurl3)) {
$return->aboutsiteurl3 = $page->theme->settings->aboutsiteurl3;
} else {
$return->aboutsiteurl3 = $CFG->wwwroot.'/blog/index.php?userid='.$USER->id;
}
if (!empty($page->theme->settings->aboutsitename4)) {
$return->aboutsitename4 = $page->theme->settings->aboutsitename4;
}
if (!empty($page->theme->settings->aboutsitetext4)) {
$return->aboutsitetext4 = $page->theme->settings->aboutsitetext4;
}
if (!empty($page->theme->settings->aboutsiteurl4)) {
$return->aboutsiteurl4 = $page->theme->settings->aboutsiteurl4;
} else {
$return->aboutsiteurl4 = $CFG->wwwroot.'/calendar/view.php';
}
return $return;
}
/**
* Serves any files associated with the theme settings.
*
* @param stdClass $course
* @param stdClass $cm
* @param context $context
* @param string $filearea
* @param array $args
* @param bool $forcedownload
* @param array $options
* @return bool
*/
function theme_roshnilite_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options = []) {
static $theme;
if (empty($theme)) {
$theme = theme_config::load('roshnilite');
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
if ($filearea === 'logo') {
return $theme->setting_file_serve('logo', $args, $forcedownload, $options);
} else if ($filearea === 'backgroundimage') {
return $theme->setting_file_serve('backgroundimage', $args, $forcedownload, $options);
} else if (preg_match("/^fontfile(eot|otf|svg|ttf|woff|woff2)(heading|body)$/", $filearea)) {
return $theme->setting_file_serve($filearea, $args, $forcedownload, $options);
} else if (preg_match("/^(marketing|slide)[1-9][0-9]*image$/", $filearea)) {
return $theme->setting_file_serve($filearea, $args, $forcedownload, $options);
} else if ($filearea === 'favicon') {
return $theme->setting_file_serve('favicon', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage1') {
return $theme->setting_file_serve('slideimage1', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage2') {
return $theme->setting_file_serve('slideimage2', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage3') {
return $theme->setting_file_serve('slideimage3', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage4') {
return $theme->setting_file_serve('slideimage4', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage5') {
return $theme->setting_file_serve('slideimage5', $args, $forcedownload, $options);
} else if ($filearea === 'slideimage6') {
return $theme->setting_file_serve('slideimage6', $args, $forcedownload, $options);
} else if ($filearea === 'aboutsiteimage1') {
return $theme->setting_file_serve('aboutsiteimage1', $args, $forcedownload, $options);
} else if ($filearea === 'aboutsiteimage2') {
return $theme->setting_file_serve('aboutsiteimage2', $args, $forcedownload, $options);
} else if ($filearea === 'aboutsiteimage3') {
return $theme->setting_file_serve('aboutsiteimage3', $args, $forcedownload, $options);
} else if ($filearea === 'aboutsiteimage4') {
return $theme->setting_file_serve('aboutsiteimage4', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage1') {
return $theme->setting_file_serve('facultyimage1', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage2') {
return $theme->setting_file_serve('facultyimage2', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage3') {
return $theme->setting_file_serve('facultyimage3', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage4') {
return $theme->setting_file_serve('facultyimage4', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage5') {
return $theme->setting_file_serve('facultyimage5', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage6') {
return $theme->setting_file_serve('facultyimage6', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage7') {
return $theme->setting_file_serve('facultyimage7', $args, $forcedownload, $options);
} else if ($filearea === 'facultyimage8') {
return $theme->setting_file_serve('facultyimage8', $args, $forcedownload, $options);
} else {
send_file_not_found();
}
} else {
send_file_not_found();
}
}
================================================
FILE: scss/classicgrunt.scss
================================================
// This file allows the creation of precompiled css from the core Grunt task.
@import "roshnilite/pre";
@import "preset/default";
@import "roshnilite/post";
================================================
FILE: scss/fontawesome.css
================================================
@font-face {
font-family: "FontAwesome";
src: url("[[font:core|fontawesome-webfont.eot]]?v=4.7.0");
src: url("[[font:core|fontawesome-webfont.eot]]?#iefix&v=4.7.0") format("embedded-opentype"), url("[[font:core|fontawesome-webfont.woff2]]?v=4.7.0") format("woff2"), url("[[font:core|fontawesome-webfont.woff]]?v=4.7.0") format("woff"), url("[[font:core|fontawesome-webfont.ttf]]?v=4.7.0") format("truetype"), url("[[font:core|fontawesome-webfont.svg]]?v=4.7.0#fontawesomeregular") format("svg");
font-weight: normal;
font-style: normal;
}
/*!
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
.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;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.3333333333em;
line-height: 0.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.2857142857em;
text-align: center;
}
.fa-ul {
padding-left: 0;
margin-left: 2.1428571429em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.1428571429em;
width: 2.1428571429em;
top: 0.1428571429em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.8571428571em;
}
.fa-border {
padding: 0.2em 0.25em 0.15em;
border: solid 0.08em #eee;
border-radius: 0.1em;
}
.fa-pull-left {
float: left;
}
.fa-pull-right {
float: right;
}
.fa.fa-pull-left {
margin-right: 0.3em;
}
.fa.fa-pull-right {
margin-left: 0.3em;
}
/* Deprecated as of 4.4.0 */
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.fa.pull-left {
margin-right: 0.3em;
}
.fa.pull-right {
margin-left: 0.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% {
transform: rotate(0deg);
}
100% {
transform: rotate(359deg);
}
}
@keyframes fa-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(359deg);
}
}
.fa-rotate-90 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
transform: rotate(90deg);
}
.fa-rotate-180 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
transform: rotate(180deg);
}
.fa-rotate-270 {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
transform: rotate(270deg);
}
.fa-flip-horizontal {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
transform: scale(-1, 1);
}
.fa-flip-vertical {
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=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;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.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;
}/*# sourceMappingURL=fontawesome.css.map */
================================================
FILE: scss/fontawesome.scss
================================================
// Import FontAwesome.
@import "../../boost/scss/fontawesome";
================================================
FILE: scss/moodle.scss
================================================
// Import Boost Core moodle CSS
@import "../../boost/scss/moodle";
================================================
FILE: scss/preset/default.scss
================================================
// Bootstrap variables
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #495057 !default;
$gray-800: #373a3c !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #1177d1 !default;
$indigo: #6610f2 !default;
$purple: #613d7c !default;
$pink: #e83e8c !default;
$red: #d9534f !default;
$orange: #f0ad4e !default;
$yellow: #ff7518 !default;
$green: #5cb85c !default;
$teal: #20c997 !default;
$cyan: #5bc0de !default;
$primary: $blue !default;
$secondary: $gray-800 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
// Options
$enable-rounded: true !default;
// Body
$body-color: $gray-800 !default;
// Fonts
$font-size-base: 0.9375rem !default;
$headings-font-weight: 300 !default;
// Navbar
$navbar-dark-hover-color: rgba($white, 1) !default;
$navbar-light-hover-color: rgba($black, .9) !default;
// Breadcrumbs
$breadcrumb-padding-y: .25rem !default;
$breadcrumb-padding-x: 0 !default;
$breadcrumb-item-padding: .5rem !default;
$breadcrumb-margin-bottom: 0 !default;
$breadcrumb-bg: transparent !default;
$breadcrumb-divider: "/" !default;
$breadcrumb-divider-rtl: "/" !default;
// Alerts
$alert-border-width: 0 !default;
$card-group-margin: .25rem;
// stylelint-disable
$theme-colors: () !default;
$theme-colors: map-merge((
primary: $primary,
secondary: $gray-200,
success: $success,
info: $info,
warning: $orange,
danger: $danger,
light: $gray-100,
dark: $gray-800
), $theme-colors);
// stylelint-enable
// Import FontAwesome.
@import "fontawesome";
// Import All of Bootstrap
@import "bootstrap";
// Import Core moodle CSS
@import "moodle";
// Preset CSS
.navbar {
box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
}
.filemanager-container,
.filepicker-filelist {
border: $border-width solid $border-color;
}
// Rounded user pictures
.userpicture {
border-radius: 50%;
}
.block {
background-color: $gray-100;
}
#page-my-index {
background-color: $white;
}
// Reset the default styling back to the bootstrap defaults for
// the secondary outline button because gray-200 is much too light
// for an outline button.
.btn-outline-secondary {
@include button-outline-variant($gray-600);
border-color: $border-color;
}
================================================
FILE: scss/preset/plain.scss
================================================
// Import FontAwesome.
@import "fontawesome";
// Import All of Bootstrap
@import "bootstrap";
// Import Core moodle CSS
@import "moodle";
================================================
FILE: scss/roshnilite/body-background.scss
================================================
body {
background-image: url($imageurl);
background-size: cover;
}
.region-main .region-main-content {
padding: 0.875rem;
background-color: $body-bg;
border: $card-border-width solid $card-border-color;
@include border-radius($card-border-radius);
}
================================================
FILE: scss/roshnilite/post.scss
================================================
// General Post SCSS for use in all presets.
// Generate the column layout css.
@mixin page_layout($blockswidth) {
$mainwidth-oneblock: (100% - $blockswidth);
$mainwidth-twoblocks: (100% - $blockswidth * 2);
#page-content {
display: flex;
.region-main {
flex: 0 0 100%;
padding: 0 1rem;
}
&.blocks-pre {
.columnleft {
flex: 0 0 $blockswidth;
order: -1;
padding: 0 1rem;
max-width: $blockswidth;
}
.region-main {
flex: 0 0 $mainwidth-oneblock;
max-width: $mainwidth-oneblock;
padding: 0 1rem 0 0;
}
}
&.blocks-post {
.region-main {
flex: 0 0 $mainwidth-oneblock;
max-width: $mainwidth-oneblock;
padding: 0 0 0 1rem;
}
.columnright {
flex: 0 0 $blockswidth;
padding: 0 1rem;
max-width: $blockswidth;
}
}
&.blocks-pre.blocks-post {
.region-main {
flex: 0 0 $mainwidth-twoblocks;
max-width: $mainwidth-twoblocks;
padding: 0;
}
}
[data-region="blocks-column"] {
width: 100%;
}
}
.empty-region-side-pre {
&.used-region-side-post {
#page-content {
.region-main {
flex: 0 0 $mainwidth-oneblock;
max-width: $mainwidth-oneblock;
padding-left: 1rem;
}
.columnright {
flex: 0 0 $blockswidth;
padding: 0 1rem;
max-width: $blockswidth;
}
}
}
}
.empty-region-side-post {
&.used-region-side-pre {
#page-content {
.region-main {
flex: 0 0 $mainwidth-oneblock;
max-width: $mainwidth-oneblock;
padding-right: 1rem;
}
.columnleft {
flex: 0 0 $blockswidth;
order: -1;
padding: 0 1rem;
max-width: $blockswidth;
}
}
}
}
.used-region-side-post {
&.used-region-side-pre {
#page-content {
.region-main {
flex: 0 0 $mainwidth-twoblocks;
max-width: $mainwidth-twoblocks;
padding: 0;
}
.columnleft {
flex: 0 0 $blockswidth;
order: -1;
padding: 0 1rem;
max-width: $blockswidth;
}
.columnright {
flex: 0 0 $blockswidth;
padding: 0 1rem;
max-width: $blockswidth;
}
}
}
}
}
// The block column needs some padding on small devices.
@include media-breakpoint-down(sm) {
.blockcolumn,
.region-main {
flex: 0 0 100%;
padding: 0 1rem;
margin-bottom: 1rem;
}
}
// When changing this please check the size of the calendar block.
@include media-breakpoint-up(md) {
@include page_layout(32%);
}
@include media-breakpoint-up(lg) {
@include page_layout(25%);
}
@include media-breakpoint-up(xl) {
@include page_layout(20%);
}
.block_myoverview,
.block_recentlyaccesseditems {
.dashboard-card-deck {
.dashboard-card {
width: calc(33.33% - #{$card-gutter});
}
}
}
@include media-breakpoint-up(md) {
.blockcolumn {
.dashboard-card-deck {
margin-left: 0;
margin-right: 0;
.dashboard-card {
width: calc(100% - #{$card-gutter}) !important; /* stylelint-disable-line declaration-no-important */
}
}
}
}
// Settings and Navigation blocks don't render well from default boost.
.block_navigation,
.block_settings {
.block_tree {
&.list > li > ul {
padding-left: 0;
}
.tree_item.branch {
margin-left: 5px;
padding-left: 0.75rem;
}
p.hasicon {
text-indent: 0;
padding-left: 0.75rem;
}
ul {
margin-left: 0.25rem;
padding-left: 1rem;
}
}
}
.block_navigation .block_tree p.hasicon .icon,
.block_settings .block_tree p.hasicon .icon {
margin-right: 5px;
}
// Remove left indenting from root nodes to allow sub-nodes to indent correctly.
.root_node,
.navigation_node {
margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */
padding-left: 0 !important; /* stylelint-disable-line declaration-no-important */
}
.block.block_settings {
#settingsnav {
padding-top: 0 !important; /* stylelint-disable-line declaration-no-important */
}
}
================================================
FILE: scss/roshnilite/pre.css
================================================
/*# sourceMappingURL=pre.css.map */
================================================
FILE: scss/roshnilite/pre.scss
================================================
// General variables for all presets
// Disable the Boost theme reset styling and fixed width content.
$allow-reset-style: false;
================================================
FILE: settings.php
================================================
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Roshnilite theme.
*
* @package theme_roshnilite
* @author DualCube <admin@dualcube.com>
* @copyright DualCube (https://dualcube.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($ADMIN->fulltree) {
$settings = new theme_boost_admin_settingspage_tabs('themesettingroshnilite',
get_string('configtitle', 'theme_roshnilite'));
$page = new admin_settingpage('theme_roshnilite_general', get_string('generalsettings', 'theme_roshnilite'));
// Preset.
$name = 'theme_roshnilite/preset';
$title = get_string('preset', 'theme_roshnilite');
$description = get_string('preset_desc', 'theme_roshnilite');
$default = 'default.scss';
$context = context_system::instance();
$fs = get_file_storage();
$files = $fs->get_area_files($context->id, 'theme_roshnilite', 'preset', 0, 'itemid, filepath, filename', false);
$choices = [];
foreach ($files as $file) {
$choices[$file->get_filename()] = $file->get_filename();
}
// These are the built in presets.
$choices['default.scss'] = 'default.scss';
$choices['plain.scss'] = 'plain.scss';
$setting = new admin_setting_configselect($name, $title, $description, $default, $choices);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Preset files setting.
$name = 'theme_roshnilite/presetfiles';
$title = get_string('presetfiles', 'theme_roshnilite');
$description = get_string('presetfiles_desc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'preset', 0,
['maxfiles' => 20, 'accepted_types' => ['.scss']]);
$page->add($setting);
// Background image setting.
$name = 'theme_roshnilite/backgroundimage';
$title = get_string('backgroundimage', 'theme_roshnilite');
$description = get_string('backgroundimage_desc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'backgroundimage');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Variable $body-color.
// We use an empty default value because the default colour should come from the preset.
$name = 'theme_roshnilite/brandcolor';
$title = get_string('brandcolor', 'theme_roshnilite');
$description = get_string('brandcolor_desc', 'theme_roshnilite');
$default = '#e74c3c';
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/favicon';
$title = get_string('favicon', 'theme_roshnilite');
$description = get_string('favicondesc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'favicon');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/logo';
$title = get_string('logo', 'theme_roshnilite');
$description = get_string('logodesc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'logo');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/moodlemaincontentinfrontpage';
$title = get_string('moodlemaincontentinfrontpage', 'theme_roshnilite');
$description = get_string('moodlemaincontentinfrontpagedesc', 'theme_roshnilite');
$setting = new admin_setting_configcheckbox($name, $title, $description, 1);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/slidercount';
$title = get_string('slidercount', 'theme_roshnilite');
$description = get_string('slidercountdesc', 'theme_roshnilite');
$setting = new admin_setting_configselect($name, $title, $description, 0,
[
1 => get_string('one', 'theme_roshnilite'),
2 => get_string('two', 'theme_roshnilite'),
3 => get_string('three', 'theme_roshnilite'),
4 => get_string('four', 'theme_roshnilite'),
5 => get_string('five', 'theme_roshnilite'),
6 => get_string('six', 'theme_roshnilite'),
]);
$page->add($setting);
for ($slidecounts = 1; $slidecounts <= get_config('theme_roshnilite', 'slidercount'); $slidecounts = $slidecounts + 1) {
$name = 'theme_roshnilite/slideimage'.$slidecounts;
$title = get_string('slideimage', 'theme_roshnilite').$slidecounts;
$description = get_string('slideimagedesc', 'theme_roshnilite').$slidecounts;
$setting = new admin_setting_configstoredfile($name, $title, $description, 'slideimage'.$slidecounts);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/slidertext'.$slidecounts;
$title = get_string('slidertext', 'theme_roshnilite').$slidecounts;
$description = get_string('slidertextdesc', 'theme_roshnilite').$slidecounts;
$default = get_string('slidertextdefault', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/sliderbuttontext'.$slidecounts;
$title = get_string('sliderbuttontext', 'theme_roshnilite').$slidecounts;
$description = get_string('sliderbuttontextdesc', 'theme_roshnilite');
$default = get_string('sliderbuttontextdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/sliderurl'.$slidecounts;
$title = get_string('sliderurl', 'theme_roshnilite').$slidecounts;
$description = get_string('sliderurldesc', 'theme_roshnilite').$slidecounts;
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
$name = 'theme_roshnilite/aboutsiteheading';
$title = get_string('aboutsiteheading', 'theme_roshnilite');
$description = get_string('aboutsiteheadingdesc', 'theme_roshnilite');
$default = get_string('aboutsiteheadingdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitesubheading';
$title = get_string('aboutsitesubheading', 'theme_roshnilite');
$description = get_string('aboutsitesubheadingdesc', 'theme_roshnilite');
$default = get_string('aboutsitesubheadingdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteimage1';
$title = get_string('aboutsiteimage', 'theme_roshnilite');
$description = get_string('faboutsiteimagedesc', 'theme_roshnilite');;
$setting = new admin_setting_configstoredfile($name, $title, $description, 'aboutsiteimage1');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitename1';
$title = get_string('aboutsitename', 'theme_roshnilite');
$description = get_string('faboutsitenamedesc', 'theme_roshnilite');
$default = get_string('aboutsitename1default', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitetext1';
$title = get_string('aboutsitetext', 'theme_roshnilite');
$description = get_string('faboutsitetextdesc', 'theme_roshnilite');
$default = get_string('aboutsitetext1default', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteurl1';
$title = get_string('aboutsiteurl', 'theme_roshnilite');
$description = get_string('faboutsiteurldesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteimage2';
$title = get_string('aboutsiteimage', 'theme_roshnilite');
$description = get_string('saboutsiteimagedesc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'aboutsiteimage2');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitename2';
$title = get_string('aboutsitename', 'theme_roshnilite');
$description = get_string('saboutsitenamedesc', 'theme_roshnilite');
$default = get_string('aboutsitename2default', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitetext2';
$title = get_string('aboutsitetext', 'theme_roshnilite');
$description = get_string('saboutsitetextdesc', 'theme_roshnilite');
$default = get_string('aboutsitetext2default', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteurl2';
$title = get_string('aboutsiteurl', 'theme_roshnilite');
$description = get_string('saboutsiteurldesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
/*-------------*/
$name = 'theme_roshnilite/aboutsiteimage3';
$title = get_string('aboutsiteimage', 'theme_roshnilite');
$description = get_string('taboutsiteimagedesc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'aboutsiteimage3');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitename3';
$title = get_string('aboutsitename', 'theme_roshnilite');
$description = get_string('taboutsitenamedesc', 'theme_roshnilite');
$default = get_string('aboutsitename3default', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitetext3';
$title = get_string('aboutsitetext', 'theme_roshnilite');
$description = get_string('taboutsitetextdesc', 'theme_roshnilite');
$default = get_string('aboutsitetext3default', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteurl3';
$title = get_string('aboutsiteurl', 'theme_roshnilite');
$description = get_string('taboutsiteurldesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteimage4';
$title = get_string('aboutsiteimage', 'theme_roshnilite');
$description = get_string('fraboutsiteimagedesc', 'theme_roshnilite');
$setting = new admin_setting_configstoredfile($name, $title, $description, 'aboutsiteimage4');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitename4';
$title = get_string('aboutsitename', 'theme_roshnilite');
$description = get_string('fraboutsitenamedesc', 'theme_roshnilite');
$default = get_string('aboutsitename4default', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsitetext4';
$title = get_string('aboutsitetext', 'theme_roshnilite');
$description = get_string('fraboutsitetextdesc', 'theme_roshnilite');
$default = get_string('fraboutsitetextdescdefault', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/aboutsiteurl4';
$title = get_string('aboutsiteurl', 'theme_roshnilite');
$description = get_string('fraboutsiteurldesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/maincolor';
$title = get_string('maincolor', 'theme_roshnilite');
$description = get_string('maincolordesc', 'theme_roshnilite');
$default = '#e74c3c';
$setting = new admin_setting_configcolourpicker($name, $title, $description, $default);
$page->add($setting);
$name = 'theme_roshnilite/masonryheading';
$title = get_string('masonryheading', 'theme_roshnilite');
$description = get_string('masonryheadingdesc', 'theme_roshnilite');
$default = get_string('masonryheadingdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/masonrysubheading';
$title = get_string('masonrysubheading', 'theme_roshnilite');
$description = get_string('masonrysubheadingdesc', 'theme_roshnilite');
$default = get_string('masonrysubheadingdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/addressfontawesomeicon';
$title = get_string('addressfontawesomeicon', 'theme_roshnilite');
$description = get_string('addressfontawesomeicondesc', 'theme_roshnilite');
$default = '<i class="fa fa-map-marker"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/address';
$title = get_string('address', 'theme_roshnilite');
$description = get_string('addressdesc', 'theme_roshnilite');
$default = get_string('addressdefault', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/emailfontawesomeicon';
$title = get_string('emailfontawesomeicon', 'theme_roshnilite');
$description = get_string('emailfontawesomeicondesc', 'theme_roshnilite');
$default = '<i class="fa fa-envelope"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/email';
$title = get_string('email', 'theme_roshnilite');
$description = get_string('emaildesc', 'theme_roshnilite');
$default = get_string('emaildefault', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/phonefontawesomeicon';
$title = get_string('phonefontawesomeicon', 'theme_roshnilite');
$description = get_string('phonefontawesomeicondesc', 'theme_roshnilite');
$default = '<i class="fa fa-phone"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/phone';
$title = get_string('phone', 'theme_roshnilite');
$description = get_string('phonedesc', 'theme_roshnilite');
$default = get_string('phonedefault', 'theme_roshnilite');
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialheading';
$title = get_string('socialheading', 'theme_roshnilite');
$description = get_string('socialheadingdesc', 'theme_roshnilite');
$default = get_string('socialheadingdefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialfontawesomeicon1';
$title = get_string('socialfontawesomeicon1', 'theme_roshnilite');
$description = get_string('socialfontawesomeicondesc1', 'theme_roshnilite');
$default = '<i class="fa fa-facebook"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialicon1';
$title = get_string('socialicon', 'theme_roshnilite');
$description = get_string('socialicondesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialfontawesomeicon2';
$title = get_string('socialfontawesomeicon2', 'theme_roshnilite');
$description = get_string('socialfontawesomeicondesc2', 'theme_roshnilite');
$default = '<i class="fa fa-twitter"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialicon2';
$title = get_string('socialicon', 'theme_roshnilite');
$description = get_string('socialicondesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialfontawesomeicon3';
$title = get_string('socialfontawesomeicon3', 'theme_roshnilite');
$description = get_string('socialfontawesomeicondesc3', 'theme_roshnilite');
$default = '<i class="fa fa-linkedin"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialicon3';
$title = get_string('socialicon', 'theme_roshnilite');
$description = get_string('socialicondesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialfontawesomeicon4';
$title = get_string('socialfontawesomeicon4', 'theme_roshnilite');
$description = get_string('socialfontawesomeicondesc4', 'theme_roshnilite');
$default = '<i class="fa fa-google-plus"></i>';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/socialicon4';
$title = get_string('socialicon', 'theme_roshnilite');
$description = get_string('socialicondesc', 'theme_roshnilite');
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Must add the page after definiting all the settings!
$settings->add($page);
// Advanced settings.
$page = new admin_settingpage('theme_roshnilite_advanced', get_string('advancedsettings', 'theme_roshnilite'));
// Raw SCSS to include before the content.
$setting = new admin_setting_scsscode('theme_roshnilite/scsspre',
get_string('rawscsspre', 'theme_roshnilite'), get_string('rawscsspre_desc', 'theme_roshnilite'), '', PARAM_RAW);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Raw SCSS to include after the content.
$setting = new admin_setting_scsscode('theme_roshnilite/scss', get_string('rawscss', 'theme_roshnilite'),
get_string('rawscss_desc', 'theme_roshnilite'), '', PARAM_RAW);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$settings->add($page);
// Font settings.
$page = new admin_settingpage('theme_roshnilite_font', get_string('fontsettings', 'theme_roshnilite'));
$name = 'theme_roshnilite/fontselect';
$title = get_string('fontselect', 'theme_roshnilite');
$description = get_string('fontselectdesc', 'theme_roshnilite');
$default = 1;
$choices = [
1 => get_string('fonttypestandard', 'theme_roshnilite'),
2 => get_string('fonttypecustom', 'theme_roshnilite'),
];
$setting = new admin_setting_configselect($name, $title, $description, $default, $choices);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/fontsize';
$title = get_string('fontsize', 'theme_roshnilite');
$description = get_string('fontsize_desc', 'theme_roshnilite');
$default = '15';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Heading font name.
$name = 'theme_roshnilite/fontnameheading';
$title = get_string('fontnameheading', 'theme_roshnilite');
$description = get_string('fontnameheadingdesc', 'theme_roshnilite');
$default = get_string('fontnamedefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Text font name.
$name = 'theme_roshnilite/fontnamebody';
$title = get_string('fontnamebody', 'theme_roshnilite');
$description = get_string('fontnamebodydesc', 'theme_roshnilite');
$default = get_string('fontnamedefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
if (get_config('theme_roshnilite', 'fontselect') === "2") {
if (floatval($CFG->version) >= 2014111005.01) {
$woff2 = true;
} else {
$woff2 = false;
}
// This is the descriptor for the font files.
$name = 'theme_roshnilite/fontfiles';
$heading = get_string('fontfiles', 'theme_roshnilite');
$information = get_string('fontfilesdesc', 'theme_roshnilite');
$setting = new admin_setting_heading($name, $heading, $information);
$page->add($setting);
// Heading Fonts.
// TTF Font.
$name = 'theme_roshnilite/fontfilettfheading';
$title = get_string('fontfilettfheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilettfheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// OTF Font.
$name = 'theme_roshnilite/fontfileotfheading';
$title = get_string('fontfileotfheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfileotfheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// WOFF Font.
$name = 'theme_roshnilite/fontfilewoffheading';
$title = get_string('fontfilewoffheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilewoffheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
if ($woff2) {
// WOFF2 Font.
$name = 'theme_roshnilite/fontfilewofftwoheading';
$title = get_string('fontfilewofftwoheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilewofftwoheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
// EOT Font.
$name = 'theme_roshnilite/fontfileeotheading';
$title = get_string('fontfileeotheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfileweotheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// SVG Font.
$name = 'theme_roshnilite/fontfilesvgheading';
$title = get_string('fontfilesvgheading', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilesvgheading');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// Body fonts.
// TTF Font.
$name = 'theme_roshnilite/fontfilettfbody';
$title = get_string('fontfilettfbody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilettfbody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// OTF Font.
$name = 'theme_roshnilite/fontfileotfbody';
$title = get_string('fontfileotfbody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfileotfbody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// WOFF Font.
$name = 'theme_roshnilite/fontfilewoffbody';
$title = get_string('fontfilewoffbody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilewoffbody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
if ($woff2) {
// WOFF2 Font.
$name = 'theme_roshnilite/fontfilewofftwobody';
$title = get_string('fontfilewofftwobody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilewofftwobody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
// EOT Font.
$name = 'theme_roshnilite/fontfileeotbody';
$title = get_string('fontfileeotbody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfileweotbody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
// SVG Font.
$name = 'theme_roshnilite/fontfilesvgbody';
$title = get_string('fontfilesvgbody', 'theme_roshnilite');
$description = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'fontfilesvgbody');
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
// Custom CSS file.
$name = 'theme_roshnilite/customcss';
$title = get_string('customcss', 'theme_roshnilite');
$description = get_string('customcssdesc', 'theme_roshnilite');
$default = '';
$setting = new admin_setting_configtextarea($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$settings->add($page);
$page = new admin_settingpage('theme_roshnilite_faculty', get_string('facultysettings', 'theme_roshnilite'));
$name = 'theme_roshnilite/facultycount';
$title = get_string('facultycount', 'theme_roshnilite');
$description = get_string('facultycountdesc', 'theme_roshnilite');
$setting = new admin_setting_configselect($name, $title, $description, 0,
[
1 => get_string('one', 'theme_roshnilite'),
2 => get_string('two', 'theme_roshnilite'),
3 => get_string('three', 'theme_roshnilite'),
4 => get_string('four', 'theme_roshnilite'),
5 => get_string('five', 'theme_roshnilite'),
6 => get_string('six', 'theme_roshnilite'),
7 => get_string('seven', 'theme_roshnilite'),
8 => get_string('eight', 'theme_roshnilite'),
]);
$page->add($setting);
for ($facultycounts = 1; $facultycounts <= get_config('theme_roshnilite', 'facultycount'); $facultycounts++) {
$name = 'theme_roshnilite/facultyimage'.$facultycounts;
$title = get_string('facultyimage', 'theme_roshnilite').$facultycounts;
$description = get_string('facultyimagedesc', 'theme_roshnilite').$facultycounts;
$default = '';
$setting = new admin_setting_configstoredfile($name, $title, $description, 'facultyimage'.$facultycounts);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultyname'.$facultycounts;
$title = get_string('facultyname', 'theme_roshnilite').$facultycounts;
$description = get_string('facultynamedesc', 'theme_roshnilite').$facultycounts;
$default = '';
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultysubtext'.$facultycounts;
$title = get_string('facultysubtext', 'theme_roshnilite').$facultycounts;
$description = get_string('facultysubtextdesc', 'theme_roshnilite').$facultycounts;
$default = '';
$setting = new admin_setting_confightmleditor($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultyfburl'.$facultycounts;
$title = get_string('facultyfburl', 'theme_roshnilite').$facultycounts;
$description = get_string('facultyfburldesc', 'theme_roshnilite').$facultycounts;
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultylnkdnurl'.$facultycounts;
$title = get_string('facultylnkdnurl', 'theme_roshnilite').$facultycounts;
$description = get_string('facultylnkdnurldesc', 'theme_roshnilite').$facultycounts;
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultygoogleurl'.$facultycounts;
$title = get_string('facultygoogleurl', 'theme_roshnilite').$facultycounts;
$description = get_string('facultygoogleurldesc', 'theme_roshnilite').$facultycounts;
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
$name = 'theme_roshnilite/facultytwitterurl'.$facultycounts;
$title = get_string('facultytwitterurl', 'theme_roshnilite').$facultycounts;
$description = get_string('facultytwitterurldesc', 'theme_roshnilite').$facultycounts;
$default = get_string('sliderurldefault', 'theme_roshnilite');
$setting = new admin_setting_configtext($name, $title, $description, $default);
$setting->set_updatedcallback('theme_reset_all_caches');
$page->add($setting);
}
$settings->add($page);
}
================================================
FILE: style/moodle.css
================================================
@charset "UTF-8";
@font-face {
font-family: 'FontAwesome';
src: url("[[font:core|fontawesome-webfont.eot]]?v=4.7.0");
src: url("[[font:core|fontawesome-webfont.eot]]?#iefix&v=4.7.0") format("embedded-opentype"), url("[[font:core|fontawesome-webfont.woff2]]?v=4.7.0") format("woff2"), url("[[font:core|fontawesome-webfont.woff]]?v=4.7.0") format("woff"), url("[[font:core|fontawesome-webfont.ttf]]?v=4.7.0") format("truetype"), url("[[font:core|fontawesome-webfont.svg]]?v=4.7.0#fontawesomeregular") format("svg");
font-weight: normal;
font-style: normal; }
/*!
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
.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; }
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.3333333333em;
line-height: 0.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.2857142857em;
text-align: center; }
.fa-ul {
padding-left: 0;
margin-left: 2.1428571429em;
list-style-type: none; }
.fa-ul > li {
position: relative; }
.fa-li {
position: absolute;
left: -2.1428571429em;
width: 2.1428571429em;
top: 0.1428571429em;
text-align: center; }
.fa-li.fa-lg {
left: -1.8571428571em; }
.fa-border {
padding: .2em .25em .15em;
border: solid 0.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; }
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-glass:before {
content: ""; }
.fa-music:before {
content: ""; }
.fa-search:before {
content: ""; }
.fa-envelope-o:before {
content: ""; }
.fa-heart:before {
content: ""; }
.fa-star:before {
content: ""; }
.fa-star-o:before {
content: ""; }
.fa-user:before {
content: ""; }
.fa-film:before {
content: ""; }
.fa-th-large:before {
content: ""; }
.fa-th:before {
content: ""; }
.fa-th-list:before {
content: ""; }
.fa-check:before {
content: ""; }
.fa-remove:before,
.fa-close:before,
.fa-times:before {
content: ""; }
.fa-search-plus:before {
content: ""; }
.fa-search-minus:before {
content: ""; }
.fa-power-off:before {
content: ""; }
.fa-signal:before {
content: ""; }
.fa-gear:before,
.fa-cog:before {
content: ""; }
.fa-trash-o:before {
content: ""; }
.fa-home:before {
content: ""; }
.fa-file-o:before {
content: ""; }
.fa-clock-o:before {
content: ""; }
.fa-road:before {
content: ""; }
.fa-download:before {
content: ""; }
.fa-arrow-circle-o-down:before {
content: ""; }
.fa-arrow-circle-o-up:before {
content: ""; }
.fa-inbox:before {
content: ""; }
.fa-play-circle-o:before {
content: ""; }
.fa-rotate-right:before,
.fa-repeat:before {
content: ""; }
.fa-refresh:before {
content: ""; }
.fa-list-alt:before {
content: ""; }
.fa-lock:before {
content: ""; }
.fa-flag:before {
content: ""; }
.fa-headphones:before {
content: ""; }
.fa-volume-off:before {
content: ""; }
.fa-volume-down:before {
content: ""; }
.fa-volume-up:before {
content: ""; }
.fa-qrcode:before {
content: ""; }
.fa-barcode:before {
content: ""; }
.fa-tag:before {
content: ""; }
.fa-tags:before {
content: ""; }
.fa-book:before {
content: ""; }
.fa-bookmark:before {
content: ""; }
.fa-print:before {
content: ""; }
.fa-camera:before {
content: ""; }
.fa-font:before {
content: ""; }
.fa-bold:before {
content: ""; }
.fa-italic:before {
content: ""; }
.fa-text-height:before {
content: ""; }
.fa-text-width:before {
content: ""; }
.fa-align-left:before {
content: ""; }
.fa-align-center:before {
content: ""; }
.fa-align-right:before {
content: ""; }
.fa-align-justify:before {
content: ""; }
.fa-list:before {
content: ""; }
.fa-dedent:before,
.fa-outdent:before {
content: ""; }
.fa-indent:before {
content: ""; }
.fa-video-camera:before {
content: ""; }
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
content: ""; }
.fa-pencil:before {
content: ""; }
.fa-map-marker:before {
content: ""; }
.fa-adjust:before {
content: ""; }
.fa-tint:before {
content: ""; }
.fa-edit:before,
.fa-pencil-square-o:before {
content: ""; }
.fa-share-square-o:before {
content: ""; }
.fa-check-square-o:before {
content: ""; }
.fa-arrows:before {
content: ""; }
.fa-step-backward:before {
content: ""; }
.fa-fast-backward:before {
content: ""; }
.fa-backward:before {
content: ""; }
.fa-play:before {
content: ""; }
.fa-pause:before {
content: ""; }
.fa-stop:before {
content: ""; }
.fa-forward:before {
content: ""; }
.fa-fast-forward:before {
content: ""; }
.fa-step-forward:before {
content: ""; }
.fa-eject:before {
content: ""; }
.fa-chevron-left:before {
content: ""; }
.fa-chevron-right:before {
content: ""; }
.fa-plus-circle:before {
content: ""; }
.fa-minus-circle:before {
content: ""; }
.fa-times-circle:before {
content: ""; }
.fa-check-circle:before {
content: ""; }
.fa-question-circle:before {
content: ""; }
.fa-info-circle:before {
content: ""; }
.fa-crosshairs:before {
content: ""; }
.fa-times-circle-o:before {
content: ""; }
.fa-check-circle-o:before {
content: ""; }
.fa-ban:before {
content: ""; }
.fa-arrow-left:before {
content: ""; }
.fa-arrow-right:before {
content: ""; }
.fa-arrow-up:before {
content: ""; }
.fa-arrow-down:before {
content: ""; }
.fa-mail-forward:before,
.fa-share:before {
content: ""; }
.fa-expand:before {
content: ""; }
.fa-compress:before {
content: ""; }
.fa-plus:before {
content: ""; }
.fa-minus:before {
content: ""; }
.fa-asterisk:before {
content: ""; }
.fa-exclamation-circle:before {
content: ""; }
.fa-gift:before {
content: ""; }
.fa-leaf:before {
content: ""; }
.fa-fire:before {
content: ""; }
.fa-eye:before {
content: ""; }
.fa-eye-slash:before {
content: ""; }
.fa-warning:before,
.fa-exclamation-triangle:before {
content: ""; }
.fa-plane:before {
content: ""; }
.fa-calendar:before {
content: ""; }
.fa-random:before {
content: ""; }
.fa-comment:before {
content: ""; }
.fa-magnet:before {
content: ""; }
.fa-chevron-up:before {
content: ""; }
.fa-chevron-down:before {
content: ""; }
.fa-retweet:before {
content: ""; }
.fa-shopping-cart:before {
content: ""; }
.fa-folder:before {
content: ""; }
.fa-folder-open:before {
content: ""; }
.fa-arrows-v:before {
content: ""; }
.fa-arrows-h:before {
content: ""; }
.fa-bar-chart-o:before,
.fa-bar-chart:before {
content: ""; }
.fa-twitter-square:before {
content: ""; }
.fa-facebook-square:before {
content: ""; }
.fa-camera-retro:before {
content: ""; }
.fa-key:before {
content: ""; }
.fa-gears:before,
.fa-cogs:before {
content: ""; }
.fa-comments:before {
content: ""; }
.fa-thumbs-o-up:before {
content: ""; }
.fa-thumbs-o-down:before {
content: ""; }
.fa-star-half:before {
content: ""; }
.fa-heart-o:before {
content: ""; }
.fa-sign-out:before {
content: ""; }
.fa-linkedin-square:before {
content: ""; }
.fa-thumb-tack:before {
content: ""; }
.fa-external-link:before {
content: ""; }
.fa-sign-in:before {
content: ""; }
.fa-trophy:before {
content: ""; }
.fa-github-square:before {
content: ""; }
.fa-upload:before {
content: ""; }
.fa-lemon-o:before {
content: ""; }
.fa-phone:before {
content: ""; }
.fa-square-o:before {
content: ""; }
.fa-bookmark-o:before {
content: ""; }
.fa-phone-square:before {
content: ""; }
.fa-twitter:before {
content: ""; }
.fa-facebook-f:before,
.fa-facebook:before {
content: ""; }
.fa-github:before {
content: ""; }
.fa-unlock:before {
content: ""; }
.fa-credit-card:before {
content: ""; }
.fa-feed:before,
.fa-rss:before {
content: ""; }
.fa-hdd-o:before {
content: ""; }
.fa-bullhorn:before {
content: ""; }
.fa-bell:before {
content: ""; }
.fa-certificate:before {
content: ""; }
.fa-hand-o-right:before {
content: ""; }
.fa-hand-o-left:before {
content: ""; }
.fa-hand-o-up:before {
content: ""; }
.fa-hand-o-down:before {
content: ""; }
.fa-arrow-circle-left:before {
content: ""; }
.fa-arrow-circle-right:before {
content: ""; }
.fa-arrow-circle-up:before {
content: ""; }
.fa-arrow-circle-down:before {
content: ""; }
.fa-globe:before {
content: ""; }
.fa-wrench:before {
content: ""; }
.fa-tasks:before {
content: ""; }
.fa-filter:before {
content: ""; }
.fa-briefcase:before {
content: ""; }
.fa-arrows-alt:before {
content: ""; }
.fa-group:before,
.fa-users:before {
content: ""; }
.fa-chain:before,
.fa-link:before {
content: ""; }
.fa-cloud:before {
content: ""; }
.fa-flask:before {
content: ""; }
.fa-cut:before,
.fa-scissors:before {
content: ""; }
.fa-copy:before,
.fa-files-o:before {
content: ""; }
.fa-paperclip:before {
content: ""; }
.fa-save:before,
.fa-floppy-o:before {
content: ""; }
.fa-square:before {
content: ""; }
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
content: ""; }
.fa-list-ul:before {
content: ""; }
.fa-list-ol:before {
content: ""; }
.fa-strikethrough:before {
content: ""; }
.fa-underline:before {
content: ""; }
.fa-table:before {
content: ""; }
.fa-magic:before {
content: ""; }
.fa-truck:before {
content: ""; }
.fa-pinterest:before {
content: ""; }
.fa-pinterest-square:before {
content: ""; }
.fa-google-plus-square:before {
content: ""; }
.fa-google-plus:before {
content: ""; }
.fa-money:before {
content: ""; }
.fa-caret-down:before {
content: ""; }
.fa-caret-up:before {
content: ""; }
.fa-caret-left:before {
content: ""; }
.fa-caret-right:before {
content: ""; }
.fa-columns:before {
content: ""; }
.fa-unsorted:before,
.fa-sort:before {
content: ""; }
.fa-sort-down:before,
.fa-sort-desc:before {
content: ""; }
.fa-sort-up:before,
.fa-sort-asc:before {
content: ""; }
.fa-envelope:before {
content: ""; }
.fa-linkedin:before {
content: ""; }
.fa-rotate-left:before,
.fa-undo:before {
content: ""; }
.fa-legal:before,
.fa-gavel:before {
content: ""; }
.fa-dashboard:before,
.fa-tachometer:before {
content: ""; }
.fa-comment-o:before {
content: ""; }
.fa-comments-o:before {
content: ""; }
.fa-flash:before,
.fa-bolt:before {
content: ""; }
.fa-sitemap:before {
content: ""; }
.fa-umbrella:before {
content: ""; }
.fa-paste:before,
.fa-clipboard:before {
content: ""; }
.fa-lightbulb-o:before {
content: ""; }
.fa-exchange:before {
content: ""; }
.fa-cloud-download:before {
content: ""; }
.fa-cloud-upload:before {
content: ""; }
.fa-user-md:before {
content: ""; }
.fa-stethoscope:before {
content: ""; }
.fa-suitcase:before {
content: ""; }
.fa-bell-o:before {
content: ""; }
.fa-coffee:before {
content: ""; }
.fa-cutlery:before {
content: ""; }
.fa-file-text-o:before {
content: ""; }
.fa-building-o:before {
content: ""; }
.fa-hospital-o:before {
content: ""; }
.fa-ambulance:before {
content: ""; }
.fa-medkit:before {
content: ""; }
.fa-fighter-jet:before {
content: ""; }
.fa-beer:before {
content: ""; }
.fa-h-square:before {
content: ""; }
.fa-plus-square:before {
content: ""; }
.fa-angle-double-left:before {
content: ""; }
.fa-angle-double-right:before {
content: ""; }
.fa-angle-double-up:before {
content: ""; }
.fa-angle-double-down:before {
content: ""; }
.fa-angle-left:before {
content: ""; }
.fa-angle-right:before {
content: ""; }
.fa-angle-up:before {
content: ""; }
.fa-angle-down:before {
content: ""; }
.fa-desktop:before {
content: ""; }
.fa-laptop:before {
content: ""; }
.fa-tablet:before {
content: ""; }
.fa-mobile-phone:before,
.fa-mobile:before {
content: ""; }
.fa-circle-o:before {
content: ""; }
.fa-quote-left:before {
content: ""; }
.fa-quote-right:before {
content: ""; }
.fa-spinner:before {
content: ""; }
.fa-circle:before {
content: ""; }
.fa-mail-reply:before,
.fa-reply:before {
content: ""; }
.fa-github-alt:before {
content: ""; }
.fa-folder-o:before {
content: ""; }
.fa-folder-open-o:before {
content: ""; }
.fa-smile-o:before {
content: ""; }
.fa-frown-o:before {
content: ""; }
.fa-meh-o:before {
content: ""; }
.fa-gamepad:before {
content: ""; }
.fa-keyboard-o:before {
content: ""; }
.fa-flag-o:before {
content: ""; }
.fa-flag-checkered:before {
content: ""; }
.fa-terminal:before {
content: ""; }
.fa-code:before {
content: ""; }
.fa-mail-reply-all:before,
.fa-reply-all:before {
content: ""; }
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
content: ""; }
.fa-location-arrow:before {
content: ""; }
.fa-crop:before {
content: ""; }
.fa-code-fork:before {
content: ""; }
.fa-unlink:before,
.fa-chain-broken:before {
content: ""; }
.fa-question:before {
content: ""; }
.fa-info:before {
content: ""; }
.fa-exclamation:before {
content: ""; }
.fa-superscript:before {
content: ""; }
.fa-subscript:before {
content: ""; }
.fa-eraser:before {
content: ""; }
.fa-puzzle-piece:before {
content: ""; }
.fa-microphone:before {
content: ""; }
.fa-microphone-slash:before {
content: ""; }
.fa-shield:before {
content: ""; }
.fa-calendar-o:before {
content: ""; }
.fa-fire-extinguisher:before {
content: ""; }
.fa-rocket:before {
content: ""; }
.fa-maxcdn:before {
content: ""; }
.fa-chevron-circle-left:before {
content: ""; }
.fa-chevron-circle-right:before {
content: ""; }
.fa-chevron-circle-up:before {
content: ""; }
.fa-chevron-circle-down:before {
content: ""; }
.fa-html5:before {
content: ""; }
.fa-css3:before {
content: ""; }
.fa-anchor:before {
content: ""; }
.fa-unlock-alt:before {
content: ""; }
.fa-bullseye:before {
content: ""; }
.fa-ellipsis-h:before {
content: ""; }
.fa-ellipsis-v:before {
content: ""; }
.fa-rss-square:before {
content: ""; }
.fa-play-circle:before {
content: ""; }
.fa-ticket:before {
content: ""; }
.fa-minus-square:before {
content: ""; }
.fa-minus-square-o:before {
content: ""; }
.fa-level-up:before {
content: ""; }
.fa-level-down:before {
content: ""; }
.fa-check-square:before {
content: ""; }
.fa-pencil-square:before {
content: ""; }
.fa-external-link-square:before {
content: ""; }
.fa-share-square:before {
content: ""; }
.fa-compass:before {
content: ""; }
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
content: ""; }
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
content: ""; }
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
content: ""; }
.fa-euro:before,
.fa-eur:before {
content: ""; }
.fa-gbp:before {
content: ""; }
.fa-dollar:before,
.fa-usd:before {
content: ""; }
.fa-rupee:before,
.fa-inr:before {
content: ""; }
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
content: ""; }
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
content: ""; }
.fa-won:before,
.fa-krw:before {
content: ""; }
.fa-bitcoin:before,
.fa-btc:before {
content: ""; }
.fa-file:before {
content: ""; }
.fa-file-text:before {
content: ""; }
.fa-sort-alpha-asc:before {
content: ""; }
.fa-sort-alpha-desc:before {
content: ""; }
.fa-sort-amount-asc:before {
content: ""; }
.fa-sort-amount-desc:before {
content: ""; }
.fa-sort-numeric-asc:before {
content: ""; }
.fa-sort-numeric-desc:before {
content: ""; }
.fa-thumbs-up:before {
content: ""; }
.fa-thumbs-down:before {
content: ""; }
.fa-youtube-square:before {
content: ""; }
.fa-youtube:before {
content: ""; }
.fa-xing:before {
content: ""; }
.fa-xing-square:before {
content: ""; }
.fa-youtube-play:before {
content: ""; }
.fa-dropbox:before {
content: ""; }
.fa-stack-overflow:before {
content: ""; }
.fa-instagram:before {
content: ""; }
.fa-flickr:before {
content: ""; }
.fa-adn:before {
content: ""; }
.fa-bitbucket:before {
content: ""; }
.fa-bitbucket-square:before {
content: ""; }
.fa-tumblr:before {
content: ""; }
.fa-tumblr-square:before {
content: ""; }
.fa-long-arrow-down:before {
content: ""; }
.fa-long-arrow-up:before {
content: ""; }
.fa-long-arrow-left:before {
content: ""; }
.fa-long-arrow-right:before {
content: ""; }
.fa-apple:before {
content: ""; }
.fa-windows:before {
content: ""; }
.fa-android:before {
content: ""; }
.fa-linux:before {
content: ""; }
.fa-dribbble:before {
content: ""; }
.fa-skype:before {
content: ""; }
.fa-foursquare:before {
content: ""; }
.fa-trello:before {
content: ""; }
.fa-female:before {
content: ""; }
.fa-male:before {
content: ""; }
.fa-gittip:before,
.fa-gratipay:before {
content: ""; }
.fa-sun-o:before {
content: ""; }
.fa-moon-o:before {
content: ""; }
.fa-archive:before {
content: ""; }
.fa-bug:before {
content: ""; }
.fa-vk:before {
content: ""; }
.fa-weibo:before {
content: ""; }
.fa-renren:before {
content: ""; }
.fa-pagelines:before {
content: ""; }
.fa-stack-exchange:before {
content: ""; }
.fa-arrow-circle-o-right:before {
content: ""; }
.fa-arrow-circle-o-left:before {
content: ""; }
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
content: ""; }
.fa-dot-circle-o:before {
content: ""; }
.fa-wheelchair:before {
content: ""; }
.fa-vimeo-square:before {
content: ""; }
.fa-turkish-lira:before,
.fa-try:before {
content: ""; }
.fa-plus-square-o:before {
content: ""; }
.fa-space-shuttle:before {
content: ""; }
.fa-slack:before {
content: ""; }
.fa-envelope-square:before {
content: ""; }
.fa-wordpress:before {
content: ""; }
.fa-openid:before {
content: ""; }
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
content: ""; }
.fa-mortar-board:before,
.fa-graduation-cap:before {
content: ""; }
.fa-yahoo:before {
content: ""; }
.fa-google:before {
content: ""; }
.fa-reddit:before {
content: ""; }
.fa-reddit-square:before {
content: ""; }
.fa-stumbleupon-circle:before {
content: ""; }
.fa-stumbleupon:before {
content: ""; }
.fa-delicious:before {
content: ""; }
.fa-digg:before {
content: ""; }
.fa-pied-piper-pp:before {
content: ""; }
.fa-pied-piper-alt:before {
content: ""; }
.fa-drupal:before {
content: ""; }
.fa-joomla:before {
content: ""; }
.fa-language:before {
content: ""; }
.fa-fax:before {
content: ""; }
.fa-building:before {
content: ""; }
.fa-child:before {
content: ""; }
.fa-paw:before {
content: ""; }
.fa-spoon:before {
content: ""; }
.fa-cube:before {
content: ""; }
.fa-cubes:before {
content: ""; }
.fa-behance:before {
content: ""; }
.fa-behance-square:before {
content: ""; }
.fa-steam:before {
content: ""; }
.fa-steam-square:before {
content: ""; }
.fa-recycle:before {
content: ""; }
.fa-automobile:before,
.fa-car:before {
content: ""; }
.fa-cab:before,
.fa-taxi:before {
content: ""; }
.fa-tree:before {
content: ""; }
.fa-spotify:before {
content: ""; }
.fa-deviantart:before {
content: ""; }
.fa-soundcloud:before {
content: ""; }
.fa-database:before {
content: ""; }
.fa-file-pdf-o:before {
content: ""; }
.fa-file-word-o:before {
content: ""; }
.fa-file-excel-o:before {
content: ""; }
.fa-file-powerpoint-o:before {
content: ""; }
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
content: ""; }
.fa-file-zip-o:before,
.fa-file-archive-o:before {
content: ""; }
.fa-file-sound-o:before,
.fa-file-audio-o:before {
content: ""; }
.fa-file-movie-o:before,
.fa-file-video-o:before {
content: ""; }
.fa-file-code-o:before {
content: ""; }
.fa-vine:before {
content: ""; }
.fa-codepen:before {
content: ""; }
.fa-jsfiddle:before {
content: ""; }
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
content: ""; }
.fa-circle-o-notch:before {
content: ""; }
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
content: ""; }
.fa-ge:before,
.fa-empire:before {
content: ""; }
.fa-git-square:before {
content: ""; }
.fa-git:before {
content: ""; }
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
content: ""; }
.fa-tencent-weibo:before {
content: ""; }
.fa-qq:before {
content: ""; }
.fa-wechat:before,
.fa-weixin:before {
content: ""; }
.fa-send:before,
.fa-paper-plane:before {
content: ""; }
.fa-send-o:before,
.fa-paper-plane-o:before {
content: ""; }
.fa-history:before {
content: ""; }
.fa-circle-thin:before {
content: ""; }
.fa-header:before {
content: ""; }
.fa-paragraph:before {
content: ""; }
.fa-sliders:before {
content: ""; }
.fa-share-alt:before {
content: ""; }
.fa-share-alt-square:before {
content: ""; }
.fa-bomb:before {
content: ""; }
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
content: ""; }
.fa-tty:before {
content: ""; }
.fa-binoculars:before {
content: ""; }
.fa-plug:before {
content: ""; }
.fa-slideshare:before {
content: ""; }
.fa-twitch:before {
content: ""; }
.fa-yelp:before {
content: ""; }
.fa-newspaper-o:before {
content: ""; }
.fa-wifi:before {
content: ""; }
.fa-calculator:before {
content: ""; }
.fa-paypal:before {
content: ""; }
.fa-google-wallet:before {
content: ""; }
.fa-cc-visa:before {
content: ""; }
.fa-cc-mastercard:before {
content: ""; }
.fa-cc-discover:before {
content: ""; }
.fa-cc-amex:before {
content: ""; }
.fa-cc-paypal:before {
content: ""; }
.fa-cc-stripe:before {
content: ""; }
.fa-bell-slash:before {
content: ""; }
.fa-bell-slash-o:before {
content: ""; }
.fa-trash:before {
content: ""; }
.fa-copyright:before {
content: ""; }
.fa-at:before {
content: ""; }
.fa-eyedropper:before {
content: ""; }
.fa-paint-brush:before {
content: ""; }
.fa-birthday-cake:before {
content: ""; }
.fa-area-chart:before {
content: ""; }
.fa-pie-chart:before {
content: ""; }
.fa-line-chart:before {
content: ""; }
.fa-lastfm:before {
content: ""; }
.fa-lastfm-square:before {
content: ""; }
.fa-toggle-off:before {
content: ""; }
.fa-toggle-on:before {
content: ""; }
.fa-bicycle:before {
content: ""; }
.fa-bus:before {
content: ""; }
.fa-ioxhost:before {
content: ""; }
.fa-angellist:before {
content: ""; }
.fa-cc:before {
content: ""; }
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
content: ""; }
.fa-meanpath:before {
content: ""; }
.fa-buysellads:before {
content: ""; }
.fa-connectdevelop:before {
content: ""; }
.fa-dashcube:before {
content: ""; }
.fa-forumbee:before {
content: ""; }
.fa-leanpub:before {
content: ""; }
.fa-sellsy:before {
content: ""; }
.fa-shirtsinbulk:before {
content: ""; }
.fa-simplybuilt:before {
content: ""; }
.fa-skyatlas:before {
content: ""; }
.fa-cart-plus:before {
content: ""; }
.fa-cart-arrow-down:before {
content: ""; }
.fa-diamond:before {
content: ""; }
.fa-ship:before {
content: ""; }
.fa-user-secret:before {
content: ""; }
.fa-motorcycle:before {
content: ""; }
.fa-street-view:before {
content: ""; }
.fa-heartbeat:before {
content: ""; }
.fa-venus:before {
content: ""; }
.fa-mars:before {
content: ""; }
.fa-mercury:before {
content: ""; }
.fa-intersex:before,
.fa-transgender:before {
content: ""; }
.fa-transgender-alt:before {
content: ""; }
.fa-venus-double:before {
content: ""; }
.fa-mars-double:before {
content: ""; }
.fa-venus-mars:before {
content: ""; }
.fa-mars-stroke:before {
content: ""; }
.fa-mars-stroke-v:before {
content: ""; }
.fa-mars-stroke-h:before {
content: ""; }
.fa-neuter:before {
content: ""; }
.fa-genderless:before {
content: ""; }
.fa-facebook-official:before {
content: ""; }
.fa-pinterest-p:before {
content: ""; }
.fa-whatsapp:before {
content: ""; }
.fa-server:before {
content: ""; }
.fa-user-plus:before {
content: ""; }
.fa-user-times:before {
content: ""; }
.fa-hotel:before,
.fa-bed:before {
content: ""; }
.fa-viacoin:before {
content: ""; }
.fa-train:before {
content: ""; }
.fa-subway:before {
content: ""; }
.fa-medium:before {
content: ""; }
.fa-yc:before,
.fa-y-combinator:before {
content: ""; }
.fa-optin-monster:before {
content: ""; }
.fa-opencart:before {
content: ""; }
.fa-expeditedssl:before {
content: ""; }
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
content: ""; }
.fa-battery-3:before,
.fa-battery-three-quarters:before {
content: ""; }
.fa-battery-2:before,
.fa-battery-half:before {
content: ""; }
.fa-battery-1:before,
.fa-battery-quarter:before {
content: ""; }
.fa-battery-0:before,
.fa-battery-empty:before {
content: ""; }
.fa-mouse-pointer:before {
content: ""; }
.fa-i-cursor:before {
content: ""; }
.fa-object-group:before {
content: ""; }
.fa-object-ungroup:before {
content: ""; }
.fa-sticky-note:before {
content: ""; }
.fa-sticky-note-o:before {
content: ""; }
.fa-cc-jcb:before {
content: ""; }
.fa-cc-diners-club:before {
content: ""; }
.fa-clone:before {
content: ""; }
.fa-balance-scale:before {
content: ""; }
.fa-hourglas
gitextract_1wpdxlqs/ ├── Readme.txt ├── config.php ├── lang/ │ └── en/ │ └── theme_roshnilite.php ├── layout/ │ ├── columns.php │ ├── contentonly.php │ ├── footer.php │ ├── frontpage.php │ ├── login.php │ ├── maintenance.php │ ├── navbar.php │ └── secure.php ├── lib.php ├── scss/ │ ├── classicgrunt.scss │ ├── fontawesome.css │ ├── fontawesome.scss │ ├── moodle.scss │ ├── preset/ │ │ ├── default.scss │ │ └── plain.scss │ └── roshnilite/ │ ├── body-background.scss │ ├── post.scss │ ├── pre.css │ └── pre.scss ├── settings.php ├── style/ │ ├── moodle.css │ └── styles.css ├── templates/ │ ├── columns.mustache │ ├── contentonly.mustache │ ├── footer.mustache │ ├── frontpage.mustache │ ├── frontpagefooter.mustache │ ├── frontpagenavbar.mustache │ ├── head.mustache │ ├── login.mustache │ ├── maintenance.mustache │ ├── navbar-secure.mustache │ ├── navbar.mustache │ └── secure.mustache └── version.php
SYMBOL INDEX (16 symbols across 1 files)
FILE: lib.php
function theme_roshnilite_get_pre_scss (line 37) | function theme_roshnilite_get_pre_scss($theme) {
function theme_roshnilite_get_extra_scss (line 75) | function theme_roshnilite_get_extra_scss($theme) {
function theme_roshnilite_get_precompiled_css (line 105) | function theme_roshnilite_get_precompiled_css() {
function theme_roshnilite_get_main_scss_content (line 116) | function theme_roshnilite_get_main_scss_content($theme) {
function theme_roshnilite_process_css (line 153) | function theme_roshnilite_process_css($css, $theme) {
function theme_roshnilite_set_fontsize (line 186) | function theme_roshnilite_set_fontsize($css, $themefontsize) {
function theme_roshnilite_set_logo (line 203) | function theme_roshnilite_set_logo($css, $logo) {
function theme_roshnilite_get_setting (line 222) | function theme_roshnilite_get_setting($setting, $format = false) {
function theme_roshnilite_set_headingfont (line 248) | function theme_roshnilite_set_headingfont($css, $headingfont) {
function theme_roshnilite_set_bodyfont (line 261) | function theme_roshnilite_set_bodyfont($css, $bodyfont) {
function theme_roshnilite_set_fontfiles (line 275) | function theme_roshnilite_set_fontfiles($css, $type, $fontname) {
function theme_roshnilite_set_customcss (line 333) | function theme_roshnilite_set_customcss($css, $customcss) {
function theme_roshnilite_set_maincolor (line 351) | function theme_roshnilite_set_maincolor($css, $themecolor) {
function theme_roshnilite_set_brandcolor (line 368) | function theme_roshnilite_set_brandcolor($css, $themecolor) {
function theme_roshnilite_get_html_for_settings (line 392) | function theme_roshnilite_get_html_for_settings(renderer_base $output, m...
function theme_roshnilite_pluginfile (line 676) | function theme_roshnilite_pluginfile($course, $cm, $context, $filearea, ...
Condensed preview — 38 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (894K chars).
[
{
"path": "Readme.txt",
"chars": 2065,
"preview": "Roshni Lite [This block is written by DualCube<admin@dulacube.com>.]\n===========\nThis Moodle Theme is a 100% responsive,"
},
{
"path": "config.php",
"chars": 5403,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "lang/en/theme_roshnilite.php",
"chars": 15102,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/columns.php",
"chars": 2323,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/contentonly.php",
"chars": 1318,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/footer.php",
"chars": 1084,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/frontpage.php",
"chars": 24719,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/login.php",
"chars": 1552,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/maintenance.php",
"chars": 1181,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/navbar.php",
"chars": 1328,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "layout/secure.php",
"chars": 1685,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "lib.php",
"chars": 29519,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "scss/classicgrunt.scss",
"chars": 156,
"preview": "// This file allows the creation of precompiled css from the core Grunt task.\n@import \"roshnilite/pre\";\n@import \"preset/"
},
{
"path": "scss/fontawesome.css",
"chars": 37669,
"preview": "@font-face {\n font-family: \"FontAwesome\";\n src: url(\"[[font:core|fontawesome-webfont.eot]]?v=4.7.0\");\n src: url(\"[[fo"
},
{
"path": "scss/fontawesome.scss",
"chars": 62,
"preview": "// Import FontAwesome.\n@import \"../../boost/scss/fontawesome\";"
},
{
"path": "scss/moodle.scss",
"chars": 66,
"preview": "// Import Boost Core moodle CSS\n@import \"../../boost/scss/moodle\";"
},
{
"path": "scss/preset/default.scss",
"chars": 2664,
"preview": "// Bootstrap variables\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #"
},
{
"path": "scss/preset/plain.scss",
"chars": 139,
"preview": "// Import FontAwesome.\n@import \"fontawesome\";\n\n// Import All of Bootstrap\n@import \"bootstrap\";\n\n// Import Core moodle CS"
},
{
"path": "scss/roshnilite/body-background.scss",
"chars": 273,
"preview": "body {\n background-image: url($imageurl);\n background-size: cover;\n}\n.region-main .region-main-content {\n paddi"
},
{
"path": "scss/roshnilite/post.scss",
"chars": 5111,
"preview": "// General Post SCSS for use in all presets.\n\n// Generate the column layout css.\n@mixin page_layout($blockswidth) {\n "
},
{
"path": "scss/roshnilite/pre.css",
"chars": 35,
"preview": "/*# sourceMappingURL=pre.css.map */"
},
{
"path": "scss/roshnilite/pre.scss",
"chars": 131,
"preview": "// General variables for all presets\n\n// Disable the Boost theme reset styling and fixed width content.\n$allow-reset-sty"
},
{
"path": "settings.php",
"chars": 34846,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
},
{
"path": "style/moodle.css",
"chars": 619867,
"preview": "@charset \"UTF-8\";\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"[[font:core|fontawesome-webfont.eot]]?v=4.7.0\")"
},
{
"path": "style/styles.css",
"chars": 38898,
"preview": "@font-face {\n font-family: [[setting:bodyfont]];\n src: url([[setting:fontname]]);\n }\n body{font-family: [[settin"
},
{
"path": "templates/columns.mustache",
"chars": 3997,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/contentonly.mustache",
"chars": 2037,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/footer.mustache",
"chars": 741,
"preview": "<footer id=\"page-footer\" class=\"py-3\">\n <div class=\"container\">\n <div id=\"course-footer\">{{{ output.course_foo"
},
{
"path": "templates/frontpage.mustache",
"chars": 8085,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/frontpagefooter.mustache",
"chars": 692,
"preview": "<footer id=\"page-footer\" class=\"py-3\">\n <div class=\"container\">\n <div id=\"course-footer\">{{{ output.course_foo"
},
{
"path": "templates/frontpagenavbar.mustache",
"chars": 1473,
"preview": "<nav class=\"fixed-top navbar navbar-bootswatch navbar-expand moodle-has-zindex\">\n <a href=\"{{{ config.wwwroot }}}"
},
{
"path": "templates/head.mustache",
"chars": 288,
"preview": "{{{ output.doctype }}}\n<html {{{ output.htmlattributes }}}>\n<head>\n <title>{{{ output.page_title }}}</title>\n <lin"
},
{
"path": "templates/login.mustache",
"chars": 1178,
"preview": "{{> theme_roshnilite/head }}\n\n<body {{{ bodyattributes }}}>\n{{> core/local/toast/wrapper}}\n\n<div id=\"page-wrapper\">\n\n "
},
{
"path": "templates/maintenance.mustache",
"chars": 1958,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/navbar-secure.mustache",
"chars": 1590,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/navbar.mustache",
"chars": 2812,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "templates/secure.mustache",
"chars": 3930,
"preview": "{{!\n This file is part of Moodle - http://moodle.org/\n\n Moodle is free software: you can redistribute it and/or mo"
},
{
"path": "version.php",
"chars": 1282,
"preview": "<?php\n// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or "
}
]
About this extraction
This page contains the full source code of the kndnsow/moodle-theme_roshnilite GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 38 files (837.2 KB), approximately 249.0k tokens, and a symbol index with 16 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.