diff --git a/inc/RSCDSUser.php b/inc/RSCDSUser.php index 29c9d890..30d8eccc 100644 --- a/inc/RSCDSUser.php +++ b/inc/RSCDSUser.php @@ -59,6 +59,7 @@ class RSCDSUser extends User $html .= $this->RenderRelationshipsFrom($ef); $html .= $this->RenderRelationshipsTo($ef); + $html .= $this->RenderCollections($ef); $html .= "\n"; $html .= ""; @@ -198,6 +199,45 @@ EOSQL; return $html; } + + /** + * Render the user's collections + * + * @return string The string of html to be output + */ + function RenderCollections( $ef, $title = null ) { + global $session, $c; + + if ( $title == null ) $title = i18n("This user's collections"); + $browser = new Browser(""); + + $browser->AddHidden( 'collection_link', "'' || dav_name || ''" ); + $browser->AddColumn( 'dav_name', translate('Collection Path'), 'left', '##collection_link##' ); + $browser->AddColumn( 'is_calendar', translate('Is a Calendar?'), 'centre', '', "CASE WHEN is_calendar THEN 'Yes' ELSE 'No' END" ); + $browser->AddColumn( 'created', translate('Created On') ); + $browser->AddColumn( 'modified', translate('Changed On') ); + + $browser->SetJoins( 'collection LEFT JOIN usr USING (user_no)' ); + $browser->SetWhere( "collection.user_no = $this->user_no" ); + + if ( isset( $_GET['o']) && isset($_GET['d']) ) { + $browser->AddOrder( $_GET['o'], $_GET['d'] ); + } + else + $browser->AddOrder( 'dav_name', 'A' ); + + $browser->RowFormat( "