public static function get_instance() { if (!is_object(self::$instance)) { self::$instance = new self(); } return self::$instance; }
private static function get_child_theme_config() { if (!self::$checkedchildtheme) { global $PAGE; if (in_array('essential', $PAGE->theme->parents)) { $themename = $PAGE->theme->name; self::$childtheme = \theme_config::load($themename); self::$checkedchildtheme = true; } } return self::$childtheme; }
private static function check_corerenderer() { if (empty(self::$corerenderer)) { // Use $OUTPUT. global $OUTPUT; self::$corerenderer = $OUTPUT; } }
public static function render_slide($i, $captionoptions, $theme = null) { if (empty($theme)) { if (empty(self::$theme)) { self::$theme = \theme_config::load('essential'); } $theme = self::$theme; } $slideurl = self::get_setting('slide' . $i . 'url', false, $theme); $slideurltarget = self::get_setting('slide' . $i . 'target', false, $theme); $slidetitle = self::get_setting('slide' . $i, true, $theme); $slidecaption = self::get_setting('slide' . $i . 'caption', true, $theme); if ($captionoptions == 0) { $slideextraclass = ' side-caption'; } else { $slideextraclass = ''; } $slideextraclass .= $i === 1 ? ' active' : ''; $slideimagealt = strip_tags($slidetitle); // Get slide image or fallback to default. $slideimage = self::get_setting('slide' . $i . 'image', false, $theme); if ($slideimage) { $slideimage = $theme->setting_file_url('slide' . $i . 'image', 'slide' . $i . 'image'); } else { global $OUTPUT; $slideimage = $OUTPUT->pix_url('default_slide', 'theme'); } if ($slideurl) { $slide = '<a href="' . $slideurl . '" target="' . $slideurltarget . '" class="item' . $slideextraclass . '">'; } else { $slide = '<div class="item' . $slideextraclass . '">'; } if ($captionoptions == 0) { $slide .= '<div class="container-fluid">'; $slide .= '<div class="row-fluid">'; if ($slidetitle || $slidecaption) { $slide .= '<div class="span5 the-side-caption">'; $slide .= '<div class="the-side-caption-content">'; $slide .= '<h4>' . $slidetitle . '</h4>'; $slide .= '<p>' . $slidecaption . '</p>'; $slide .= '</div>'; $slide .= '</div>'; $slide .= '<div class="span7">'; } else { $slide .= '<div class="span10 offset1 nocaption">'; } $slide .= '<div class="carousel-image-container">'; $slide .= '<img src="' . $slideimage . '" alt="' . $slideimagealt . '" class="carousel-image"/>'; $slide .= '</div>'; $slide .= '</div>'; $slide .= '</div>'; $slide .= '</div>'; } else { $nocaption = !($slidetitle || $slidecaption) ? ' nocaption' : ''; $slide .= '<div class="carousel-image-container' . $nocaption . '">'; $slide .= '<img src="' . $slideimage . '" alt="' . $slideimagealt . '" class="carousel-image"/>'; $slide .= '</div>'; // Output title and caption if either is present if ($slidetitle || $slidecaption) { $slide .= '<div class="carousel-caption">'; $slide .= '<div class="carousel-caption-inner">'; $slide .= '<h4>' . $slidetitle . '</h4>'; $slide .= '<p>' . $slidecaption . '</p>'; $slide .= '</div>'; $slide .= '</div>'; } } $slide .= $slideurl ? '</a>' : '</div>'; return $slide; }