case 'my': // only my activities $conditions[] = 'login = ?'; $params[] = $_SESSION['portal']['member_username']; break; case 'school': // other's in my school activities but not mine $conditions[] = 'login <> ?'; $params[] = $_SESSION['portal']['member_username']; $conditions[] = 'login IN ("' . implode('","', $school_members) . '")'; break; case 'world': $conditions[] = 'login NOT IN ("' . implode('","', $school_members) . '")'; break; } $conditions[] = 'ida.id NOT IN ("' . implode('","', portal_get_diy_ids_to_exclude()) . '")'; $activities = portal_get_diy_activities_from_db($conditions, $params); $display = ' <div id="activity-table-container"> <table border="0" cellspacing="0" cellpadding="0" id="activity-table"> <thead> <tr> <th>ID Number</th> <th>Activity Name</th> <th>Author</th> <th>Options</th> </tr> </thead> <tbody> '; for ($i = 0; $i < count($activities); $i++) {
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; }