/** * @return bool */ public static function validate($params) { $dataformid = $params['dataformid']; $df = \mod_dataform_dataform::instance($dataformid); // Unspecified entry. if (empty($params['entry'])) { return self::has_capability('mod/dataform:entryanydelete', $params); } // Early entries. if ($df->is_early()) { $params['capabilities'] = array('mod/dataform:entryearlydelete'); if (!parent::validate($params)) { return false; } } // Late entries. if ($df->is_past_due()) { $params['capabilities'] = array('mod/dataform:entrylatedelete'); if (!parent::validate($params)) { return false; } } $entry = !empty($params['entry']) ? $params['entry'] : \mod_dataform\pluginbase\dataformentry::blank_instance($df); // Own entry. if (\mod_dataform\pluginbase\dataformentry::is_own($entry)) { $params['capabilities'] = array('mod/dataform:entryowndelete'); return parent::validate($params); } // Group entry. if (\mod_dataform\pluginbase\dataformentry::is_grouped($entry)) { if (groups_is_member($entry->groupid)) { $params['capabilities'] = array('mod/dataform:entrygroupdelete'); return parent::validate($params); } } // Anonymous entry. if (\mod_dataform\pluginbase\dataformentry::is_anonymous($entry)) { $params['capabilities'] = array('mod/dataform:entryanonymousdelete'); return parent::validate($params); } // Any entry. if (\mod_dataform\pluginbase\dataformentry::is_others($entry)) { $params['capabilities'] = array('mod/dataform:entryanydelete'); return parent::validate($params); } return false; }
/** * @return bool */ public static function validate($params) { $dataformid = $params['dataformid']; $df = \mod_dataform_dataform::instance($dataformid); // Cannot add in a view that does not allow submission. if (!empty($params['viewid'])) { $view = $df->view_manager->get_view_by_id($params['viewid']); if (!$view or !$view->allows_submission()) { return false; } } // User at max entries (per interval). if ($df->user_at_max_entries(true)) { // No more entries for you (come back next interval or so). return false; } // Early entries. if ($df->is_early()) { $params['capabilities'] = array('mod/dataform:entryearlyadd'); if (!parent::validate($params)) { return false; } } // Late entries. if ($df->is_past_due()) { $params['capabilities'] = array('mod/dataform:entrylateadd'); if (!parent::validate($params)) { return false; } } $entry = !empty($params['entry']) ? $params['entry'] : \mod_dataform\pluginbase\dataformentry::blank_instance($df); // Own entry. if (\mod_dataform\pluginbase\dataformentry::is_own($entry)) { $params['capabilities'] = array('mod/dataform:entryownadd'); return parent::validate($params); } // Group entry. if (\mod_dataform\pluginbase\dataformentry::is_grouped($entry)) { if (groups_is_member($entry->groupid)) { $params['capabilities'] = array('mod/dataform:entrygroupadd'); return parent::validate($params); } } // Anonymous entry. if (\mod_dataform\pluginbase\dataformentry::is_anonymous($entry)) { if ((isguestuser() or !isloggedin()) and $df->anonymous) { return true; } $params['capabilities'] = array('mod/dataform:entryanonymousadd'); return parent::validate($params); } // Any entry. if (\mod_dataform\pluginbase\dataformentry::is_others($entry)) { $params['capabilities'] = array('mod/dataform:entryanyadd'); return parent::validate($params); } return false; }
/** * @return bool */ public static function validate($params) { $dataformid = $params['dataformid']; $df = \mod_dataform_dataform::instance($dataformid); // Cannot update in a view that does not allow submission. if (!empty($params['viewid'])) { $view = $df->view_manager->get_view_by_id($params['viewid']); if (!$view or !$view->allows_submission()) { return false; } } // Unspecified entry // if (empty($params['entry'])) { // return self::has_capability('mod/dataform:entryanyupdate', $params); // }. // Early entries. if ($df->is_early()) { $params['capabilities'] = array('mod/dataform:entryearlyupdate'); if (!parent::validate($params)) { return false; } } // Late entries. if ($df->is_past_due()) { $params['capabilities'] = array('mod/dataform:entrylateupdate'); if (!parent::validate($params)) { return false; } } $entry = !empty($params['entry']) ? $params['entry'] : \mod_dataform\pluginbase\dataformentry::blank_instance($df); // Own entry. if (\mod_dataform\pluginbase\dataformentry::is_own($entry)) { $params['capabilities'] = array('mod/dataform:entryownupdate'); return parent::validate($params); } // Group entry. if (\mod_dataform\pluginbase\dataformentry::is_grouped($entry)) { if (groups_is_member($entry->groupid)) { $params['capabilities'] = array('mod/dataform:entrygroupupdate'); return parent::validate($params); } } // Anonymous entry. if (\mod_dataform\pluginbase\dataformentry::is_anonymous($entry)) { $params['capabilities'] = array('mod/dataform:entryanonymousupdate'); return parent::validate($params); } // Any entry. if (\mod_dataform\pluginbase\dataformentry::is_others($entry)) { $params['capabilities'] = array('mod/dataform:entryanyupdate'); return parent::validate($params); } return false; }