</td> </tr> <tr bgcolor="#eeeeee"> <td><b><?php echo $_lang["mgrlog_itemname"]; ?> </b></td> <td align="right"> <select name="itemname" class="inputBox" style="width:240px"> <option value="0"><?php echo $_lang["mgrlog_anyall"]; ?> </option> <?php // get all itemname currently in logging $logs_names = record_sort(array_unique_multi($logs, 'itemname'), 'itemname'); foreach ($logs_names as $row) { $selectedtext = $row['itemname'] == $_REQUEST['itemname'] ? ' selected="selected"' : ''; echo "\t\t" . '<option value="' . $row['itemname'] . '"' . $selectedtext . '>' . $row['itemname'] . "</option>\n"; } ?> </select> </td> </tr> <tr bgcolor="#ffffff"> <td><b><?php echo $_lang["mgrlog_msg"]; ?> </b></td> <td align="right"> <input type="text" name="message" class="inputbox" style="width:240px" value="<?php
/** * This Function gets all the posts resources and links, posted recently in the course ordered by date. * @param $sqlin from get_in_or_equal used in "IN ('')" clause * @param $param from get_in_or_equal parameters * @return array */ function get_data_post_resource_link($sqlin, $param) { global $DB; // Parameters for post query $datapostparams = array(FACEBOOK_COURSE_MODULE_VISIBLE, 'forum'); // Merge with the params that the function brings $paramspost = array_merge($param, $datapostparams); // Query for the posts information $datapostsql = "SELECT fp.id AS postid, us.firstname AS firstname, us.lastname AS lastname, fp.subject AS subject,\n\t\t\t\t\tfp.modified AS modified, discussions.course AS course, discussions.id AS dis_id \n\t\t\t\t\tFROM {forum_posts} AS fp\n\t\t\t\t\tINNER JOIN {forum_discussions} AS discussions ON (fp.discussion=discussions.id)\n\t\t\t\t\tINNER JOIN {forum} AS forum ON (forum.id=discussions.forum)\n\t\t\t\t\tINNER JOIN {user} AS us ON (us.id=discussions.userid)\n\t\t\t\t\tINNER JOIN {course_modules} AS cm ON (cm.instance=forum.id)\n\t\t\t\t\tINNER JOIN {modules} AS m ON (cm.module = m.id)\n\t\t\t\t\tWHERE discussions.course {$sqlin} \n\t\t\t\t\tAND cm.visible = ?\n\t\t\t\t\tAND m.name IN (?)\n\t\t\t\t\tGROUP BY fp.id"; // Get the data from the above query $datapost = $DB->get_records_sql($datapostsql, $paramspost); // Parameters for resource query $dataresourcesparams = array('resource', FACEBOOK_COURSE_MODULE_VISIBLE); // Merge with the params that the function brings $paramsresource = array_merge($param, $dataresourcesparams); // Query for the resource information $dataresourcesql = "SELECT cm.id AS coursemoduleid, r.id AS resourceid, r.name AS resourcename, r.timemodified, \n\t\t\t \t\t r.course AS resourcecourse, cm.visible, cm.visibleold\n\t\t\t FROM {resource} AS r \n INNER JOIN {course_modules} AS cm ON (cm.instance = r.id)\n INNER JOIN {modules} AS m ON (cm.module = m.id)\n\t\t\t \t\t WHERE r.course {$sqlin} \n\t\t\t \t\t AND m.name IN (?) \n\t\t\t \t\t AND cm.visible = ?\n GROUP BY cm.id"; // Get the data from the above query $dataresource = $DB->get_records_sql($dataresourcesql, $paramsresource); // Parameters for the link query $datalinkparams = array('url', FACEBOOK_COURSE_MODULE_VISIBLE); // Merge with the params that the function brings $paramslink = array_merge($param, $datalinkparams); // Query for the link information $datalinksql = "SELECT url.id AS id, url.name AS urlname, url.externalurl AS externalurl, url.timemodified AS timemodified,\n\t url.course AS urlcourse, cm.visible AS visible, cm.visibleold AS visibleold\n\t\t FROM {url} AS url\n INNER JOIN {course_modules} AS cm ON (cm.instance = url.id)\n INNER JOIN {modules} AS m ON (cm.module = m.id)\t\n WHERE url.course {$sqlin} \n \t AND m.name IN (?)\n\t \t\t AND cm.visible = ?\n GROUP BY url.id"; // Get the data from the above query $datalink = $DB->get_records_sql($datalinksql, $paramslink); $datawithpostresourcesandlink = array(); // Foreach used to fill the array with the posts information foreach ($datapost as $post) { $posturl = new moodle_url('/mod/forum/discuss.php', array('d' => $post->dis_id)); $datawithpostresourcesandlink[] = array('image' => FACEBOOK_IMAGE_POST, 'link' => $posturl, 'title' => $post->subject, 'from' => $post->firstname . ' ' . $post->lastname, 'date' => $post->modified, 'course' => $post->course); } // Foreach used to fill the array with the resource information foreach ($dataresource as $resource) { $date = date("d/m H:i", $resource->timemodified); $resourceurl = new moodle_url('/mod/resource/view.php', array('id' => $resource->coursemoduleid)); if ($resource->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $resource->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $datawithpostresourcesandlink[] = array('image' => FACEBOOK_IMAGE_RESOURCE, 'link' => $resourceurl, 'title' => $resource->resourcename, 'from' => '', 'date' => $resource->timemodified, 'course' => $resource->resourcecourse); } } // Foreach used to fill the array with the link information foreach ($datalink as $link) { $date = date("d/m H:i", $link->timemodified); if ($link->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $link->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $datawithpostresourcesandlink[] = array('image' => FACEBOOK_IMAGE_LINK, 'link' => $link->externalurl, 'title' => $link->urlname, 'from' => '', 'date' => $link->timemodified, 'course' => $link->urlcourse); } } // Returns the final array ordered by date to index.php return record_sort($datawithpostresourcesandlink, 'date', 'true'); }
} $reverse ? krsort($hash) : ksort($hash); $records = array(); foreach ($hash as $record) { $records[] = $record; } return $records; } $score = array(); $i = 1; $user_query = mysql_query("SELECT distinct(`username`) FROM `" . $db . "`.`profile`"); while ($row = mysql_fetch_array($user_query)) { $stockvalue = 0; $username = $row['username']; include "sort2.php"; $query_buy = mysql_query("SELECT sum(`rate`*`amount`) FROM `" . $db . "`.`buy` where username='******'"); $query_sell = mysql_query("SELECT sum(`rate`*`amount`) FROM `" . $db . "`.`sell` where `username`='" . $username . "' AND `success`='1'"); $buy = mysql_fetch_row($query_buy); $sell = mysql_fetch_row($query_sell); $inhand = $initial_balance - $buy[0] + $sell[0] + $stockvalue; if ($username != NULL && $username != '' && $inhand > 0) { $score[$i]['username'] = $username; $score[$i]['value'] = $inhand; } $i++; } $scores = record_sort($score, "value"); //echo "<pre>"; //print_r ($scores); //echo "</pre>"; //return C;
/** * Change all instances of NEWS in the text * * @uses $CFG,$COURSE; * @param int $coursid The id of the course being tested * @param string $text The text to filter * @return string The text filtered */ function news_filter($courseid, $text) { global $CFG, $COURSE; $CFG->currenttextiscacheable = false; // Do a quick check to avoid unnecessary work // - Is there instance ? // - Are we on the first page ? if ($COURSE->id == 1 || strpos($text, '[[forum(') === false) { return $text; } // There is job to do.... so let's do it ! $pattern = '\\[\\[\\forum\\(([0-9]+),([0-9]+),([0-9]+)\\)\\]\\]'; $moduleid = get_record('modules', 'name', 'forum'); // If there is an instance again... while (ereg($pattern, $text, $regs)) { // For each instance if ($regs[3] > 0) { $cmid = $regs[1]; $groupid = $regs[2]; $nbpost = $regs[3]; $news = ''; if ($groupid > 0) { $group = $groupid; } else { $group = '-1'; } $nbcaract = 100; // Get the forum ID $data = array(); if ($data = get_record('course_modules', 'id', $cmid, 'module', $moduleid->id)) { $forumid = $data->instance; // Get the discussions $discussions = array(); $i = 0; $time = time(); // Get last "x" discussion with timestart and store them in $data array $query_with = "\n\t\t\t\t\t SELECT\n\t\t\t\t\t\t*\n\t\t\t\t\t FROM\n\t\t\t\t\t\t{$CFG->prefix}forum_discussions\n\t\t\t\t\t WHERE\n\t\t\t\t\t \tforum = {$forumid} AND\n\t\t\t\t\t\ttimestart <> 0 AND\n\t\t\t\t\t\tgroupid = {$group} AND\n\t\t\t\t\t\t(timeend > {$time} OR\n\t\t\t\t\t\ttimeend = 0)\n\t\t\t\t\t ORDER BY\n\t\t\t\t\t\ttimestart DESC\n\t\t\t\t\t\tLIMIT {$nbpost}\n\t\t\t\t"; if ($datas = get_records_sql($query_with)) { foreach ($datas as $data) { $discussions[$i]["id"] = $data->id; $discussions[$i]["userid"] = $data->userid; $discussions[$i]["time"] = $data->timestart; $discussions[$i]["name"] = $data->name; $i++; } } // Get last "x" discussion without timestart and store them in $data array $query_without = "\n\t\t\t\t\t SELECT\n\t\t\t\t\t\t*\n\t\t\t\t\t FROM\n\t\t\t\t\t\t{$CFG->prefix}forum_discussions\n\t\t\t\t\t WHERE\n\t\t\t\t\t \tforum = {$forumid} AND\n\t\t\t\t\t\ttimestart = 0 AND\n\t\t\t\t\t\tgroupid = {$group} AND\n\t\t\t\t\t\t(timeend > {$time} OR\n\t\t\t\t\t\ttimeend = 0)\n\t\t\t\t\t ORDER BY\n\t\t\t\t\t\ttimemodified DESC\n\t\t\t\t\t\tLIMIT {$nbpost}\n\t\t\t\t"; if ($datas = get_records_sql($query_without)) { foreach ($datas as $data) { $discussions[$i]["id"] = $data->id; $discussions[$i]["userid"] = $data->userid; $discussions[$i]["time"] = $data->timemodified; $discussions[$i]["name"] = $data->name; $i++; } } // Organize $data array // - sort on $discussions["time"] DESC $discussions = record_sort($discussions, 'time', true); // - select only post nb, not more $discussions = array_slice($discussions, 0, $nbpost); if ($discussions) { // There is posts, let's print them ! $news .= '<div class="newsfilter"><ul>'; for ($i = 0; $i < count($discussions); $i++) { $news .= '<li>'; if ($user = get_record('user', 'id', $discussions[$i]["userid"])) { $news .= print_user_picture($user->id, $COURSE->id, $user->picture, '16', true, true, '', false); } // Make the full name if ($CFG->fullnamedisplay == 'firstname lastname') { $fullname = $user->firstname . ' ' . $user->lastname; } else { if ($CFG->fullnamedisplay == 'lastname firstname') { $fullname = $user->lastname . ' ' . $user->firstname; } else { if ($CFG->fullnamedisplay == 'firstname') { $fullname = $user->firstname; } } } // Print the link $news .= '<a href="' . $CFG->wwwroot . '/mod/forum/discuss.php?d=' . $discussions[$i]["id"] . '" title="' . userdate($discussions[$i]["time"], '%d/%m/%y ') . '- ' . $fullname . '" >'; $news .= substr($discussions[$i]["name"], 0, $nbcaract); if (strlen($discussions[$i]["name"]) > $nbcaract) { $news .= '...'; } $news .= '</a></li>'; } $news .= '</ul></div>'; } } // Change chain in text $text = str_replace('[[forum(' . $cmid . ',' . $groupid . ',' . $nbpost . ')]]', $news, $text); } else { break; } } return $text; }
/** * This Function gets all the posts resources and links, posted recently in the course ordered by date. * @param $sqlin from get_in_or_equal used in "IN ('')" clause * @param $param from get_in_or_equal parameters * @return array */ function get_data_post_resource_link($sqlin, $param, $moodleid) { global $DB, $USER; // Parameters for post query $datapostparams = array(FACEBOOK_COURSE_MODULE_VISIBLE); // Merge with the params that the function brings $paramspost = array_merge($param, $datapostparams); // Query for the posts information $datapostsql = "SELECT fp.id AS postid, us.firstname AS firstname, us.lastname AS lastname, fp.subject AS subject,\n\t\t\tfp.modified AS modified, discussions.course AS course, discussions.id AS dis_id \n\t\t\tFROM {forum_posts} AS fp\n\t\t\tINNER JOIN {forum_discussions} AS discussions ON (fp.discussion=discussions.id)\n\t\t\tINNER JOIN {forum} AS forum ON (forum.id=discussions.forum)\n\t\t\tINNER JOIN {user} AS us ON (us.id=discussions.userid)\n\t\t\tINNER JOIN {course_modules} AS cm ON (cm.instance=forum.id)\n\t\t\tWHERE discussions.course {$sqlin} AND cm.visible = ?\n\t\t\tGROUP BY fp.id"; // Get the data from the above query $datapost = $DB->get_records_sql($datapostsql, $paramspost); // Parameters for resource query $dataresourcesparams = array('resource', FACEBOOK_COURSE_MODULE_VISIBLE); // Merge with the params that the function brings $paramsresource = array_merge($param, $dataresourcesparams); // Query for the resource information $dataresourcesql = "SELECT cm.id AS coursemoduleid, r.id AS resourceid, r.name AS resourcename, r.timemodified, \n\t\t\t r.course AS resourcecourse, cm.visible, cm.visibleold, CONCAT(u.firstname,' ',u.lastname) as user\n\t\t\t FROM {resource} AS r \n INNER JOIN {course_modules} AS cm ON (cm.instance = r.id)\n INNER JOIN {modules} AS m ON (cm.module = m.id)\n LEFT JOIN {logstore_standard_log} AS log ON (log.objectid = cm.id AND log.action = 'created' AND log.target = 'course_module')\n INNER JOIN {user} AS u ON (u.id = log.userid)\n\t\t\t WHERE r.course {$sqlin} \n\t\t\t AND m.name IN (?) \n\t\t\t AND cm.visible = ?\n GROUP BY cm.id"; // Get the data from the above query $dataresource = $DB->get_records_sql($dataresourcesql, $paramsresource); // Parameters for the link query $datalinkparams = array('url', FACEBOOK_COURSE_MODULE_VISIBLE); // Merge with the params that the function brings $paramslink = array_merge($param, $datalinkparams); //query for the link information $datalinksql = "SELECT url.id AS id, url.name AS urlname, url.externalurl AS externalurl, url.timemodified AS timemodified,\n\t url.course AS urlcourse, cm.visible AS visible, cm.visibleold AS visibleold, CONCAT(u.firstname,' ',u.lastname) as user\n\t\t FROM {url} AS url\n INNER JOIN {course_modules} AS cm ON (cm.instance = url.id)\n INNER JOIN {modules} AS m ON (cm.module = m.id)\n LEFT JOIN {logstore_standard_log} AS log ON (log.objectid = cm.id AND log.action = 'created' AND log.target = 'course_module')\n INNER JOIN {user} AS u ON (u.id = log.userid)\n\t\t WHERE url.course {$sqlin} \n\t\t AND m.name IN (?)\n\t\t AND cm.visible = ?\n GROUP BY url.id"; // Get the data from the above query $datalink = $DB->get_records_sql($datalinksql, $paramslink); // Query for getting eMarkings by course $dataemarkingsql = "SELECT CONCAT(s.id,e.id,s.grade) AS ids,\n\t\t\ts.id AS id, \n\t\t\te.id AS emarkingid, \n\t\t\te.course AS course,\n\t\t\te.name AS testname,\n\t\t\td.grade AS grade,\n\t\t\td.status AS status,\n\t\t\td.timemodified AS date,\n\t\t\ts.teacher AS teacher,\n\t\t\tcm.id as moduleid,\n\t\t\tCONCAT(u.firstname,' ',u.lastname) AS user\n\t\t\tFROM {emarking_draft} AS d JOIN {emarking} AS e ON (e.id = d.emarkingid AND e.course {$sqlin} AND e.type in (1,5,0))\n\t\t\tJOIN {emarking_submission} AS s ON (d.submissionid = s.id AND d.status IN (20,30,35,40) AND s.student = ?)\n\t\t\tJOIN {user} AS u ON (u.id = s.student)\n\t\t\tJOIN {course_modules} AS cm ON (cm.instance = e.id AND cm.course {$sqlin})\n\t\t\tJOIN {modules} AS m ON (cm.module = m.id AND m.name = 'emarking')"; //$emarkingparams = $param; $emarkingparams = array_merge($param, array($moodleid), $param); // Get the data from the query $dataemarking = $DB->get_records_sql($dataemarkingsql, $emarkingparams); /*$dataassignmentsql = "SELECT CONCAT(a.id,a.duedate) AS ids, a.id, a.name, a.duedate AS due, a.course, a.intro, a.allowsubmissionsfromdate AS date, asub.id AS submissionid, asub.timemodified AS submissiontime, asub.status, ag.grade, cm.id AS moduleid FROM {assign} AS a LEFT JOIN {assign_submission} AS asub ON (a.id = asub.assignment AND asub.userid = ?) JOIN {course_modules} AS cm ON (a.course = cm.course AND a.course $sqlin AND cm.visible = ?) JOIN {modules} AS m ON (m.id = cm.module AND m.visible = ? AND m.name = 'assign') LEFT JOIN {assign_grades} AS ag ON (a.id = ag.assignment) INNER JOIN {role_assignments} AS ra ON (ra.userid = ?) INNER JOIN {context} AS ct ON (ct.id = ra.contextid) INNER JOIN {course} AS c ON (c.id = ct.instanceid AND c.id = a.id) INNER JOIN {role} AS r ON (r.id = ra.roleid)";*/ /* $userid = array($moodleid); $dataassignmentsql = "SELECT * FROM mdl_assign AS a INNER JOIN mdl_assign_submission AS asub ON (a.id = asub.assignment AND asub.userid = ?) INNER JOIN mdl_course_modules AS cm ON (a.course = cm.course AND a.course $sqlin AND cm.visible = ?) JOIN {modules} AS m ON (m.id = cm.module AND m.visible = ? AND m.name = 'assign') GROUP BY a.id"; $count = $DB->count_records_sql($dataassignmentsql,array_merge($userid,$param,array(1,1))); echo "<h3>$count</h3>"; */ $sqlparams = array(FACEBOOK_COURSE_MODULE_VISIBLE, FACEBOOK_COURSE_MODULE_VISIBLE); //$assignparams = array_merge($userid,$param,$sqlparams,$userid); //$dataassign = $DB->get_records_sql($dataassignmentsql, $assignparams); $totaldata = array(); // Foreach used to fill the array with the posts information foreach ($datapost as $post) { $posturl = new moodle_url('/mod/forum/discuss.php', array('d' => $post->dis_id)); $totaldata[] = array('image' => FACEBOOK_IMAGE_POST, 'discussion' => $post->dis_id, 'link' => $posturl, 'title' => $post->subject, 'from' => $post->firstname . ' ' . $post->lastname, 'date' => $post->modified, 'course' => $post->course); } // Foreach used to fill the array with the resource information foreach ($dataresource as $resource) { $date = date("d/m H:i", $resource->timemodified); $resourceurl = new moodle_url('/mod/resource/view.php', array('id' => $resource->coursemoduleid)); if ($resource->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $resource->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $totaldata[] = array('image' => FACEBOOK_IMAGE_RESOURCE, 'link' => $resourceurl, 'title' => $resource->resourcename, 'from' => $resource->user, 'date' => $resource->timemodified, 'course' => $resource->resourcecourse); } } // Foreach used to fill the array with the link information foreach ($datalink as $link) { $date = date("d/m H:i", $link->timemodified); if ($link->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $link->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $totaldata[] = array('image' => FACEBOOK_IMAGE_LINK, 'link' => $link->externalurl, 'title' => $link->urlname, 'from' => $link->user, 'date' => $link->timemodified, 'course' => $link->urlcourse); } } foreach ($dataemarking as $emarking) { $emarkingurl = new moodle_url('/mod/emarking/view.php', array('id' => $emarking->moduleid)); $totaldata[] = array('image' => FACEBOOK_IMAGE_EMARKING, 'link' => $emarkingurl, 'title' => $emarking->testname, 'from' => $emarking->user, 'date' => $emarking->date, 'course' => $emarking->course, 'id' => $emarking->id, 'grade' => $emarking->grade, 'status' => $emarking->status, 'teacherid' => $emarking->teacher); } /* foreach($dataassign as $assign){ $assignurl = new moodle_url('/mod/assign/view.php', array( 'id'=>$assign->moduleid )); $totaldata[] = array( 'image'=>FACEBOOK_IMAGE_ASSIGN, 'link'=>$assignurl, 'title'=>$assign->name, 'intro'=>$assign->intro, 'date'=>$assign->due, 'due'=>$assign->due, 'course'=>$assign->course, 'status'=>$assign->status, 'grade'=>$assign->grade, 'id'=>$assign->id ); } */ // Returns the final array ordered by date to index.php return record_sort($totaldata, 'date', 'true'); }
/** * This Function gets all the posts resources and links, posted recently in the course ordered by date. * @param $sqlin from get_in_or_equal used in "IN ('')" clause * @param $param from get_in_or_equal parameters * @return array */ function get_course_data($moodleid, $courseid) { global $DB, $CFG; // Parameters for post query $paramspost = array($courseid, FACEBOOK_COURSE_MODULE_VISIBLE); // Query for the posts information $datapostsql = "SELECT fp.id AS postid, us.firstname AS firstname, us.lastname AS lastname, fp.subject AS subject,\n\t\t\tfp.modified AS modified, discussions.course AS course, discussions.id AS dis_id, cm.id AS moduleid\n\t\t\tFROM {forum_posts} AS fp\n\t\t\tINNER JOIN {forum_discussions} AS discussions ON (fp.discussion = discussions.id AND discussions.course = ?)\n\t\t\tINNER JOIN {forum} AS forum ON (forum.id = discussions.forum)\n\t\t\tINNER JOIN {user} AS us ON (us.id = fp.userid)\n\t\t\tINNER JOIN {course_modules} AS cm ON (cm.instance = forum.id)\n\t\t\tWHERE cm.visible = ? \n\t\t\tGROUP BY fp.id"; // Get the data from the above query $datapost = $DB->get_records_sql($datapostsql, $paramspost); // Parameters for resource query $paramsresource = array($courseid, FACEBOOK_COURSE_MODULE_VISIBLE, 'resource'); // Query for the resource information $dataresourcesql = "SELECT cm.id AS coursemoduleid, r.id AS resourceid, r.name AS resourcename, r.timemodified, \n\t\t\t r.course AS resourcecourse, cm.visible, cm.visibleold\n\t\t\t FROM {resource} AS r \n INNER JOIN {course_modules} AS cm ON (cm.instance = r.id AND cm.course = ? AND cm.visible = ?)\n INNER JOIN {modules} AS m ON (cm.module = m.id AND m.name = ?)\n GROUP BY cm.id"; // Get the data from the above query $dataresource = $DB->get_records_sql($dataresourcesql, $paramsresource); // Parameters for the link query $paramslink = array($courseid, FACEBOOK_COURSE_MODULE_VISIBLE, 'url'); //query for the link information $datalinksql = "SELECT url.id AS id, url.name AS urlname, url.externalurl AS externalurl, url.timemodified AS timemodified,\n\t url.course AS urlcourse, cm.visible AS visible, cm.visibleold AS visibleold\n\t\t FROM {url} AS url\n INNER JOIN {course_modules} AS cm ON (cm.instance = url.id AND cm.course = ? AND cm.visible = ?)\n INNER JOIN {modules} AS m ON (cm.module = m.id AND m.name = ?)\n GROUP BY url.id"; // Get the data from the above query $datalink = $DB->get_records_sql($datalinksql, $paramslink); // Query for getting eMarkings by course $dataemarkingsql = "SELECT CONCAT(s.id,e.id,s.grade) AS ids,\n\t\t\ts.id AS id, \n\t\t\te.id AS emarkingid, \n\t\t\te.course AS course,\n\t\t\te.name AS testname,\n\t\t\td.grade AS grade,\n\t\t\td.status AS status,\n\t\t\td.timemodified AS date,\n\t\t\ts.teacher AS teacher,\n\t\t\tcm.id as moduleid,\n\t\t\tCONCAT(u.firstname,' ',u.lastname) AS user\n\t\t\tFROM {emarking_draft} AS d JOIN {emarking} AS e ON (e.id = d.emarkingid AND e.type in (1,5,0))\n\t\t\tINNER JOIN {emarking_submission} AS s ON (d.submissionid = s.id AND d.status IN (20,30,35,40) AND s.student = ?)\n\t\t\tINNER JOIN {user} AS u ON (u.id = s.student)\n\t\t\tINNER JOIN {course_modules} AS cm ON (cm.instance = e.id AND cm.course = ?)\n\t\t\tINNER JOIN {modules} AS m ON (cm.module = m.id AND m.name = 'emarking')"; //$emarkingparams = $param; $paramsemarking = array($moodleid, $courseid); if ($CFG->fbk_emarking) { $dataemarking = $DB->get_records_sql($dataemarkingsql, $paramsemarking); } $dataassignmentsql = "SELECT a.id AS id,\n\t\t\ts.status AS status,\n\t\t\ta.timemodified AS date,\n\t\t\ta.duedate AS duedate,\n\t\t\ts.timemodified AS lastmodified,\n\t\t\ta.name AS assignmentname,\n\t\t\tcm.id AS moduleid\n\t\t\tFROM {assign} AS a\n\t\t\tINNER JOIN {course} AS c ON (a.course = c.id AND c.id = ?)\n\t\t\tINNER JOIN {enrol} AS e ON (c.id = e.courseid)\n\t\t\tINNER JOIN {user_enrolments} AS ue ON (e.id = ue.enrolid AND ue.userid = ?)\n\t\t\tINNER JOIN {course_modules} AS cm ON (c.id = cm.course AND cm.module = ? AND cm.visible = ?)\n\t\t\tINNER JOIN {assign_submission} AS s ON (a.id = s.assignment)\n\t\t\tGROUP BY a.id"; $paramsassignment = array($courseid, $moodleid, MODULE_ASSIGN, FACEBOOK_COURSE_MODULE_VISIBLE); $dataassign = $DB->get_records_sql($dataassignmentsql, $paramsassignment); //$assignparams = array_merge($userid,$param,$sqlparams,$userid); //$dataassign = $DB->get_records_sql($dataassignmentsql, $assignparams); $totaldata = array(); // Foreach used to fill the array with the posts information foreach ($datapost as $post) { $posturl = new moodle_url('/mod/forum/discuss.php', array('d' => $post->dis_id)); $totaldata[] = array('image' => FACEBOOK_IMAGE_POST, 'discussion' => $post->dis_id, 'link' => $posturl, 'title' => $post->subject, 'from' => $post->firstname . ' ' . $post->lastname, 'date' => $post->modified, 'course' => $post->course, 'moduleid' => $post->moduleid); } // Foreach used to fill the array with the resource information foreach ($dataresource as $resource) { $date = date("d/m H:i", $resource->timemodified); $resourceurl = new moodle_url('/mod/resource/view.php', array('id' => $resource->coursemoduleid)); if ($resource->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $resource->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $totaldata[] = array('image' => FACEBOOK_IMAGE_RESOURCE, 'link' => $resourceurl, 'title' => $resource->resourcename, 'from' => '', 'date' => $resource->timemodified, 'course' => $resource->resourcecourse); } } // Foreach used to fill the array with the link information foreach ($datalink as $link) { $date = date("d/m H:i", $link->timemodified); if ($link->visible == FACEBOOK_COURSE_MODULE_VISIBLE && $link->visibleold == FACEBOOK_COURSE_MODULE_VISIBLE) { $totaldata[] = array('image' => FACEBOOK_IMAGE_LINK, 'link' => $link->externalurl, 'title' => $link->urlname, 'from' => '', 'date' => $link->timemodified, 'course' => $link->urlcourse); } } if ($CFG->fbk_emarking) { foreach ($dataemarking as $emarking) { $emarkingurl = new moodle_url('/mod/emarking/view.php', array('id' => $emarking->moduleid)); $totaldata[] = array('image' => FACEBOOK_IMAGE_EMARKING, 'link' => $emarkingurl, 'title' => $emarking->testname, 'from' => $emarking->user, 'date' => $emarking->date, 'course' => $emarking->course, 'id' => $emarking->id, 'grade' => $emarking->grade, 'status' => $emarking->status, 'teacherid' => $emarking->teacher); } } foreach ($dataassign as $assign) { $assignurl = new moodle_url('/mod/assign/view.php', array('id' => $assign->moduleid)); $duedate = date("d/m H:i", $assign->duedate); $date = date("d/m H:i", $assign->lastmodified); if ($assign->status == 'submitted') { $status = get_string('submitted', 'local_facebook'); } else { $status = get_string('notsubmitted', 'local_facebook'); } if ($DB->record_exists('assign_grades', array('assignment' => $assign->id, 'userid' => $moodleid))) { $totaldata[] = array('id' => $assign->id, 'image' => FACEBOOK_IMAGE_ASSIGN, 'link' => $assignurl, 'title' => $assign->assignmentname, 'date' => $assign->date, 'due' => $duedate, 'from' => '', 'modified' => $date, 'status' => $status, 'grade' => get_string('graded', 'local_facebook')); } else { $totaldata[] = array('id' => $assign->id, 'image' => FACEBOOK_IMAGE_ASSIGN, 'link' => $assignurl, 'title' => $assign->assignmentname, 'date' => $assign->date, 'due' => $duedate, 'from' => '', 'modified' => $date, 'status' => $status, 'grade' => get_string('notgraded', 'local_facebook')); } } // Returns the final array ordered by date to index.php return record_sort($totaldata, 'date', 'true'); }