turn groups back into numbers

This commit is contained in:
Mike Macgirvin 2010-07-13 02:00:53 -07:00
parent 7e16f8cdae
commit c6267a2cd2
4 changed files with 13 additions and 20 deletions

View file

@ -71,23 +71,21 @@ else {
} }
} }
// Returns an array of group names this contact is a member of. // Returns an array of group id's this contact is a member of.
// Since contact-id's are unique and each "belongs" to a given user uid, // This array will only contain group id's related to the uid of this
// this array will only contain group names related to the uid of this
// DFRN contact. They are *not* neccessarily unique across the entire site. // DFRN contact. They are *not* neccessarily unique across the entire site.
if(! function_exists('init_groups_visitor')) { if(! function_exists('init_groups_visitor')) {
function init_groups_visitor($contact_id) { function init_groups_visitor($contact_id) {
$groups = array(); $groups = array();
$r = q("SELECT `group_member`.`gid`, `group`.`name` $r = q("SELECT `gid` FROM `group_member`
FROM `group_member` LEFT JOIN `group` ON `group_member`.`gid` = `group`.`id` WHERE `contact-id` = %d ",
WHERE `group_member`.`contact-id` = %d ",
intval($contact_id) intval($contact_id)
); );
if(count($r)) { if(count($r)) {
foreach($r as $rr) foreach($r as $rr)
$groups[] = $rr['name']; $groups[] = $rr['gid'];
} }
return $groups; return $groups;
}} }}

View file

@ -1,12 +1,7 @@
<?php <?php
function sanitise_intacl(&$item) {
$item = '<' . intval(notags(trim($item))) . '>';
}
function sanitise_acl(&$item) { function sanitise_acl(&$item) {
$item = '<' . notags(trim($item)) . '>'; $item = '<' . intval(notags(trim($item))) . '>';
} }
function item_post(&$a) { function item_post(&$a) {
@ -35,7 +30,7 @@ function item_post(&$a) {
$str_contact_allow = ''; $str_contact_allow = '';
$contact_allow = $_POST['contact_allow']; $contact_allow = $_POST['contact_allow'];
if(is_array($contact_allow)) { if(is_array($contact_allow)) {
array_walk($contact_allow,'sanitise_intacl'); array_walk($contact_allow,'sanitise_acl');
$str_contact_allow = implode('',$contact_allow); $str_contact_allow = implode('',$contact_allow);
} }
@ -49,7 +44,7 @@ function item_post(&$a) {
$str_contact_deny = ''; $str_contact_deny = '';
$contact_deny = $_POST['contact_deny']; $contact_deny = $_POST['contact_deny'];
if(is_array($contact_deny)) { if(is_array($contact_deny)) {
array_walk($contact_deny,'sanitise_intacl'); array_walk($contact_deny,'sanitise_acl');
$str_contact_deny = implode('',$contact_deny); $str_contact_deny = implode('',$contact_deny);
} }

View file

@ -170,7 +170,7 @@ function profile_content(&$a) {
$gs = '<<>>'; // should be impossible to match $gs = '<<>>'; // should be impossible to match
if(count($groups)) { if(count($groups)) {
foreach($groups as $g) foreach($groups as $g)
$gs .= '|<' . dbesc($g) . '>'; $gs .= '|<' . intval($g) . '>';
} }
$sql_extra = sprintf( $sql_extra = sprintf(
" AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' ) " AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
@ -180,8 +180,8 @@ function profile_content(&$a) {
intval($_SESSION['visitor_id']), intval($_SESSION['visitor_id']),
intval($_SESSION['visitor_id']), intval($_SESSION['visitor_id']),
$gs, dbesc($gs),
$gs dbesc($gs)
); );
} }

View file

@ -13,12 +13,12 @@ function group_select($selname,$selclass,$preselected = false) {
if(count($r)) { if(count($r)) {
foreach($r as $rr) { foreach($r as $rr) {
if((is_array($preselected)) && in_array($rr['name'], $preselected)) if((is_array($preselected)) && in_array($rr['id'], $preselected))
$selected = " selected=\"selected\" "; $selected = " selected=\"selected\" ";
else else
$selected = ''; $selected = '';
$o .= "<option value=\"{$rr['name']}\" $selected >{$rr['name']}</option>\r\n"; $o .= "<option value=\"{$rr['id']}\" $selected >{$rr['name']}</option>\r\n";
} }
} }