Index: branches/unlabeled/unlabeled-1.2.2/kernel/admin/include/toolbar/sendmail.php =================================================================== diff -u -r8062 -r8300 --- branches/unlabeled/unlabeled-1.2.2/kernel/admin/include/toolbar/sendmail.php (.../sendmail.php) (revision 8062) +++ branches/unlabeled/unlabeled-1.2.2/kernel/admin/include/toolbar/sendmail.php (.../sendmail.php) (revision 8300) @@ -7,42 +7,44 @@ $id_count=0; if (isset($_POST['idtype'])) { + $application =& kApplication::Instance(); + $db =& $application->GetADODBConnection(); + switch ($_POST['idtype']) { - case "user": - $recip_ids = $_POST["idlist"]; - $idlist = explode(",",$recip_ids); - $r = ''; - foreach($idlist as $id) - { - $u = $objUsers->GetItemByField("ResourceId",$id); - $r .= $u->Get("FirstName")." ".$u->Get("LastName"); - $r .="<".$u->Get("Email").">"; - $addr_list[] = $u->Get("Email"); - $reciplist[] = $r; - $r = ""; - } - $recip_ids = implode(",",$idlist); - break; - - case "group": - $recip_ids = $_POST["idlist"]; - $idlist = explode(",",$recip_ids); - foreach($idlist as $id) - { - $g = $objGroups->GetItem($id); - if(is_object($g)) - { - $reciplist[] .= "<".$g->Get("Name").">"; - $ulist = $g->GetUserList(); - foreach($ulist as $uid) - { - $u = $objUsers->GetItem($uid); - $addr_list[] = $u->Get("Email"); - } - } - } - $recip_ids = implode(",",$idlist); - break; + case "user": + $recip_ids = $_POST["idlist"]; + $idlist = explode(",",$recip_ids); + $r = ''; + foreach ($idlist as $id) { + $u = $objUsers->GetItemByField("ResourceId",$id); + $r .= $u->Get("FirstName")." ".$u->Get("LastName"); + $r .="<".$u->Get("Email").">"; + $addr_list[] = $u->Get("Email"); + $reciplist[] = $r; + $r = ""; + } + $recip_ids = implode(",",$idlist); + break; + + case "group": + $addr_list = Array (); + $recip_ids = $_POST['idlist']; + if ($recip_ids) { + $sql = 'SELECT Email + FROM '.TABLE_PREFIX.'UserGroup ug + LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON u.PortalUserId = ug.PortalUserId + WHERE ug.GroupId IN ('.$recip_ids.')'; + $addr_list = array_unique($db->GetCol($sql)); + } + + $idlist = explode(',', $recip_ids); + foreach ($idlist as $id) { + $g = $objGroups->GetItem($id); + if (is_object($g)) { + $reciplist[] .= "<".$g->Get("Name").">"; + } + } + break; } } print <<