Passed
Push — 1.10.x ( b8d3c5...c1c0ee )
by Angel Fernando Quiroz
296:52 queued 257:06
created
main/gradebook/lib/fe/usertable.class.php 1 patch
Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -10,128 +10,128 @@
 block discarded – undo
10 10
  */
11 11
 class UserTable extends SortableTable
12 12
 {
13
-	private $userid;
14
-	private $datagen;
13
+    private $userid;
14
+    private $datagen;
15 15
 
16
-	/**
17
-	 * Constructor
18
-	 */
19
-	public function UserTable($userid, $evals = array(), $links = array(), $addparams = null)
20
-	{
21
-		parent :: __construct ('userlist', null, null, 0);
22
-		$this->userid = $userid;
23
-		$this->datagen = new UserDataGenerator($userid, $evals, $links);
24
-		if (isset($addparams)) {
25
-			$this->set_additional_parameters($addparams);
26
-		}
27
-		$column = 0;
28
-		$this->set_header($column++, get_lang('Type'));
29
-		$this->set_header($column++, get_lang('Evaluation'));
30
-		$this->set_header($column++, get_lang('Course'));
31
-		$this->set_header($column++, get_lang('Category'));
32
-		$this->set_header($column++, get_lang('EvaluationAverage'));
33
-		$this->set_header($column++, get_lang('Result'));
16
+    /**
17
+     * Constructor
18
+     */
19
+    public function UserTable($userid, $evals = array(), $links = array(), $addparams = null)
20
+    {
21
+        parent :: __construct ('userlist', null, null, 0);
22
+        $this->userid = $userid;
23
+        $this->datagen = new UserDataGenerator($userid, $evals, $links);
24
+        if (isset($addparams)) {
25
+            $this->set_additional_parameters($addparams);
26
+        }
27
+        $column = 0;
28
+        $this->set_header($column++, get_lang('Type'));
29
+        $this->set_header($column++, get_lang('Evaluation'));
30
+        $this->set_header($column++, get_lang('Course'));
31
+        $this->set_header($column++, get_lang('Category'));
32
+        $this->set_header($column++, get_lang('EvaluationAverage'));
33
+        $this->set_header($column++, get_lang('Result'));
34 34
 
35
-		$scoredisplay = ScoreDisplay :: instance();
36
-		if ($scoredisplay->is_custom()) {
37
-			$this->set_header($column++, get_lang('Display'));
38
-		}
39
-	}
35
+        $scoredisplay = ScoreDisplay :: instance();
36
+        if ($scoredisplay->is_custom()) {
37
+            $this->set_header($column++, get_lang('Display'));
38
+        }
39
+    }
40 40
 
41
-	/**
42
-	 * Function used by SortableTable to get total number of items in the table
43
-	 */
44
-	function get_total_number_of_items()
45
-	{
46
-		return $this->datagen->get_total_items_count();
47
-	}
41
+    /**
42
+     * Function used by SortableTable to get total number of items in the table
43
+     */
44
+    function get_total_number_of_items()
45
+    {
46
+        return $this->datagen->get_total_items_count();
47
+    }
48 48
 
49
-	/**
50
-	 * Function used by SortableTable to generate the data to display
51
-	 */
52
-	public function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null)
53
-	{
54
-		$scoredisplay = ScoreDisplay :: instance();
49
+    /**
50
+     * Function used by SortableTable to generate the data to display
51
+     */
52
+    public function get_table_data($from = 1, $per_page = null, $column = null, $direction = null, $sort = null)
53
+    {
54
+        $scoredisplay = ScoreDisplay :: instance();
55 55
 
56
-		// determine sorting type
57
-		switch ($this->column) {
58
-			// Type
59
-			case 0:
60
-				$sorting = UserDataGenerator :: UDG_SORT_TYPE;
61
-				break;
62
-			case 1:
63
-				$sorting = UserDataGenerator :: UDG_SORT_NAME;
64
-				break;
65
-			case 2:
66
-				$sorting = UserDataGenerator :: UDG_SORT_COURSE;
67
-				break;
68
-			case 3:
69
-				$sorting = UserDataGenerator :: UDG_SORT_CATEGORY;
70
-				break;
71
-			case 4:
72
-				$sorting = UserDataGenerator :: UDG_SORT_AVERAGE;
73
-				break;
74
-			case 5:
75
-				$sorting = UserDataGenerator :: UDG_SORT_SCORE;
76
-				break;
77
-			case 6:
78
-				$sorting = UserDataGenerator :: UDG_SORT_MASK;
79
-				break;
80
-		}
81
-		if ($this->direction == 'DESC') {
82
-			$sorting |= UserDataGenerator :: UDG_SORT_DESC;
83
-		} else {
84
-			$sorting |= UserDataGenerator :: UDG_SORT_ASC;
85
-		}
86
-		$data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
87
-		// generate the data to display
88
-		$sortable_data = array();
89
-		foreach ($data_array as $data) {
90
-			if ($data[2]!="") {//filter by course removed
91
-				$row = array ();
92
-				$row[] = $this->build_type_column($data[0]);
93
-				$row[] = $this->build_name_link($data[0]);
94
-				$row[] = $data[2];
95
-				$row[] = $data[3];
96
-				$row[] = $data[4];
97
-				$row[] = $data[5];
98
-				if ($scoredisplay->is_custom())
99
-					$row[] = $data[6];
100
-				$sortable_data[] = $row;
101
-			}
102
-		}
56
+        // determine sorting type
57
+        switch ($this->column) {
58
+            // Type
59
+            case 0:
60
+                $sorting = UserDataGenerator :: UDG_SORT_TYPE;
61
+                break;
62
+            case 1:
63
+                $sorting = UserDataGenerator :: UDG_SORT_NAME;
64
+                break;
65
+            case 2:
66
+                $sorting = UserDataGenerator :: UDG_SORT_COURSE;
67
+                break;
68
+            case 3:
69
+                $sorting = UserDataGenerator :: UDG_SORT_CATEGORY;
70
+                break;
71
+            case 4:
72
+                $sorting = UserDataGenerator :: UDG_SORT_AVERAGE;
73
+                break;
74
+            case 5:
75
+                $sorting = UserDataGenerator :: UDG_SORT_SCORE;
76
+                break;
77
+            case 6:
78
+                $sorting = UserDataGenerator :: UDG_SORT_MASK;
79
+                break;
80
+        }
81
+        if ($this->direction == 'DESC') {
82
+            $sorting |= UserDataGenerator :: UDG_SORT_DESC;
83
+        } else {
84
+            $sorting |= UserDataGenerator :: UDG_SORT_ASC;
85
+        }
86
+        $data_array = $this->datagen->get_data($sorting, $from, $this->per_page);
87
+        // generate the data to display
88
+        $sortable_data = array();
89
+        foreach ($data_array as $data) {
90
+            if ($data[2]!="") {//filter by course removed
91
+                $row = array ();
92
+                $row[] = $this->build_type_column($data[0]);
93
+                $row[] = $this->build_name_link($data[0]);
94
+                $row[] = $data[2];
95
+                $row[] = $data[3];
96
+                $row[] = $data[4];
97
+                $row[] = $data[5];
98
+                if ($scoredisplay->is_custom())
99
+                    $row[] = $data[6];
100
+                $sortable_data[] = $row;
101
+            }
102
+        }
103 103
 
104
-		return $sortable_data;
105
-	}
104
+        return $sortable_data;
105
+    }
106 106
 
107
-	/**
108
-	 * @param $item
109
-	 * @return string
110
-	 */
111
-	private function build_type_column($item)
112
-	{
113
-		return GradebookUtils::build_type_icon_tag($item->get_icon_name());
114
-	}
107
+    /**
108
+     * @param $item
109
+     * @return string
110
+     */
111
+    private function build_type_column($item)
112
+    {
113
+        return GradebookUtils::build_type_icon_tag($item->get_icon_name());
114
+    }
115 115
 
116
-	/**
117
-	 * @param $item
118
-	 * @return string
119
-	 */
120
-	private function build_name_link($item)
121
-	{
122
-		switch ($item->get_item_type()) {
123
-			// evaluation
124
-			case 'E' :
125
-				return ' '
126
-				. '<a href="gradebook_view_result.php?selecteval=' . $item->get_id() . '">'
127
-				. $item->get_name()
128
-				. '</a>';
129
-			// link
130
-			case 'L' :
131
-				return '&nbsp;<a href="' . $item->get_link() . '">'
132
-				. $item->get_name()
133
-				. '</a>'
134
-				. '&nbsp;[' . $item->get_type_name() . ']';
135
-		}
136
-	}
116
+    /**
117
+     * @param $item
118
+     * @return string
119
+     */
120
+    private function build_name_link($item)
121
+    {
122
+        switch ($item->get_item_type()) {
123
+            // evaluation
124
+            case 'E' :
125
+                return '&nbsp;'
126
+                . '<a href="gradebook_view_result.php?selecteval=' . $item->get_id() . '">'
127
+                . $item->get_name()
128
+                . '</a>';
129
+            // link
130
+            case 'L' :
131
+                return '&nbsp;<a href="' . $item->get_link() . '">'
132
+                . $item->get_name()
133
+                . '</a>'
134
+                . '&nbsp;[' . $item->get_type_name() . ']';
135
+        }
136
+    }
137 137
 }
Please login to merge, or discard this patch.
main/gradebook/lib/fe/scoredisplayform.class.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -10,47 +10,47 @@  discard block
 block discarded – undo
10 10
  */
11 11
 class ScoreDisplayForm extends FormValidator
