array (pref name -> value), with user id 0 representing the defaults */ function getNotifyPrefs($members, $prefs = '') { global $smcFunc; // We want this as an array whether it is or not. $members = is_array($members) ? $members : (array) $members; if (!empty($prefs)) $prefs = is_array($prefs) ? $prefs : (array) $prefs; $result = array(); // We want to now load the default, which is stored with a member id of 0. $members[] = 0; $request = $smcFunc['db_query']('', ' SELECT id_member, alert_pref, alert_value FROM {db_prefix}user_alerts_prefs WHERE id_member IN ({array_int:members})' . (!empty($prefs) ? ' AND alert_pref IN ({array_string:prefs})' : ''), array( 'members' => $members, 'prefs' => $prefs, ) ); while ($row = $smcFunc['db_fetch_assoc']($request)) { $result[$row['id_member']][$row['alert_pref']] = $row['alert_value']; } // Let's not bother to reduplicate the default value for all the other values, // no point splurging on potentially a lot of memory unnecessarily. return $result; } ?>