本文整理汇总了PHP中get_records_sql_menu函数的典型用法代码示例。如果您正苦于以下问题:PHP get_records_sql_menu函数的具体用法?PHP get_records_sql_menu怎么用?PHP get_records_sql_menu使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_records_sql_menu函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: question_cwqpfs_to_update
function question_cwqpfs_to_update($categories = null)
{
global $CFG;
$tofix = array();
$result = true;
//any cats with questions picking from subcats?
if (!($cwqpfs = get_records_sql_menu("SELECT DISTINCT qc.id, 1 " . "FROM {$CFG->prefix}question q, {$CFG->prefix}question_categories qc " . "WHERE q.qtype='random' AND qc.id = q.category AND " . sql_compare_text('q.questiontext') . " = '1'"))) {
return array();
} else {
if ($categories === null) {
$categories = get_records('question_categories');
}
$categorychildparents = array();
foreach ($categories as $id => $category) {
$categorychildparents[$category->course][$id] = $category->parent;
}
foreach ($categories as $id => $category) {
if (FALSE !== array_key_exists($category->parent, $categorychildparents[$category->course])) {
//this is not a top level cat
continue;
//go to next category
} else {
$tofix += question_cwqpfs_check_children($id, $categories, $categorychildparents[$category->course], $cwqpfs);
}
}
}
return $tofix;
}
开发者ID:veritech,项目名称:pare-project,代码行数:28,代码来源:upgrade.php
示例2: otags_select_setup
/**
* This function sets up options of otag select element. This is called from definition and also
* after adding new official tags with the add tag button.
*
*/
function otags_select_setup()
{
global $CFG;
$mform =& $this->_form;
$otagsselect =& $mform->getElement('otags');
$otagsselect->removeOptions();
if ($otags = get_records_sql_menu('SELECT id, text from ' . $CFG->prefix . 'tags WHERE type=\'official\' ORDER by text ASC')) {
$otagsselect->loadArray($otags);
}
}
开发者ID:veritech,项目名称:pare-project,代码行数:15,代码来源:edit_form.php
示例3: handle_individual
function handle_individual($usersid)
{
global $CFG;
$sql = "SELECT id, path FROM {$CFG->prefix}block_student_person\n WHERE (path != 'NA' OR path != 0)\n AND usersid = {$usersid}";
$assignments = get_records_sql_menu($sql);
if ($assignments) {
return handle_person($assignments);
}
return '';
}
开发者ID:rrusso,项目名称:EARS,代码行数:10,代码来源:lib.php
示例4: otags_select_setup
/**
* This function sets up options of otag select element. This is called from definition and also
* after adding new official tags with the add tag button.
*
*/
function otags_select_setup()
{
global $CFG;
$mform =& $this->_form;
if ($otagsselect =& $mform->getElement('otags')) {
$otagsselect->removeOptions();
}
$namefield = empty($CFG->keeptagnamecase) ? 'name' : 'rawname';
if ($otags = get_records_sql_menu('SELECT id, ' . $namefield . ' from ' . $CFG->prefix . 'tag WHERE tagtype=\'official\' ORDER by name ASC')) {
$otagsselect->loadArray($otags);
}
}
开发者ID:edwinphillips,项目名称:moodle-485cb39,代码行数:17,代码来源:edit_form.php
示例5: display_search_field
function display_search_field($value = '')
{
global $CFG;
$temp = get_records_sql_menu('SELECT id, content from ' . $CFG->prefix . 'data_content WHERE fieldid=' . $this->field->id . ' GROUP BY content ORDER BY content');
$options = array();
if (!empty($temp)) {
$options[''] = '';
//Make first index blank.
foreach ($temp as $key) {
$options[$key] = $key;
//Build following indicies from the sql.
}
}
return choose_from_menu($options, 'f_' . $this->field->id, $value, 'choose', '', 0, true);
}
开发者ID:r007,项目名称:PMoodle,代码行数:15,代码来源:field.class.php
示例6: display_search_field
function display_search_field($value = '')
{
global $CFG;
$lats = get_records_sql_menu('SELECT id, content from ' . $CFG->prefix . 'data_content WHERE fieldid=' . $this->field->id . ' GROUP BY content ORDER BY content');
$longs = get_records_sql_menu('SELECT id, content1 from ' . $CFG->prefix . 'data_content WHERE fieldid=' . $this->field->id . ' GROUP BY content ORDER BY content');
$options = array();
if (!empty($lats) && !empty($longs)) {
$options[''] = '';
// Make first index blank.
foreach ($lats as $key => $temp) {
$options[$temp . ',' . $longs[$key]] = $temp . ',' . $longs[$key];
}
}
return choose_from_menu($options, 'f_' . $this->field->id, $value, 'choose', '', 0, true);
}
开发者ID:nadavkav,项目名称:MoodleTAO,代码行数:15,代码来源:field.class.php
示例7: init
function init()
{
global $CFG;
// All the years to choose from
// All the colleges to choose from
// All the majors to choose from
$fields = array('years' => 'year', 'colleges' => 'college', 'majors' => 'classification');
$fields = array_map('special_sql', $fields);
$this->fields = $fields;
// All the current assignments in this category
$sql = "SELECT id, path\n FROM {$CFG->prefix}block_student_academics\n WHERE path != 'NA'\n Group By path";
$inter = get_records_sql_menu($sql);
$assignments = array_values(array(0 => 'NA') + (!$inter ? array() : $inter));
$assignments = array_combine($assignments, $assignments);
$assignments['NA'] = 'NA/NA/NA';
$this->current_assignments = $assignments;
}
开发者ID:rrusso,项目名称:EARS,代码行数:17,代码来源:admin_academics.php
示例8: init
function init()
{
global $CFG;
// Get user capabilities
$cap_sql = "SELECT rc.id, rc.capability\n FROM {$CFG->prefix}role_assignments ra,\n {$CFG->prefix}role_capabilities rc\n WHERE ra.userid = {$this->userid}\n AND ra.roleid = rc.roleid\n AND rc.capability IN ('" . implode("','", $this->user_caps) . "')";
$capabilities = get_records_sql_menu($cap_sql);
// Get all the internal assignments
$map = create_function('$field', '
return "SELECT DISTINCT(u.id), u.firstname, u.lastname
FROM ' . $CFG->prefix . 'user u,
' . $CFG->prefix . 'block_student_{$field} a,
' . $CFG->prefix . 'role_assignments ra,
' . $CFG->prefix . 'role_capabilities rc
WHERE u.id = a.usersid
AND ra.userid = u.id
AND ra.roleid = rc.roleid
AND rc.capability IN (\'' . implode("','", array_values($capabilities)) . '\')
GROUP BY u.id";');
$sql = implode(') UNION (', array_map($map, array('sports', 'academics', 'person')));
$this->mentors = array_map('flatten_mentors', get_records_sql('(' . $sql . ') ORDER BY lastname'));
}
开发者ID:rrusso,项目名称:EARS,代码行数:21,代码来源:admin_person.php
示例9: question_insert_c_and_q_ids_for_module
function question_insert_c_and_q_ids_for_module($backup_unique_code, $course, $modulename, $instances)
{
global $CFG;
$status = true;
// using 'dummykeyname' in sql because otherwise get_records_sql_menu returns an error
// if two key names are the same.
$cmcontexts = array();
if (!empty($instances)) {
$cmcontexts = get_records_sql_menu("SELECT c.id, c.id AS dummykeyname FROM {$CFG->prefix}modules m,\n {$CFG->prefix}course_modules cm,\n {$CFG->prefix}context c\n WHERE m.name = '{$modulename}' AND m.id = cm.module AND cm.id = c.instanceid\n AND c.contextlevel = " . CONTEXT_MODULE . " AND cm.course = {$course}\n AND cm.instance IN (" . implode(',', array_keys($instances)) . ")");
}
if ($cmcontexts) {
$status = $status && execute_sql("INSERT INTO {$CFG->prefix}backup_ids\n (backup_code, table_name, old_id, info)\n SELECT '{$backup_unique_code}', 'question_categories', qc.id, '{$modulename}'\n FROM {$CFG->prefix}question_categories qc\n WHERE qc.contextid IN (" . join(array_keys($cmcontexts), ', ') . ")", false);
}
$status = $status && question_insert_q_ids($backup_unique_code, $modulename);
return $status;
}
开发者ID:r007,项目名称:PMoodle,代码行数:16,代码来源:backuplib.php
示例10: set_data_attempt
function set_data_attempt(&$attempt, &$strftimedate, &$strftimetime, &$blank)
{
global $CFG;
$records = get_records_sql_menu("\n\t\t\tSELECT userid, MAX(time) AS logintime\n\t\t\tFROM {$CFG->prefix}log\n\t\t\tWHERE userid={$attempt->userid} AND action='login' AND time<{$attempt->timestart}\n\t\t\tGROUP BY userid\n\t\t");
if (empty($records)) {
$logindate = $blank;
$logintime = $blank;
} else {
$logintime = $records[$attempt->userid];
$logindate = trim(userdate($logintime, $strftimedate));
$logintime = trim(userdate($logintime, $strftimetime));
}
$records = get_records_sql_menu("\n\t\t\tSELECT userid, MIN(time) AS logouttime\n\t\t\tFROM {$CFG->prefix}log\n\t\t\tWHERE userid={$attempt->userid} AND action='logout' AND time>{$attempt->cr_timefinish}\n\t\t\tGROUP BY userid\n\t\t");
if (empty($records)) {
$logouttime = $blank;
} else {
$logouttime = $records[$attempt->userid];
$logouttime = trim(userdate($logouttime, $strftimetime));
}
$this->data['attempt'] = array('logindate' => $logindate, 'logintime' => $logintime, 'logouttime' => $logouttime, 'number' => $attempt->attempt, 'start' => trim(userdate($attempt->timestart, $strftimetime)), 'finish' => trim(userdate($attempt->cr_timefinish, $strftimetime)));
}
开发者ID:edwinphillips,项目名称:moodle-485cb39,代码行数:21,代码来源:report.php
示例11: display
function display($quiz, $cm, $course)
{
/// This function just displays the report
global $CFG, $SESSION, $db, $QTYPES;
$strnoquiz = get_string('noquiz', 'quiz');
$strnoattempts = get_string('noattempts', 'quiz');
/// Only print headers if not asked to download data
$download = optional_param('download', NULL);
if (!$download) {
$this->print_header_and_tabs($cm, $course, $quiz, $reportmode = "analysis");
}
/// Construct the table for this particular report
if (!$quiz->questions) {
print_heading($strnoattempts);
return true;
}
/// Check to see if groups are being used in this quiz
if ($groupmode = groupmode($course, $cm)) {
// Groups are being used
if (!$download) {
$currentgroup = setup_and_print_groups($course, $groupmode, "report.php?id={$cm->id}&mode=analysis");
} else {
$currentgroup = get_and_set_current_group($course, $groupmode);
}
} else {
$currentgroup = get_and_set_current_group($course, $groupmode);
}
// set Table and Analysis stats options
if (!isset($SESSION->quiz_analysis_table)) {
$SESSION->quiz_analysis_table = array('attemptselection' => 0, 'lowmarklimit' => 0, 'pagesize' => 10);
}
foreach ($SESSION->quiz_analysis_table as $option => $value) {
$urlparam = optional_param($option, NULL);
if ($urlparam === NULL) {
${$option} = $value;
} else {
${$option} = $SESSION->quiz_analysis_table[$option] = $urlparam;
}
}
$scorelimit = $quiz->sumgrades * $lowmarklimit / 100;
// ULPGC ecastro DEBUG this is here to allow for different SQL to select attempts
switch ($attemptselection) {
case QUIZ_ALLATTEMPTS:
$limit = '';
$group = '';
break;
case QUIZ_HIGHESTATTEMPT:
$limit = ', max(qa.sumgrades) ';
$group = ' GROUP BY qa.userid ';
break;
case QUIZ_FIRSTATTEMPT:
$limit = ', min(qa.timemodified) ';
$group = ' GROUP BY qa.userid ';
break;
case QUIZ_LASTATTEMPT:
$limit = ', max(qa.timemodified) ';
$group = ' GROUP BY qa.userid ';
break;
}
if ($attemptselection != QUIZ_ALLATTEMPTS) {
$sql = 'SELECT qa.userid ' . $limit . 'FROM ' . $CFG->prefix . 'user u LEFT JOIN ' . $CFG->prefix . 'quiz_attempts qa ON u.id = qa.userid ' . 'WHERE qa.quiz = ' . $quiz->id . ' AND qa.preview = 0 ' . $group;
$usermax = get_records_sql_menu($sql);
}
$groupmembers = '';
$groupwhere = '';
//Add this to the SQL to show only group users
if ($currentgroup) {
$groupmembers = ', ' . groups_members_from_sql();
$groupwhere = ' AND ' . groups_members_where_sql($currentgroup, 'u.id');
}
$sql = 'SELECT qa.* FROM ' . $CFG->prefix . 'quiz_attempts qa, ' . $CFG->prefix . 'user u ' . $groupmembers . 'WHERE u.id = qa.userid AND qa.quiz = ' . $quiz->id . ' AND qa.preview = 0 AND ( qa.sumgrades >= ' . $scorelimit . ' ) ' . $groupwhere;
// ^^^^^^ es posible seleccionar aqu TODOS los quizzes, como quiere Jussi,
// pero habra que llevar la cuenta ed cada quiz para restaura las preguntas (quizquestions, states)
/// Fetch the attempts
$attempts = get_records_sql($sql);
if (empty($attempts)) {
print_heading(get_string('nothingtodisplay'));
$this->print_options_form($quiz, $cm, $attemptselection, $lowmarklimit, $pagesize);
return true;
}
/// Here we rewiew all attempts and record data to construct the table
$questions = array();
$statstable = array();
$questionarray = array();
foreach ($attempts as $attempt) {
$questionarray[] = quiz_questions_in_quiz($attempt->layout);
}
$questionlist = quiz_questions_in_quiz(implode(",", $questionarray));
$questionarray = array_unique(explode(",", $questionlist));
$questionlist = implode(",", $questionarray);
unset($questionarray);
foreach ($attempts as $attempt) {
switch ($attemptselection) {
case QUIZ_ALLATTEMPTS:
$userscore = 0;
// can be anything, not used
break;
case QUIZ_HIGHESTATTEMPT:
$userscore = $attempt->sumgrades;
break;
//.........这里部分代码省略.........
开发者ID:veritech,项目名称:pare-project,代码行数:101,代码来源:report.php
示例12: feedback_send_email
/**
* sends an email to the teachers of the course where the given feedback is placed.
* @param object $cm the coursemodule-record
* @param $feedback
* @param $course
* @param $userid
* @return void
*/
function feedback_send_email($cm, $feedback, $course, $userid)
{
global $CFG;
if ($feedback->email_notification == 0) {
// No need to do anything
return;
}
$user = get_record('user', 'id', $userid);
if (groupmode($course, $cm) == SEPARATEGROUPS) {
// Separate groups are being used
$groups = get_records_sql_menu("SELECT g.name, g.id\n FROM {$CFG->prefix}groups g,\n {$CFG->prefix}groups_members m\n WHERE g.courseid = '{$course->id}'\n AND g.id = m.groupid\n AND m.userid = '{$userid}'\n ORDER BY name ASC");
$groups = array_values($groups);
$teachers = feedback_get_receivemail_users($cm->id, $groups);
} else {
$teachers = feedback_get_receivemail_users($cm->id);
}
if ($teachers) {
$strfeedbacks = get_string('modulenameplural', 'feedback');
$strfeedback = get_string('modulename', 'feedback');
$strcompleted = get_string('completed', 'feedback');
$printusername = $feedback->anonymous == FEEDBACK_ANONYMOUS_NO ? fullname($user) : get_string('anonymous_user', 'feedback');
foreach ($teachers as $teacher) {
unset($info);
$info->username = $printusername;
$info->feedback = format_string($feedback->name, true);
$info->url = $CFG->wwwroot . '/mod/feedback/show_entries.php?id=' . $cm->id . '&userid=' . $userid . '&do_show=showentries';
$postsubject = $strcompleted . ': ' . $info->username . ' -> ' . $feedback->name;
$posttext = feedback_send_email_text($info, $course);
$posthtml = $teacher->mailformat == 1 ? feedback_send_email_html($info, $course, $cm) : '';
if ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO) {
@email_to_user($teacher, $user, $postsubject, $posttext, $posthtml);
} else {
@email_to_user($teacher, $teacher, $postsubject, $posttext, $posthtml);
}
}
}
}
开发者ID:nadavkav,项目名称:MoodleTAO,代码行数:45,代码来源:lib.php
示例13: quiz_report_grade_bands
function quiz_report_grade_bands($bandwidth, $bands, $quizid, $useridlist = '')
{
global $CFG;
$sql = "SELECT\n FLOOR(qg.grade/{$bandwidth}) AS band,\n COUNT(1) AS num\n FROM\n {$CFG->prefix}quiz_grades qg, \n {$CFG->prefix}quiz q\n WHERE qg.quiz = q.id AND qg.quiz = {$quizid} \n " . ($useridlist ? "AND qg.userid IN ({$useridlist}) " : '') . "\n GROUP BY FLOOR(qg.grade/{$bandwidth})\n ORDER BY band";
if (!($data = get_records_sql_menu($sql))) {
$data = array();
}
//need to create array elements with values 0 at indexes where there is no element
$data = $data + array_fill(0, $bands + 1, 0);
ksort($data);
//place the maximum (prefect grade) into the last band i.e. make last
//band for example 9 <= g <=10 (where 10 is the perfect grade) rather than
//just 9 <= g <10.
$data[$bands - 1] += $data[$bands];
unset($data[$bands]);
return $data;
}
开发者ID:edwinphillips,项目名称:moodle-485cb39,代码行数:17,代码来源:reportlib.php
示例14: get_string
}
$post->id = $existing->id;
$post->subject = $existing->subject;
$post->summary = $existing->summary;
$post->publishstate = $existing->publishstate;
$post->format = $existing->format;
$post->action = $action;
$strformheading = get_string('updateentrywithid', 'blog');
if ($ptags = get_records_sql_menu("SELECT t.id, t.text FROM\n {$CFG->prefix}tags t,\n {$CFG->prefix}blog_tag_instance bti\n WHERE t.id = bti.tagid\n AND t.type = 'personal'\n AND bti.entryid = {$post->id}")) {
$post->ptags = implode(', ', $ptags);
} else {
//$idsql = " AND bti.entryid = 0";
//was used but seems redundant.
$post->ptags = '';
}
if ($otags = get_records_sql_menu("SELECT t.id, t.text FROM\n {$CFG->prefix}tags t,\n {$CFG->prefix}blog_tag_instance bti\n WHERE t.id = bti.tagid\n AND t.type = 'official'\n AND bti.entryid = {$post->id}")) {
$post->otags = array_keys($otags);
}
break;
default:
error('Unknown action!');
}
// done here in order to allow deleting of posts with wrong user id above
if (!($user = get_record('user', 'id', $userid))) {
error('Incorrect user id');
}
print_header("{$SITE->shortname}: {$strblogs}", $SITE->fullname, '<a href="' . $CFG->wwwroot . '/user/view.php?id=' . $userid . '">' . fullname($user) . '</a> ->
<a href="' . $CFG->wwwroot . '/blog/index.php?userid=' . $userid . '">' . $strblogs . '</a> -> ' . $strformheading, '', '', true);
$blogeditform->set_data($post);
$blogeditform->display();
print_footer();
开发者ID:veritech,项目名称:pare-project,代码行数:31,代码来源:edit.php
示例15: lesson_grades
function lesson_grades($lessonid)
{
/// Must return an array of grades for a given instance of this module,
/// indexed by user. It also returns a maximum allowed grade.
global $CFG;
if (!($lesson = get_record("lesson", "id", $lessonid))) {
return NULL;
}
if ($lesson->retake) {
if ($lesson->usemaxgrade) {
$grades = get_records_sql_menu("SELECT userid,MAX(grade) FROM {$CFG->prefix}lesson_grades WHERE\n lessonid = {$lessonid} GROUP BY userid");
} else {
$grades = get_records_sql_menu("SELECT userid,AVG(grade) FROM {$CFG->prefix}lesson_grades WHERE\n lessonid = {$lessonid} GROUP BY userid");
}
} else {
// Retakes is turned Off; only count first attempt
$firstgrades = get_records_sql("SELECT userid, MIN(completed), grade FROM {$CFG->prefix}lesson_grades WHERE lessonid = {$lessonid} GROUP BY userid");
$grades = array();
if (!empty($firstgrades)) {
foreach ($firstgrades as $userid => $info) {
$grades[$userid] = $info->grade;
}
}
}
// convert grades from percentages and tidy the numbers
if (!$lesson->practice) {
// dont display practice lessons
if ($grades) {
foreach ($grades as $userid => $grade) {
$return->grades[$userid] = number_format($grade * $lesson->grade / 100.0, 1);
}
}
$return->maxgrade = $lesson->grade;
return $return;
} else {
return NULL;
}
}
开发者ID:veritech,项目名称:pare-project,代码行数:38,代码来源:lib.php
示例16: update_module_button
$buttontext = update_module_button($cm->id, $course->id, $strfeedback);
$navlinks = array();
$navlinks[] = array('name' => $strfeedbacks, 'link' => "index.php?id={$course->id}", 'type' => 'activity');
$navlinks[] = array('name' => format_string($feedback->name), 'link' => "", 'type' => 'activityinstance');
$navigation = build_navigation($navlinks);
print_header_simple(format_string($feedback->name), "", $navigation, "", "", true, $buttontext, navmenu($course, $cm));
include 'tabs.php';
// print_simple_box(get_string('mapcourseinfo', 'feedback'), 'center', '80%');
print_box(get_string('mapcourseinfo', 'feedback'), 'generalbox boxaligncenter boxwidthwide');
// print_simple_box_start('center', '70%');
print_box_start('generalbox boxaligncenter boxwidthwide');
echo '<form method="post">';
echo '<input type="hidden" name="id" value="' . $id . '" />';
echo '<input type="hidden" name="sesskey" value="' . $USER->sesskey . '" />';
$sql = "select c.id, c.shortname from {$CFG->prefix}course c\n where\n c.shortname " . sql_ilike() . " '%{$searchcourse}%'\n OR c.fullname " . sql_ilike() . " '%{$searchcourse}%'";
if (($courses = get_records_sql_menu($sql)) && !empty($searchcourse)) {
echo ' ' . get_string('courses') . ': ';
choose_from_menu($courses, 'coursefilter', $coursefilter, 'choose');
echo '<input type="submit" value="' . get_string('mapcourse', 'feedback') . '"/>';
helpbutton('mapcourses', '', 'feedback', true, true);
echo '<input type="button" value="' . get_string('searchagain') . '" onclick="document.location=\'mapcourse.php?id=' . $id . '\'"/>';
echo '<input type="hidden" name="searchcourse" value="' . $searchcourse . '"/>';
echo '<input type="hidden" name="feedbackid" value="' . $feedback->id . '"/>';
helpbutton('searchcourses', '', 'feedback', true, true);
} else {
echo '<input type="text" name="searchcourse" value="' . $searchcourse . '"/> <input type="submit" value="' . get_string('searchcourses') . '"/>';
helpbutton('searchcourses', '', 'feedback', true, true);
}
echo '</form>';
if ($coursemap = feedback_get_courses_from_sitecourse_map($feedback->id)) {
$table = new flexible_table('coursemaps');
开发者ID:kai707,项目名称:ITSA-backup,代码行数:31,代码来源:mapcourse.php
示例17: getCoursesPerSemester
function getCoursesPerSemester($semester = null)
{
global $CFG;
$sem = "";
if (is_array($semester)) {
$sem = "AND sec.semestersid IN (" . implode(',', $semester) . ")";
} else {
if (is_numeric($semester)) {
$sem = "AND sec.semestersid = {$semester}";
}
}
$sql = "SELECT sec.semestersid, COUNT(cou.id) as count\n FROM {$CFG->prefix}block_courseprefs_sections sec,\n {$CFG->prefix}block_courseprefs_courses cou,\n {$CFG->prefix}block_courseprefs_teachers t\n WHERE sec.coursesid = cou.id\n AND t.sectionsid = sec.id\n AND t.usersid = {$this->id}\n AND t.primary_flag = 1\n AND (t.status = 'enroll' OR t.status = 'enrolled')\n AND sec.status != 'unwanted'\n {$sem}\n GROUP BY sec.semestersid";
$results = get_records_sql_menu($sql);
return $results;
}
开发者ID:rrusso,项目名称:EARS,代码行数:15,代码来源:CoursePrefsUser.php
示例18: print_js_call
print_js_call('capability_report.cap_filter_init', array(get_string('search')));
echo '</form>';
print_box_end();
// If we have a capability, generate the report.
if ($capability) {
// Work out the bits needed for the SQL WHERE clauses.
$sqlroletest = '';
if (count($cleanedroleids) != count($allroles)) {
$sqlroletest = 'AND roleid IN (' . implode(',', $cleanedroleids) . ')';
}
// Get all the role_capabilities rows for this capability - that is, all
// role definitions, and all role overrides.
$rolecaps = get_records_sql("\n SELECT id, roleid, contextid, permission\n FROM {role_capabilities}\n WHERE capability = '{$capability}' {$sqlroletest}");
// In order to display a nice tree of contexts, we need to get all the
// ancestors of all the contexts in the query we just did.
$relevantpaths = get_records_sql_menu("\n SELECT DISTINCT con.path, 1\n FROM {context} con JOIN {role_capabilities} rc ON rc.contextid = con.id\n WHERE capability = '{$capability}' {$sqlroletest}");
$requiredcontexts = array($systemcontext->id);
if (!empty($relevantpaths)) {
foreach ($relevantpaths as $path => $notused) {
$requiredcontexts = array_merge($requiredcontexts, explode('/', trim($path, '/')));
}
}
$requiredcontexts = array_unique($requiredcontexts);
// Now load those contexts.
if (count($requiredcontexts) > 0) {
$contexts = get_sorted_contexts('ctx.id IN (' . implode(',', $requiredcontexts) . ')');
}
if (empty($contexts)) {
$contexts = array();
}
// Prepare some empty arrays to hold the data we are about to compute.
开发者ID:nadavkav,项目名称:MoodleTAO,代码行数:31,代码来源:index.php
示例19: array
$db_names_function = $mod->name . '_db_names';
$updates = array();
if (file_exists($class_file)) {
require_once $class_file;
//if both required functions exist
if (function_exists($delete_function) and function_exists($db_names_function) and function_exists($get_document_function)) {
mtrace("Checking {$mod->name} module for updates.");
$valuesArray = $db_names_function();
if ($valuesArray) {
foreach ($valuesArray as $values) {
$where = isset($values[5]) ? 'AND (' . $values[5] . ')' : '';
$itemtypes = $values[4] != '*' && $values[4] != 'any' ? " AND itemtype = '{$values[4]}' " : '';
//TODO: check 'in' syntax with other RDBMS' (add and update.php as well)
$table = SEARCH_DATABASE_TABLE;
$query = "\n SELECT \n docid,\n itemtype\n FROM \n {$CFG->prefix}{$table}\n WHERE\n doctype = '{$mod->name}'\n {$itemtypes}\n ";
$docIds = get_records_sql_menu($query);
$docIdList = $docIds ? implode("','", array_keys($docIds)) : '';
$query = "\n SELECT \n id, \n {$values[0]} as docid\n FROM \n {$CFG->prefix}{$values[1]} \n WHERE \n {$values[3]} > {$indexdate} AND \n id IN ('{$docIdList}')\n {$where}\n ";
$records = get_records_sql($query);
if (is_array($records)) {
foreach ($records as $record) {
$updates[] = $delete_function($record->docid, $docIds[$record->docid]);
}
}
}
foreach ($updates as $update) {
++$update_count;
//delete old document
$doc = $index->find("+docid:{$update->id} +doctype:{$mod->name} +itemtype:{$update->itemtype}");
//get the record, should only be one
foreach ($doc as $thisdoc) {
开发者ID:veritech,项目名称:pare-project,代码行数:31,代码来源:update.php
示例20: quiz_question_list_instances
/**
* Returns an array of names of quizzes that use this question
*
* @param object $questionid
* @return array of strings
*/
function quiz_question_list_instances($questionid)
{
global $CFG;
// TODO: we should also consider other questions that are used by
// random questions in this quiz, but that is very hard.
$sql = "SELECT q.id, q.name\n FROM {$CFG->prefix}quiz q\n INNER JOIN\n {$CFG->prefix}quiz_question_instances qqi\n ON q.id = qqi.quiz\n WHERE qqi.question = '{$questionid}'";
if ($instances = get_records_sql_menu($sql)) {
return $instances;
}
return array();
}
开发者ID:e-rasvet,项目名称:reader,代码行数:17,代码来源:lib.php
注:本文中的get_records_sql_menu函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论