Ok, I got this select group thing working. Line numbers may be a little off due to the changes, but they should get you in the right area. The changes I made are below and the completed files are attached in the zip file. Backup your old includes.php and uddeim.php and replace them with the attached files to try this out. Any improvements or other suggestions are very welcome.
In uddeim.php on about line 1753 I changed the code to:
Code:
//changed by Michael Spredemann (scuabguy) for group select dropdown in system message send
if(!$sysgm_really) {
// send not confirmed. ask for confirmation
echo "<div id='uddeim-toplines'><p>";
echo _UDDEIM_SYSGM_PLEASECONFIRM;
echo "</p>\n</div>\n";
echo "<div id='uddeim-message'><table cellpadding=7 cellspacing=1 width=100%>";
if($sysgm_universe=="sysgm_toall") {
$universe=_UDDEIM_SYSGM_WILLSENDTOALL;
} elseif($sysgm_universe=="sysgm_toalladmins") {
$universe=_UDDEIM_SYSGM_WILLSENDTOALLADMINS;
} elseif($sysgm_universe=="sysgm_toalllogged") {
$universe=_UDDEIM_SYSGM_WILLSENDTOALLLOGGED;
} else {
$universe=$sysgm_universe;
}
if(!$universe) {
$mosmsg=_UDDEIM_UNEXPECTEDERROR_QUIT."No recipients selected";
$redirecturl='index.php?option=com_uddeim';
mosRedirect($redirecturl, $mosmsg);
}
// echo "\n\n\t<tr class='sectiontableentry1'>\n\t\t<td>".$universe."</td></tr>";
$udde_infoheader=$universe."<br />";
//end changed code by Michael Spredemann (scuabguy)
Around line 1831 in uddeim.php I added/changed the code to:
Code:
<?php
// acl groups select - by Michael Spredemann (scubaguy)
} else {
$aclsql = "SELECT group_id, name FROM #__core_acl_aro_groups WHERE group_id NOT IN (17,28,29)";
$database->setQuery($aclsql);
$groups=$database->loadObjectList();
foreach ($groups as $group) {
$groupid = $group->group_id;
$groupname = $group->name;
if($sysgm_universe==$groupid) { ?>
<input type=hidden name="sysgm_universe" value="<?php echo $groupid; ?>">
<?php
}
}
}
// end groups code
?>
Around line 1904 in uddeim.php I added/changed the code to:
Code:
// acl groups select - by Michael Spredemann (scubaguy)
} else {
$aclsql = "SELECT group_id, name FROM #__core_acl_aro_groups WHERE group_id NOT IN (17,28,29)";
$database->setQuery($aclsql);
$groups=$database->loadObjectList();
foreach ($groups as $group) {
$groupid = $group->group_id;
$groupname = $group->name;
if($sysgm_universe==$groupid) {
$sql="SELECT id FROM #__users WHERE gid = $groupid";
}
}
}
// end groups code
Around line 573 in includes.php I added/changed the code to:
Code:
// acl groups select - by Michael Spredemann (scubaguy)
echo "<select name='sysgm_universe' size='1'>";
echo "<option value='sysgm_toall'>"._UDDEIM_SEND_TOALL."</option>";
echo "<option value='sysgm_toalladmins'>"._UDDEIM_SEND_TOALLADMINS."</option>";
echo "<option value='sysgm_toalllogged'>"._UDDEIM_SEND_TOALLLOGGED."</option>";
$aclsql = "SELECT group_id, name FROM #__core_acl_aro_groups WHERE group_id NOT IN (17,28,29)";
$database->setQuery($aclsql);
$groups=$database->loadObjectList();
foreach ($groups as $group) {
$groupid = $group->group_id;
$groupname = $group->name;
echo "<option value='".$groupid."'>".$groupid." - ".$groupname."</option>";
}
echo "</select>";
// end groups code