function portal_get_activity_info_from_diy_id($diy_id) { // this function returns the information about an activity from its DIY ID $activity_info = array(); // first look for it in the activities table. $conditions = array(); $params = array(); $conditions[] = 'diy_identifier = ?'; $params[] = $diy_id; $results = portal_get_activities($conditions, $params); if (count($results) > 0) { $activity_info = $results[0]; } else { $conditions2 = array(); $params2 = array(); $conditions2[] = 'ida.id = ?'; $params2[] = $diy_id; $results2 = portal_get_diy_activities_from_db($conditions2, $params2); if (count($results2) > 0) { $activity_info = $results2[0]; } } if (count($activity_info) > 0) { $ai = portal_prepare_activity_list(array($activity_info)); $activity_info = $ai[0]; } return $activity_info; }
$school_id = $_SESSION['portal']['member_school']; $classes = portal_get_student_classes($_SESSION['portal']['member_id']); $class_id = $classes[0]; $class_info = portal_get_class_info($class_id); $page_title = $class_info['class_name']; $student_id = $_SESSION['portal']['member_id']; $usage = portal_get_diy_activity_usage_from_db($student_id); echo portal_generate_student_activity_list($student_id, $class_id, $usage); $teacher_info = portal_get_member_info($class_info['class_teacher']); $conditions = array(); $params = array(); //$conditions[] = 'login = ?'; //$params[] = $teacher_info['member_username']; $conditions[] = 'ida.id IN ("' . implode('","', $class_info['diy_activities']) . '")'; $options = array('no restrict'); $activities = portal_get_diy_activities_from_db($conditions, $params, $options); $list = ''; for ($i = 0; $i < count($activities); $i++) { $activity_options = ''; $activity_used = ''; if ($activities[$i]['diy_identifier'] != '') { $diy_id = $activities[$i]['diy_identifier']; $info = '<a href="#" onclick="toggle_block_element(\'activity-description-' . $activities[$i]['activity_id'] . '\'); return false;" title="View activity description">' . portal_icon('info') . '</a>'; $run = '<a href="/diy/run/' . $diy_id . '/" title="Run this activity">' . portal_icon('run') . '</a>'; $activity_options = ' ' . $info . ' ' . $run . ' '; if (in_array($diy_id, $usage)) { $activity_used = portal_icon('work'); }
function portal_get_prepared_diy_activities($member_id) { if ($GLOBALS['portal_config']['use_diy_activities'] == 'no') { return array(); } $member_info = portal_get_member_info($member_id); // get my students $query = 'SELECT member_id FROM portal_class_students WHERE class_id IN ("' . implode('","', $member_info['classes']['teacher']) . '")'; $params = array(); $results = mystery_select_query($query, $params, 'portal_dbh'); $my_students = mystery_convert_results_to_simple_array($results, 'member_id'); $query = 'SELECT member_username, member_id, member_school,member_source,school_district AS member_district FROM portal_members AS pm LEFT JOIN portal_schools AS ps ON pm.member_school=ps.school_id LEFT JOIN portal_districts AS pd ON ps.school_district=pd.district_id'; $params = array(); $results = mystery_select_query($query, $params, 'portal_dbh'); // prepare the member usernames to be an associative_array $total_members = count($results); $subject_keys = array(); for ($i = 0; $i < $total_members; $i++) { $this_username = $results[$i]['member_username']; $this_member_id = $results[$i]['member_id']; $this_school = $results[$i]['member_school']; $this_district = $results[$i]['member_district']; $this_source = $results[$i]['member_source']; if ($this_username == $member_info['member_username']) { $subject_keys[$this_username] = 'My Activities'; } elseif (in_array($this_member_id, $my_students)) { $subject_keys[$this_username] = 'My Student Activities'; } elseif ($this_school == $_SESSION['portal']['member_school']) { $subject_keys[$this_username] = 'My School Activities'; } elseif ($this_district == $_SESSION['portal']['member_district']) { $subject_keys[$this_username] = 'My District Activities'; } elseif ($this_source == $_SESSION['portal']['member_source'] && trim($this_source) != '') { $subject_keys[$this_username] = 'My Event Activities'; } else { $subject_keys[$this_username] = 'Other Activities'; } } $new_activities = array(); // don't show the pre-existing ids $conditions = array(); $conditions[] = 'ida.id NOT IN ("' . implode('","', portal_get_diy_ids_to_exclude()) . '")'; $activities = portal_get_diy_activities_from_db($conditions); //mystery_debug_query('rails_dbh'); $total_activities = count($activities); for ($i = 0; $i < $total_activities; $i++) { if (!isset($subject_keys[$activities[$i]['author']])) { $subject_keys[$activities[$i]['author']] = 'Other Activities'; } $activities[$i]['subject_name'] = $subject_keys[$activities[$i]['author']]; if (!$activities[$i]['public']) { $activities[$i]['activity_name'] .= ' (private)'; } } // now I need to re-sort the array $activities = portal_record_sort($activities, array('subject_name', 'unit_name', 'activity_name')); return $activities; }