当前位置: 首页>>代码示例>>PHP>>正文


PHP graded_users_iterator::allow_user_custom_fields方法代码示例

本文整理汇总了PHP中graded_users_iterator::allow_user_custom_fields方法的典型用法代码示例。如果您正苦于以下问题:PHP graded_users_iterator::allow_user_custom_fields方法的具体用法?PHP graded_users_iterator::allow_user_custom_fields怎么用?PHP graded_users_iterator::allow_user_custom_fields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在graded_users_iterator的用法示例。


在下文中一共展示了graded_users_iterator::allow_user_custom_fields方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: print_grades

 public function print_grades()
 {
     global $CFG;
     $export_tracking = $this->track_exports();
     $strgrades = get_string('grades');
     $profilefields = grade_helper::get_user_profile_fields($this->course->id, $this->usercustomfields);
     $shortname = format_string($this->course->shortname, true, array('context' => context_course::instance($this->course->id)));
     $downloadfilename = clean_filename("{$shortname} {$strgrades}");
     $csvexport = new csv_export_writer($this->separator);
     $csvexport->set_filename($downloadfilename);
     // Print names of all the fields
     $exporttitle = array();
     foreach ($profilefields as $field) {
         $exporttitle[] = $field->fullname;
     }
     if (!$this->onlyactive) {
         $exporttitle[] = get_string("suspended");
     }
     // Add a feedback column.
     foreach ($this->columns as $grade_item) {
         $exporttitle[] = $this->format_column_name($grade_item);
         if ($this->export_feedback) {
             $exporttitle[] = $this->format_column_name($grade_item, true);
         }
     }
     $csvexport->add_data($exporttitle);
     // Print all the lines of data.
     $geub = new grade_export_update_buffer();
     $gui = new graded_users_iterator($this->course, $this->columns, $this->groupid);
     $gui->require_active_enrolment($this->onlyactive);
     $gui->allow_user_custom_fields($this->usercustomfields);
     $gui->init();
     while ($userdata = $gui->next_user()) {
         $exportdata = array();
         $user = $userdata->user;
         foreach ($profilefields as $field) {
             $fieldvalue = grade_helper::get_user_field_value($user, $field);
             $exportdata[] = $fieldvalue;
         }
         if (!$this->onlyactive) {
             $issuspended = $user->suspendedenrolment ? get_string('yes') : '';
             $exportdata[] = $issuspended;
         }
         foreach ($userdata->grades as $itemid => $grade) {
             if ($export_tracking) {
                 $status = $geub->track($grade);
             }
             $exportdata[] = $this->format_grade($grade);
             if ($this->export_feedback) {
                 $exportdata[] = $this->format_feedback($userdata->feedbacks[$itemid]);
             }
         }
         $csvexport->add_data($exportdata);
     }
     $gui->close();
     $geub->close();
     $csvexport->download_file();
     exit;
 }
开发者ID:abhilash1994,项目名称:moodle,代码行数:59,代码来源:grade_export_txt.php

