Sindbad~EG File Manager
<?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/>.
/**
* Mustache helper to load a theme configuration.
*
* @package theme_moove
* @copyright 2017 Willian Mano - http://conecti.me
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace theme_moove\util;
use theme_config;
use stdClass;
defined('MOODLE_INTERNAL') || die();
/**
* Helper to load a theme configuration.
*
* @package theme_moove
* @copyright 2017 Willian Mano - http://conecti.me
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class theme_settings {
/**
* Get config theme footer itens
*
* @return array
*/
public function footer_items() {
$theme = theme_config::load('moove');
$templatecontext = [];
$footersettings = [
'facebook', 'twitter', 'whatsapp', 'telegram', 'linkedin', 'youtube', 'instagram', 'getintouchcontent',
'website', 'mobile', 'mail'
];
foreach ($footersettings as $setting) {
if (!empty($theme->settings->$setting)) {
$templatecontext[$setting] = $theme->settings->$setting;
}
}
return $templatecontext;
}
/**
* Get config theme slideshow
*
* @return array
*/
public function slideshow() {
global $OUTPUT;
$theme = theme_config::load('moove');
$templatecontext['sliderenabled'] = $theme->settings->sliderenabled;
if (empty($templatecontext['sliderenabled'])) {
return $templatecontext;
}
$slidercount = $theme->settings->slidercount;
for ($i = 1, $j = 0; $i <= $slidercount; $i++, $j++) {
$sliderimage = "sliderimage{$i}";
$slidertitle = "slidertitle{$i}";
$slidercap = "slidercap{$i}";
$templatecontext['slides'][$j]['key'] = $j;
$templatecontext['slides'][$j]['active'] = false;
$image = $theme->setting_file_url($sliderimage, $sliderimage);
if (empty($image)) {
$image = $OUTPUT->image_url('slide_default', 'theme');
}
$templatecontext['slides'][$j]['image'] = $image;
$templatecontext['slides'][$j]['title'] = format_string($theme->settings->$slidertitle);
$templatecontext['slides'][$j]['caption'] = format_text($theme->settings->$slidercap);
if ($i === 1) {
$templatecontext['slides'][$j]['active'] = true;
}
}
return $templatecontext;
}
/**
* Get config theme marketing itens
*
* @return array
*/
public function marketing_items() {
global $OUTPUT;
$theme = theme_config::load('moove');
$templatecontext = [];
for ($i = 1; $i < 5; $i++) {
$marketingicon = 'marketing' . $i . 'icon';
$marketingheading = 'marketing' . $i . 'heading';
$marketingsubheading = 'marketing' . $i . 'subheading';
$marketingcontent = 'marketing' . $i . 'content';
$marketingurl = 'marketing' . $i . 'url';
$templatecontext[$marketingicon] = $OUTPUT->image_url('icon_default', 'theme');
if (!empty($theme->settings->$marketingicon)) {
$templatecontext[$marketingicon] = $theme->setting_file_url($marketingicon, $marketingicon);
}
$templatecontext[$marketingheading] = '';
if (!empty($theme->settings->$marketingheading)) {
$templatecontext[$marketingheading] = theme_moove_get_setting($marketingheading, true);
}
$templatecontext[$marketingsubheading] = '';
if (!empty($theme->settings->$marketingsubheading)) {
$templatecontext[$marketingsubheading] = theme_moove_get_setting($marketingsubheading, true);
}
$templatecontext[$marketingcontent] = '';
if (!empty($theme->settings->$marketingcontent)) {
$templatecontext[$marketingcontent] = theme_moove_get_setting($marketingcontent, true);
}
$templatecontext[$marketingurl] = '';
if (!empty($theme->settings->$marketingurl)) {
$templatecontext[$marketingurl] = $theme->settings->$marketingurl;
}
}
return $templatecontext;
}
/**
* Get the frontpage numbers
*
* @return array
*/
public function numbers() {
global $DB;
$templatecontext['numberusers'] = $DB->count_records('user', array('deleted' => 0, 'suspended' => 0)) - 1;
$templatecontext['numbercourses'] = $DB->count_records('course', array('visible' => 1)) - 1;
$templatecontext['numberactivities'] = $DB->count_records('course_modules');
return $templatecontext;
}
/**
* Get config theme sponsors logos and urls
*
* @return array
*/
public function sponsors() {
$theme = theme_config::load('moove');
$templatecontext['sponsorstitle'] = $theme->settings->sponsorstitle;
$templatecontext['sponsorssubtitle'] = $theme->settings->sponsorssubtitle;
$sponsorscount = $theme->settings->sponsorscount;
for ($i = 1, $j = 0; $i <= $sponsorscount; $i++, $j++) {
$sponsorsimage = "sponsorsimage{$i}";
$sponsorsurl = "sponsorsurl{$i}";
$image = $theme->setting_file_url($sponsorsimage, $sponsorsimage);
if (empty($image)) {
continue;
}
$templatecontext['sponsors'][$j]['image'] = $image;
$templatecontext['sponsors'][$j]['url'] = $theme->settings->$sponsorsurl;
}
return $templatecontext;
}
/**
* Get config theme clients logos and urls
*
* @return array
*/
public function clients() {
$theme = theme_config::load('moove');
$templatecontext['clientstitle'] = format_string($theme->settings->clientstitle);
$templatecontext['clientssubtitle'] = format_string($theme->settings->clientssubtitle);
$clientscount = $theme->settings->clientscount;
for ($i = 1, $j = 0; $i <= $clientscount; $i++, $j++) {
$clientsimage = "clientsimage{$i}";
$clientsurl = "clientsurl{$i}";
$image = $theme->setting_file_url($clientsimage, $clientsimage);
if (empty($image)) {
continue;
}
$templatecontext['clients'][$j]['image'] = $image;
$templatecontext['clients'][$j]['url'] = $theme->settings->$clientsurl;
}
return $templatecontext;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists