mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-55074 theme_boost: Navigation and blocks
This patch includes a big set of changes that are all designed to work together to provide a better way to navigate in the new theme, and a different way of working with blocks. Blocks have been moved to a "drawer" that can be opened and closed (this is remembered in a user pref). A new "flat navigation" element is also available in a drawer - which should let you do 90% of things without needing to open the "blocks" drawer. The flat navigation is build from specific parts of the nav tree - the top nodes like "calendar, dashboard" are hand picked. There is a mycourses node listing your enrolled courses. There is a node for the current course, built from the top nodes in the current course node in the nav tree. Administrators have a link to the Site admin settings here too. These nav elements are used by the templates for the new theme, which also has a resigned layout for login and signup. There have also been some additional fixes / improvements to the scss for the new theme which goes along with these layout changes. This set of changes is a collaboration between Martin, Damyon and Alberto (thanks!).
- Loading branch information
Damyon Wiese
committed
Oct 21, 2016
1 parent
919b9df
commit 9906115
Showing
52 changed files
with
1,602 additions
and
240 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
<?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/>. | ||
|
||
/** | ||
* Admin settings search form | ||
* | ||
* @package admin | ||
* @copyright 2016 Damyon Wiese | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
require_once $CFG->libdir.'/formslib.php'; | ||
|
||
/** | ||
* Admin settings search form | ||
* | ||
* @package admin | ||
* @copyright 2016 Damyon Wiese | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class admin_settings_search_form extends moodleform { | ||
function definition () { | ||
$mform = $this->_form; | ||
|
||
//$mform->addElement('header', 'settingsheader', get_string('search', 'admin')); | ||
$elements = []; | ||
$elements[] = $mform->createElement('text', 'query', get_string('query', 'admin')); | ||
$elements[] = $mform->createElement('submit', 'search', get_string('search')); | ||
$mform->addGroup($elements); | ||
$mform->setType('query', PARAM_RAW); | ||
$mform->setDefault('query', optional_param('query', '', PARAM_RAW)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
<?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/>. | ||
|
||
/** | ||
* Listing of the course administration pages for this course. | ||
* | ||
* @copyright 2016 Damyon Wiese | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
require_once("../config.php"); | ||
|
||
$courseid = required_param('courseid', PARAM_INT); | ||
|
||
$PAGE->set_url('/course/admin.php', array('courseid'=>$courseid)); | ||
|
||
$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST); | ||
|
||
require_login($course); | ||
$context = context_course::instance($course->id); | ||
|
||
$PAGE->set_pagelayout('incourse'); | ||
$PAGE->set_title(get_string('courseadministration')); | ||
$PAGE->set_heading($course->fullname); | ||
$PAGE->navbar->add(get_string('courseadministration')); | ||
echo $OUTPUT->header(); | ||
echo $OUTPUT->heading(get_string('courseadministration')); | ||
|
||
$node = $PAGE->settingsnav->find('courseadmin', navigation_node::TYPE_COURSE); | ||
if ($node) { | ||
echo $OUTPUT->render_from_template('core/settings_link_page', ['node' => $node]); | ||
} | ||
|
||
echo $OUTPUT->footer(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
<?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/>. | ||
|
||
/** | ||
* Switch roles form. | ||
* | ||
* @package core_course | ||
* @copyright 2016 Damyon Wiese | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
require_once($CFG->libdir.'/formslib.php'); | ||
|
||
/** | ||
* Defines the course completion settings form. | ||
*/ | ||
class switchrole_form extends moodleform { | ||
|
||
/** | ||
* Determine whether the user is assuming another role | ||
* | ||
* This function checks to see if the user is assuming another role by means of | ||
* role switching. In doing this we compare each RSW key (context path) against | ||
* the current context path. This ensures that we can provide the switching | ||
* options against both the course and any page shown under the course. | ||
* | ||
* @param context $context | ||
* @return bool|int The role(int) if the user is in another role, false otherwise | ||
*/ | ||
protected function in_alternative_role($context) { | ||
global $USER, $PAGE; | ||
if (!empty($USER->access['rsw']) && is_array($USER->access['rsw'])) { | ||
if (!empty($PAGE->context) && !empty($USER->access['rsw'][$PAGE->context->path])) { | ||
return $USER->access['rsw'][$PAGE->context->path]; | ||
} | ||
foreach ($USER->access['rsw'] as $key=>$role) { | ||
if (strpos($context->path, $key)===0) { | ||
return $role; | ||
} | ||
} | ||
} | ||
return false; | ||
} | ||
|
||
/** | ||
* Defines the form fields. | ||
*/ | ||
public function definition() { | ||
global $USER, $CFG, $DB; | ||
|
||
$mform = $this->_form; | ||
$course = $this->_customdata['course']; | ||
|
||
// Overall criteria aggregation. | ||
$context = context_course::instance($course->id); | ||
$roles = array(); | ||
$assumedrole = -1; | ||
if (is_role_switched($course->id)) { | ||
$roles[0] = get_string('switchrolereturn'); | ||
$assumedrole = $USER->access['rsw'][$context->path]; | ||
} | ||
$availableroles = get_switchable_roles($context); | ||
if (is_array($availableroles)) { | ||
foreach ($availableroles as $key=>$role) { | ||
if ($assumedrole == (int)$key) { | ||
continue; | ||
} | ||
$roles[$key] = $role; | ||
} | ||
} | ||
$mform->addElement('select', 'switchrole', get_string('role'), $roles); | ||
|
||
// Add common action buttons. | ||
$this->add_action_buttons(); | ||
|
||
// Add hidden fields. | ||
$mform->addElement('hidden', 'id', $course->id); | ||
$mform->setType('id', PARAM_INT); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.