示例2: print_grades

 /**
  * To be implemented by child classes
  */
 public function print_grades()
 {
     global $CFG;
     require_once $CFG->dirroot . '/lib/excellib.class.php';
     $export_tracking = $this->track_exports();
     $strgrades = get_string('grades');
     // Calculate file name
     $shortname = format_string($this->course->shortname, true, array('context' => context_course::instance($this->course->id)));
     $downloadfilename = clean_filename("{$shortname} {$strgrades}.xls");
     // Creating a workbook
     $workbook = new MoodleExcelWorkbook("-");
     // Sending HTTP headers
     $workbook->send($downloadfilename);
     // Adding the worksheet
     $myxls = $workbook->add_worksheet($strgrades);
     // Print names of all the fields
     $profilefields = grade_helper::get_user_profile_fields($this->course->id, $this->usercustomfields);
     foreach ($profilefields as $id => $field) {
         $myxls->write_string(0, $id, $field->fullname);
     }
     $pos = count($profilefields);
     if (!$this->onlyactive) {
         $myxls->write_string(0, $pos++, get_string("suspended"));
     }
     foreach ($this->columns as $grade_item) {
         $myxls->write_string(0, $pos++, $this->format_column_name($grade_item));
         // Add a column_feedback column
         if ($this->export_feedback) {
             $myxls->write_string(0, $pos++, $this->format_column_name($grade_item, true));
         }
     }
     // Print all the lines of data.
     $i = 0;
     $geub = new grade_export_update_buffer();
     $gui = new graded_users_iterator($this->course, $this->columns, $this->groupid);
     $gui->require_active_enrolment($this->onlyactive);
     $gui->allow_user_custom_fields($this->usercustomfields);
     $gui->init();
     while ($userdata = $gui->next_user()) {
         $i++;
         $user = $userdata->user;
         foreach ($profilefields as $id => $field) {
             $fieldvalue = grade_helper::get_user_field_value($user, $field);
             $myxls->write_string($i, $id, $fieldvalue);
         }
         $j = count($profilefields);
         if (!$this->onlyactive) {
             $issuspended = $user->suspendedenrolment ? get_string('yes') : '';
             $myxls->write_string($i, $j++, $issuspended);
         }
         foreach ($userdata->grades as $itemid => $grade) {
             if ($export_tracking) {
                 $status = $geub->track($grade);
             }
             $gradestr = $this->format_grade($grade);
             if (is_numeric($gradestr)) {
                 $myxls->write_number($i, $j++, $gradestr);
             } else {
                 $myxls->write_string($i, $j++, $gradestr);
             }
             // writing feedback if requested
             if ($this->export_feedback) {
                 $myxls->write_string($i, $j++, $this->format_feedback($userdata->feedbacks[$itemid]));
             }
         }
     }
     $gui->close();
     $geub->close();
     /// Close the workbook
     $workbook->close();
     exit;
 }
开发者ID:EmmanuelYupit,项目名称:educursos,代码行数:75,代码来源:grade_export_xls.php

示例3: display_preview

 public function display_preview($require_user_idnumber = false)
 {
     global $OUTPUT;
     $userprofilefields = grade_helper::get_user_profile_fields($this->course->id, $this->usercustomfields);
     $formatoptions = new stdClass();
     $formatoptions->para = false;
     $exporttitle = array('Client Code', 'Client Name', 'Qualification Code', 'Unit Code', 'Unit Start Date', 'Unit End Date', 'Outcome Name', 'Outcome Code');
     echo $OUTPUT->heading(get_string('previewrows', 'grades'));
     echo '<table class="csv-table">';
     echo '<tr>';
     foreach ($exporttitle as $field) {
         echo '<th>' . $field . '</th>';
     }
     if (!$this->onlyactive) {
         echo '<th>' . get_string("suspended") . "</th>";
     }
     // foreach ($this->columns as $grade_item) {
     //     echo '<th>'.$this->format_column_name($grade_item).'</th>';
     //     /// add a column_feedback column
     //     if ($this->export_feedback) {
     //         echo '<th>'.$this->format_column_name($grade_item, true).'</th>';
     //     }
     // }
     echo '</tr>';
     /// Print all the lines of data.
     $i = 0;
     $gui = new graded_users_iterator($this->course, $this->columns, $this->groupid);
     $gui->require_active_enrolment($this->onlyactive);
     $gui->allow_user_custom_fields($this->usercustomfields);
     $gui->init();
     while ($userdata = $gui->next_user()) {
         // number of preview rows
         if ($this->previewrows and $this->previewrows <= $i) {
             break;
         }
         $user = $userdata->user;
         if ($require_user_idnumber and empty($user->idnumber)) {
             // some exports require user idnumber so we can match up students when importing the data
             continue;
         }
         $gradeupdated = false;
         // if no grade is update at all for this user, do not display this row
         $rowstr = '';
         foreach ($this->columns as $itemid => $grade_item) {
             $gradetxt = $this->format_grade($userdata->grades[$itemid]);
             $activity_start_date = $this->get_activity_start_date($this->course, $user, $grade_item);
             $grade_modified = $userdata->grades[$itemid]->timemodified;
             $client_code = $userdata->user->idnumber;
             $client_name = $userdata->user->firstname . ' ' . $userdata->user->lastname;
             // $course_code = $this->get_course_short_name($grade_item);
             $course_code = $this->course->idnumber;
             // $unit_code = $grade_item->itemname;
             $unit_code = $grade_item->idnumber;
             $unit_start = $activity_start_date ? $activity_start_date->format('d-m-Y') : '-';
             $unit_end = $grade_modified ? userdate($grade_modified, '%d-%m-%Y') : '-';
             $grade_name = $this->get_grade_name($gradetxt);
             if ($grade_item->itemtype == 'category') {
                 $category_start_date = $this->get_category_start_date($this->course, $user, $grade_item);
                 $unit_start = $category_start_date ? $category_start_date->format('d-m-Y') : '-';
             }
             // get the status of this grade, and put it through track to get the status
             $g = new grade_export_update_buffer();
             $grade_grade = new grade_grade(array('itemid' => $itemid, 'userid' => $user->id));
             $status = $g->track($grade_grade);
             if ($this->updatedgradesonly && ($status == 'nochange' || $status == 'unknown')) {
                 $rowstr .= '<td>' . get_string('unchangedgrade', 'grades') . '</td>';
             } else {
                 $rowstr .= "<tr>\n                                    <td>{$client_code}</td>\n                                    <td>{$client_name}</td>\n                                    <td>{$course_code}</td>\n                                    <td>{$unit_code}</td>\n                                    <td>{$unit_start}</td>\n                                    <td>{$unit_end}</td>\n                                    <td>{$grade_name}</td>\n                                    <td>{$gradetxt}</td>\n                                </tr>";
                 $gradeupdated = true;
             }
             if ($this->export_feedback) {
                 $rowstr .= '<td>' . $this->format_feedback($userdata->feedbacks[$itemid]) . '</td>';
             }
         }
         // if we are requesting updated grades only, we are not interested in this user at all
         if (!$gradeupdated && $this->updatedgradesonly) {
             continue;
         }
         echo '<tr>';
         echo $rowstr;
         echo "</tr>";
         $i++;
         // increment the counter
     }
     echo '</table>';
     $gui->close();
 }
