I recently created a view to show all the nodes that exist in a user's organic groups. I originally created the same view in Drupal 5 by adding the filter "OG: Post in User Subbed Groups" is equal to "Currently Logged In User". Unfortunately, I could not find the equivalent filter in Drupal 6 Views, so I decided to use arguments. Argument handling code is structured a differently in Drupal 6:
1) add a new argument
2) for "Action to take if argument is not present" choose "Provide default argument"
3) for "Default argument type" choose "PHP Code"
4) for "PHP argument code" I entered:
return MYMODULE_views_group_nids();It's a personal preference of mine to NOT insert code into my database, so I added the previously called function into a module. IMHO, code belongs in subversion so it can be versioned properly, not in a database. Here's my function definition:
<?php
function MYMODULE_views_group_nids() {
// create SQL statement to look up all group nodes of the current user
$sql = "select nid from og_uid where uid = '%d' and is_active='1'";
// query database
$resource = db_query($sql, db_escape_string($GLOBALS['user']->uid));
// fetch results from resource
$results = array();
while ($row = db_fetch_array($resource)) $results[] = $row['nid'];
// rollup results, comma separated
$results = implode(',', $results);
// return result
return $results;
}
?>










There is no mention of the argument one should choose
There is no mention of the argument one should choose to add the php code. Any clarification in this regard will really help.