adding group support
This commit is contained in:
+8
-6
@@ -85,8 +85,8 @@
|
||||
print_heading(format_string($data->name));
|
||||
|
||||
/// Check to see if groups are being used here
|
||||
if ($groupmode = groupmode($course, $cm)) { // Groups are being used
|
||||
$currentgroup = setup_and_print_groups($course, $groupmode, "view.php?id=$cm->id");
|
||||
if ($groupmode = groupmode($course, $cm)) { // Groups are being used
|
||||
$currentgroup = setup_and_print_groups($course, $groupmode, 'add.php?d='.$data->id.'&sesskey='.sesskey().'&');
|
||||
} else {
|
||||
$currentgroup = 0;
|
||||
}
|
||||
@@ -122,13 +122,15 @@
|
||||
} else {
|
||||
$record->approved = 0;
|
||||
}
|
||||
|
||||
$record->groupid = $currentgroup;
|
||||
update_record('data_records',$record);
|
||||
|
||||
foreach ($datarecord as $name=>$value){
|
||||
|
||||
|
||||
//this creates a new field subclass object
|
||||
if ($name != 'MAX_FILE_SIZE' && $name != 'sesskey'){
|
||||
if ($name != 'MAX_FILE_SIZE' && $name != 'sesskey' and $name!='d' and $name!='rid'){
|
||||
if (($currentfield = data_get_field_from_name($name)) !== false) {
|
||||
//use native subclass method to store field data
|
||||
$currentfield->update_data_content($currentfield->id, $rid, $value, $name);
|
||||
@@ -145,7 +147,7 @@
|
||||
|
||||
foreach ($datarecord as $name => $value){ //check to see if everything is empty
|
||||
|
||||
if ($name != 'MAX_FILE_SIZE' and $name != 'sesskey'){
|
||||
if ($name != 'MAX_FILE_SIZE' and $name != 'sesskey' and $name!='d' and $name!='rid'){
|
||||
//call native method to check validity
|
||||
$currentfield = data_get_field_from_name($name);
|
||||
if ($currentfield->notemptyfield($value, $name)){
|
||||
@@ -155,7 +157,7 @@
|
||||
} ///End of Empty form checking
|
||||
|
||||
|
||||
if (!$emptyform && $recordid = data_add_record($data->id)){ //add instance to data_record
|
||||
if (!$emptyform && $recordid = data_add_record($data->id, $currentgroup)){ //add instance to data_record
|
||||
$fields = get_records('data_fields','dataid',$data->id);
|
||||
|
||||
//do a manual round of inserting, to make sure even empty conentes get stored
|
||||
@@ -166,7 +168,7 @@
|
||||
}
|
||||
//for each field in the add form, add it to the data_content.
|
||||
foreach ($datarecord as $name => $value){
|
||||
if ($name != 'MAX_FILE_SIZE' && $name != 'sesskey'){ //hack to skip these inputs
|
||||
if ($name != 'MAX_FILE_SIZE' && $name != 'sesskey' and $name!='d' and $name!='rid'){ //hack to skip these inputs
|
||||
$currentfield = data_get_field_from_name($name);
|
||||
//use native subclass method to sore field data
|
||||
$currentfield->update_data_content($currentfield->id, $recordid, $value, $name);
|
||||
|
||||
+2
-2
@@ -661,7 +661,7 @@ function data_get_coursemodule_info($coursemodule) {
|
||||
* @param string $template *
|
||||
* output null *
|
||||
************************************************************************/
|
||||
function data_print_template($records, $data, $search, $template, $sort, $page, $rid, $order){
|
||||
function data_print_template($records, $data, $search, $template, $sort, $page, $rid, $order, $group){
|
||||
global $CFG, $course;
|
||||
|
||||
foreach ($records as $record){ //only 1 record for single mode
|
||||
@@ -703,7 +703,7 @@ function data_print_template($records, $data, $search, $template, $sort, $page,
|
||||
}else {
|
||||
$replacement[] = '';
|
||||
}
|
||||
$replacement[] = '<a href="'.$CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&rid='.$record->id.'&search='.$search.'&sort='.$sort.'&order='.$order.'&"><img src="'.$CFG->pixpath.'/i/search.gif" height="11" width="11" border="0" alt="'.get_string('more').'" /></a>';
|
||||
$replacement[] = '<a href="'.$CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&rid='.$record->id.'&search='.$search.'&sort='.$sort.'&order='.$order.'&group='.$group.'&"><img src="'.$CFG->pixpath.'/i/search.gif" height="11" width="11" border="0" alt="'.get_string('more').'" /></a>';
|
||||
|
||||
if (isteacher($course->id) && ($data->approval) && (!$record->approved)){
|
||||
$replacement[] = data_print_approve_button($record->id, $data->id, $page, $rid, $search, $sort, $order);
|
||||
|
||||
+14
-14
@@ -37,7 +37,7 @@
|
||||
$perpagemenu = optional_param('perpage1', 0, PARAM_INT); //value from drop down
|
||||
$sort = optional_param('sort',0,PARAM_INT); //sort by field
|
||||
$order = optional_param('order','ASC',PARAM_ALPHA); //sort order
|
||||
|
||||
$group = optional_param('group','0',PARAM_INT); //groupid
|
||||
|
||||
|
||||
if ($id) {
|
||||
@@ -117,13 +117,13 @@
|
||||
|
||||
/// Check to see if groups are being used here
|
||||
if ($groupmode = groupmode($course, $cm)) { // Groups are being used
|
||||
$currentgroup = setup_and_print_groups($course, $groupmode, "'view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&page='.$page.'&'");
|
||||
$currentgroup = setup_and_print_groups($course, $groupmode, 'view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&page='.$page.'&');
|
||||
} else {
|
||||
$currentgroup = 0;
|
||||
}
|
||||
|
||||
if ($currentgroup) {
|
||||
$groupselect = " AND groupid = '$currentgroup'";
|
||||
$groupselect = " AND r.groupid = '$currentgroup'";
|
||||
$groupparam = "&groupid=$currentgroup";
|
||||
} else {
|
||||
$groupselect = "";
|
||||
@@ -201,7 +201,7 @@
|
||||
|
||||
$perpage = get_user_preferences('data_perpage', 10); //get default per page
|
||||
|
||||
$baseurl = 'view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&';
|
||||
$baseurl = 'view.php?d='.$data->id.'&search='.s($search).'&sort='.s($sort).'&order='.s($order).'&group='.$currentgroup.'&';
|
||||
|
||||
|
||||
//if database requires approval, then we need to do some work
|
||||
@@ -233,7 +233,7 @@
|
||||
WHERE c.recordid = r.id
|
||||
AND c1.recordid = r.id
|
||||
AND r.dataid = '.$data->id.'
|
||||
AND c.fieldid = '.$sort.'
|
||||
AND c.fieldid = '.$sort.' '.$groupselect.'
|
||||
AND ((c1.content LIKE "%'.$search.'%") OR
|
||||
(c1.content1 LIKE "%'.$search.'%") OR
|
||||
(c1.content2 LIKE "%'.$search.'%") OR
|
||||
@@ -248,7 +248,7 @@
|
||||
WHERE c.recordid = r.id
|
||||
AND c1.recordid = r.id
|
||||
AND r.dataid = '.$data->id.'
|
||||
AND c.fieldid = '.$sort.'
|
||||
AND c.fieldid = '.$sort.' '.$groupselect.'
|
||||
AND ((c1.content LIKE "%'.$search.'%") OR
|
||||
(c1.content1 LIKE "%'.$search.'%") OR
|
||||
(c1.content2 LIKE "%'.$search.'%") OR
|
||||
@@ -266,7 +266,7 @@
|
||||
WHERE c.recordid = r.id
|
||||
AND c1.recordid = r.id
|
||||
AND r.dataid = '.$data->id.'
|
||||
AND c.fieldid = '.$sort.' '.$ridsql.'
|
||||
AND c.fieldid = '.$sort.' '.$ridsql.' '.$groupselect.'
|
||||
AND ((c1.content LIKE "%'.$search.'%") OR
|
||||
(c1.content1 LIKE "%'.$search.'%") OR
|
||||
(c1.content2 LIKE "%'.$search.'%") OR
|
||||
@@ -280,7 +280,7 @@
|
||||
FROM '.$CFG->prefix.'data_content c, '
|
||||
.$CFG->prefix.'data_fields f, '
|
||||
.$CFG->prefix.'data_records r
|
||||
WHERE c.recordid = r.id '.$approvesql.' AND
|
||||
WHERE c.recordid = r.id '.$groupselect.' '.$approvesql.' AND
|
||||
c.fieldid = f.id AND f.dataid = '
|
||||
.$data->id.' AND c.content LIKE "%'.$search.'%" ORDER BY r.id '.$order.' ';
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
FROM '.$CFG->prefix.'data_content c, '
|
||||
.$CFG->prefix.'data_fields f, '
|
||||
.$CFG->prefix.'data_records r
|
||||
WHERE c.recordid = r.id '.$approvesql.' AND
|
||||
WHERE c.recordid = r.id '.$groupselect.' '.$approvesql.' AND
|
||||
c.fieldid = f.id AND f.dataid = '
|
||||
.$data->id.' AND c.content LIKE "%'.$search.'%" ORDER BY r.id '.$order.' ';
|
||||
|
||||
@@ -296,18 +296,18 @@
|
||||
FROM '.$CFG->prefix.'data_content c, '
|
||||
.$CFG->prefix.'data_fields f, '
|
||||
.$CFG->prefix.'data_records r
|
||||
WHERE c.recordid = r.id '.$approvesql.' AND
|
||||
WHERE c.recordid = r.id '.$groupselect.' '.$approvesql.' AND
|
||||
c.fieldid = f.id AND f.dataid = '
|
||||
.$data->id.' '.$ridsql.' AND c.content LIKE "%'.$search.'%" ORDER BY r.id '.$order.' ';
|
||||
|
||||
} else { //else get everything, no search, no sort
|
||||
|
||||
$sql = 'SELECT * FROM '.$CFG->prefix.'data_records r WHERE r.dataid ='.$data->id.' '.$approvesql.' ORDER BY r.id '.$order.' ';
|
||||
$sql = 'SELECT * FROM '.$CFG->prefix.'data_records r WHERE r.dataid ='.$data->id.' '.$groupselect.' '.$approvesql.' ORDER BY r.id '.$order.' ';
|
||||
$sqlcount = 'SELECT COUNT(*) FROM '.$CFG->prefix
|
||||
.'data_records r WHERE r.dataid ='.$data->id.' '.$approvesql.'ORDER BY r.id '.$order.' ';
|
||||
.'data_records r WHERE r.dataid ='.$data->id.' '.$groupselect.' '.$approvesql.'ORDER BY r.id '.$order.' ';
|
||||
|
||||
$sqlindex = 'SELECT COUNT(*) FROM '.$CFG->prefix
|
||||
.'data_records r WHERE r.dataid ='.$data->id.' '.$ridsql.' '.$approvesql .'ORDER BY r.id '.$order.' ';
|
||||
.'data_records r WHERE r.dataid ='.$data->id.' '.$groupselect.' '.$ridsql.' '.$approvesql .'ORDER BY r.id '.$order.' ';
|
||||
}
|
||||
|
||||
if ($rid) { //this is used in zooming
|
||||
@@ -353,7 +353,7 @@
|
||||
print_paging_bar($totalcount, $page, $perpage, $baseurl, $pagevar='page');
|
||||
|
||||
//for each record we find, we do a string replacement for tags.
|
||||
data_print_template($records, $data, $search, $listmode, $sort, $page, $rid, $order);
|
||||
data_print_template($records, $data, $search, $listmode, $sort, $page, $rid, $order, $currentgroup);
|
||||
print_paging_bar($totalcount, $page, $perpage, $baseurl, $pagevar='page');
|
||||
|
||||
if ($perpage > 1){
|
||||
|
||||
Reference in New Issue
Block a user