require_once(dirname(__FILE__).'/locallib.php');
require_once(dirname(__FILE__).'/student_attendance_form.php');
-$pageparams = new att_sessions_page_params();
+$pageparams = new mod_attendance_sessions_page_params();
// Check that the required parameters are present.
$id = required_param('sessid', PARAM_INT);
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_manage_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * stores constants/data passed depending on view.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_manage_page_params extends mod_attendance_page_with_filter_controls {
+ public function __construct() {
+ $this->selectortype = mod_attendance_page_with_filter_controls::SELECTOR_SESS_TYPE;
+ }
+
+ public function get_significant_params() {
+ return array();
+ }
+}
\ No newline at end of file
defined('MOODLE_INTERNAL') || die();
+/**
+ * Notify Queue class
+ *
+ * @copyright 2015 Antonio Carlos Mariani <antonio.c.mariani@gmail.com>
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
class mod_attendance_notifyqueue {
/**
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_page_with_filter_controls
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * base filter controls class - overridden by different views where needed.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_page_with_filter_controls {
+ const SELECTOR_NONE = 1;
+ const SELECTOR_GROUP = 2;
+ const SELECTOR_SESS_TYPE = 3;
+
+ const SESSTYPE_COMMON = 0;
+ const SESSTYPE_ALL = -1;
+ const SESSTYPE_NO_VALUE = -2;
+
+ /** @var int current view mode */
+ public $view;
+
+ /** @var int $view and $curdate specify displaed date range */
+ public $curdate;
+
+ /** @var int start date of displayed date range */
+ public $startdate;
+
+ /** @var int end date of displayed date range */
+ public $enddate;
+
+ public $selectortype = self::SELECTOR_NONE;
+
+ protected $defaultview = ATT_VIEW_WEEKS;
+
+ private $cm;
+
+ private $sessgroupslist;
+
+ private $sesstype;
+
+ public function init($cm) {
+ $this->cm = $cm;
+ $this->init_view();
+ $this->init_curdate();
+ $this->init_start_end_date();
+ }
+
+ private function init_view() {
+ global $SESSION;
+
+ if (isset($this->view)) {
+ $SESSION->attcurrentattview[$this->cm->course] = $this->view;
+ } else if (isset($SESSION->attcurrentattview[$this->cm->course])) {
+ $this->view = $SESSION->attcurrentattview[$this->cm->course];
+ } else {
+ $this->view = $this->defaultview;
+ }
+ }
+
+ private function init_curdate() {
+ global $SESSION;
+
+ if (isset($this->curdate)) {
+ $SESSION->attcurrentattdate[$this->cm->course] = $this->curdate;
+ } else if (isset($SESSION->attcurrentattdate[$this->cm->course])) {
+ $this->curdate = $SESSION->attcurrentattdate[$this->cm->course];
+ } else {
+ $this->curdate = time();
+ }
+ }
+
+ public function init_start_end_date() {
+ global $CFG;
+
+ // HOURSECS solves issue for weeks view with Daylight saving time and clocks adjusting by one hour backward.
+ $date = usergetdate($this->curdate + HOURSECS);
+ $mday = $date['mday'];
+ $wday = $date['wday'] - $CFG->calendar_startwday;
+ if ($wday < 0) {
+ $wday += 7;
+ }
+ $mon = $date['mon'];
+ $year = $date['year'];
+
+ switch ($this->view) {
+ case ATT_VIEW_DAYS:
+ $this->startdate = make_timestamp($year, $mon, $mday);
+ $this->enddate = make_timestamp($year, $mon, $mday + 1);
+ break;
+ case ATT_VIEW_WEEKS:
+ $this->startdate = make_timestamp($year, $mon, $mday - $wday);
+ $this->enddate = make_timestamp($year, $mon, $mday + 7 - $wday) - 1;
+ break;
+ case ATT_VIEW_MONTHS:
+ $this->startdate = make_timestamp($year, $mon);
+ $this->enddate = make_timestamp($year, $mon + 1);
+ break;
+ case ATT_VIEW_ALLPAST:
+ $this->startdate = 1;
+ $this->enddate = time();
+ break;
+ case ATT_VIEW_ALL:
+ $this->startdate = 0;
+ $this->enddate = 0;
+ break;
+ }
+ }
+
+ private function calc_sessgroupslist_sesstype() {
+ global $SESSION;
+
+ if (!array_key_exists('attsessiontype', $SESSION)) {
+ $SESSION->attsessiontype = array($this->cm->course => self::SESSTYPE_ALL);
+ } else if (!array_key_exists($this->cm->course, $SESSION->attsessiontype)) {
+ $SESSION->attsessiontype[$this->cm->course] = self::SESSTYPE_ALL;
+ }
+
+ $group = optional_param('group', self::SESSTYPE_NO_VALUE, PARAM_INT);
+ if ($this->selectortype == self::SELECTOR_SESS_TYPE) {
+ if ($group > self::SESSTYPE_NO_VALUE) {
+ $SESSION->attsessiontype[$this->cm->course] = $group;
+ if ($group > self::SESSTYPE_ALL) {
+ // Set activegroup in $SESSION.
+ groups_get_activity_group($this->cm, true);
+ } else {
+ // Reset activegroup in $SESSION.
+ unset($SESSION->activegroup[$this->cm->course][VISIBLEGROUPS][$this->cm->groupingid]);
+ unset($SESSION->activegroup[$this->cm->course]['aag'][$this->cm->groupingid]);
+ unset($SESSION->activegroup[$this->cm->course][SEPARATEGROUPS][$this->cm->groupingid]);
+ }
+ $this->sesstype = $group;
+ } else {
+ $this->sesstype = $SESSION->attsessiontype[$this->cm->course];
+ }
+ } else if ($this->selectortype == self::SELECTOR_GROUP) {
+ if ($group == 0) {
+ $SESSION->attsessiontype[$this->cm->course] = self::SESSTYPE_ALL;
+ $this->sesstype = self::SESSTYPE_ALL;
+ } else if ($group > 0) {
+ $SESSION->attsessiontype[$this->cm->course] = $group;
+ $this->sesstype = $group;
+ } else {
+ $this->sesstype = $SESSION->attsessiontype[$this->cm->course];
+ }
+ }
+
+ if (is_null($this->sessgroupslist)) {
+ $this->calc_sessgroupslist();
+ }
+ // For example, we set SESSTYPE_ALL but user can access only to limited set of groups.
+ if (!array_key_exists($this->sesstype, $this->sessgroupslist)) {
+ reset($this->sessgroupslist);
+ $this->sesstype = key($this->sessgroupslist);
+ }
+ }
+
+ private function calc_sessgroupslist() {
+ global $USER, $PAGE;
+
+ $this->sessgroupslist = array();
+ $groupmode = groups_get_activity_groupmode($this->cm);
+ if ($groupmode == NOGROUPS) {
+ return;
+ }
+
+ if ($groupmode == VISIBLEGROUPS or has_capability('moodle/site:accessallgroups', $PAGE->context)) {
+ $allowedgroups = groups_get_all_groups($this->cm->course, 0, $this->cm->groupingid);
+ } else {
+ $allowedgroups = groups_get_all_groups($this->cm->course, $USER->id, $this->cm->groupingid);
+ }
+
+ if ($allowedgroups) {
+ if ($groupmode == VISIBLEGROUPS or has_capability('moodle/site:accessallgroups', $PAGE->context)) {
+ $this->sessgroupslist[self::SESSTYPE_ALL] = get_string('all', 'attendance');
+ }
+ // Show Common groups always.
+ $this->sessgroupslist[self::SESSTYPE_COMMON] = get_string('commonsessions', 'attendance');
+ foreach ($allowedgroups as $group) {
+ $this->sessgroupslist[$group->id] = get_string('group') . ': ' . format_string($group->name);
+ }
+ }
+ }
+
+ public function get_sess_groups_list() {
+ if (is_null($this->sessgroupslist)) {
+ $this->calc_sessgroupslist_sesstype();
+ }
+
+ return $this->sessgroupslist;
+ }
+
+ public function get_current_sesstype() {
+ if (is_null($this->sesstype)) {
+ $this->calc_sessgroupslist_sesstype();
+ }
+
+ return $this->sesstype;
+ }
+
+ public function set_current_sesstype($sesstype) {
+ $this->sesstype = $sesstype;
+ }
+}
\ No newline at end of file
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_preferences_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * base preferences page param class
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_preferences_page_params {
+ const ACTION_ADD = 1;
+ const ACTION_DELETE = 2;
+ const ACTION_HIDE = 3;
+ const ACTION_SHOW = 4;
+ const ACTION_SAVE = 5;
+
+ /** @var int view mode of taking attendance page*/
+ public $action;
+
+ public $statusid;
+
+ public $statusset;
+
+ public function get_significant_params() {
+ $params = array();
+
+ if (isset($this->action)) {
+ $params['action'] = $this->action;
+ }
+ if (isset($this->statusid)) {
+ $params['statusid'] = $this->statusid;
+ }
+ if (isset($this->statusset)) {
+ $params['statusset'] = $this->statusset;
+ }
+
+ return $params;
+ }
+}
\ No newline at end of file
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_report_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * contains specific data/functions for report_page.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_report_page_params extends mod_attendance_page_with_filter_controls {
+ public $group;
+ public $sort;
+
+ public function __construct() {
+ $this->selectortype = self::SELECTOR_GROUP;
+ }
+
+ public function init($cm) {
+ parent::init($cm);
+
+ if (!isset($this->group)) {
+ $this->group = $this->get_current_sesstype() > 0 ? $this->get_current_sesstype() : 0;
+ }
+ if (!isset($this->sort)) {
+ $this->sort = ATT_SORT_LASTNAME;
+ }
+ }
+
+ public function get_significant_params() {
+ $params = array();
+
+ if ($this->sort != ATT_SORT_LASTNAME) {
+ $params['sort'] = $this->sort;
+ }
+
+ return $params;
+ }
+}
\ No newline at end of file
--- /dev/null
+<?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/>.
+
+
+/**
+ * Class definition for mod_attendance_sessions_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * stores constants/data used by sessions page params.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_sessions_page_params {
+ const ACTION_ADD = 1;
+ const ACTION_UPDATE = 2;
+ const ACTION_DELETE = 3;
+ const ACTION_DELETE_SELECTED = 4;
+ const ACTION_CHANGE_DURATION = 5;
+ const ACTION_DELETE_HIDDEN = 6;
+
+ /** @var int view mode of taking attendance page*/
+ public $action;
+}
\ No newline at end of file
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
+/**
+ * Class definition for mod_attendance_structure
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * Main class with all Attendance related info.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
class mod_attendance_structure {
const SESSION_COMMON = 0;
const SESSION_GROUP = 1;
$where = "attendanceid = :aid AND sessdate >= :csdate";
}
- if ($this->pageparams->get_current_sesstype() > att_page_with_filter_controls::SESSTYPE_ALL) {
+ if ($this->pageparams->get_current_sesstype() > mod_attendance_page_with_filter_controls::SESSTYPE_ALL) {
$where .= " AND (groupid = :cgroup OR groupid = 0)";
}
$params = array(
$event = \mod_attendance\event\session_updated::create(array(
'objectid' => $this->id,
'context' => $this->context,
- 'other' => array('info' => $info, 'sessionid' => $sessionid, 'action' => att_sessions_page_params::ACTION_UPDATE)));
+ 'other' => array('info' => $info, 'sessionid' => $sessionid, 'action' => mod_attendance_sessions_page_params::ACTION_UPDATE)));
$event->add_record_snapshot('course_modules', $this->cm);
$event->add_record_snapshot('attendance_sessions', $sess);
$event->trigger();
/**
* Used to record attendance submitted by the student.
*
- * @global type $DB
- * @global type $USER
* @param type $mformdata
* @return boolean
*/
/**
*
- * @global type $DB
* @param type $userid
* @param type $filters - An array things to filter by. For now only enddate is valid.
* @return type
/**
* Remove a status variable from an attendance instance
*
- * @global moodle_database $DB
* @param stdClass $status
*/
public function remove_status($status) {
/**
* Add an attendance status variable
*
- * @global moodle_database $DB
* @param string $acronym
* @param string $description
* @param int $grade
/**
* Update status variable for a particular Attendance module instance
*
- * @global moodle_database $DB
* @param stdClass $status
* @param string $acronym
* @param string $description
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_take_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * contains functions/constants used by take attendance page.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_take_page_params {
+ const SORTED_LIST = 1;
+ const SORTED_GRID = 2;
+
+ const DEFAULT_VIEW_MODE = self::SORTED_LIST;
+
+ public $sessionid;
+ public $grouptype;
+ public $group;
+ public $sort;
+ public $copyfrom;
+
+ /** @var int view mode of taking attendance page*/
+ public $viewmode;
+
+ public $gridcols;
+
+ public function init() {
+ if (!isset($this->group)) {
+ $this->group = 0;
+ }
+ if (!isset($this->sort)) {
+ $this->sort = ATT_SORT_LASTNAME;
+ }
+ $this->init_view_mode();
+ $this->init_gridcols();
+ }
+
+ private function init_view_mode() {
+ if (isset($this->viewmode)) {
+ set_user_preference("attendance_take_view_mode", $this->viewmode);
+ } else {
+ $this->viewmode = get_user_preferences("attendance_take_view_mode", self::DEFAULT_VIEW_MODE);
+ }
+ }
+
+ private function init_gridcols() {
+ if (isset($this->gridcols)) {
+ set_user_preference("attendance_gridcolumns", $this->gridcols);
+ } else {
+ $this->gridcols = get_user_preferences("attendance_gridcolumns", 5);
+ }
+ }
+
+ public function get_significant_params() {
+ $params = array();
+
+ $params['sessionid'] = $this->sessionid;
+ $params['grouptype'] = $this->grouptype;
+ if ($this->group) {
+ $params['group'] = $this->group;
+ }
+ if ($this->sort != ATT_SORT_LASTNAME) {
+ $params['sort'] = $this->sort;
+ }
+ if (isset($this->copyfrom)) {
+ $params['copyfrom'] = $this->copyfrom;
+ }
+
+ return $params;
+ }
+}
\ No newline at end of file
--- /dev/null
+<?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/>.
+
+/**
+ * Class definition for mod_attendance_view_page_params
+ *
+ * @package mod_attendance
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * contains functions/constants used by attendance view page.
+ *
+ * @copyright 2016 Dan Marsden http://danmarsden.com
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class mod_attendance_view_page_params extends mod_attendance_page_with_filter_controls {
+ const MODE_THIS_COURSE = 0;
+ const MODE_ALL_COURSES = 1;
+
+ public $studentid;
+
+ public $mode;
+
+ public function __construct() {
+ $this->defaultview = ATT_VIEW_MONTHS;
+ }
+
+ public function get_significant_params() {
+ $params = array();
+
+ if (isset($this->studentid)) {
+ $params['studentid'] = $this->studentid;
+ }
+ if ($this->mode != self::MODE_THIS_COURSE) {
+ $params['mode'] = $this->mode;
+ }
+
+ return $params;
+ }
+}
\ No newline at end of file
$mform->setType('ids', PARAM_ALPHANUMEXT);
$mform->addElement('hidden', 'id', $cm->id);
$mform->setType('id', PARAM_INT);
- $mform->addElement('hidden', 'action', att_sessions_page_params::ACTION_CHANGE_DURATION);
+ $mform->addElement('hidden', 'action', mod_attendance_sessions_page_params::ACTION_CHANGE_DURATION);
$mform->setType('action', PARAM_INT);
$mform->setDefaults(array('durtime' => array('hours' => 0, 'minutes' => 0)));
if ($formdata = $mform->get_data()) {
- $pageparams = new att_page_with_filter_controls();
+ $pageparams = new mod_attendance_page_with_filter_controls();
$pageparams->init($cm);
$pageparams->page = 0;
$pageparams->group = $formdata->group;
- $pageparams->set_current_sesstype($formdata->group ? $formdata->group : att_page_with_filter_controls::SESSTYPE_ALL);
+ $pageparams->set_current_sesstype($formdata->group ? $formdata->group : mod_attendance_page_with_filter_controls::SESSTYPE_ALL);
if (isset($formdata->includeallsessions)) {
if (isset($formdata->includenottaken)) {
$pageparams->view = ATT_VIEW_ALL;
defined('MOODLE_INTERNAL') || die();
-global $CFG;
require_once($CFG->libdir . '/gradelib.php');
require_once(dirname(__FILE__).'/renderhelpers.php');
define('ATT_SORT_LASTNAME', 1);
define('ATT_SORT_FIRSTNAME', 2);
-class att_page_with_filter_controls {
- const SELECTOR_NONE = 1;
- const SELECTOR_GROUP = 2;
- const SELECTOR_SESS_TYPE = 3;
-
- const SESSTYPE_COMMON = 0;
- const SESSTYPE_ALL = -1;
- const SESSTYPE_NO_VALUE = -2;
-
- /** @var int current view mode */
- public $view;
-
- /** @var int $view and $curdate specify displaed date range */
- public $curdate;
-
- /** @var int start date of displayed date range */
- public $startdate;
-
- /** @var int end date of displayed date range */
- public $enddate;
-
- public $selectortype = self::SELECTOR_NONE;
-
- protected $defaultview = ATT_VIEW_WEEKS;
-
- private $cm;
-
- private $sessgroupslist;
-
- private $sesstype;
-
- public function init($cm) {
- $this->cm = $cm;
- $this->init_view();
- $this->init_curdate();
- $this->init_start_end_date();
- }
-
- private function init_view() {
- global $SESSION;
-
- if (isset($this->view)) {
- $SESSION->attcurrentattview[$this->cm->course] = $this->view;
- } else if (isset($SESSION->attcurrentattview[$this->cm->course])) {
- $this->view = $SESSION->attcurrentattview[$this->cm->course];
- } else {
- $this->view = $this->defaultview;
- }
- }
-
- private function init_curdate() {
- global $SESSION;
-
- if (isset($this->curdate)) {
- $SESSION->attcurrentattdate[$this->cm->course] = $this->curdate;
- } else if (isset($SESSION->attcurrentattdate[$this->cm->course])) {
- $this->curdate = $SESSION->attcurrentattdate[$this->cm->course];
- } else {
- $this->curdate = time();
- }
- }
-
- public function init_start_end_date() {
- global $CFG;
-
- // HOURSECS solves issue for weeks view with Daylight saving time and clocks adjusting by one hour backward.
- $date = usergetdate($this->curdate + HOURSECS);
- $mday = $date['mday'];
- $wday = $date['wday'] - $CFG->calendar_startwday;
- if ($wday < 0) {
- $wday += 7;
- }
- $mon = $date['mon'];
- $year = $date['year'];
-
- switch ($this->view) {
- case ATT_VIEW_DAYS:
- $this->startdate = make_timestamp($year, $mon, $mday);
- $this->enddate = make_timestamp($year, $mon, $mday + 1);
- break;
- case ATT_VIEW_WEEKS:
- $this->startdate = make_timestamp($year, $mon, $mday - $wday);
- $this->enddate = make_timestamp($year, $mon, $mday + 7 - $wday) - 1;
- break;
- case ATT_VIEW_MONTHS:
- $this->startdate = make_timestamp($year, $mon);
- $this->enddate = make_timestamp($year, $mon + 1);
- break;
- case ATT_VIEW_ALLPAST:
- $this->startdate = 1;
- $this->enddate = time();
- break;
- case ATT_VIEW_ALL:
- $this->startdate = 0;
- $this->enddate = 0;
- break;
- }
- }
-
- private function calc_sessgroupslist_sesstype() {
- global $SESSION;
-
- if (!array_key_exists('attsessiontype', $SESSION)) {
- $SESSION->attsessiontype = array($this->cm->course => self::SESSTYPE_ALL);
- } else if (!array_key_exists($this->cm->course, $SESSION->attsessiontype)) {
- $SESSION->attsessiontype[$this->cm->course] = self::SESSTYPE_ALL;
- }
-
- $group = optional_param('group', self::SESSTYPE_NO_VALUE, PARAM_INT);
- if ($this->selectortype == self::SELECTOR_SESS_TYPE) {
- if ($group > self::SESSTYPE_NO_VALUE) {
- $SESSION->attsessiontype[$this->cm->course] = $group;
- if ($group > self::SESSTYPE_ALL) {
- // Set activegroup in $SESSION.
- groups_get_activity_group($this->cm, true);
- } else {
- // Reset activegroup in $SESSION.
- unset($SESSION->activegroup[$this->cm->course][VISIBLEGROUPS][$this->cm->groupingid]);
- unset($SESSION->activegroup[$this->cm->course]['aag'][$this->cm->groupingid]);
- unset($SESSION->activegroup[$this->cm->course][SEPARATEGROUPS][$this->cm->groupingid]);
- }
- $this->sesstype = $group;
- } else {
- $this->sesstype = $SESSION->attsessiontype[$this->cm->course];
- }
- } else if ($this->selectortype == self::SELECTOR_GROUP) {
- if ($group == 0) {
- $SESSION->attsessiontype[$this->cm->course] = self::SESSTYPE_ALL;
- $this->sesstype = self::SESSTYPE_ALL;
- } else if ($group > 0) {
- $SESSION->attsessiontype[$this->cm->course] = $group;
- $this->sesstype = $group;
- } else {
- $this->sesstype = $SESSION->attsessiontype[$this->cm->course];
- }
- }
-
- if (is_null($this->sessgroupslist)) {
- $this->calc_sessgroupslist();
- }
- // For example, we set SESSTYPE_ALL but user can access only to limited set of groups.
- if (!array_key_exists($this->sesstype, $this->sessgroupslist)) {
- reset($this->sessgroupslist);
- $this->sesstype = key($this->sessgroupslist);
- }
- }
-
- private function calc_sessgroupslist() {
- global $USER, $PAGE;
-
- $this->sessgroupslist = array();
- $groupmode = groups_get_activity_groupmode($this->cm);
- if ($groupmode == NOGROUPS) {
- return;
- }
-
- if ($groupmode == VISIBLEGROUPS or has_capability('moodle/site:accessallgroups', $PAGE->context)) {
- $allowedgroups = groups_get_all_groups($this->cm->course, 0, $this->cm->groupingid);
- } else {
- $allowedgroups = groups_get_all_groups($this->cm->course, $USER->id, $this->cm->groupingid);
- }
-
- if ($allowedgroups) {
- if ($groupmode == VISIBLEGROUPS or has_capability('moodle/site:accessallgroups', $PAGE->context)) {
- $this->sessgroupslist[self::SESSTYPE_ALL] = get_string('all', 'attendance');
- }
- // Show Common groups always.
- $this->sessgroupslist[self::SESSTYPE_COMMON] = get_string('commonsessions', 'attendance');
- foreach ($allowedgroups as $group) {
- $this->sessgroupslist[$group->id] = get_string('group') . ': ' . format_string($group->name);
- }
- }
- }
-
- public function get_sess_groups_list() {
- if (is_null($this->sessgroupslist)) {
- $this->calc_sessgroupslist_sesstype();
- }
-
- return $this->sessgroupslist;
- }
-
- public function get_current_sesstype() {
- if (is_null($this->sesstype)) {
- $this->calc_sessgroupslist_sesstype();
- }
-
- return $this->sesstype;
- }
-
- public function set_current_sesstype($sesstype) {
- $this->sesstype = $sesstype;
- }
-}
-
-class att_view_page_params extends att_page_with_filter_controls {
- const MODE_THIS_COURSE = 0;
- const MODE_ALL_COURSES = 1;
-
- public $studentid;
-
- public $mode;
-
- public function __construct() {
- $this->defaultview = ATT_VIEW_MONTHS;
- }
-
- public function get_significant_params() {
- $params = array();
-
- if (isset($this->studentid)) {
- $params['studentid'] = $this->studentid;
- }
- if ($this->mode != self::MODE_THIS_COURSE) {
- $params['mode'] = $this->mode;
- }
-
- return $params;
- }
-}
-
-class att_manage_page_params extends att_page_with_filter_controls {
- public function __construct() {
- $this->selectortype = att_page_with_filter_controls::SELECTOR_SESS_TYPE;
- }
-
- public function get_significant_params() {
- return array();
- }
-}
-
-class att_sessions_page_params {
- const ACTION_ADD = 1;
- const ACTION_UPDATE = 2;
- const ACTION_DELETE = 3;
- const ACTION_DELETE_SELECTED = 4;
- const ACTION_CHANGE_DURATION = 5;
- const ACTION_DELETE_HIDDEN = 6;
-
- /** @var int view mode of taking attendance page*/
- public $action;
-}
-
-class att_take_page_params {
- const SORTED_LIST = 1;
- const SORTED_GRID = 2;
-
- const DEFAULT_VIEW_MODE = self::SORTED_LIST;
-
- public $sessionid;
- public $grouptype;
- public $group;
- public $sort;
- public $copyfrom;
-
- /** @var int view mode of taking attendance page*/
- public $viewmode;
-
- public $gridcols;
-
- public function init() {
- if (!isset($this->group)) {
- $this->group = 0;
- }
- if (!isset($this->sort)) {
- $this->sort = ATT_SORT_LASTNAME;
- }
- $this->init_view_mode();
- $this->init_gridcols();
- }
-
- private function init_view_mode() {
- if (isset($this->viewmode)) {
- set_user_preference("attendance_take_view_mode", $this->viewmode);
- } else {
- $this->viewmode = get_user_preferences("attendance_take_view_mode", self::DEFAULT_VIEW_MODE);
- }
- }
-
- private function init_gridcols() {
- if (isset($this->gridcols)) {
- set_user_preference("attendance_gridcolumns", $this->gridcols);
- } else {
- $this->gridcols = get_user_preferences("attendance_gridcolumns", 5);
- }
- }
-
- public function get_significant_params() {
- $params = array();
-
- $params['sessionid'] = $this->sessionid;
- $params['grouptype'] = $this->grouptype;
- if ($this->group) {
- $params['group'] = $this->group;
- }
- if ($this->sort != ATT_SORT_LASTNAME) {
- $params['sort'] = $this->sort;
- }
- if (isset($this->copyfrom)) {
- $params['copyfrom'] = $this->copyfrom;
- }
-
- return $params;
- }
-}
-
-class att_report_page_params extends att_page_with_filter_controls {
- public $group;
- public $sort;
-
- public function __construct() {
- $this->selectortype = self::SELECTOR_GROUP;
- }
-
- public function init($cm) {
- parent::init($cm);
-
- if (!isset($this->group)) {
- $this->group = $this->get_current_sesstype() > 0 ? $this->get_current_sesstype() : 0;
- }
- if (!isset($this->sort)) {
- $this->sort = ATT_SORT_LASTNAME;
- }
- }
-
- public function get_significant_params() {
- $params = array();
-
- if ($this->sort != ATT_SORT_LASTNAME) {
- $params['sort'] = $this->sort;
- }
-
- return $params;
- }
-}
-
-class att_preferences_page_params {
- const ACTION_ADD = 1;
- const ACTION_DELETE = 2;
- const ACTION_HIDE = 3;
- const ACTION_SHOW = 4;
- const ACTION_SAVE = 5;
-
- /** @var int view mode of taking attendance page*/
- public $action;
-
- public $statusid;
-
- public $statusset;
-
- public function get_significant_params() {
- $params = array();
-
- if (isset($this->action)) {
- $params['action'] = $this->action;
- }
- if (isset($this->statusid)) {
- $params['statusid'] = $this->statusid;
- }
- if (isset($this->statusset)) {
- $params['statusset'] = $this->statusset;
- }
-
- return $params;
- }
-}
-
-
-
-
function att_get_statuses($attid, $onlyvisible=true, $statusset = -1) {
global $DB;
require_once(dirname(__FILE__).'/../../config.php');
require_once(dirname(__FILE__).'/locallib.php');
-$pageparams = new att_manage_page_params();
+$pageparams = new mod_attendance_manage_page_params();
$id = required_param('id', PARAM_INT);
$from = optional_param('from', null, PARAM_ALPHANUMEXT);
require_once(dirname(__FILE__).'/../../config.php');
require_once(dirname(__FILE__).'/locallib.php');
-$pageparams = new att_preferences_page_params();
+$pageparams = new mod_attendance_preferences_page_params();
$id = required_param('id', PARAM_INT);
$pageparams->action = optional_param('action', null, PARAM_INT);
}
switch ($att->pageparams->action) {
- case att_preferences_page_params::ACTION_ADD:
+ case mod_attendance_preferences_page_params::ACTION_ADD:
$newacronym = optional_param('newacronym', null, PARAM_TEXT);
$newdescription = optional_param('newdescription', null, PARAM_TEXT);
$newgrade = optional_param('newgrade', 0, PARAM_RAW);
$maxstatusset = $pageparams->statusset; // Make sure the new maximum is shown without a page refresh.
}
break;
- case att_preferences_page_params::ACTION_DELETE:
+ case mod_attendance_preferences_page_params::ACTION_DELETE:
if (attendance_has_logs_for_status($att->pageparams->statusid)) {
print_error('cantdeletestatus', 'attendance', "attsettings.php?id=$id");
}
echo $OUTPUT->confirm($message, $att->url_preferences($params), $att->url_preferences());
echo $OUTPUT->footer();
exit;
- case att_preferences_page_params::ACTION_HIDE:
+ case mod_attendance_preferences_page_params::ACTION_HIDE:
$statuses = $att->get_statuses(false);
$status = $statuses[$att->pageparams->statusid];
$att->update_status($status, null, null, null, 0);
break;
- case att_preferences_page_params::ACTION_SHOW:
+ case mod_attendance_preferences_page_params::ACTION_SHOW:
$statuses = $att->get_statuses(false);
$status = $statuses[$att->pageparams->statusid];
$att->update_status($status, null, null, null, 1);
break;
- case att_preferences_page_params::ACTION_SAVE:
+ case mod_attendance_preferences_page_params::ACTION_SAVE:
$acronym = required_param_array('acronym', PARAM_TEXT);
$description = required_param_array('description', PARAM_TEXT);
$grade = required_param_array('grade', PARAM_RAW);
if (has_capability('mod/attendance:manageattendances', $context)) {
$toprow[] = new tabobject(self::TAB_ADD,
- $this->att->url_sessions()->out(true, array('action' => att_sessions_page_params::ACTION_ADD)),
+ $this->att->url_sessions()->out(true, array('action' => mod_attendance_sessions_page_params::ACTION_ADD)),
get_string('addsession', 'attendance'));
}
if (has_capability('mod/attendance:viewreports', $context)) {
}
if ($this->currenttab == self::TAB_UPDATE && has_capability('mod/attendance:manageattendances', $context)) {
$toprow[] = new tabobject(self::TAB_UPDATE,
- $this->att->url_sessions()->out(true, array('action' => att_sessions_page_params::ACTION_UPDATE)),
+ $this->att->url_sessions()->out(true, array('action' => mod_attendance_sessions_page_params::ACTION_UPDATE)),
get_string('changesession', 'attendance'));
}
$this->decimalpoints = $CFG->grade_decimalpoints;
}
- if ($this->pageparams->mode == att_view_page_params::MODE_THIS_COURSE) {
+ if ($this->pageparams->mode == mod_attendance_view_page_params::MODE_THIS_COURSE) {
$this->statuses = $att->get_statuses(true, true);
$this->stat = $att->get_user_stat($userid);
protected function render_sess_group_selector(attendance_filter_controls $fcontrols) {
switch ($fcontrols->pageparams->selectortype) {
- case att_page_with_filter_controls::SELECTOR_SESS_TYPE:
+ case mod_attendance_page_with_filter_controls::SELECTOR_SESS_TYPE:
$sessgroups = $fcontrols->get_sess_groups_list();
if ($sessgroups) {
$select = new single_select($fcontrols->url(), 'group', $sessgroups,
return html_writer::tag('div', $output, array('class' => 'groupselector'));
}
break;
- case att_page_with_filter_controls::SELECTOR_GROUP:
+ case mod_attendance_page_with_filter_controls::SELECTOR_GROUP:
return groups_print_activity_menu($fcontrols->cm, $fcontrols->url(), true);
}
}
if (has_capability('mod/attendance:manageattendances', $sessdata->att->context)) {
- $url = $sessdata->url_sessions($sess->id, att_sessions_page_params::ACTION_UPDATE);
+ $url = $sessdata->url_sessions($sess->id, mod_attendance_sessions_page_params::ACTION_UPDATE);
$title = get_string('editsession', 'attendance');
$actions .= $this->output->action_icon($url, new pix_icon('t/edit', $title));
- $url = $sessdata->url_sessions($sess->id, att_sessions_page_params::ACTION_DELETE);
+ $url = $sessdata->url_sessions($sess->id, mod_attendance_sessions_page_params::ACTION_DELETE);
$title = get_string('deletesession', 'attendance');
$actions .= $this->output->action_icon($url, new pix_icon('t/delete', $title));
}
$table->data[1][] = html_writer::empty_tag('input', $attributes);
}
- $options = array(
- att_sessions_page_params::ACTION_DELETE_SELECTED => get_string('delete'),
- att_sessions_page_params::ACTION_CHANGE_DURATION => get_string('changeduration', 'attendance'));
+ $options = array(mod_attendance_sessions_page_params::ACTION_DELETE_SELECTED => get_string('delete'),
+ mod_attendance_sessions_page_params::ACTION_CHANGE_DURATION => get_string('changeduration', 'attendance'));
$controls = html_writer::select($options, 'action');
$attributes = array(
protected function render_attendance_take_data(attendance_take_data $takedata) {
$controls = $this->render_attendance_take_controls($takedata);
- if ($takedata->pageparams->viewmode == att_take_page_params::SORTED_LIST) {
+ if ($takedata->pageparams->viewmode == mod_attendance_take_page_params::SORTED_LIST) {
$table = $this->render_attendance_take_list($takedata);
} else {
$table = $this->render_attendance_take_grid($takedata);
$controls .= html_writer::empty_tag('br');
$options = array(
- att_take_page_params::SORTED_LIST => get_string('sortedlist', 'attendance'),
- att_take_page_params::SORTED_GRID => get_string('sortedgrid', 'attendance'));
+ mod_attendance_take_page_params::SORTED_LIST => get_string('sortedlist', 'attendance'),
+ mod_attendance_take_page_params::SORTED_GRID => get_string('sortedgrid', 'attendance'));
$select = new single_select($takedata->url(), 'viewmode', $options, $takedata->pageparams->viewmode, null);
$select->set_label(get_string('viewmode', 'attendance'));
$select->class = 'singleselect inline';
$controls .= $this->output->render($select);
- if ($takedata->pageparams->viewmode == att_take_page_params::SORTED_LIST) {
+ if ($takedata->pageparams->viewmode == mod_attendance_take_page_params::SORTED_LIST) {
$options = array(
0 => get_string('donotusepaging', 'attendance'),
get_config('attendance', 'resultsperpage') => get_config('attendance', 'resultsperpage'));
$controls .= $this->output->render($select);
}
- if ($takedata->pageparams->viewmode == att_take_page_params::SORTED_GRID) {
+ if ($takedata->pageparams->viewmode == mod_attendance_take_page_params::SORTED_GRID) {
$options = array (1 => '1 '.get_string('column', 'attendance'), '2 '.get_string('columns', 'attendance'),
'3 '.get_string('columns', 'attendance'), '4 '.get_string('columns', 'attendance'),
'5 '.get_string('columns', 'attendance'), '6 '.get_string('columns', 'attendance'),
$input = html_writer::empty_tag('input', $params);
- if ($takedata->pageparams->viewmode == att_take_page_params::SORTED_GRID) {
+ if ($takedata->pageparams->viewmode == mod_attendance_take_page_params::SORTED_GRID) {
$input = html_writer::tag('nobr', $input . $st->acronym);
}
protected function render_user_report_tabs(attendance_user_data $userdata) {
$tabs = array();
- $tabs[] = new tabobject(att_view_page_params::MODE_THIS_COURSE,
- $userdata->url()->out(true, array('mode' => att_view_page_params::MODE_THIS_COURSE)),
+ $tabs[] = new tabobject(mod_attendance_view_page_params::MODE_THIS_COURSE,
+ $userdata->url()->out(true, array('mode' => mod_attendance_view_page_params::MODE_THIS_COURSE)),
get_string('thiscourse', 'attendance'));
// Skip the 'all courses' tab for 'temporary' users.
if ($userdata->user->type == 'standard') {
- $tabs[] = new tabobject(att_view_page_params::MODE_ALL_COURSES,
- $userdata->url()->out(true, array('mode' => att_view_page_params::MODE_ALL_COURSES)),
+ $tabs[] = new tabobject(mod_attendance_view_page_params::MODE_ALL_COURSES,
+ $userdata->url()->out(true, array('mode' => mod_attendance_view_page_params::MODE_ALL_COURSES)),
get_string('allcourses', 'attendance'));
}
private function construct_user_data(attendance_user_data $userdata) {
$o = html_writer::tag('h2', fullname($userdata->user));
- if ($userdata->pageparams->mode == att_view_page_params::MODE_THIS_COURSE) {
+ if ($userdata->pageparams->mode == mod_attendance_view_page_params::MODE_THIS_COURSE) {
$o .= html_writer::empty_tag('hr');
$o .= construct_user_data_stat($userdata->stat, $userdata->statuses,
$table->data[$i][] = $this->construct_text_input('newdescription', 30, 30);
$table->data[$i][] = $this->construct_text_input('newgrade', 4, 4);
$table->data[$i][] = $this->construct_preferences_button(get_string('add', 'attendance'),
- att_preferences_page_params::ACTION_ADD);
+ mod_attendance_preferences_page_params::ACTION_ADD);
$o = html_writer::tag('h1', get_string('myvariables', 'attendance'));
$o .= html_writer::table($table);
// We should probably rewrite this to use mforms but for now add sesskey.
$o .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()))."\n";
- $o .= $this->construct_preferences_button(get_string('update', 'attendance'), att_preferences_page_params::ACTION_SAVE);
+ $o .= $this->construct_preferences_button(get_string('update', 'attendance'), mod_attendance_preferences_page_params::ACTION_SAVE);
$o = html_writer::tag('form', $o, array('id' => 'preferencesform', 'method' => 'post',
'action' => $prefdata->url(array(), false)->out_omit_querystring()));
$o = $this->output->container($o, 'generalbox attwidth');
$params = array('sesskey' => sesskey(),
'statusid' => $st->id);
if ($st->visible) {
- $params['action'] = att_preferences_page_params::ACTION_HIDE;
+ $params['action'] = mod_attendance_preferences_page_params::ACTION_HIDE;
$showhideicon = $OUTPUT->action_icon(
$prefdata->url($params),
new pix_icon("t/hide", get_string('hide')));
} else {
- $params['action'] = att_preferences_page_params::ACTION_SHOW;
+ $params['action'] = mod_attendance_preferences_page_params::ACTION_SHOW;
$showhideicon = $OUTPUT->action_icon(
$prefdata->url($params),
new pix_icon("t/show", get_string('show')));
}
if (!$st->haslogs) {
- $params['action'] = att_preferences_page_params::ACTION_DELETE;
+ $params['action'] = mod_attendance_preferences_page_params::ACTION_DELETE;
$deleteicon = $OUTPUT->action_icon(
$prefdata->url($params),
new pix_icon("t/delete", get_string('delete')));
require_once(dirname(__FILE__).'/../../config.php');
require_once(dirname(__FILE__).'/locallib.php');
-$pageparams = new att_report_page_params();
+$pageparams = new mod_attendance_report_page_params();
$id = required_param('id', PARAM_INT);
$from = optional_param('from', null, PARAM_ACTION);
require_once(dirname(__FILE__).'/update_form.php');
require_once(dirname(__FILE__).'/duration_form.php');
-$pageparams = new att_sessions_page_params();
+$pageparams = new mod_attendance_sessions_page_params();
$id = required_param('id', PARAM_INT);
$pageparams->action = required_param('action', PARAM_INT);
if (optional_param('deletehiddensessions', false, PARAM_TEXT)) {
- $pageparams->action = att_sessions_page_params::ACTION_DELETE_HIDDEN;
+ $pageparams->action = mod_attendance_sessions_page_params::ACTION_DELETE_HIDDEN;
}
if (empty($pageparams->action)) {
$currenttab = attendance_tabs::TAB_ADD;
$formparams = array('course' => $course, 'cm' => $cm, 'modcontext' => $context, 'att' => $att);
switch ($att->pageparams->action) {
- case att_sessions_page_params::ACTION_ADD:
- $url = $att->url_sessions(array('action' => att_sessions_page_params::ACTION_ADD));
+ case mod_attendance_sessions_page_params::ACTION_ADD:
+ $url = $att->url_sessions(array('action' => mod_attendance_sessions_page_params::ACTION_ADD));
$mform = new mod_attendance_add_form($url, $formparams);
if ($mform->is_cancelled()) {
redirect($att->url_manage());
}
break;
- case att_sessions_page_params::ACTION_UPDATE:
+ case mod_attendance_sessions_page_params::ACTION_UPDATE:
$sessionid = required_param('sessionid', PARAM_INT);
- $url = $att->url_sessions(array('action' => att_sessions_page_params::ACTION_UPDATE, 'sessionid' => $sessionid));
+ $url = $att->url_sessions(array('action' => mod_attendance_sessions_page_params::ACTION_UPDATE, 'sessionid' => $sessionid));
$formparams['sessionid'] = $sessionid;
$mform = new mod_attendance_update_form($url, $formparams);
}
$currenttab = attendance_tabs::TAB_UPDATE;
break;
- case att_sessions_page_params::ACTION_DELETE:
+ case mod_attendance_sessions_page_params::ACTION_DELETE:
$sessionid = required_param('sessionid', PARAM_INT);
$confirm = optional_param('confirm', null, PARAM_INT);
echo $OUTPUT->confirm($message, $att->url_sessions($params), $att->url_manage());
echo $OUTPUT->footer();
exit;
- case att_sessions_page_params::ACTION_DELETE_SELECTED:
+ case mod_attendance_sessions_page_params::ACTION_DELETE_SELECTED:
$confirm = optional_param('confirm', null, PARAM_INT);
if (isset($confirm) && confirm_sesskey()) {
echo $OUTPUT->confirm($message, $att->url_sessions($params), $att->url_manage());
echo $OUTPUT->footer();
exit;
- case att_sessions_page_params::ACTION_CHANGE_DURATION:
+ case mod_attendance_sessions_page_params::ACTION_CHANGE_DURATION:
$sessid = optional_param_array('sessid', '', PARAM_SEQUENCE);
$ids = optional_param('ids', '', PARAM_ALPHANUMEXT);
$slist = !empty($sessid) ? implode('_', $sessid) : '';
- $url = $att->url_sessions(array('action' => att_sessions_page_params::ACTION_CHANGE_DURATION));
+ $url = $att->url_sessions(array('action' => mod_attendance_sessions_page_params::ACTION_CHANGE_DURATION));
$formparams['ids'] = $slist;
$mform = new mod_attendance_duration_form($url, $formparams);
}
break;
- case att_sessions_page_params::ACTION_DELETE_HIDDEN:
+ case mod_attendance_sessions_page_params::ACTION_DELETE_HIDDEN:
$confirm = optional_param('confirm', null, PARAM_INT);
if ($confirm && confirm_sesskey()) {
$sessions = $att->get_hidden_sessions();
require_once(dirname(__FILE__).'/../../config.php');
require_once(dirname(__FILE__).'/locallib.php');
-$pageparams = new att_take_page_params();
+$pageparams = new mod_attendance_take_page_params();
$id = required_param('id', PARAM_INT);
$pageparams->sessionid = required_param('sessionid', PARAM_INT);
require_once(dirname(__FILE__).'/../../config.php');
require_once(dirname(__FILE__).'/locallib.php');
-$pageparams = new att_view_page_params();
+$pageparams = new mod_attendance_view_page_params();
$id = required_param('id', PARAM_INT);
$pageparams->studentid = optional_param('studentid', null, PARAM_INT);
-$pageparams->mode = optional_param('mode', att_view_page_params::MODE_THIS_COURSE, PARAM_INT);
+$pageparams->mode = optional_param('mode', mod_attendance_view_page_params::MODE_THIS_COURSE, PARAM_INT);
$pageparams->view = optional_param('view', null, PARAM_INT);
$pageparams->curdate = optional_param('curdate', null, PARAM_INT);