开发者ID:abhiahirwar,项目名称:moodle_csv_report,代码行数:87,代码来源:grade_export_csv.php

示例4: display_preview

 /**
  * Prints preview of exported grades on screen as a feedback mechanism
  * @param bool $require_user_idnumber true means skip users without idnumber
  * @deprecated since 2.8 MDL-46548. Previews are not useful on export.
  */
 public function display_preview($require_user_idnumber = false)
 {
     global $OUTPUT;
     debugging('function grade_export::display_preview is deprecated.', DEBUG_DEVELOPER);
     $userprofilefields = grade_helper::get_user_profile_fields($this->course->id, $this->usercustomfields);
     $formatoptions = new stdClass();
     $formatoptions->para = false;
     echo $OUTPUT->heading(get_string('previewrows', 'grades'));
     echo '<table>';
     echo '<tr>';
     foreach ($userprofilefields as $field) {
         echo '<th>' . $field->fullname . '</th>';
     }
     if (!$this->onlyactive) {
         echo '<th>' . get_string("suspended") . "</th>";
     }
     foreach ($this->columns as $grade_item) {
         echo '<th>' . $this->format_column_name($grade_item) . '</th>';
         /// add a column_feedback column
         if ($this->export_feedback) {
             echo '<th>' . $this->format_column_name($grade_item, true) . '</th>';
         }
     }
     echo '</tr>';
     /// Print all the lines of data.
     $i = 0;
     $gui = new graded_users_iterator($this->course, $this->columns, $this->groupid);
     $gui->require_active_enrolment($this->onlyactive);
     $gui->allow_user_custom_fields($this->usercustomfields);
     $gui->init();
     while ($userdata = $gui->next_user()) {
         // number of preview rows
         if ($this->previewrows and $this->previewrows <= $i) {
             break;
         }
         $user = $userdata->user;
         if ($require_user_idnumber and empty($user->idnumber)) {
             // some exports require user idnumber so we can match up students when importing the data
             continue;
         }
         $gradeupdated = false;
         // if no grade is update at all for this user, do not display this row
         $rowstr = '';
         foreach ($this->columns as $itemid => $unused) {
             $gradetxt = $this->format_grade($userdata->grades[$itemid]);
             // get the status of this grade, and put it through track to get the status
             $g = new grade_export_update_buffer();
             $grade_grade = new grade_grade(array('itemid' => $itemid, 'userid' => $user->id));
             $status = $g->track($grade_grade);
             if ($this->updatedgradesonly && ($status == 'nochange' || $status == 'unknown')) {
                 $rowstr .= '<td>' . get_string('unchangedgrade', 'grades') . '</td>';
             } else {
                 $rowstr .= "<td>{$gradetxt}</td>";
                 $gradeupdated = true;
             }
             if ($this->export_feedback) {
                 $rowstr .= '<td>' . $this->format_feedback($userdata->feedbacks[$itemid]) . '</td>';
             }
         }
         // if we are requesting updated grades only, we are not interested in this user at all
         if (!$gradeupdated && $this->updatedgradesonly) {
             continue;
         }
         echo '<tr>';
         foreach ($userprofilefields as $field) {
             $fieldvalue = grade_helper::get_user_field_value($user, $field);
             // @see profile_field_base::display_data().
             echo '<td>' . format_text($fieldvalue, FORMAT_MOODLE, $formatoptions) . '</td>';
         }
         if (!$this->onlyactive) {
             $issuspended = $user->suspendedenrolment ? get_string('yes') : '';
             echo "<td>{$issuspended}</td>";
         }
         echo $rowstr;
         echo "</tr>";
         $i++;
         // increment the counter
     }
     echo '</table>';
     $gui->close();
 }
