#!/usr/bin/php -q array( 'name' => 'Support Engineer', 'own' => false, //Don't send twice 'board' => true, 'support' => true, 'ao' => false, 'oao' => false ), 'orgadmin=1' => array( 'name' => 'Organisation Assurer', 'own' => true, 'board' => true, 'support' => true, 'ao' => true, 'oao' => true ), 'board=1' => array( 'name' => 'Board Member', 'own' => false, 'board' => true, 'support' => true, 'ao' => true, 'oao' => false ), 'ttpadmin=1' => array( 'name' => 'Trusted Third Party Admin', 'own' => true, 'board' => true, 'support' => true, 'ao' => true, 'oao' => true ), 'ttpadmin=2' => array( 'name' => 'Trusted Third Party TOPUP Admin', 'own' => true, 'board' => true, 'support' => true, 'ao' => true, 'oao' => true ), 'tverify=1' => array( 'name' => 'Tverify Admin', 'own' => false, 'board' => true, 'support' => true, 'ao' => true, 'oao' => false ), 'locadmin=1' => array( 'name' => 'Location Admin', 'own' => false, 'board' => true, 'support' => true, 'ao' => false, 'oao' => false ), 'adadmin=1' => array( 'name' => 'submit status for Advertising Admin', 'own' => false, 'board' => true, 'support' => true, 'ao' => false, 'oao' => false ), 'adadmin=2' => array( 'name' => 'approve status for Advertising Admin', 'own' => false, 'board' => true, 'support' => true, 'ao' => false, 'oao' => false ), ); // Build up list of various admins $adminlist = array(); foreach ($flags as $flag => $flag_properties) { $flagname = explode('=', $flag, 2 ); $query = "select `fname`, `lname`, `email` from `users` where `$flagname[0]` = '$flagname[1]'"; if(! $res = mysql_query($query) ) { fwrite(STDERR, "MySQL query for flag $flag failed:\n". "\"$query\"\n". mysql_error() ); continue; } $adminlist[$flag] = array(); while ($row = mysql_fetch_assoc($res)) { $adminlist[$flag][] = $row; } // Send mail to admins of this group if 'own' is set if ($flag_properties['own']) { foreach ($adminlist[$flag] as $admin) { $message = << $flag_properties) { if ($flag_properties['support']) { $message .= "List of $flag_properties[name]s:\n\n"; foreach ($adminlist[$flag] as $colleague) { $message .= "$colleague[fname] $colleague[lname] $colleague[email]\n"; } $message .= "\n\n"; } } $message .= << array( 'description' => 'Assurance Officer', 'email' => $ASSURANCE_OFFICER), 'oao' => array( 'description' => 'Organisation Assurance Officer', 'email' => $ORGANISATION_ASSURANCE_OFFICER), 'board' => array( 'description' => 'Board Members', 'email' => $BOARD_PRIVATE) ) as $key => $values) { $message = << $flag_properties) { if ($flag_properties[$key]) { $message .= "List of $flag_properties[name]s:\n\n"; foreach ($adminlist[$flag] as $colleague) { $message .= "$colleague[fname] $colleague[lname] $colleague[email]\n"; } $message .= "\n\n"; } } $message .= <<