Gitlab CSE Unil

Commit 89a18811 authored by M. Chardon's avatar M. Chardon
Browse files

- mise à niveau des boutons sur bootstrap4

- chemin vers fontawesome
parent 4df2bfe6
......@@ -63,13 +63,12 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
/**
* Render a single colour button.
*
* @param string $icon - The key for the icon
* @param string $tool - The key for the lang string.
* @param string $accesskey Optional - The access key for the button.
* @param bool $disabled Optional - Is this button disabled.
* @return string
*/
private function render_toolbar_button($icon, $tool, assignfeedback_editpdfplus\tool $fulltool = null, $accesskey = null, $disabled = false) {
private function render_toolbar_button($tool, assignfeedback_editpdfplus\tool $fulltool = null, $accesskey = null, $disabled = false) {
if (!$fulltool) {
// Build button alt text.
......@@ -113,7 +112,7 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
}
$iconhtml = html_writer::tag("i", "", array('class' => 'fa ' . $class,
'aria-hidden' => 'true'));
$iconparams = array('data-tool' => $tool, 'class' => $tool . 'button btn', 'type' => 'button');
$iconparams = array('data-tool' => $tool, 'class' => $tool . 'button btn btn-secondary', 'type' => 'button');
if ($disabled) {
$iconparams['disabled'] = 'true';
}
......@@ -161,7 +160,7 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
break;
}
$iconparams = array('data-tool' => $datatool,
'class' => $class . 'button btn costumtoolbarbutton',
'class' => $class . 'btn costumtoolbarbutton btn btn-secondary',
'id' => 'ctbutton' . $fulltool->id,
'type' => 'button');
}
......@@ -185,26 +184,35 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
* @return string
*/
public function render_assignfeedback_editpdfplus_widget(assignfeedback_editpdfplus_widget $widget) {
global $CFG;
$html = '';
//JS declaration
$html .= html_writer::div(get_string('jsrequired', 'assignfeedback_editpdfplus'), 'hiddenifjs');
//Random id for plugin identification
$linkid = html_writer::random_id();
if ($widget->readonly) {
$launcheditorlink = html_writer::tag('a', get_string('viewfeedbackonline', 'assignfeedback_editpdfplus'), array('id' => $linkid, 'class' => 'btn', 'href' => '#'));
$launcheditorlink = html_writer::tag('a', get_string('viewfeedbackonline', 'assignfeedback_editpdfplus'), array('id' => $linkid, 'class' => 'btn btn-secondary', 'href' => '#'));
} else {
$launcheditorlink = html_writer::tag('a', get_string('launcheditor', 'assignfeedback_editpdfplus'), array('id' => $linkid, 'class' => 'btn', 'href' => '#'));
$launcheditorlink = html_writer::tag('a', get_string('launcheditor', 'assignfeedback_editpdfplus'), array('id' => $linkid, 'class' => 'btn btn-secondary', 'href' => '#'));
}
$links = $launcheditorlink;
$html .= '<input type="hidden" name="assignfeedback_editpdfplus_haschanges" value="false"/>';
$html .= html_writer::div($links, 'visibleifjs');
//html header
$header = get_string('pluginname', 'assignfeedback_editpdfplus');
$body = '';
// Create the page navigation.
$navigation1 = '';
$tooglenavigation = html_writer::tag("button", '<span class="navbar-toggler-icon"></span>', array('class' => 'navbar-toggler',
'type' => 'button',
'data-toggle' => "collapse",
'data-target' => "#navbarSupportedContent",
'aria-expanded' => "Toggle navigation"));
// Create the page navigation.
$navigation = '';
// Pick the correct arrow icons for right to left mode.
if (right_to_left()) {
$nav_prev = 'nav_next';
......@@ -213,49 +221,45 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
$nav_prev = 'nav_prev';
$nav_next = 'nav_next';
}
$iconhtmlP = html_writer::tag("i", "", array('class' => 'fa fa-caret-left fa-2x',
$iconhtmlP = html_writer::tag("i", "", array('class' => 'fa fa-caret-left fa-2x',
'aria-hidden' => 'true'));
$navigation1 .= html_writer::tag('button', $iconhtmlP, array('disabled' => 'true',
'class' => 'btn navigate-previous-button',
$navigation .= html_writer::tag('button', $iconhtmlP, array('disabled' => 'true',
'class' => 'btn btn-secondary navigate-previous-button',
'type' => 'button',
'accesskey' => $this->get_shortcut('navigate-previous-button')));
$navigation1 .= html_writer::tag('select', null, array('disabled' => 'true',
$navigation .= html_writer::tag('select', null, array('disabled' => 'true',
'aria-label' => get_string('gotopage', 'assignfeedback_editpdfplus'), 'class' => 'navigate-page-select',
'accesskey' => $this->get_shortcut('navigate-page-select')));
$iconhtmlN = html_writer::tag("i", "", array('class' => 'fa fa-caret-right fa-2x',
'aria-hidden' => 'true'));
$navigation1 .= html_writer::tag('button', $iconhtmlN, array('disabled' => 'true',
'class' => 'btn navigate-next-button',
$navigation .= html_writer::tag('button', $iconhtmlN, array('disabled' => 'true',
'class' => 'btn btn-secondary navigate-next-button',
'type' => 'button',
'accesskey' => $this->get_shortcut('navigate-next-button')));
$divnavigation1 = html_writer::div($navigation1, 'navigation', array('role' => 'navigation'));
$navigationBlock = html_writer::div($navigation, "btn-group btn-group-sm mr-auto", array('role' => 'group'));
$toolbar001 = '';
$toolbar002 = '';
$toolbar003 = '';
$toolbarBaseBlock = '';
$toolbarDrawBlock = '';
$toolbarAdminBlock = '';
$toolbarCostumdiv = '';
$toolbaraxis = '';
$clearfix = html_writer::div('', 'clearfix');
$toolbarAxis = '';
if (!$widget->readonly) {
/** Toolbar n°0 : basic tools * */
// Select Tool.
$toolbar001 .= $this->render_toolbar_button('drag', 'drag', null, $this->get_shortcut('drag'));
$toolbar001 .= $this->render_toolbar_button('select', 'select', null, $this->get_shortcut('select'));
$toolbar001 = html_writer::div($toolbar001, 'toolbar', array('role' => 'toolbar'));
$toolbarBase = $this->render_toolbar_button('drag', null, $this->get_shortcut('drag'));
$toolbarBase .= $this->render_toolbar_button('select', null, $this->get_shortcut('select'));
$toolbarBaseBlock = html_writer::div($toolbarBase, "btn-group btn-group-sm mr-3", array('role' => 'group'));
// Other Tools.
$toolbar002 .= $this->render_toolbar_button('pen', 'pen', null, $this->get_shortcut('pen'));
$toolbar002 .= $this->render_toolbar_button('line', 'line', null, $this->get_shortcut('line'));
$toolbar002 .= $this->render_toolbar_button('rectangle', 'rectangle', null, $this->get_shortcut('rectangle'));
$toolbar002 .= $this->render_toolbar_button('oval', 'oval', null, $this->get_shortcut('oval'));
$toolbar002 .= $this->render_toolbar_button('highlight', 'highlight', null, $this->get_shortcut('highlight'));
$toolbar002 .= $this->render_toolbar_button('background_colour_clear', 'annotationcolour', null, $this->get_shortcut('annotationcolour'));
$toolbar002 = html_writer::div($toolbar002, 'toolbar', array('role' => 'toolbar'));
$toolbarDraw = $this->render_toolbar_button('pen', null, $this->get_shortcut('pen'));
$toolbarDraw .= $this->render_toolbar_button('line', null, $this->get_shortcut('line'));
$toolbarDraw .= $this->render_toolbar_button('rectangle', null, $this->get_shortcut('rectangle'));
$toolbarDraw .= $this->render_toolbar_button('oval', null, $this->get_shortcut('oval'));
$toolbarDraw .= $this->render_toolbar_button('highlight', null, $this->get_shortcut('highlight'));
$toolbarDraw .= $this->render_toolbar_button('annotationcolour', null, $this->get_shortcut('annotationcolour'));
$toolbarDrawBlock = html_writer::div($toolbarDraw, "btn-group btn-group-sm", array('role' => 'group'));
/** Costum toolbars * */
$toolbarCostum = array();
......@@ -265,52 +269,66 @@ class assignfeedback_editpdfplus_renderer extends plugin_renderer_base {
$toolbartmp = '';
foreach ($toolbar['tool'] as $tool) {
if ($tool->enabled) {
$toolbartmp .= $this->render_toolbar_button('', '', $tool);
$toolbartmp .= $this->render_toolbar_button('', $tool);
}
}
$toolbarCostum[] = html_writer::div($toolbartmp, 'toolbar customtoolbar', array('role' => 'toolbar', 'id' => 'toolbaraxis' . $toolbar['axeid'], 'style' => 'display:none;'));
$toolbarCostum[] = html_writer::div($toolbartmp, "btn-group btn-group-sm mr-3", array('role' => 'group', 'id' => 'toolbaraxis' . $toolbar['axeid'], 'style' => 'display:none;'));
}
$axischoice = html_writer::div(html_writer::select($axis, 'axisselection', 0, FALSE), 'toolbar ', array('role' => 'toolbar'));
foreach ($toolbarCostum as $toolbarCostumUnit) {
$toolbarCostumdiv .= $toolbarCostumUnit;
}
$toolbarCostumdiv .= $axischoice;
$axischoice = html_writer::div(html_writer::select($axis, 'axisselection', 0, FALSE), "btn-group btn-group-sm mr-0", array('role' => 'group'));
$toolbarAxis = $axischoice;
// Toolbar pour lien creation palette
$courseid = $this->page->course->id;
$lienAdmin = new moodle_url('/mod/assign/feedback/editpdfplus/view_admin.php', array('id' => $courseid));
$toolbar003 .= html_writer::tag('button',
html_writer::tag("i", "", array('class' => 'fa fa-wrench','aria-hidden' => 'true')),
array('class' => 'button btn', 'type' => 'button'));
$toolbar003 = html_writer::link($lienAdmin, $toolbar003);
$toolbar003 = html_writer::div($toolbar003, 'toolbar', array('role' => 'toolbar'));
//$url = new moodle_url('/mod/assign/feedback/editpdfplus/view_admin.php', array('id' => $course->id));
$toolbarAdmin = html_writer::tag('button', html_writer::tag("i", "", array('class' => 'fa fa-wrench', 'aria-hidden' => 'true')), array(
'class' => 'btn btn-info',
'type' => 'button',
'onclick' => "document.location='" . $lienAdmin->out() . "';"));
$toolbarAdminBlock = html_writer::div($toolbarAdmin, "btn-group btn-group-sm mr-3", array('role' => 'group'));
} else {
$toolbaraxis = "<div class='navigation' style='padding-left:10px;'><div style='display:inline;margin-right:5px;text-align:left;'>";
//TODO
$toolbarAxis = "<div class='navigation' style='padding-left:10px;'><div style='display:inline;margin-right:5px;text-align:left;'>";
$axis = $widget->axis;
foreach ($axis as $ax) {
$toolbaraxis .= $this->render_toolbar_axis($ax);
$toolbaraxis .= "</div><div style='display:inline;margin-left:5px;text-align:left;'>";
$toolbarAxis .= $this->render_toolbar_axis($ax);
$toolbarAxis .= "</div><div style='display:inline;margin-left:5px;text-align:left;'>";
}
$toolbaraxis .= "</div></div>";
$toolbarAxis .= "</div></div>";
$questionchoice = html_writer::select(
[get_string('question_select', 'assignfeedback_editpdfplus'), get_string('question_select_without', 'assignfeedback_editpdfplus'), get_string('question_select_with', 'assignfeedback_editpdfplus')], 'questionselection', 0, FALSE, array('class' => 'form-control'));
$axischoice = html_writer::select(
[get_string('statut_select', 'assignfeedback_editpdfplus'), get_string('statut_select_nc', 'assignfeedback_editpdfplus'), get_string('statut_select_ok', 'assignfeedback_editpdfplus'), get_string('statut_select_ko', 'assignfeedback_editpdfplus')], 'statutselection', 0, FALSE, array('class' => 'form-control'));
$validatebutton = html_writer::tag('button', get_string('send_pdf_update', 'assignfeedback_editpdfplus'), array('class' => 'button btn', 'id' => 'student_valide_button'));
$toolbaraxis .= html_writer::div($validatebutton, 'toolbar ', array('role' => 'toolbar'));
$toolbaraxis .= html_writer::div($axischoice, 'toolbar ', array('role' => 'toolbar'));
$toolbaraxis .= html_writer::div($questionchoice, 'toolbar ', array('role' => 'toolbar'));
$validatebutton = html_writer::tag('button', get_string('send_pdf_update', 'assignfeedback_editpdfplus'), array('class' => 'btn btn-secondary', 'id' => 'student_valide_button'));
$toolbarAxis .= html_writer::div($validatebutton, 'toolbar ', array('role' => 'toolbar'));
$toolbarAxis .= html_writer::div($axischoice, 'toolbar ', array('role' => 'toolbar'));
$toolbarAxis .= html_writer::div($questionchoice, 'toolbar ', array('role' => 'toolbar'));
}
//$navigationcontent = html_writer::div(, "collapse navbar-collapse", array('id' => 'navbarSupportedContent'));
$pageheadercontent = $navigationBlock
. $toolbarAdminBlock
. $toolbarBaseBlock
. $toolbarAxis
. $toolbarCostumdiv
. $toolbarDrawBlock;
$mainnavigation = html_writer::div($pageheadercontent, "btn-toolbar btn-group-sm bg-light p-1", array('role' => 'toolbar', 'style' => 'min-height:50px;'));
// Toobars written in reverse order because they are floated right.
$pageheader = html_writer::div($divnavigation1 .
$toolbar002 .
$toolbaraxis .
$toolbarCostumdiv .
$toolbar001 .
$toolbar003 .
$clearfix, 'pageheader', array('style' => 'padding:0'));
$pageheader = $mainnavigation; //html_writer::div($mainnavigation, 'pageheader', array('style' => 'padding:0'));
/* html_writer::div($divnavigation1 .
$toolbar002 .
$toolbaraxis .
$toolbarCostumdiv .
$toolbar001 .
$toolbar003 .
$clearfix, 'pageheader', array('style' => 'padding:0')); */
$body .= $pageheader;
......
......@@ -41,13 +41,13 @@ use \assignfeedback_editpdfplus\utils_color;
class utils_stamp {
/** Path of fontawesome font scss */
const FA_SCSS_PATH = '/lib/fonts/font-awesome-4.7.0/scss/_variables.scss';
const FA_SCSS_PATH = "/mod/assign/feedback/editpdfplus/fonts/fa/_variables.scss";
/** Path of fontawesome font */
const FA_PATH = '/lib/fonts/fontawesome-webfont.ttf';
/** File area for the stamps */
const STAMPS_FILEAREA = '/temp/assignfeedback_editpdfplus/stamps/';
const STAMPS_FILEAREA = '/assignfeedback_editpdfplus/stamps/';
/**
* Convert a FontAwesome icon into a PNG file
......@@ -68,7 +68,7 @@ class utils_stamp {
}
//create final file
$outputDirectory = $CFG->dataroot . self::STAMPS_FILEAREA;
$outputDirectory = $CFG->tempdir . self::STAMPS_FILEAREA;
$fileName = sprintf("%s%s.png", $outputDirectory, $iconName);
$dirPath = dirname($fileName);
......@@ -125,6 +125,9 @@ class utils_stamp {
imagealphablending($imageTmp, true);
// Add the text using the Font
if (!file_exists($CFG->dirroot . self::FA_PATH)) {
return null;
}
$fontPath = $CFG->dirroot . self::FA_PATH;
list($fontX, $fontY) = self::imageTTFCenter($imageTmp, $charFACode, $fontPath, $fontSize);
imagettftext($imageTmp, $fontSize, 0, $fontX, $fontY, $fontColor, $fontPath, $charFACode);
......@@ -310,6 +313,9 @@ class utils_stamp {
global $CFG;
//open scss file
if (!file_exists($CFG->dirroot . self::FA_SCSS_PATH)) {
return null;
}
$readBuffer = file_get_contents($CFG->dirroot . self::FA_SCSS_PATH);
$lines = explode("\n", $readBuffer);
......
// Variables
// --------------------------
$fa-font-path: "../fonts" !default;
$fa-font-size-base: 14px !default;
$fa-line-height-base: 1 !default;
//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
$fa-css-prefix: fa !default;
$fa-version: "4.7.0" !default;
$fa-border-color: #eee !default;
$fa-inverse: #fff !default;
$fa-li-width: (30em / 14) !default;
$fa-var-500px: "\f26e";
$fa-var-address-book: "\f2b9";
$fa-var-address-book-o: "\f2ba";
$fa-var-address-card: "\f2bb";
$fa-var-address-card-o: "\f2bc";
$fa-var-adjust: "\f042";
$fa-var-adn: "\f170";
$fa-var-align-center: "\f037";
$fa-var-align-justify: "\f039";
$fa-var-align-left: "\f036";
$fa-var-align-right: "\f038";
$fa-var-amazon: "\f270";
$fa-var-ambulance: "\f0f9";
$fa-var-american-sign-language-interpreting: "\f2a3";
$fa-var-anchor: "\f13d";
$fa-var-android: "\f17b";
$fa-var-angellist: "\f209";
$fa-var-angle-double-down: "\f103";
$fa-var-angle-double-left: "\f100";
$fa-var-angle-double-right: "\f101";
$fa-var-angle-double-up: "\f102";
$fa-var-angle-down: "\f107";
$fa-var-angle-left: "\f104";
$fa-var-angle-right: "\f105";
$fa-var-angle-up: "\f106";
$fa-var-apple: "\f179";
$fa-var-archive: "\f187";
$fa-var-area-chart: "\f1fe";
$fa-var-arrow-circle-down: "\f0ab";
$fa-var-arrow-circle-left: "\f0a8";
$fa-var-arrow-circle-o-down: "\f01a";
$fa-var-arrow-circle-o-left: "\f190";
$fa-var-arrow-circle-o-right: "\f18e";
$fa-var-arrow-circle-o-up: "\f01b";
$fa-var-arrow-circle-right: "\f0a9";
$fa-var-arrow-circle-up: "\f0aa";
$fa-var-arrow-down: "\f063";
$fa-var-arrow-left: "\f060";
$fa-var-arrow-right: "\f061";
$fa-var-arrow-up: "\f062";
$fa-var-arrows: "\f047";
$fa-var-arrows-alt: "\f0b2";
$fa-var-arrows-h: "\f07e";
$fa-var-arrows-v: "\f07d";
$fa-var-asl-interpreting: "\f2a3";
$fa-var-assistive-listening-systems: "\f2a2";
$fa-var-asterisk: "\f069";
$fa-var-at: "\f1fa";
$fa-var-audio-description: "\f29e";
$fa-var-automobile: "\f1b9";
$fa-var-backward: "\f04a";
$fa-var-balance-scale: "\f24e";
$fa-var-ban: "\f05e";
$fa-var-bandcamp: "\f2d5";
$fa-var-bank: "\f19c";
$fa-var-bar-chart: "\f080";
$fa-var-bar-chart-o: "\f080";
$fa-var-barcode: "\f02a";
$fa-var-bars: "\f0c9";
$fa-var-bath: "\f2cd";
$fa-var-bathtub: "\f2cd";
$fa-var-battery: "\f240";
$fa-var-battery-0: "\f244";
$fa-var-battery-1: "\f243";
$fa-var-battery-2: "\f242";
$fa-var-battery-3: "\f241";
$fa-var-battery-4: "\f240";
$fa-var-battery-empty: "\f244";
$fa-var-battery-full: "\f240";
$fa-var-battery-half: "\f242";
$fa-var-battery-quarter: "\f243";
$fa-var-battery-three-quarters: "\f241";
$fa-var-bed: "\f236";
$fa-var-beer: "\f0fc";
$fa-var-behance: "\f1b4";
$fa-var-behance-square: "\f1b5";
$fa-var-bell: "\f0f3";
$fa-var-bell-o: "\f0a2";
$fa-var-bell-slash: "\f1f6";
$fa-var-bell-slash-o: "\f1f7";
$fa-var-bicycle: "\f206";
$fa-var-binoculars: "\f1e5";
$fa-var-birthday-cake: "\f1fd";
$fa-var-bitbucket: "\f171";
$fa-var-bitbucket-square: "\f172";
$fa-var-bitcoin: "\f15a";
$fa-var-black-tie: "\f27e";
$fa-var-blind: "\f29d";
$fa-var-bluetooth: "\f293";
$fa-var-bluetooth-b: "\f294";
$fa-var-bold: "\f032";
$fa-var-bolt: "\f0e7";
$fa-var-bomb: "\f1e2";
$fa-var-book: "\f02d";
$fa-var-bookmark: "\f02e";
$fa-var-bookmark-o: "\f097";
$fa-var-braille: "\f2a1";
$fa-var-briefcase: "\f0b1";
$fa-var-btc: "\f15a";
$fa-var-bug: "\f188";
$fa-var-building: "\f1ad";
$fa-var-building-o: "\f0f7";
$fa-var-bullhorn: "\f0a1";
$fa-var-bullseye: "\f140";
$fa-var-bus: "\f207";
$fa-var-buysellads: "\f20d";
$fa-var-cab: "\f1ba";
$fa-var-calculator: "\f1ec";
$fa-var-calendar: "\f073";
$fa-var-calendar-check-o: "\f274";
$fa-var-calendar-minus-o: "\f272";
$fa-var-calendar-o: "\f133";
$fa-var-calendar-plus-o: "\f271";
$fa-var-calendar-times-o: "\f273";
$fa-var-camera: "\f030";
$fa-var-camera-retro: "\f083";
$fa-var-car: "\f1b9";
$fa-var-caret-down: "\f0d7";
$fa-var-caret-left: "\f0d9";
$fa-var-caret-right: "\f0da";
$fa-var-caret-square-o-down: "\f150";
$fa-var-caret-square-o-left: "\f191";
$fa-var-caret-square-o-right: "\f152";
$fa-var-caret-square-o-up: "\f151";
$fa-var-caret-up: "\f0d8";
$fa-var-cart-arrow-down: "\f218";
$fa-var-cart-plus: "\f217";
$fa-var-cc: "\f20a";
$fa-var-cc-amex: "\f1f3";
$fa-var-cc-diners-club: "\f24c";
$fa-var-cc-discover: "\f1f2";
$fa-var-cc-jcb: "\f24b";
$fa-var-cc-mastercard: "\f1f1";
$fa-var-cc-paypal: "\f1f4";
$fa-var-cc-stripe: "\f1f5";
$fa-var-cc-visa: "\f1f0";
$fa-var-certificate: "\f0a3";
$fa-var-chain: "\f0c1";
$fa-var-chain-broken: "\f127";
$fa-var-check: "\f00c";
$fa-var-check-circle: "\f058";
$fa-var-check-circle-o: "\f05d";
$fa-var-check-square: "\f14a";
$fa-var-check-square-o: "\f046";
$fa-var-chevron-circle-down: "\f13a";
$fa-var-chevron-circle-left: "\f137";
$fa-var-chevron-circle-right: "\f138";
$fa-var-chevron-circle-up: "\f139";
$fa-var-chevron-down: "\f078";
$fa-var-chevron-left: "\f053";
$fa-var-chevron-right: "\f054";
$fa-var-chevron-up: "\f077";
$fa-var-child: "\f1ae";
$fa-var-chrome: "\f268";
$fa-var-circle: "\f111";
$fa-var-circle-o: "\f10c";
$fa-var-circle-o-notch: "\f1ce";
$fa-var-circle-thin: "\f1db";
$fa-var-clipboard: "\f0ea";
$fa-var-clock-o: "\f017";
$fa-var-clone: "\f24d";
$fa-var-close: "\f00d";
$fa-var-cloud: "\f0c2";
$fa-var-cloud-download: "\f0ed";
$fa-var-cloud-upload: "\f0ee";
$fa-var-cny: "\f157";
$fa-var-code: "\f121";
$fa-var-code-fork: "\f126";
$fa-var-codepen: "\f1cb";
$fa-var-codiepie: "\f284";
$fa-var-coffee: "\f0f4";
$fa-var-cog: "\f013";
$fa-var-cogs: "\f085";
$fa-var-columns: "\f0db";
$fa-var-comment: "\f075";
$fa-var-comment-o: "\f0e5";
$fa-var-commenting: "\f27a";
$fa-var-commenting-o: "\f27b";
$fa-var-comments: "\f086";
$fa-var-comments-o: "\f0e6";
$fa-var-compass: "\f14e";
$fa-var-compress: "\f066";
$fa-var-connectdevelop: "\f20e";
$fa-var-contao: "\f26d";
$fa-var-copy: "\f0c5";
$fa-var-copyright: "\f1f9";
$fa-var-creative-commons: "\f25e";
$fa-var-credit-card: "\f09d";
$fa-var-credit-card-alt: "\f283";
$fa-var-crop: "\f125";
$fa-var-crosshairs: "\f05b";
$fa-var-css3: "\f13c";
$fa-var-cube: "\f1b2";
$fa-var-cubes: "\f1b3";
$fa-var-cut: "\f0c4";
$fa-var-cutlery: "\f0f5";
$fa-var-dashboard: "\f0e4";
$fa-var-dashcube: "\f210";
$fa-var-database: "\f1c0";
$fa-var-deaf: "\f2a4";
$fa-var-deafness: "\f2a4";
$fa-var-dedent: "\f03b";
$fa-var-delicious: "\f1a5";
$fa-var-desktop: "\f108";
$fa-var-deviantart: "\f1bd";
$fa-var-diamond: "\f219";
$fa-var-digg: "\f1a6";
$fa-var-dollar: "\f155";
$fa-var-dot-circle-o: "\f192";
$fa-var-download: "\f019";
$fa-var-dribbble: "\f17d";
$fa-var-drivers-license: "\f2c2";
$fa-var-drivers-license-o: "\f2c3";
$fa-var-dropbox: "\f16b";
$fa-var-drupal: "\f1a9";
$fa-var-edge: "\f282";
$fa-var-edit: "\f044";
$fa-var-eercast: "\f2da";
$fa-var-eject: "\f052";
$fa-var-ellipsis-h: "\f141";
$fa-var-ellipsis-v: "\f142";
$fa-var-empire: "\f1d1";
$fa-var-envelope: "\f0e0";
$fa-var-envelope-o: "\f003";
$fa-var-envelope-open: "\f2b6";
$fa-var-envelope-open-o: "\f2b7";
$fa-var-envelope-square: "\f199";
$fa-var-envira: "\f299";
$fa-var-eraser: "\f12d";
$fa-var-etsy: "\f2d7";
$fa-var-eur: "\f153";
$fa-var-euro: "\f153";
$fa-var-exchange: "\f0ec";
$fa-var-exclamation: "\f12a";
$fa-var-exclamation-circle: "\f06a";
$fa-var-exclamation-triangle: "\f071";
$fa-var-expand: "\f065";
$fa-var-expeditedssl: "\f23e";
$fa-var-external-link: "\f08e";
$fa-var-external-link-square: "\f14c";
$fa-var-eye: "\f06e";
$fa-var-eye-slash: "\f070";
$fa-var-eyedropper: "\f1fb";
$fa-var-fa: "\f2b4";
$fa-var-facebook: "\f09a";
$fa-var-facebook-f: "\f09a";
$fa-var-facebook-official: "\f230";
$fa-var-facebook-square: "\f082";
$fa-var-fast-backward: "\f049";
$fa-var-fast-forward: "\f050";
$fa-var-fax: "\f1ac";
$fa-var-feed: "\f09e";
$fa-var-female: "\f182";
$fa-var-fighter-jet: "\f0fb";
$fa-var-file: "\f15b";
$fa-var-file-archive-o: "\f1c6";
$fa-var-file-audio-o: "\f1c7";
$fa-var-file-code-o: "\f1c9";
$fa-var-file-excel-o: "\f1c3";
$fa-var-file-image-o: "\f1c5";
$fa-var-file-movie-o: "\f1c8";
$fa-var-file-o: "\f016";
$fa-var-file-pdf-o: "\f1c1";
$fa-var-file-photo-o: "\f1c5";
$fa-var-file-picture-o: "\f1c5";
$fa-var-file-powerpoint-o: "\f1c4";
$fa-var-file-sound-o: "\f1c7";
$fa-var-file-text: "\f15c";
$fa-var-file-text-o: "\f0f6";
$fa-var-file-video-o: "\f1c8";
$fa-var-file-word-o: "\f1c2";
$fa-var-file-zip-o: "\f1c6";
$fa-var-files-o: "\f0c5";
$fa-var-film: "\f008";
$fa-var-filter: "\f0b0";
$fa-var-fire: "\f06d";
$fa-var-fire-extinguisher: "\f134";
$fa-var-firefox: "\f269";
$fa-var-first-order: "\f2b0";
$fa-var-flag: "\f024";
$fa-var-flag-checkered: "\f11e";
$fa-var-flag-o: "\f11d";
$fa-var-flash: "\f0e7";
$fa-var-flask: "\f0c3";
$fa-var-flickr: "\f16e";
$fa-var-floppy-o: "\f0c7";
$fa-var-folder: "\f07b";
$fa-var-folder-o: "\f114";
$fa-var-folder-open: "\f07c";
$fa-var-folder-open-o: "\f115";
$fa-var-font: "\f031";
$fa-var-font-awesome: "\f2b4";
$fa-var-fonticons: "\f280";
$fa-var-fort-awesome: "\f286";
$fa-var-forumbee: "\f211";
$fa-var-forward: "\f04e";
$fa-var-foursquare: "\f180";
$fa-var-free-code-camp: "\f2c5";
$fa-var-frown-o: "\f119";
$fa-var-futbol-o: "\f1e3";
$fa-var-gamepad: "\f11b";
$fa-var-gavel: "\f0e3";
$fa-var-gbp: "\f154";
$fa-var-ge: "\f1d1";
$fa-var-gear: "\f013";