Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mahara
mahara
Commits
09b228c6
Commit
09b228c6
authored
Jun 18, 2008
by
Nigel McNie
Committed by
Nigel McNie
Jun 18, 2008
Browse files
Make all the dropdowns on "My Groups" work again.
May need more testing with more data, but they don't cause errors any more.
parent
64c97603
Changes
1
Hide whitespace changes
Inline
Side-by-side
htdocs/group/mygroups.php
View file @
09b228c6
...
...
@@ -39,56 +39,60 @@ $offset = param_integer('offset', 'all');
$groupsperpage
=
20
;
$offset
=
(
int
)(
$offset
/
$groupsperpage
)
*
$groupsperpage
;
// casting is only needed for invite, request and owner and only in postgres
// Strangely, casting is only needed for invite, request and admin and only in
// postgres
if
(
is_mysql
())
{
$invitesql
=
"'invite'"
;
$invitesql
=
"'invite'"
;
$requestsql
=
"'request'"
;
$
owner
sql
=
"'
owner
'"
;
$
admin
sql
=
"'
admin
'"
;
}
else
{
$invitesql
=
"CAST('invite' AS TEXT)"
;
$invitesql
=
"CAST('invite' AS TEXT)"
;
$requestsql
=
"CAST('request' AS TEXT)"
;
$
owner
sql
=
"CAST('
owner
' AS TEXT)"
;
$
admin
sql
=
"CAST('
admin
' AS TEXT)"
;
}
// different filters join on the different kinds of association
if
(
$filter
==
'owner'
)
{
$sql
=
'
// Different filters join on the different kinds of association
if
(
$filter
==
'admin'
)
{
$sql
=
"
INNER JOIN (
SELECT g.id,
'
.
$ownersql
.
' AS
type
SELECT g.id,
$adminsql
AS membership
type
FROM
{
group
}
g
WHERE g.owner = ?
) t ON t.id = g.id'
;
INNER JOIN
{
group_member
}
gm ON (gm.group = g.id AND gm.member = ?)
INNER JOIN
{
group_role_instance
}
gri ON (gri.group = g.id AND gri.roletype = 'admin' AND gri.id = gm.roleinstance)
) t ON t.id = g.id"
;
$values
=
array
(
$USER
->
get
(
'id'
));
}
else
if
(
$filter
==
'member'
)
{
$sql
=
'
$sql
=
"
INNER JOIN (
SELECT g.id,
\
'owner
\
' AS type
SELECT g.id, 'owner' AS
membership
type
FROM
{
group
}
g
WHERE g.owner = ?
UNION SELECT g.id, \'member\' AS type
INNER JOIN
{
group_member
}
gm ON (gm.group = g.id AND gm.member = ?)
INNER JOIN
{
group_role_instance
}
gri ON (gri.group = g.id AND gri.roletype = 'admin' AND gri.id = gm.roleinstance)
UNION SELECT g.id, 'member' AS type
FROM
{
group
}
g
INNER JOIN {group_member} gm ON (g
.id = g
m.group AND gm.member = ?)
WHERE g.owner != gm.member
) t ON t.id = g.id
'
;
INNER JOIN
{
group_member
}
gm ON (gm.group
= g.id
AND gm.member = ?)
INNER JOIN
{
group_role_instance
}
gri ON (gri.group = g.id AND gri.roletype != 'admin' AND gri.id = gm.roleinstance)
) t ON t.id = g.id
"
;
$values
=
array
(
$USER
->
get
(
'id'
),
$USER
->
get
(
'id'
));
}
else
if
(
$filter
==
'invite'
)
{
$sql
=
'
$sql
=
"
INNER JOIN (
SELECT g.id,
'
.
$invitesql
.
' AS
type
SELECT g.id,
$invitesql
AS membership
type
FROM
{
group
}
g
INNER JOIN
{
group_member_invite
}
gmi ON (gmi.group = g.id AND gmi.member = ?)
) t ON t.id = g.id
'
;
) t ON t.id = g.id
"
;
$values
=
array
(
$USER
->
get
(
'id'
));
}
else
if
(
$filter
==
'request'
)
{
$sql
=
'
$sql
=
"
INNER JOIN (
SELECT g.id,
'
.
$requestsql
.
' AS
type
SELECT g.id,
$requestsql
AS membership
type
FROM
{
group
}
g
INNER JOIN
{
group_member_request
}
gmr ON (gmr.group = g.id AND gmr.member = ?)
) t ON t.id = g.id
'
;
) t ON t.id = g.id
"
;
$values
=
array
(
$USER
->
get
(
'id'
));
}
else
{
// all or some other text
...
...
@@ -116,17 +120,17 @@ else { // all or some other text
}
$form
=
pieform
(
array
(
'name'
=>
'filter'
,
'name'
=>
'filter'
,
'method'
=>
'post'
,
'renderer'
=>
'oneline'
,
'elements'
=>
array
(
'options'
=>
array
(
'type'
=>
'select'
,
'options'
=>
array
(
'all'
=>
get_string
(
'allmygroups'
,
'group'
),
'
owner'
=>
get_string
(
'groupsiown'
,
'group'
),
'member'
=>
get_string
(
'groupsimin'
,
'group'
),
'invite'
=>
get_string
(
'groupsiminvitedto'
,
'group'
),
'all'
=>
get_string
(
'allmygroups'
,
'group'
),
'
admin'
=>
get_string
(
'groupsiown'
,
'group'
),
'member'
=>
get_string
(
'groupsimin'
,
'group'
),
'invite'
=>
get_string
(
'groupsiminvitedto'
,
'group'
),
'request'
=>
get_string
(
'groupsiwanttojoin'
,
'group'
)
),
'defaultvalue'
=>
$filter
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment