[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.
|