[Logicampus-svn] SF.net SVN: logicampus:[1309] logicampus/trunk/src
Brought to you by:
trilexcom
From: <if...@us...> - 2010-02-26 07:17:49
|
Revision: 1309 http://logicampus.svn.sourceforge.net/logicampus/?rev=1309&view=rev Author: iflaah Date: 2010-02-26 07:17:39 +0000 (Fri, 26 Feb 2010) Log Message: ----------- entires ordering Modified Paths: -------------- logicampus/trunk/src/logicreate/lib/ClassGradebook.php logicampus/trunk/src/logicreate/lib/ClassGradebookVal.php Property Changed: ---------------- logicampus/trunk/src/public_html/images/ logicampus/trunk/src/public_html/images/docs/ logicampus/trunk/src/public_html/images/mimetypes/ Modified: logicampus/trunk/src/logicreate/lib/ClassGradebook.php =================================================================== --- logicampus/trunk/src/logicreate/lib/ClassGradebook.php 2009-11-03 10:29:53 UTC (rev 1308) +++ logicampus/trunk/src/logicreate/lib/ClassGradebook.php 2010-02-26 07:17:39 UTC (rev 1309) @@ -347,15 +347,14 @@ $where .= ' and id_class_gradebook_categories="'.$this->filterCategory.'"'; if ( !$getUnpublished ) $where .= ' and publish_flag=1'; - + $where.=' order by rank'; $entries = ClassGradebookEntriesPeer::doSelect( $where ); - //natural sort the names $cnt = count($entries); for ( $i=0; $i<$cnt; $i++ ) { $sortTheEntries[$i] = $entries[$i]->gradebookCode; } - natsort($sortTheEntries); + //natsort($sortTheEntries); while ( list($ordinal,$id) = @each($sortTheEntries) ) { $this->entries[$entries[$ordinal]->idClassGradebookEntries] = $entries[$ordinal]; } @@ -484,8 +483,24 @@ } return $cats; } + + function loadCategoryListFlag($id_classes) + { + $sql = "SELECT * + from class_gradebook_categories + where id_classes='$id_classes' and flag='1'"; + $db = DB::getHandle(); + $db->RESULT_TYPE = MYSQL_ASSOC; + $db->query($sql); + $cats = array(); + while($db->nextRecord() ) { + $cats[$db->record['id_class_gradebook_categories']] = $db->record['label']; + } + return $cats; + } + /** * Merges the loaded vals and the loaded students based on * a number of criteria. @@ -494,7 +509,8 @@ * is responsible for a certain grade. This function will apply * appropriate vals to each student. */ - function setStudentVals() { + /*function setStudentVals() { + $now = time(); //print "<!-- SET STUDENT VALS START -->\n"; @@ -503,11 +519,21 @@ #print_r($this->vals); //print "--> \n"; + $classId = $this->idClasses; + + + + $categories_1=array(); + $categories_1=$this->loadCategoryListFlag($classId); + //print_r($categories_1); + + - foreach($this->vals as $valId=>$valObj) { + $entry = $this->entries[$valObj->idClassGradebookEntries]; + //print_r($entry); $j = $valObj->studentId; $student = $this->students[$j]; if ( strtolower(get_class($student)) != 'classgradebookstudent' ){ @@ -520,6 +546,7 @@ $this->students[$j]->vals[$entry->idClassGradebookEntries] = $valObj; continue; } + if (($entry->dateDue > 0 && $entry->dateDue < $now) || strlen($valObj->score) > 0 ) { //date due is passed, assign points or 0 to student // fixed - mgk 12/9/03 @@ -537,7 +564,11 @@ $this->students[$j]->possiblePoints += $entry->totalPoints; #$this->students[$valObj->username]->totalPointsEarned += $valObj->score; $this->students[$j]->totalPointsEarned += $valObj->score; + //print_r($valObj->score); + } + + //print_r($this->students[$j]->totalPointsEarned); } @@ -562,10 +593,103 @@ */ + // $this->dropGrades(); +// } + + + function setStudentVals() { + + $now = time(); + + $categories_1=array(); + //loading flaged categories + $categories_1=$this->loadCategoryListFlag($this->idClasses); + + $catIdFlag=array_keys($categories_1); + + $total=array(); + $flag=0; + $std=array(); + foreach($this->vals as $valId=>$valObj) + { + $entry = $this->entries[$valObj->idClassGradebookEntries]; + $j = $valObj->studentId; + $student = $this->students[$j]; + + + if ( strtolower(get_class($student)) != 'classgradebookstudent' ) + { + continue; + } + + $totalEarned=0; + $EntriesTotal=0; + + $earned=0; + $per=0; + $totalCatFlaged=0; + $entriesNotFlaged = 0; + + if (($entry->dateDue > 0 && $entry->dateDue < $now) || strlen($valObj->score) > 0) + { + for($d=0;$d<count($catIdFlag);$d++) + { + if($entry->idClassGradebookCategories == $catIdFlag[$d]) + { + $flag=1; + $this->students[$j]->possiblePoints += $entry->totalPoints; + if($valObj->flag == 1) + { + + $total[$j] += $entry->totalPoints; + $earned=$this->students[$j]->totalPointsEarned += $valObj->score; + + } + + if($valObj->flag == 0) + { + $entriesNotFlaged+=$entry->totalPoints; + } + + $EntriesTotal=$total[$j]+$entriesNotFlaged; + + } + else + { + $total_0[$j] += $valObj->score; + } + + } + $possiblePoints[$j] +=$entry->totalPoints; + $totalPointsEarned[$j] += $valObj->score; + } + + $this->students[$j]->vals[$entry->idClassGradebookEntries] = $valObj; + + if(in_array($valObj->studentId,$std) == 0) + { + array_push($std,$valObj->studentId); + } + } + + foreach($std as $s) + { + if($flag == 1) + { + $this->students[$s]->totalPointsEarned = (($this->students[$s]->totalPointsEarned / $total[$s]) * $this->students[$s]->possiblePoints)+$total_0[$s]; + } + else + { + $this->students[$s]->possiblePoints = $possiblePoints[$s]; + $this->students[$s]->totalPointsEarned = $totalPointsEarned[$s]; + } + } + + $this->dropGrades(); } + - /** * Load all val objects for this class id */ @@ -582,8 +706,9 @@ // mgk 2/8/04 // karen richardson student (and others) had data not showing up // due to this bug. - $valObj->username = strtolower($valObj->username); + $valObj->username = strtolower($valObj->username); $this->vals[$valObj->idClassGradebookVal] = $valObj; + } } @@ -903,7 +1028,7 @@ foreach ( $this->students as $username => $stuObj ) { if ( $stuObj->isWithdrawn() ) { continue; } - + $score = $this->students[$username]->totalPointsEarned; $poss = $this->students[$username]->possiblePoints; //print "<!-- ".$score. " / ". $poss. " -->\n"; Modified: logicampus/trunk/src/logicreate/lib/ClassGradebookVal.php =================================================================== --- logicampus/trunk/src/logicreate/lib/ClassGradebookVal.php 2009-11-03 10:29:53 UTC (rev 1308) +++ logicampus/trunk/src/logicreate/lib/ClassGradebookVal.php 2010-02-26 07:17:39 UTC (rev 1309) @@ -14,6 +14,7 @@ var $comments; var $dateCreated; var $dateModified; + var $flag; var $__attributes = array( 'idClassGradebookVal'=>'integer', @@ -23,7 +24,8 @@ 'score'=>'float', 'comments'=>'longvarchar', 'dateCreated'=>'integer', - 'dateModified'=>'integer'); + 'dateModified'=>'integer', + 'flag'=>'integer'); var $__nulls = array( 'score'=>'score', @@ -124,8 +126,8 @@ $st->fields['comments'] = 'comments'; $st->fields['date_created'] = 'date_created'; $st->fields['date_modified'] = 'date_modified'; - - + $st->fields['flag'] = 'flag'; + $array = array(); $db->executeQuery($st); while($db->nextRecord() ) { @@ -146,6 +148,7 @@ $st->fields['comments'] = $this->comments; $st->fields['date_created'] = $this->dateCreated; $st->fields['date_modified'] = $this->dateModified; + $st->fields['flag'] = $this->flag; $st->nulls['score'] = 'score'; $st->nulls['comments'] = 'comments'; @@ -172,6 +175,7 @@ $st->fields['comments'] = $obj->comments; $st->fields['date_created'] = $obj->dateCreated; $st->fields['date_modified'] = $obj->dateModified; + $st->fields['flag'] = $obj->flag; $st->nulls['score'] = 'score'; $st->nulls['comments'] = 'comments'; @@ -240,6 +244,7 @@ $x->comments = $row['comments']; $x->dateCreated = $row['date_created']; $x->dateModified = $row['date_modified']; + $x->flag = $row['flag']; $x->_new = false; return $x; Property changes on: logicampus/trunk/src/public_html/images ___________________________________________________________________ Added: svn:ignore + Thumbs.db Property changes on: logicampus/trunk/src/public_html/images/docs ___________________________________________________________________ Added: svn:ignore + Thumbs.db Property changes on: logicampus/trunk/src/public_html/images/mimetypes ___________________________________________________________________ Added: svn:ignore + Thumbs.db This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |