$this->pagesize($pagesize, $total);
$rules = \tool_monitor\rule_manager::get_rules_by_courseid($this->courseid, $this->get_page_start(),
$this->get_page_size());
- foreach ($rules as $rule) {
- $this->rawdata[] = \tool_monitor\rule_manager::get_rule($rule);
- }
+ $this->rawdata = $rules;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
$this->pagesize($pagesize, $total);
$rules = \tool_monitor\rule_manager::get_rules_by_courseid($this->courseid, $this->get_page_start(),
$this->get_page_size());
- foreach ($rules as $rule) {
- $this->rawdata[] = \tool_monitor\rule_manager::get_rule($rule);
- }
+ $this->rawdata = $rules;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
$this->pagesize($pagesize, $total);
$subs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($this->courseid, $this->get_page_start(),
$this->get_page_size());
- foreach ($subs as $subscription) {
- $this->rawdata[] = \tool_monitor\subscription_manager::get_subscription($subscription->id);
- }
+ $this->rawdata = $subs;
// Set initial bars.
if ($useinitialsbar) {
$this->initialbars($total > $pagesize);
public static function get_rules_by_courseid($courseid, $limitfrom = 0, $limitto = 0) {
global $DB;
$select = "courseid = ? OR courseid = ?";
- return $DB->get_records_select('tool_monitor_rules', $select, array(0, $courseid), null, '*', $limitfrom, $limitto);
+ return self::get_instances($DB->get_records_select('tool_monitor_rules', $select, array(0, $courseid), null, '*',
+ $limitfrom, $limitto));
}
/**
*/
public static function get_rules_by_plugin($plugin) {
global $DB;
- return $DB->get_records('tool_monitor_rules', array('plugin' => $plugin));
+ return self::get_instances($DB->get_records('tool_monitor_rules', array('plugin' => $plugin)));
}
/**
*/
public static function get_rules_by_event($eventname) {
global $DB;
- return $DB->get_records('tool_monitor_rules', array('eventname' => $eventname));
+ return self::get_instances($DB->get_records('tool_monitor_rules', array('eventname' => $eventname)));
+ }
+
+ /**
+ * Helper method to convert db records to instances.
+ *
+ * @param array $arr of rules.
+ *
+ * @return array of rules as instances.
+ */
+ protected static function get_instances($arr) {
+ $result = array();
+ foreach ($arr as $key => $sub) {
+ $result[$key] = new rule($sub);
+ }
+ return $result;
}
}
$sql = self::get_subscription_join_rule_sql();
$sql .= "WHERE s.courseid = :courseid AND s.userid = :userid ORDER BY $order";
- return $DB->get_records_sql($sql, array('courseid' => $courseid, 'userid' => $userid), $limitfrom, $limitto);
+ return self::get_instances($DB->get_records_sql($sql, array('courseid' => $courseid, 'userid' => $userid), $limitfrom,
+ $limitto));
}
/**
return $DB->count_records_sql($sql, array('courseid' => $courseid, 'userid' => $userid));
}
-
/**
* Return a list of subscriptions for a given event.
*
$sql .= "WHERE r.eventname = :eventname AND (s.courseid = :courseid OR s.courseid = 0)";
$params = array('eventname' => $event->eventname, 'courseid' => $event->courseid);
}
- return $DB->get_records_sql($sql, $params);
+ return self::get_instances($DB->get_records_sql($sql, $params));
}
/**
*
* @return string the sql.
*/
- public static function get_subscription_join_rule_sql($count = false) {
+ protected static function get_subscription_join_rule_sql($count = false) {
if ($count) {
$select = "SELECT COUNT(s.id) ";
} else {
ON r.id = s.ruleid ";
return $sql;
}
+
+ /**
+ * Helper method to convert db records to instances.
+ *
+ * @param array $arr of subscriptions.
+ *
+ * @return array of subscriptions as instances.
+ */
+ protected static function get_instances($arr) {
+ $result = array();
+ foreach ($arr as $key => $sub) {
+ $result[$key] = new subscription($sub);
+ }
+ return $result;
+ }
}