12 12
 {
13
-	/**
14
-	 * @param $form_name
15
-	 * @param null $action
16
-	 */
17
-	public function ScoreDisplayForm($form_name, $action= null)
18
-	{
19
-		parent :: __construct($form_name, 'post', $action);
20
-		$displayscore = ScoreDisplay :: instance();
21
-		$customdisplays = $displayscore->get_custom_score_display_settings();
22
-
23
-		$nr_items = (count($customdisplays)!='0') ? count($customdisplays) : '1';
24
-		$this->setDefaults(array (
13
+    /**
14
+     * @param $form_name
15
+     * @param null $action
16
+     */
17
+    public function ScoreDisplayForm($form_name, $action= null)
18
+    {
19
+        parent :: __construct($form_name, 'post', $action);
20
+        $displayscore = ScoreDisplay :: instance();
21
+        $customdisplays = $displayscore->get_custom_score_display_settings();
22
+
23
+        $nr_items = (count($customdisplays)!='0') ? count($customdisplays) : '1';
24
+        $this->setDefaults(array (
25 25
             'scorecolpercent' => $displayscore->get_color_split_value()
26
-		));
26
+        ));
27 27
 
28
-		$this->addElement('hidden', 'maxvalue', '100');
29
-		$this->addElement('hidden', 'minvalue', '0');
30
-		$counter= 1;
28
+        $this->addElement('hidden', 'maxvalue', '100');
29
+        $this->addElement('hidden', 'minvalue', '0');
30
+        $counter= 1;
31 31
 
32
-		//setting the default values
32
+        //setting the default values
33 33
 
34
-		if(is_array($customdisplays)) {
35
-			foreach ($customdisplays as $customdisplay) {
36
-				$this->setDefaults(array (
37
-					'endscore[' . $counter . ']' => $customdisplay['score'],
38
-					'displaytext[' . $counter . ']' => $customdisplay['display']
39
-				));
40
-				$counter++;
41
-			}
42
-		}
43
-		$scorecol = array();
34
+        if(is_array($customdisplays)) {
35
+            foreach ($customdisplays as $customdisplay) {
36
+                $this->setDefaults(array (
37
+                    'endscore[' . $counter . ']' => $customdisplay['score'],
38
+                    'displaytext[' . $counter . ']' => $customdisplay['display']
39
+                ));
40
+                $counter++;
41
+            }
42
+        }
43
+        $scorecol = array();
44 44
 
45
-		//settings for the colored score
46
-		$this->addElement('header', get_lang('ScoreEdit'));
45
+        //settings for the colored score
46
+        $this->addElement('header', get_lang('ScoreEdit'));
47 47
 
48 48
         if ($displayscore->is_coloring_enabled()) {
49 49
             $this->addElement('html', '<b>' . get_lang('ScoreColor') . '</b>');
50 50
             $this->addElement('text', 'scorecolpercent', array(get_lang('Below'), get_lang('WillColorRed'), '%'), array(
51 51
                 'size' => 5,
52 52
                 'maxlength' => 5,
53
-				'input-size' => 2
53
+                'input-size' => 2
54 54
             ));
55 55
 
56 56
             if (api_get_setting('teachers_can_change_score_settings') != 'true') {
@@ -62,25 +62,25 @@  discard block
 block discarded – undo
62 62
             $this->addRule(array('scorecolpercent','minvalue'), get_lang('UnderMin'), 'compare', '>');
63 63
         }
64 64
 
65
-		//Settings for the scoring system
65
+        //Settings for the scoring system
66 66
 
67
-		if ($displayscore->is_custom()) {
67
+        if ($displayscore->is_custom()) {
68 68
             $this->addElement('html', '<br /><b>' . get_lang('ScoringSystem') . '</b>');
69
-			$this->addElement('static', null, null, get_lang('ScoreInfo'));
70
-			$this->setDefaults(array(
71
-				'beginscore' => '0'
72
-			));
73
-			$this->addElement('text', 'beginscore', array(get_lang('Between'), null, '%'), array(
74
-				'size' => 5,
75
-				'maxlength' => 5,
76
-				'disabled' => 'disabled',
77
-				'input-size' => 2
78
-			));
79
-
80
-			for ($counter= 1; $counter <= 20; $counter++) {
81
-				$renderer =& $this->defaultRenderer();
82
-				$elementTemplateTwoLabel =
83
-				'<div id=' . $counter . ' style="display: '.(($counter<=$nr_items)?'inline':'none').';">
69
+            $this->addElement('static', null, null, get_lang('ScoreInfo'));
70
+            $this->setDefaults(array(
71
+                'beginscore' => '0'
72
+            ));
73
+            $this->addElement('text', 'beginscore', array(get_lang('Between'), null, '%'), array(
74
+                'size' => 5,
75
+                'maxlength' => 5,
76
+                'disabled' => 'disabled',
77
+                'input-size' => 2
78
+            ));
79
+
80
+            for ($counter= 1; $counter <= 20; $counter++) {
81
+                $renderer =& $this->defaultRenderer();
82
+                $elementTemplateTwoLabel =
83
+                '<div id=' . $counter . ' style="display: '.(($counter<=$nr_items)?'inline':'none').';">
84 84
 
85 85
 				<!-- BEGIN required --><span class="form_required">*</span> <!-- END required -->
86 86
 
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 
106 106
 				';
107 107
 
108
-				$elementTemplateTwoLabel2 ='
108
+                $elementTemplateTwoLabel2 ='
109 109
 				<div class="col-sm-2">
110 110
 					<!-- BEGIN error --><span class="form_error">{error}</span>
111 111
 					<!-- END error -->
@@ -118,33 +118,33 @@  discard block
 block discarded – undo
118 118
 				</div>
119 119
 				</div>';
120 120
 
121
-				$scorebetw = array();
122
-				$this->addElement('text', 'endscore[' . $counter . ']', null, array (
123
-					'size' => 5,
124
-					'maxlength' => 5,
125
-					'id' => 'txta-'.$counter,
126
-					'input-size' => 2
127
-				));
128
-
129
-				$this->addElement('text', 'displaytext[' . $counter . ']', null,array (
130
-					'size' => 40,
131
-					'maxlength' => 40,
132
-					'id' => 'txtb-'.$counter
133
-				));
134
-				$renderer->setElementTemplate($elementTemplateTwoLabel, 'endscore[' . $counter . ']');
135
-				$renderer->setElementTemplate($elementTemplateTwoLabel2, 'displaytext[' . $counter . ']');
136
-				$this->addRule('endscore[' . $counter . ']', get_lang('OnlyNumbers'), 'numeric');
137
-				$this->addRule(array ('endscore[' . $counter . ']', 'maxvalue'), get_lang('Over100'), 'compare', '<=');
138
-				$this->addRule(array ('endscore[' . $counter . ']', 'minvalue'), get_lang('UnderMin'), 'compare', '>');
139
-			}
140
-		}
121
+                $scorebetw = array();
122
+                $this->addElement('text', 'endscore[' . $counter . ']', null, array (
123
+                    'size' => 5,
124
+                    'maxlength' => 5,
125
+                    'id' => 'txta-'.$counter,
126
+                    'input-size' => 2
127
+                ));
128
+
129
+                $this->addElement('text', 'displaytext[' . $counter . ']', null,array (
130
+                    'size' => 40,
131
+                    'maxlength' => 40,
132
+                    'id' => 'txtb-'.$counter
133
+                ));
134
+                $renderer->setElementTemplate($elementTemplateTwoLabel, 'endscore[' . $counter . ']');
135
+                $renderer->setElementTemplate($elementTemplateTwoLabel2, 'displaytext[' . $counter . ']');
136
+                $this->addRule('endscore[' . $counter . ']', get_lang('OnlyNumbers'), 'numeric');
137
+                $this->addRule(array ('endscore[' . $counter . ']', 'maxvalue'), get_lang('Over100'), 'compare', '<=');
138
+                $this->addRule(array ('endscore[' . $counter . ']', 'minvalue'), get_lang('UnderMin'), 'compare', '>');
139
+            }
140
+        }
141 141
 
142 142
         if ($displayscore->is_custom()) {
143
-			$this->addButtonSave(get_lang('Ok'));
144
-		}
145
-	}
143
+            $this->addButtonSave(get_lang('Ok'));
144
+        }
145
+    }
146 146
 
147
-	function validate() {
148
-		return parent :: validate();
149
-	}
147
+    function validate() {
148
+        return parent :: validate();
149
+    }
150 150
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/exerciselink.class.php 1 patch
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -194,13 +194,13 @@  discard block
 block discarded – undo
194 194
         in exercice/exercice.php, look for note-query-exe-results marker*/
195 195
         $session_id = api_get_session_id();
196 196
         $courseId = $this->getCourseId();
197
-	    $exercise = new Exercise($courseId);
197
+        $exercise = new Exercise($courseId);
198 198
         $exercise->read($this->get_ref_id());
199 199
 
200 200
         if (!$this->is_hp) {
201 201
 
202
-		if ($exercise->exercise_was_added_in_lp == false) {
203
-			$sql = "SELECT * FROM $tblStats
202
+        if ($exercise->exercise_was_added_in_lp == false) {
203
+            $sql = "SELECT * FROM $tblStats
204 204
 			        WHERE
205 205
 			            exe_exo_id = ".intval($this->get_ref_id())." AND
206 206
 			            orig_lp_id = 0 AND
@@ -209,15 +209,15 @@  discard block
 block discarded – undo
209 209
 			            session_id = $session_id AND
210 210
                                     c_id = $courseId 
211 211
                                 ";
212
-		    } else {
213
-		        $lpId = null;
214
-		        if (!empty($exercise->lpList)) {
215
-		            // Taking only the first LP
216
-		            $lpId = current($exercise->lpList);
217
-		            $lpId = $lpId['lp_id'];
218
-		        }
219
-
220
-		        $sql = "SELECT * FROM $tblStats
212
+            } else {
213
+                $lpId = null;
214
+                if (!empty($exercise->lpList)) {
215
+                    // Taking only the first LP
216
+                    $lpId = current($exercise->lpList);
217
+                    $lpId = $lpId['lp_id'];
218
+                }
219
+
220
+                $sql = "SELECT * FROM $tblStats
221 221
 		                WHERE
222 222
 		                    exe_exo_id = ".intval($this->get_ref_id())." AND
223 223
 		                    orig_lp_id = $lpId AND
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
 		                    session_id = $session_id AND
226 226
                                     c_id = $courseId 
227 227
                                 ";
228
-		    }
228
+            }
229 229
 
230 230
             if (!empty($stud_id) && $type != 'ranking') {
231 231
                 $sql .= " AND exe_user_id = $stud_id ";
Please login to merge, or discard this patch.
main/gradebook/lib/be/gradebookitem.class.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -8,16 +8,16 @@
 block discarded – undo
8 8
  */
9 9
 interface GradebookItem
10 10
 {
11
-	public function get_item_type();
12
-	public function get_id();
13
-	public function get_name();
14
-	public function get_description();
15
-	public function get_course_code();
16
-	public function get_weight();
17
-	public function get_date();
18
-	public function is_visible();
19
-	public function get_icon_name();
20
-	public function getStudentList();
21
-	public function setStudentList($list);
22
-	public function calc_score($stud_id = null, $type = null);
11
+    public function get_item_type();
12
+    public function get_id();
13
+    public function get_name();
14
+    public function get_description();
15
+    public function get_course_code();
16
+    public function get_weight();
17
+    public function get_date();
18
+    public function is_visible();
19
+    public function get_icon_name();
20
+    public function getStudentList();
21
+    public function setStudentList($list);
22
+    public function calc_score($stud_id = null, $type = null);
23 23
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/category.class.php 1 patch
Indentation   -2 removed lines patch added patch discarded remove patch
@@ -1571,7 +1571,6 @@  discard block
 block discarded – undo
1571 1571
      * @param string $course_code Course code (optional)
1572 1572
      * @param int    $session_id Session ID (optional)
1573 1573
      * @param bool   $order
1574
-
1575 1574
      * @return array Array of subcategories
1576 1575
      */
1577 1576
     public function get_subcategories($stud_id = null, $course_code = null, $session_id = null, $order = null)
@@ -1850,7 +1849,6 @@  discard block
 block discarded – undo
1850 1849
      * This function, locks a category , only one who can unlock it is
1851 1850
      * the platform administrator.
1852 1851
      * @param int locked 1 or unlocked 0
1853
-
1854 1852
      * @return bool
1855 1853
      * */
1856 1854
     public function lock($locked)
Please login to merge, or discard this patch.
main/gradebook/lib/be/attendancelink.class.php 1 patch
Indentation   +202 added lines, -202 removed lines patch added patch discarded remove patch
@@ -8,48 +8,48 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class AttendanceLink extends AbstractLink
10 10
 {
11
-	private $attendance_table = null;
12
-	private $itemprop_table = null;
11
+    private $attendance_table = null;
12
+    private $itemprop_table = null;
13 13
 
14
-	/**
15
-	 * Constructor
16
-	 */
17
-	public function __construct()
18
-	{
19
-		parent::__construct();
20
-		$this->set_type(LINK_ATTENDANCE);
21
-	}
14
+    /**
15
+     * Constructor
16
+     */
17
+    public function __construct()
18
+    {
19
+        parent::__construct();
20
+        $this->set_type(LINK_ATTENDANCE);
21
+    }
22 22
 
23
-	/**
24
-	 * @return string
25
-	 */
26
-	public function get_type_name()
27
-	{
28
-		return get_lang('Attendance');
29
-	}
23
+    /**
24
+     * @return string
25
+     */
26
+    public function get_type_name()
27
+    {
28
+        return get_lang('Attendance');
29
+    }
30 30
 
31
-	/**
32
-	 * @return bool
33
-	 */
34
-	public function is_allowed_to_change_name()
35
-	{
36
-		return false;
37
-	}
31
+    /**
32
+     * @return bool
33
+     */
34
+    public function is_allowed_to_change_name()
35
+    {
36
+        return false;
37
+    }
38 38
 
39
-	/**
40
-	 * Generate an array of attendances that a teacher hasn't created a link for.
41
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
42
-	 * @todo seems to be depracated
43
-	 */
44
-	public function get_not_created_links()
45
-	{
46
-		return false;
47
-		if (empty($this->course_code)) {
48
-			die('Error in get_not_created_links() : course code not set');
49
-		}
50
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
39
+    /**
40
+     * Generate an array of attendances that a teacher hasn't created a link for.
41
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
42
+     * @todo seems to be depracated
43
+     */
44
+    public function get_not_created_links()
45
+    {
46
+        return false;
47
+        if (empty($this->course_code)) {
48
+            die('Error in get_not_created_links() : course code not set');
49
+        }
50
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
51 51
 
52
-		$sql = 'SELECT att.id, att.name, att.attendance_qualify_title
52
+        $sql = 'SELECT att.id, att.name, att.attendance_qualify_title
53 53
 				FROM '.$this->get_attendance_table().' att
54 54
 				WHERE
55 55
 					att.c_id = '.$this->course_id.' AND
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 							course_code = "'.Database::escape_string($this->get_course_code()).'"
61 61
 					)
62 62
 				AND att.session_id='.api_get_session_id().'';
63
-		$result = Database::query($sql);
63
+        $result = Database::query($sql);
64 64
 
65 65
         $cats = array();
66 66
         while ($data = Database::fetch_array($result)) {
@@ -71,13 +71,13 @@  discard block
 block discarded – undo
71 71
             }
72 72
         }
73 73
 
74
-		return $cats;
75
-	}
74
+        return $cats;
75
+    }
76 76
 
77
-	/**
78
-	 * Generate an array of all attendances available.
79
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
-	 */
77
+    /**
78
+     * Generate an array of all attendances available.
79
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
80
+     */
81 81
     public function get_all_links()
82 82
     {
83 83
         if (empty($this->course_code)) {
@@ -104,55 +104,55 @@  discard block
 block discarded – undo
104 104
         $my_cats = isset($cats) ? $cats : null;
105 105
 
106 106
         return $my_cats;
107
-	}
107
+    }
108 108
 
109
-	/**
110
-	 * Has anyone done this exercise yet ?
111
-	 */
112
-	public function has_results()
113
-	{
114
-		$tbl_attendance_result = Database :: get_course_table(TABLE_ATTENDANCE_RESULT);
115
-		$session_id = api_get_session_id();
116
-		$sql = 'SELECT count(*) AS number FROM '.$tbl_attendance_result."
109
+    /**
110
+     * Has anyone done this exercise yet ?
111
+     */
112
+    public function has_results()
113
+    {
114
+        $tbl_attendance_result = Database :: get_course_table(TABLE_ATTENDANCE_RESULT);
115
+        $session_id = api_get_session_id();
116
+        $sql = 'SELECT count(*) AS number FROM '.$tbl_attendance_result."
117 117
 				WHERE
118 118
 					session_id = $session_id AND
119 119
 					c_id = '.$this->course_id.' AND
120 120
 					attendance_id = '".intval($this->get_ref_id())."'";
121
-		$result = Database::query($sql);
122
-		$number = Database::fetch_row($result);
121
+        $result = Database::query($sql);
122
+        $number = Database::fetch_row($result);
123 123
 
124
-		return $number[0] != 0;
125
-	}
124
+        return $number[0] != 0;
125
+    }
126 126
 
127
-	/**
128
-	 * @param int $stud_id
129
-	 * @return array|null
130
-	 */
131
-	public function calc_score($stud_id = null, $type = null)
132
-	{
133
-		$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
134
-		$session_id = api_get_session_id();
127
+    /**
128
+     * @param int $stud_id
129
+     * @return array|null
130
+     */
131
+    public function calc_score($stud_id = null, $type = null)
132
+    {
133
+        $tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
134
+        $session_id = api_get_session_id();
135 135
 
136
-		// get attendance qualify max
137
-		$sql = 'SELECT att.attendance_qualify_max
136
+        // get attendance qualify max
137
+        $sql = 'SELECT att.attendance_qualify_max
138 138
 		        FROM '.$this->get_attendance_table().' att
139 139
   				WHERE
140 140
   					att.c_id = '.$this->course_id.' AND
141 141
   					att.id = '.intval($this->get_ref_id()).' AND
142 142
   					att.session_id='.intval($session_id).'';
143
-		$query = Database::query($sql);
144
-		$attendance = Database::fetch_array($query, 'ASSOC');
143
+        $query = Database::query($sql);
144
+        $attendance = Database::fetch_array($query, 'ASSOC');
145 145
 
146
-		// Get results
147
-		$sql = 'SELECT *
146
+        // Get results
147
+        $sql = 'SELECT *
148 148
 		        FROM '.$tbl_attendance_result.'
149 149
   	    		WHERE c_id = '.$this->course_id.' AND attendance_id = '.intval($this->get_ref_id());
150
-		if (isset($stud_id)) {
151
-			$sql .= ' AND user_id = '.intval($stud_id);
152
-		}
153
-		$scores = Database::query($sql);
154
-		// for 1 student
155
-		if (isset($stud_id)) {
150
+        if (isset($stud_id)) {
151
+            $sql .= ' AND user_id = '.intval($stud_id);
152
+        }
153
+        $scores = Database::query($sql);
154
+        // for 1 student
155
+        if (isset($stud_id)) {
156 156
             if ($data = Database::fetch_array($scores, 'ASSOC')) {
157 157
                 return array(
158 158
                     $data['score'],
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
                 //We sent the 0/attendance_qualify_max instead of null for correct calculations
163 163
                 return array(0, $attendance['attendance_qualify_max']);
164 164
             }
165
-		} else {
165
+        } else {
166 166
             // all students -> get average
167 167
             $students = array();  // user list, needed to make sure we only
168 168
             // take first attempts into account
@@ -171,144 +171,144 @@  discard block
 block discarded – undo
171 171
             $sumResult = 0;
172 172
             $bestResult = 0;
173 173
 
174
-			while ($data = Database::fetch_array($scores)) {
175
-				if (!(array_key_exists($data['user_id'], $students))) {
176
-					if ($attendance['attendance_qualify_max'] != 0) {
177
-						$students[$data['user_id']] = $data['score'];
178
-						$rescount++;
179
-						$sum += $data['score'] / $attendance['attendance_qualify_max'];
180
-						$sumResult += $data['score'];
181
-						if ($data['score'] > $bestResult) {
182
-							$bestResult = $data['score'];
183
-						}
184
-						$weight = $attendance['attendance_qualify_max'];
185
-					}
186
-				}
187
-			}
174
+            while ($data = Database::fetch_array($scores)) {
175
+                if (!(array_key_exists($data['user_id'], $students))) {
176
+                    if ($attendance['attendance_qualify_max'] != 0) {
177
+                        $students[$data['user_id']] = $data['score'];
178
+                        $rescount++;
179
+                        $sum += $data['score'] / $attendance['attendance_qualify_max'];
180
+                        $sumResult += $data['score'];
181
+                        if ($data['score'] > $bestResult) {
182
+                            $bestResult = $data['score'];
183
+                        }
184
+                        $weight = $attendance['attendance_qualify_max'];
185
+                    }
186
+                }
187
+            }
188 188
 
189
-			if ($rescount == 0) {
190
-				return null;
191
-			} else {
192
-				switch ($type) {
193
-					case 'best':
194
-						return array($bestResult, $weight);
195
-						break;
196
-					case 'average':
197
-						return array($sumResult / $rescount, $weight);
198
-						break;
199
-					case 'ranking':
200
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
201
-						break;
202
-					default:
203
-						return array($sum, $rescount);
204
-						break;
205
-				}
206
-			}
207
-		}
208
-	}
189
+            if ($rescount == 0) {
190
+                return null;
191
+            } else {
192
+                switch ($type) {
193
+                    case 'best':
194
+                        return array($bestResult, $weight);
195
+                        break;
196
+                    case 'average':
197
+                        return array($sumResult / $rescount, $weight);
198
+                        break;
199
+                    case 'ranking':
200
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
201
+                        break;
202
+                    default:
203
+                        return array($sum, $rescount);
204
+                        break;
205
+                }
206
+            }
207
+        }
208
+    }
209 209
 
210
-	/**
211
-	 * Lazy load function to get the database table of the student publications
212
-	 */
213
-	private function get_attendance_table()
214
-	{
215
-		$this->attendance_table = Database::get_course_table(TABLE_ATTENDANCE);
216
-		return $this->attendance_table;
217
-	}
210
+    /**
211
+     * Lazy load function to get the database table of the student publications
212
+     */
213
+    private function get_attendance_table()
214
+    {
215
+        $this->attendance_table = Database::get_course_table(TABLE_ATTENDANCE);
216
+        return $this->attendance_table;
217
+    }
218 218
 
219
-	public function needs_name_and_description()
220
-	{
221
-		return false;
222
-	}
219
+    public function needs_name_and_description()
220
+    {
221
+        return false;
222
+    }
223 223
 
224
-	public function needs_max()
225
-	{
226
-		return false;
227
-	}
224
+    public function needs_max()
225
+    {
226
+        return false;
227
+    }
228 228
 
229
-	public function needs_results()
230
-	{
231
-		return false;
232
-	}
229
+    public function needs_results()
230
+    {
231
+        return false;
232
+    }
233 233
 
234
-	/**
235
-	 * @return string
236
-	 */
237
-	public function get_name()
238
-	{
239
-		$this->get_attendance_data();
240
-		$attendance_title = isset($this->attendance_data['name']) ? $this->attendance_data['name'] : '';
241
-		$attendance_qualify_title = isset($this->attendance_data['attendance_qualify_title']) ? $this->attendance_data['attendance_qualify_title'] : '';
242
-		if ( isset($attendance_qualify_title) && $attendance_qualify_title != '') {
243
-			return $this->attendance_data['attendance_qualify_title'];
244
-		} else {
245
-			return $attendance_title;
246
-		}
247
-	}
234
+    /**
235
+     * @return string
236
+     */
237
+    public function get_name()
238
+    {
239
+        $this->get_attendance_data();
240
+        $attendance_title = isset($this->attendance_data['name']) ? $this->attendance_data['name'] : '';
241
+        $attendance_qualify_title = isset($this->attendance_data['attendance_qualify_title']) ? $this->attendance_data['attendance_qualify_title'] : '';
242
+        if ( isset($attendance_qualify_title) && $attendance_qualify_title != '') {
243
+            return $this->attendance_data['attendance_qualify_title'];
244
+        } else {
245
+            return $attendance_title;
246
+        }
247
+    }
248 248
 
249
-	/**
250
-	 * @return string
251
-	 */
252
-	public function get_description()
253
-	{
254
-		return '';
255
-	}
249
+    /**
250
+     * @return string
251
+     */
252
+    public function get_description()
253
+    {
254
+        return '';
255
+    }
256 256
 
257
-	/**
258
-	 * Check if this still links to an exercise
259
-	 */
260
-	public function is_valid_link()
261
-	{
262
-		$session_id = api_get_session_id();
263
-		$sql = 'SELECT count(att.id) FROM '.$this->get_attendance_table().' att
257
+    /**
258
+     * Check if this still links to an exercise
259
+     */
260
+    public function is_valid_link()
261
+    {
262
+        $session_id = api_get_session_id();
263
+        $sql = 'SELECT count(att.id) FROM '.$this->get_attendance_table().' att
264 264
         		 WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
265
-		$result = Database::query($sql);
266
-		$number = Database::fetch_row($result);
267
-		return ($number[0] != 0);
268
-	}
265
+        $result = Database::query($sql);
266
+        $number = Database::fetch_row($result);
267
+        return ($number[0] != 0);
268
+    }
269 269
 
270
-	public function get_test_id()
271
-	{
272
-		return 'DEBUG:ID';
273
-	}
270
+    public function get_test_id()
271
+    {
272
+        return 'DEBUG:ID';
273
+    }
274 274
 
275
-	public function get_link()
276
-	{
277
-		//it was extracts the attendance id
278
-		$session_id = api_get_session_id();
279
-		$sql = 'SELECT * FROM '.$this->get_attendance_table().' att
275
+    public function get_link()
276
+    {
277
+        //it was extracts the attendance id
278
+        $session_id = api_get_session_id();
279
+        $sql = 'SELECT * FROM '.$this->get_attendance_table().' att
280 280
     			WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
281
-		$result = Database::query($sql);
282
-		$row = Database::fetch_array($result,'ASSOC');
283
-		$attendance_id = $row['id'];
284
-		$url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&session_id='.$session_id.'&cidReq='.$this->get_course_code();
281
+        $result = Database::query($sql);
282
+        $row = Database::fetch_array($result,'ASSOC');
283
+        $attendance_id = $row['id'];
284
+        $url = api_get_path(WEB_PATH).'main/attendance/index.php?action=attendance_sheet_list&gradebook=view&attendance_id='.$attendance_id.'&session_id='.$session_id.'&cidReq='.$this->get_course_code();
285 285
 
286
-		return $url;
287
-	}
286
+        return $url;
287
+    }
288 288
 
289
-	/**
290
-	 * @return array|bool
291
-	 */
292
-	private function get_attendance_data()
293
-	{
294
-		$tbl_name = $this->get_attendance_table();
295
-		$session_id = api_get_session_id();
296
-		if ($tbl_name == '') {
297
-			return false;
298
-		} elseif (!isset($this->attendance_data)) {
299
-			$sql = 'SELECT * FROM '.$this->get_attendance_table().' att
289
+    /**
290
+     * @return array|bool
291
+     */
292
+    private function get_attendance_data()
293
+    {
294
+        $tbl_name = $this->get_attendance_table();
295
+        $session_id = api_get_session_id();
296
+        if ($tbl_name == '') {
297
+            return false;
298
+        } elseif (!isset($this->attendance_data)) {
299
+            $sql = 'SELECT * FROM '.$this->get_attendance_table().' att
300 300
 					WHERE att.c_id = '.$this->course_id.' AND att.id = '.intval($this->get_ref_id()).' ';
301
-			$query = Database::query($sql);
302
-			$this->attendance_data = Database::fetch_array($query);
303
-		}
304
-		return $this->attendance_data;
305
-	}
301
+            $query = Database::query($sql);
302
+            $this->attendance_data = Database::fetch_array($query);
303
+        }
304
+        return $this->attendance_data;
305
+    }
306 306
 
307
-	/**
308
-	 * @return string
309
-	 */
310
-	public function get_icon_name()
311
-	{
312
-		return 'attendance';
313
-	}
307
+    /**
308
+     * @return string
309
+     */
310
+    public function get_icon_name()
311
+    {
312
+        return 'attendance';
313
+    }
314 314
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/surveylink.class.php 1 patch
Indentation   +243 added lines, -243 removed lines patch added patch discarded remove patch
@@ -8,94 +8,94 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class SurveyLink extends AbstractLink
10 10
 {
11
-	private $survey_table = null;
12
-
13
-	/**
14
-	 * Constructor
15
-	 */
16
-	public function __construct()
17
-	{
18
-		parent::__construct();
19
-		$this->set_type(LINK_SURVEY);
20
-	}
21
-
22
-	public function get_name()
23
-	{
24
-		$this->get_survey_data();
25
-		return $this->survey_data['code'].': '.self::html_to_text($this->survey_data['title']);
26
-	}
27
-
28
-	public function get_description()
29
-	{
30
-		$this->get_survey_data();
31
-		return $this->survey_data['subtitle'];
32
-	}
33
-
34
-	public function get_type_name()
35
-	{
36
-		return get_lang('Survey');
37
-	}
38
-
39
-	public function is_allowed_to_change_name()
40
-	{
41
-		return false;
42
-	}
43
-
44
-	public function needs_name_and_description()
45
-	{
46
-		return false;
47
-	}
48
-
49
-	public function needs_max()
50
-	{
51
-		return false;
52
-	}
53
-
54
-	public function needs_results()
55
-	{
56
-		return false;
57
-	}
58
-
59
-	/**
60
-	 * Generates an array of all surveys available.
61
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
62
-	 */
63
-	public function get_all_links()
64
-	{
65
-		if (empty($this->course_code)) {
66
-			die('Error in get_all_links() : course code not set');
67
-		}
68
-		$tbl_survey = $this->get_survey_table();
69
-		$session_id = api_get_session_id();
70
-		$course_id = api_get_course_int_id();
71
-		$sql = 'SELECT survey_id, title, code FROM '.$tbl_survey.'
11
+    private $survey_table = null;
12
+
13
+    /**
14
+     * Constructor
15
+     */
16
+    public function __construct()
17
+    {
18
+        parent::__construct();
19
+        $this->set_type(LINK_SURVEY);
20
+    }
21
+
22
+    public function get_name()
23
+    {
24
+        $this->get_survey_data();
25
+        return $this->survey_data['code'].': '.self::html_to_text($this->survey_data['title']);
26
+    }
27
+
28
+    public function get_description()
29
+    {
30
+        $this->get_survey_data();
31
+        return $this->survey_data['subtitle'];
32
+    }
33
+
34
+    public function get_type_name()
35
+    {
36
+        return get_lang('Survey');
37
+    }
38
+
39
+    public function is_allowed_to_change_name()
40
+    {
41
+        return false;
42
+    }
43
+
44
+    public function needs_name_and_description()
45
+    {
46
+        return false;
47
+    }
48
+
49
+    public function needs_max()
50
+    {
51
+        return false;
52
+    }
53
+
54
+    public function needs_results()
55
+    {
56
+        return false;
57
+    }
58
+
59
+    /**
60
+     * Generates an array of all surveys available.
61
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
62
+     */
63
+    public function get_all_links()
64
+    {
65
+        if (empty($this->course_code)) {
66
+            die('Error in get_all_links() : course code not set');
67
+        }
68
+        $tbl_survey = $this->get_survey_table();
69
+        $session_id = api_get_session_id();
70
+        $course_id = api_get_course_int_id();
71
+        $sql = 'SELECT survey_id, title, code FROM '.$tbl_survey.'
72 72
 				WHERE c_id = '.$course_id.' AND session_id = '.intval($session_id).'';
73
-		$result = Database::query($sql);
74
-		while ($data = Database::fetch_array($result)) {
75
-			$links[] = array(
76
-				$data['survey_id'],
77
-				api_trunc_str(
78
-					$data['code'] . ': ' . self::html_to_text($data['title']),
79
-					80
80
-				)
81
-			);
82
-		}
83
-
84
-		return isset($links) ? $links : null;
85
-	}
86
-
87
-	/**
88
-	 * Generates an array of surveys that a teacher hasn't created a link for.
89
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
90
-	 */
91
-	public function get_not_created_links()
92
-	{
93
-		if (empty($this->course_code)) {
94
-			die('Error in get_not_created_links() : course code not set');
95
-		}
96
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
97
-
98
-		$sql = 'SELECT survey_id, title, code
73
+        $result = Database::query($sql);
74
+        while ($data = Database::fetch_array($result)) {
75
+            $links[] = array(
76
+                $data['survey_id'],
77
+                api_trunc_str(
78
+                    $data['code'] . ': ' . self::html_to_text($data['title']),
79
+                    80
80
+                )
81
+            );
82
+        }
83
+
84
+        return isset($links) ? $links : null;
85
+    }
86
+
87
+    /**
88
+     * Generates an array of surveys that a teacher hasn't created a link for.
89
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
90
+     */
91
+    public function get_not_created_links()
92
+    {
93
+        if (empty($this->course_code)) {
94
+            die('Error in get_not_created_links() : course code not set');
95
+        }
96
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
97
+
98
+        $sql = 'SELECT survey_id, title, code
99 99
     			FROM '.$this->get_survey_table().' AS srv
100 100
 				WHERE survey_id NOT IN
101 101
 					(
@@ -106,28 +106,28 @@  discard block
 block discarded – undo
106 106
 					)
107 107
 					AND srv.session_id = '.api_get_session_id();
108 108
 
109
-		$result = Database::query($sql);
110
-
111
-		$links = array();
112
-		while ($data = Database::fetch_array($result)) {
113
-			$links[] = array(
114
-				$data['survey_id'],
115
-				api_trunc_str($data['code'].': '.self::html_to_text($data['title']), 80)
116
-			);
117
-		}
118
-		return $links;
119
-	}
120
-
121
-	/**
122
-	 * Has anyone done this survey yet?
123
-	 */
124
-	public function has_results($stud_id=null)
125
-	{
126
-		$ref_id = intval($this->get_ref_id());
127
-		$session_id = api_get_session_id();
128
-		$tbl_survey = Database::get_course_table(TABLE_SURVEY);
129
-		$tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
130
-		$sql = "SELECT
109
+        $result = Database::query($sql);
110
+
111
+        $links = array();
112
+        while ($data = Database::fetch_array($result)) {
113
+            $links[] = array(
114
+                $data['survey_id'],
115
+                api_trunc_str($data['code'].': '.self::html_to_text($data['title']), 80)
116
+            );
117
+        }
118
+        return $links;
119
+    }
120
+
121
+    /**
122
+     * Has anyone done this survey yet?
123
+     */
124
+    public function has_results($stud_id=null)
125
+    {
126
+        $ref_id = intval($this->get_ref_id());
127
+        $session_id = api_get_session_id();
128
+        $tbl_survey = Database::get_course_table(TABLE_SURVEY);
129
+        $tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
130
+        $sql = "SELECT
131 131
 				COUNT(i.answered)
132 132
 				FROM $tbl_survey AS s
133 133
 				JOIN $tbl_survey_invitation AS i ON s.code = i.survey_code
@@ -137,30 +137,30 @@  discard block
 block discarded – undo
137 137
 					s.survey_id = $ref_id AND
138 138
 					i.session_id = $session_id";
139 139
 
140
-		$sql_result = Database::query($sql);
141
-		$data = Database::fetch_array($sql_result);
140
+        $sql_result = Database::query($sql);
141
+        $data = Database::fetch_array($sql_result);
142 142
 
143
-		return ($data[0] != 0);
144
-	}
143
+        return ($data[0] != 0);
144
+    }
145 145
 
146
-	/**
147
-	 * @param int $stud_id
148
-	 * @return array|null
149
-	 */
150
-	public function calc_score($stud_id = null, $type = null)
151
-	{
152
-		// Note: Max score is assumed to be always 1 for surveys,
153
-		// only student's participation is to be taken into account.
154
-		$max_score = 1;
146
+    /**
147
+     * @param int $stud_id
148
+     * @return array|null
149
+     */
150
+    public function calc_score($stud_id = null, $type = null)
151
+    {
152
+        // Note: Max score is assumed to be always 1 for surveys,
153
+        // only student's participation is to be taken into account.
154
+        $max_score = 1;
155 155
 
156
-		$ref_id = intval($this->get_ref_id());
157
-		$session_id = api_get_session_id();
158
-		$tbl_survey = Database::get_course_table(TABLE_SURVEY);
159
-		$tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
156
+        $ref_id = intval($this->get_ref_id());
157
+        $session_id = api_get_session_id();
158
+        $tbl_survey = Database::get_course_table(TABLE_SURVEY);
159
+        $tbl_survey_invitation = Database::get_course_table(TABLE_SURVEY_INVITATION);
160 160
 
161
-		$get_individual_score = !is_null($stud_id);
161
+        $get_individual_score = !is_null($stud_id);
162 162
 
163
-		$sql = "SELECT i.answered
163
+        $sql = "SELECT i.answered
164 164
 				FROM $tbl_survey AS s
165 165
 				JOIN $tbl_survey_invitation AS i
166 166
 				ON s.code = i.survey_code
@@ -171,131 +171,131 @@  discard block
 block discarded – undo
171 171
 					i.session_id = $session_id
172 172
 				";
173 173
 
174
-		if ($get_individual_score) {
175
-			$sql .= ' AND i.user = '.intval($stud_id);
176
-		}
177
-
178
-		$sql_result = Database::query($sql);
179
-
180
-		if ($get_individual_score) {
181
-			// for 1 student
182
-			if ($data = Database::fetch_array($sql_result)) {
183
-				return array($data['answered'] ? $max_score : 0, $max_score);
184
-			}
185
-			return array(0, $max_score);
186
-		} else {
187
-			// for all the students -> get average
188
-			$rescount = 0;
189
-			$sum = 0;
190
-			$bestResult = 0;
191
-			$weight = 0;
192
-			while ($data = Database::fetch_array($sql_result)) {
193
-				$sum += $data['answered'] ? $max_score : 0;
194
-				$rescount++;
195
-				if ($data['answered'] > $bestResult) {
196
-					$bestResult = $data['answered'];
197
-					$weight = $assignment['qualification'];
198
-				}
199
-			}
200
-			$sum = $sum / $max_score;
201
-
202
-			if ($rescount == 0) {
203
-				return null;
204
-			}
205
-
206
-			switch ($type) {
207
-				case 'best':
208
-					return array($bestResult, $rescount);
209
-					break;
210
-				case 'average':
211
-					return array($sum, $rescount);
212
-					break;
213
-				case 'ranking':
214
-					return null;
215
-					break;
216
-				default:
217
-					return array($sum, $rescount);
218
-					break;
219
-			}
220
-		}
221
-	}
222
-
223
-	/**
224
-	 * Lazy load function to get the database table of the surveys
225
-	 */
226
-	private function get_survey_table()
227
-	{
228
-		$this->survey_table = Database :: get_course_table(TABLE_SURVEY);
229
-		return $this->survey_table;
230
-	}
231
-
232
-	/**
233
-	 * Check if this still links to a survey
234
-	 */
235
-	public function is_valid_link()
236
-	{
237
-		$session_id = api_get_session_id();
238
-		$sql = 'SELECT count(survey_id) FROM '.$this->get_survey_table().'
174
+        if ($get_individual_score) {
175
+            $sql .= ' AND i.user = '.intval($stud_id);
176
+        }
177
+
178
+        $sql_result = Database::query($sql);
179
+
180
+        if ($get_individual_score) {
181
+            // for 1 student
182
+            if ($data = Database::fetch_array($sql_result)) {
183
+                return array($data['answered'] ? $max_score : 0, $max_score);
184
+            }
185
+            return array(0, $max_score);
186
+        } else {
187
+            // for all the students -> get average
188
+            $rescount = 0;
189
+            $sum = 0;
190
+            $bestResult = 0;
191
+            $weight = 0;
192
+            while ($data = Database::fetch_array($sql_result)) {
193
+                $sum += $data['answered'] ? $max_score : 0;
194
+                $rescount++;
195
+                if ($data['answered'] > $bestResult) {
196
+                    $bestResult = $data['answered'];
197
+                    $weight = $assignment['qualification'];
198
+                }
199
+            }
200
+            $sum = $sum / $max_score;
201
+
202
+            if ($rescount == 0) {
203
+                return null;
204
+            }
205
+
206
+            switch ($type) {
207
+                case 'best':
208
+                    return array($bestResult, $rescount);
209
+                    break;
210
+                case 'average':
211
+                    return array($sum, $rescount);
212
+                    break;
213
+                case 'ranking':
214
+                    return null;
215
+                    break;
216
+                default:
217
+                    return array($sum, $rescount);
218
+                    break;
219
+            }
220
+        }
221
+    }
222
+
223
+    /**
224
+     * Lazy load function to get the database table of the surveys
225
+     */
226
+    private function get_survey_table()
227
+    {
228
+        $this->survey_table = Database :: get_course_table(TABLE_SURVEY);
229
+        return $this->survey_table;
230
+    }
231
+
232
+    /**
233
+     * Check if this still links to a survey
234
+     */
235
+    public function is_valid_link()
236
+    {
237
+        $session_id = api_get_session_id();
238
+        $sql = 'SELECT count(survey_id) FROM '.$this->get_survey_table().'
239 239
         		 WHERE
240 240
         		 	c_id = '.$this->course_id.' AND
241 241
         		 	survey_id = '.intval($this->get_ref_id()).' AND
242 242
         		 	session_id='.intval($session_id).'';
243
-		$result = Database::query($sql);
244
-		$number = Database::fetch_row($result);
245
-		return ($number[0] != 0);
246
-	}
247
-
248
-	public function get_test_id()
249
-	{
250
-		return 'DEBUG:ID';
251
-	}
252
-
253
-	public function get_link()
254
-	{
255
-		if (api_is_allowed_to_edit()) { // Let students make access only through "Surveys" tool.
256
-			$tbl_name = $this->get_survey_table();
257
-			$session_id = api_get_session_id();
258
-			if ($tbl_name != '') {
259
-				$sql = 'SELECT survey_id FROM '.$this->get_survey_table().'
243
+        $result = Database::query($sql);
244
+        $number = Database::fetch_row($result);
245
+        return ($number[0] != 0);
246
+    }
247
+
248
+    public function get_test_id()
249
+    {
250
+        return 'DEBUG:ID';
251
+    }
252
+
253
+    public function get_link()
254
+    {
255
+        if (api_is_allowed_to_edit()) { // Let students make access only through "Surveys" tool.
256
+            $tbl_name = $this->get_survey_table();
257
+            $session_id = api_get_session_id();
258
+            if ($tbl_name != '') {
259
+                $sql = 'SELECT survey_id FROM '.$this->get_survey_table().'
260 260
     					WHERE
261 261
     						c_id = '.$this->course_id.' AND
262 262
     						survey_id = '.intval($this->get_ref_id()).' AND
263 263
     						session_id = '.intval($session_id).' ';
264
-				$result = Database::query($sql);
265
-				$row = Database::fetch_array($result, 'ASSOC');
266
-				$survey_id = $row['survey_id'];
267
-				return api_get_path(WEB_PATH).'main/survey/reporting.php?cidReq='.$this->get_course_code().'&survey_id='.$survey_id;
268
-			}
269
-		}
270
-		return null;
271
-	}
272
-
273
-	private function get_survey_data()
274
-	{
275
-		$tbl_name = $this->get_survey_table();
276
-		$session_id = api_get_session_id();
277
-		if ($tbl_name == '') {
278
-			return false;
279
-		} elseif (!isset($this->survey_data)) {
280
-			$sql = 'SELECT * FROM '.$tbl_name.'
264
+                $result = Database::query($sql);
265
+                $row = Database::fetch_array($result, 'ASSOC');
266
+                $survey_id = $row['survey_id'];
267
+                return api_get_path(WEB_PATH).'main/survey/reporting.php?cidReq='.$this->get_course_code().'&survey_id='.$survey_id;
268
+            }
269
+        }
270
+        return null;
271
+    }
272
+
273
+    private function get_survey_data()
274
+    {
275
+        $tbl_name = $this->get_survey_table();
276
+        $session_id = api_get_session_id();
277
+        if ($tbl_name == '') {
278
+            return false;
279
+        } elseif (!isset($this->survey_data)) {
280
+            $sql = 'SELECT * FROM '.$tbl_name.'
281 281
 					WHERE
282 282
 						c_id = '.$this->course_id.' AND
283 283
 						survey_id = '.intval($this->get_ref_id()).' AND
284 284
 						session_id='.intval($session_id).'';
285
-			$query = Database::query($sql);
286
-			$this->survey_data = Database::fetch_array($query);
287
-		}
288
-		return $this->survey_data;
289
-	}
290
-
291
-	public function get_icon_name()
292
-	{
293
-		return 'survey';
294
-	}
295
-
296
-	private static function html_to_text($string)
297
-	{
298
-		return strip_tags($string);
299
-		//return trim(api_html_entity_decode(strip_tags(str_ireplace(array('<p>', '</p>', '<br />', '<br/>', '<br>'), array('', ' ', ' ', ' ', ' '), $string)), ENT_QUOTES));
300
-	}
285
+            $query = Database::query($sql);
286
+            $this->survey_data = Database::fetch_array($query);
287
+        }
288
+        return $this->survey_data;
289
+    }
290
+
291
+    public function get_icon_name()
292
+    {
293
+        return 'survey';
294
+    }
295
+
296
+    private static function html_to_text($string)
297
+    {
298
+        return strip_tags($string);
299
+        //return trim(api_html_entity_decode(strip_tags(str_ireplace(array('<p>', '</p>', '<br />', '<br/>', '<br>'), array('', ' ', ' ', ' ', ' '), $string)), ENT_QUOTES));
300
+    }
301 301
 }
Please login to merge, or discard this patch.
main/gradebook/lib/be/studentpublicationlink.class.php 1 patch
Indentation   +317 added lines, -317 removed lines patch added patch discarded remove patch
@@ -8,102 +8,102 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class StudentPublicationLink extends AbstractLink
10 10
 {
11
-	private $studpub_table = null;
12
-	private $itemprop_table = null;
13
-
14
-	/**
15
-	 * Constructor
16
-	 */
17
-	public function __construct()
18
-	{
19
-		parent::__construct();
20
-		$this->set_type(LINK_STUDENTPUBLICATION);
21
-	}
22
-
23
-	/**
24
-	 *
25
-	 * Returns the URL of a document
26
-	 * This function is loaded when using a gradebook as a tab (gradebook = -1)
27
-	 * see issue #2705
28
-	 *
29
-	 */
30
-	public function get_view_url($stud_id)
31
-	{
32
-		// find a file uploaded by the given student,
33
-		// with the same title as the evaluation name
34
-
35
-		$eval = $this->get_evaluation();
36
-		$stud_id = intval($stud_id);
37
-
38
-		$sql = 'SELECT pub.url
11
+    private $studpub_table = null;
12
+    private $itemprop_table = null;
13
+
14
+    /**
15
+     * Constructor
16
+     */
17
+    public function __construct()
18
+    {
19
+        parent::__construct();
20
+        $this->set_type(LINK_STUDENTPUBLICATION);
21
+    }
22
+
23
+    /**
24
+     *
25
+     * Returns the URL of a document
26
+     * This function is loaded when using a gradebook as a tab (gradebook = -1)
27
+     * see issue #2705
28
+     *
29
+     */
30
+    public function get_view_url($stud_id)
31
+    {
32
+        // find a file uploaded by the given student,
33
+        // with the same title as the evaluation name
34
+
35
+        $eval = $this->get_evaluation();
36
+        $stud_id = intval($stud_id);
37
+
38
+        $sql = 'SELECT pub.url
39 39
 				FROM '.$this->get_itemprop_table().' prop, '.$this->get_studpub_table().' pub'
40
-			." WHERE
40
+            ." WHERE
41 41
 					prop.c_id = ".$this->course_id." AND
42 42
 					pub.c_id = ".$this->course_id." AND
43 43
 					prop.tool = 'work'"
44
-			.' AND prop.insert_user_id = '.$stud_id
45
-			.' AND prop.ref = pub.id'
46
-			." AND pub.title = '".Database::escape_string($eval->get_name())."' AND pub.session_id=".api_get_session_id()."";
47
-
48
-		$result = Database::query($sql);
49
-		if ($fileurl = Database::fetch_row($result)) {
50
-			return null;
51
-		} else {
52
-			return null;
53
-		}
54
-	}
55
-
56
-	public function get_type_name()
57
-	{
58
-		return get_lang('Works');
59
-	}
60
-
61
-	public function is_allowed_to_change_name()
62
-	{
63
-		return false;
64
-	}
65
-
66
-	/**
67
-	 * Generate an array of exercises that a teacher hasn't created a link for.
68
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
69
-	 */
70
-	public function get_not_created_links()
71
-	{
72
-		return false;
73
-		if (empty($this->course_code)) {
74
-			die('Error in get_not_created_links() : course code not set');
75
-		}
76
-		$tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
77
-
78
-		$sql = 'SELECT id, url from '.$this->get_studpub_table()
79
-			.' pup WHERE c_id = '.$this->course_id.' AND has_properties != '."''".' AND id NOT IN'
80
-			.' (SELECT ref_id FROM '.$tbl_grade_links
81
-			.' WHERE type = '.LINK_STUDENTPUBLICATION
82
-			." AND course_code = '".Database::escape_string($this->get_course_code())."'"
83
-			.') AND pub.session_id='.api_get_session_id().'';
84
-
85
-		$result = Database::query($sql);
86
-
87
-		$cats=array();
88
-		while ($data=Database::fetch_array($result)) {
89
-			$cats[] = array ($data['id'], $data['url']);
90
-		}
91
-		return $cats;
92
-	}
93
-
94
-	/**
95
-	 * Generate an array of all exercises available.
96
-	 * @return array 2-dimensional array - every element contains 2 subelements (id, name)
97
-	 */
98
-	public function get_all_links()
99
-	{
100
-		if (empty($this->course_code)) {
101
-			die('Error in get_not_created_links() : course code not set');
102
-		}
103
-		$tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
104
-
105
-		$session_id = api_get_session_id();
106
-		/*
44
+            .' AND prop.insert_user_id = '.$stud_id
45
+            .' AND prop.ref = pub.id'
46
+            ." AND pub.title = '".Database::escape_string($eval->get_name())."' AND pub.session_id=".api_get_session_id()."";
47
+
48
+        $result = Database::query($sql);
49
+        if ($fileurl = Database::fetch_row($result)) {
50
+            return null;
51
+        } else {
52
+            return null;
53
+        }
54
+    }
55
+
56
+    public function get_type_name()
57
+    {
58
+        return get_lang('Works');
59
+    }
60
+
61
+    public function is_allowed_to_change_name()
62
+    {
63
+        return false;
64
+    }
65
+
66
+    /**
67
+     * Generate an array of exercises that a teacher hasn't created a link for.
68
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
69
+     */
70
+    public function get_not_created_links()
71
+    {
72
+        return false;
73
+        if (empty($this->course_code)) {
74
+            die('Error in get_not_created_links() : course code not set');
75
+        }
76
+        $tbl_grade_links = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
77
+
78
+        $sql = 'SELECT id, url from '.$this->get_studpub_table()
79
+            .' pup WHERE c_id = '.$this->course_id.' AND has_properties != '."''".' AND id NOT IN'
80
+            .' (SELECT ref_id FROM '.$tbl_grade_links
81
+            .' WHERE type = '.LINK_STUDENTPUBLICATION
82
+            ." AND course_code = '".Database::escape_string($this->get_course_code())."'"
83
+            .') AND pub.session_id='.api_get_session_id().'';
84
+
85
+        $result = Database::query($sql);
86
+
87
+        $cats=array();
88
+        while ($data=Database::fetch_array($result)) {
89
+            $cats[] = array ($data['id'], $data['url']);
90
+        }
91
+        return $cats;
92
+    }
93
+
94
+    /**
95
+     * Generate an array of all exercises available.
96
+     * @return array 2-dimensional array - every element contains 2 subelements (id, name)
97
+     */
98
+    public function get_all_links()
99
+    {
100
+        if (empty($this->course_code)) {
101
+            die('Error in get_not_created_links() : course code not set');
102
+        }
103
+        $tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
104
+
105
+        $session_id = api_get_session_id();
106
+        /*
107 107
         if (empty($session_id)) {
108 108
             $session_condition = api_get_session_condition(0, true);
109 109
         } else {
@@ -112,68 +112,68 @@  discard block
 block discarded – undo
112 112
         $sql = "SELECT id, url, title FROM $tbl_grade_links
113 113
                 WHERE c_id = {$this->course_id}  AND filetype='folder' AND active = 1 $session_condition ";*/
114 114
 
115
-		//Only show works from the session
116
-		//AND has_properties != ''
117
-		$sql = "SELECT id, url, title FROM $tbl_grade_links
115
+        //Only show works from the session
116
+        //AND has_properties != ''
117
+        $sql = "SELECT id, url, title FROM $tbl_grade_links
118 118
 				WHERE
119 119
 					c_id = {$this->course_id} AND
120 120
 					active = 1 AND
121 121
 					filetype='folder' AND
122 122
 					session_id = ".api_get_session_id()."";
123 123
 
124
-		$result = Database::query($sql);
125
-		while ($data = Database::fetch_array($result)) {
126
-			$work_name = $data['title'];
127
-			if (empty($work_name)) {
128
-				$work_name = basename($data['url']);
129
-			}
130
-			$cats[] = array ($data['id'], $work_name);
131
-		}
132
-		$cats=isset($cats) ? $cats : array();
133
-		return $cats;
134
-	}
135
-
136
-	/**
137
-	 * Has anyone done this exercise yet ?
138
-	 */
139
-	public function has_results()
140
-	{
141
-		$tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
142
-		$sql = 'SELECT count(*) AS number FROM '.$tbl_grade_links."
124
+        $result = Database::query($sql);
125
+        while ($data = Database::fetch_array($result)) {
126
+            $work_name = $data['title'];
127
+            if (empty($work_name)) {
128
+                $work_name = basename($data['url']);
129
+            }
130
+            $cats[] = array ($data['id'], $work_name);
131
+        }
132
+        $cats=isset($cats) ? $cats : array();
133
+        return $cats;
134
+    }
135
+
136
+    /**
137
+     * Has anyone done this exercise yet ?
138
+     */
139
+    public function has_results()
140
+    {
141
+        $tbl_grade_links = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
142
+        $sql = 'SELECT count(*) AS number FROM '.$tbl_grade_links."
143 143
 				WHERE 	c_id 		= {$this->course_id} AND
144 144
 						parent_id 	= '".intval($this->get_ref_id())."' AND
145 145
 						session_id	=".api_get_session_id()."";
146
-		$result = Database::query($sql);
147
-		$number = Database::fetch_row($result);
148
-		return ($number[0] != 0);
149
-	}
150
-
151
-	/**
152
-	 * @param null $stud_id
153
-	 * @return array|null
154
-	 */
155
-	public function calc_score($stud_id = null, $type = null)
156
-	{
157
-		$stud_id = intval($stud_id);
158
-		$table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
159
-		$sql = 'SELECT * FROM '.$table."
146
+        $result = Database::query($sql);
147
+        $number = Database::fetch_row($result);
148
+        return ($number[0] != 0);
149
+    }
150
+
151
+    /**
152
+     * @param null $stud_id
153
+     * @return array|null
154
+     */
155
+    public function calc_score($stud_id = null, $type = null)
156
+    {
157
+        $stud_id = intval($stud_id);
158
+        $table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
159
+        $sql = 'SELECT * FROM '.$table."
160 160
     			WHERE
161 161
     				c_id = {$this->course_id} AND
162 162
     				id  = '".intval($this->get_ref_id())."' AND
163 163
     				session_id	= ".api_get_session_id()."
164 164
 				"
165
-		;
165
+        ;
166 166
 
167
-		$query = Database::query($sql);
168
-		$assignment = Database::fetch_array($query);
167
+        $query = Database::query($sql);
168
+        $assignment = Database::fetch_array($query);
169 169
 
170
-		if (count($assignment) == 0) {
171
-			$parentId = '0';
172
-		} else {
173
-			$parentId = $assignment['id'];
174
-		}
170
+        if (count($assignment) == 0) {
171
+            $parentId = '0';
172
+        } else {
173
+            $parentId = $assignment['id'];
174
+        }
175 175
 
176
-		$sql = 'SELECT * FROM '.$table.'
176
+        $sql = 'SELECT * FROM '.$table.'
177 177
     			WHERE
178 178
     				c_id = '.$this->course_id.' AND
179 179
     				active = 1 AND
@@ -181,190 +181,190 @@  discard block
 block discarded – undo
181 181
     				session_id = '.api_get_session_id() .' AND
182 182
     				qualificator_id <> 0
183 183
 				';
184
-		if (!empty($stud_id)) {
185
-			$sql .= " AND user_id = $stud_id ";
186
-		}
187
-
188
-		$order = api_get_setting('student_publication_to_take_in_gradebook');
189
-
190
-		switch ($order) {
191
-			case 'last':
192
-				// latest attempt
193
-				$sql .= ' ORDER BY sent_date DESC';
194
-				break;
195
-			case 'first':
196
-			default:
197
-				// first attempt
198
-				$sql .= ' ORDER BY id';
199
-				break;
200
-		}
201
-
202
-		$scores = Database::query($sql);
203
-
204
-		// for 1 student
205
-		if (!empty($stud_id)) {
206
-			if ($data = Database::fetch_array($scores)) {
207
-				return array(
208
-					$data['qualification'],
209
-					$assignment['qualification']
210
-				);
211
-			} else {
212
-				return '';
213
-			}
214
-		} else {
215
-			$students = array();  // user list, needed to make sure we only
216
-			// take first attempts into account
217
-			$rescount = 0;
218
-			$sum = 0;
219
-			$bestResult = 0;
220
-			$weight = 0;
221
-			$sumResult = 0;
222
-			$myResult = 0;
223
-
224
-			while ($data = Database::fetch_array($scores)) {
225
-				if (!(array_key_exists($data['user_id'], $students))) {
226
-					if ($assignment['qualification'] != 0) {
227
-						$students[$data['user_id']] = $data['qualification'];
228
-						$rescount++;
229
-						$sum += $data['qualification'] / $assignment['qualification'];
230
-						$sumResult += $data['qualification'];
231
-
232
-						if ($data['qualification'] > $bestResult) {
233
-							$bestResult = $data['qualification'];
234
-						}
235
-						$weight = $assignment['qualification'];
236
-					}
237
-				}
238
-			}
239
-
240
-			if ($rescount == 0) {
241
-				return null;
242
-			} else {
243
-				switch ($type) {
244
-					case 'best':
245
-						return array($bestResult, $weight);
246
-						break;
247
-					case 'average':
248
-						return array($sumResult/$rescount, $weight);
249
-						break;
250
-					case 'ranking':
251
-						return AbstractLink::getCurrentUserRanking($stud_id, $students);
252
-						break;
253
-					default:
254
-						return array($sum, $rescount);
255
-						break;
256
-				}
257
-			}
258
-		}
259
-	}
260
-
261
-	/**
262
-	 * Lazy load function to get the database table of the student publications
263
-	 */
264
-	private function get_studpub_table()
265
-	{
266
-		return $this->studpub_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
267
-	}
268
-
269
-	/**
270
-	 * Lazy load function to get the database table of the item properties
271
-	 */
272
-	private function get_itemprop_table()
273
-	{
274
-		return $this->itemprop_table = Database :: get_course_table(TABLE_ITEM_PROPERTY);
275
-	}
276
-
277
-	public function needs_name_and_description()
278
-	{
279
-		return false;
280
-	}
281
-
282
-	public function get_name()
283
-	{
284
-		$this->get_exercise_data();
285
-		return (isset($this->exercise_data['title']) && !empty($this->exercise_data['title'])) ? $this->exercise_data['title'] : get_lang('Untitled');
286
-	}
287
-
288
-	public function get_description()
289
-	{
290
-		$this->get_exercise_data();
291
-		return isset($this->exercise_data['description']) ? $this->exercise_data['description'] : null;
292
-	}
293
-
294
-	public function get_test_id()
295
-	{
296
-		return 'DEBUG:ID';
297
-	}
298
-
299
-	public function get_link()
300
-	{
301
-		$session_id = api_get_session_id();
302
-		$url = api_get_path(WEB_PATH).'main/work/work.php?session_id='.$session_id.'&cidReq='.$this->get_course_code().'&id='.$this->exercise_data['id'].'&gradebook=view';
303
-		return $url;
304
-	}
305
-
306
-	private function get_exercise_data()
307
-	{
308
-		$tbl_name = $this->get_studpub_table();
309
-		$course_info = api_get_course_info($this->get_course_code());
310
-		if ($tbl_name=='') {
311
-			return false;
312
-		} elseif (!isset($this->exercise_data)) {
313
-			$sql = 'SELECT * FROM '.$this->get_studpub_table()."
184
+        if (!empty($stud_id)) {
185
+            $sql .= " AND user_id = $stud_id ";
186
+        }
187
+
188
+        $order = api_get_setting('student_publication_to_take_in_gradebook');
189
+
190
+        switch ($order) {
191
+            case 'last':
192
+                // latest attempt
193
+                $sql .= ' ORDER BY sent_date DESC';
194
+                break;
195
+            case 'first':
196
+            default:
197
+                // first attempt
198
+                $sql .= ' ORDER BY id';
199
+                break;
200
+        }
201
+
202
+        $scores = Database::query($sql);
203
+
204
+        // for 1 student
205
+        if (!empty($stud_id)) {
206
+            if ($data = Database::fetch_array($scores)) {
207
+                return array(
208
+                    $data['qualification'],
209
+                    $assignment['qualification']
210
+                );
211
+            } else {
212
+                return '';
213
+            }
214
+        } else {
215
+            $students = array();  // user list, needed to make sure we only
216
+            // take first attempts into account
217
+            $rescount = 0;
218
+            $sum = 0;
219
+            $bestResult = 0;
220
+            $weight = 0;
221
+            $sumResult = 0;
222
+            $myResult = 0;
223
+
224
+            while ($data = Database::fetch_array($scores)) {
225
+                if (!(array_key_exists($data['user_id'], $students))) {
226
+                    if ($assignment['qualification'] != 0) {
227
+                        $students[$data['user_id']] = $data['qualification'];
228
+                        $rescount++;
229
+                        $sum += $data['qualification'] / $assignment['qualification'];
230
+                        $sumResult += $data['qualification'];
231
+
232
+                        if ($data['qualification'] > $bestResult) {
233
+                            $bestResult = $data['qualification'];
234
+                        }
235
+                        $weight = $assignment['qualification'];
236
+                    }
237
+                }
238
+            }
239
+
240
+            if ($rescount == 0) {
241
+                return null;
242
+            } else {
243
+                switch ($type) {
244
+                    case 'best':
245
+                        return array($bestResult, $weight);
246
+                        break;
247
+                    case 'average':
248
+                        return array($sumResult/$rescount, $weight);
249
+                        break;
250
+                    case 'ranking':
251
+                        return AbstractLink::getCurrentUserRanking($stud_id, $students);
252
+                        break;
253
+                    default:
254
+                        return array($sum, $rescount);
255
+                        break;
256
+                }
257
+            }
258
+        }
259
+    }
260
+
261
+    /**
262
+     * Lazy load function to get the database table of the student publications
263
+     */
264
+    private function get_studpub_table()
265
+    {
266
+        return $this->studpub_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
267
+    }
268
+
269
+    /**
270
+     * Lazy load function to get the database table of the item properties
271
+     */
272
+    private function get_itemprop_table()
273
+    {
274
+        return $this->itemprop_table = Database :: get_course_table(TABLE_ITEM_PROPERTY);
275
+    }
276
+
277
+    public function needs_name_and_description()
278
+    {
279
+        return false;
280
+    }
281
+
282
+    public function get_name()
283
+    {
284
+        $this->get_exercise_data();
285
+        return (isset($this->exercise_data['title']) && !empty($this->exercise_data['title'])) ? $this->exercise_data['title'] : get_lang('Untitled');
286
+    }
287
+
288
+    public function get_description()
289
+    {
290
+        $this->get_exercise_data();
291
+        return isset($this->exercise_data['description']) ? $this->exercise_data['description'] : null;
292
+    }
293
+
294
+    public function get_test_id()
295
+    {
296
+        return 'DEBUG:ID';
297
+    }
298
+
299
+    public function get_link()
300
+    {
301
+        $session_id = api_get_session_id();
302
+        $url = api_get_path(WEB_PATH).'main/work/work.php?session_id='.$session_id.'&cidReq='.$this->get_course_code().'&id='.$this->exercise_data['id'].'&gradebook=view';
303
+        return $url;
304
+    }
305
+
306
+    private function get_exercise_data()
307
+    {
308
+        $tbl_name = $this->get_studpub_table();
309
+        $course_info = api_get_course_info($this->get_course_code());
310
+        if ($tbl_name=='') {
311
+            return false;
312
+        } elseif (!isset($this->exercise_data)) {
313
+            $sql = 'SELECT * FROM '.$this->get_studpub_table()."
314 314
 					WHERE
315 315
 					 	c_id ='".$course_info['real_id']."' AND
316 316
 					 	id = '".intval($this->get_ref_id())."' ";
317
-			$query = Database::query($sql);
318
-			$this->exercise_data = Database::fetch_array($query);
319
-		}
320
-		return $this->exercise_data;
321
-	}
322
-
323
-	public function needs_max()
324
-	{
325
-		return false;
326
-	}
327
-
328
-	public function needs_results()
329
-	{
330
-		return false;
331
-	}
332
-
333
-	public function is_valid_link()
334
-	{
335
-		$sql = 'SELECT count(id) FROM '.$this->get_studpub_table().'
317
+            $query = Database::query($sql);
318
+            $this->exercise_data = Database::fetch_array($query);
319
+        }
320
+        return $this->exercise_data;
321
+    }
322
+
323
+    public function needs_max()
324
+    {
325
+        return false;
326
+    }
327
+
328
+    public function needs_results()
329
+    {
330
+        return false;
331
+    }
332
+
333
+    public function is_valid_link()
334
+    {
335
+        $sql = 'SELECT count(id) FROM '.$this->get_studpub_table().'
336 336
     			WHERE c_id = "'.$this->course_id.'" AND id = '.intval($this->get_ref_id()).'';
337
-		$result = Database::query($sql);
338
-		$number = Database::fetch_row($result);
339
-		return ($number[0] != 0);
340
-	}
341
-
342
-	public function get_icon_name()
343
-	{
344
-		return 'studentpublication';
345
-	}
346
-
347
-	public function save_linked_data()
348
-	{
349
-		$weight = (float)$this->get_weight();
350
-		$ref_id = $this->get_ref_id();
351
-
352
-		if (!empty($ref_id)) {
353
-			//Cleans works
354
-			$sql = 'UPDATE '.$this->get_studpub_table().' SET weight= '.$weight.'
337
+        $result = Database::query($sql);
338
+        $number = Database::fetch_row($result);
339
+        return ($number[0] != 0);
340
+    }
341
+
342
+    public function get_icon_name()
343
+    {
344
+        return 'studentpublication';
345
+    }
346
+
347
+    public function save_linked_data()
348
+    {
349
+        $weight = (float)$this->get_weight();
350
+        $ref_id = $this->get_ref_id();
351
+
352
+        if (!empty($ref_id)) {
353
+            //Cleans works
354
+            $sql = 'UPDATE '.$this->get_studpub_table().' SET weight= '.$weight.'
355 355
                     WHERE c_id = '.$this->course_id.' AND id ='.$ref_id;
356
-			Database::query($sql);
357
-		}
358
-	}
359
-
360
-	public function delete_linked_data()
361
-	{
362
-		$ref_id = $this->get_ref_id();
363
-		if (!empty($ref_id)) {
364
-			//Cleans works
365
-			$sql = 'UPDATE '.$this->get_studpub_table().' SET weight=0
356
+            Database::query($sql);
357
+        }
358
+    }
359
+
360
+    public function delete_linked_data()
361
+    {
362
+        $ref_id = $this->get_ref_id();
363
+        if (!empty($ref_id)) {
364
+            //Cleans works
365
+            $sql = 'UPDATE '.$this->get_studpub_table().' SET weight=0
366 366
                     WHERE c_id = '.$this->course_id.' AND id ='.$ref_id;
367
-			Database::query($sql);
368
-		}
369
-	}
367
+            Database::query($sql);
368
+        }
369
+    }
370 370
 }
Please login to merge, or discard this patch.
main/gradebook/lib/GradebookUtils.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -249,7 +249,7 @@
 block discarded – undo
249 249
                     }
250 250
                 }
251 251
 
252
-               $modify_icons .= '<a href="gradebook_edit_all.php?selectcat=' .$cat->get_id() . '&cidReq=' . $cat->get_course_code() . '&id_session='.$cat->get_session_id().'">' .
252
+                $modify_icons .= '<a href="gradebook_edit_all.php?selectcat=' .$cat->get_id() . '&cidReq=' . $cat->get_course_code() . '&id_session='.$cat->get_session_id().'">' .
253 253
                     Display::return_icon(
254 254
                         'percentage.png',
255 255
                         get_lang('EditAllWeights'),
Please login to merge, or discard this patch.