开发者ID:elie89,项目名称:moodle,代码行数:86,代码来源:lib.php

示例5: print_grades

 public function print_grades()
 {
     global $CFG;
     $exporttracking = $this->track_exports();
     $course = $this->course;
     $strgrades = get_string('grades');
     $profilefields = grade_helper::get_user_profile_fields($this->course->id, $this->usercustomfields);
     $courseid = $course->id;
     $shortname = format_string($this->course->shortname, true, array('context' => context_course::instance($this->course->id)));
     $downloadfilename = clean_filename("{$shortname} {$strgrades}");
     $csvexport = new csv_export_writer($this->separator);
     $csvexport->filename = clean_filename("{$downloadfilename}.csv");
     // Print names of all the fields.
     $exporttitle = array();
     $shortname = format_string($this->course->shortname, true, array('context' => context_course::instance($this->course->id)));
     $exporttitle[] = $shortname . "";
     $csvexport->add_data($exporttitle);
     $exporttitle = array();
     $exporttitle[] = "TERM";
     $exporttitle[] = "Class Number";
     $exporttitle[] = "ID";
     $exporttitle[] = "Final Grade";
     $exporttitle[] = "" . get_string("firstname");
     $exporttitle[] = "" . get_string("lastname");
     $exporttitle[] = "" . get_string("idnumber");
     $exporttitle[] = "" . get_string("institution");
     $exporttitle[] = "" . get_string("department");
     $exporttitle[] = "" . get_string("email");
     foreach ($this->columns as $gradeitem) {
         $exporttitle[] = trim($gradeitem->get_name());
     }
     $csvexport->add_data($exporttitle);
     $sseat = $this->primcomp($courseid);
     // Print all the lines of data.
     $geub = new grade_export_update_buffer();
     $gui = new graded_users_iterator($this->course, $this->columns, $this->groupid);
     $gui->require_active_enrolment($this->onlyactive);
     $gui->allow_user_custom_fields($this->usercustomfields);
     $gui->init();
     while ($userdata = $gui->next_user()) {
         $exportdata = array();
         $user = $userdata->user;
         if (!isset($sseat[$user->username])) {
             continue;
         }
         foreach ($userdata->grades as $itemid => $grade) {
             if ($this->finalitemid == $itemid) {
                 $finalletter = $this->format_grade($userdata->grades[$itemid]);
                 if ($this->displaytype == 1) {
                     $userdata->grades[$itemid]->finalgrade = $finalletter;
                 }
             }
         }
         $coarr = explode('.', $sseat[$user->username]);
         $exportdata[] = $coarr[0];
         $exportdata[] = $coarr[1];
         $exportdata[] = $user->username;
         $exportdata[] = $finalletter;
         $exportdata[] = $user->firstname;
         $exportdata[] = $user->lastname;
         $exportdata[] = $user->idnumber;
         $exportdata[] = $user->institution;
         $exportdata[] = $user->department;
         $exportdata[] = $user->email;
         foreach ($userdata->grades as $itemid => $grade) {
             $gradestr = $userdata->grades[$itemid]->finalgrade;
             $exportdata[] = $gradestr;
         }
         $csvexport->add_data($exportdata);
     }
     $gui->close();
     $geub->close();
     $csvexport->download_file();
     exit;
 }
开发者ID:MoodleMetaData,项目名称:MoodleMetaData,代码行数:75,代码来源:grade_export_uag.php


注:本文中的graded_users_iterator::allow_user_custom_fields方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。