Hi people,
I'm trying to set a Tabset of two tabs. The first with the Latest (unblocked) member and the second with a link to register or to get involved. Till now, I have this PHP code working :
<?php
$tabs = array();
$tabs['example1'] = array(
'#type' => 'tabset',
);
$tabs['example1']['tab1'] = array(
'#type' => 'tabpage',
'#title' => t('You?'),
'#content' => l(t('Join the Intal community!'), "user/register"),
);
$result = db_query_range('SELECT uid FROM {users} WHERE status != 0 ORDER BY uid DESC', 0, 1);
$items = array();
while ($row = db_fetch_object($result)) {
$user = user_load(array('uid' => $row->uid));
}
$pic = theme('user_picture', $user);
if ($user->picture) {
$sec_tab_content = l($pic, 'user/'.$user->uid, array(), NULL,NULL,FALSE,TRUE);
$sec_tab_content .= "<br class=\"clearit\"/>";
}
if (!$user->picture) {
$theme_path = path_to_theme();
$pic = "<img src=\"/".$theme_path."/images/profile.png\" alt=\"profile\" class=\"profile-pic\" />";
$sec_tab_content = l($pic, 'user/'.$user->uid, array(), NULL,NULL,FALSE,TRUE);
$sec_tab_content .= "<br />";
$sec_tab_content .= " » ".l($user->name,'user/'.$user->uid);
}
$tabs['example1']['tab2'] = array(
'#type' => 'tabpage',
'#title' => t('Our latest member'),
'#content' => $sec_tab_content
);
return tabs_render($tabs);
?>But I want to have a different link for different roles. One link for Anonymous user, one for Authentificated user and an other one for the other roles. So i tries this code :
<?php
global $user;
if ($user->uid) {
$allowed_roles = array('admin','member','staff');
if (is_array($role = $user->roles)) {
if(count(array_intersect($user->roles, $allowed_roles)) > 0) {
$fst_tab_content = l(t('Go to the help page'), "node/5429");
}
else {
$fst_tab_content = l(t('Become a Member'), "node/5428");
}
}
}
else {
$fst_tab_content = l(t('Join the Intal community!'), "user/register");
}
$tabs = array();
$tabs['example1'] = array(
'#type' => 'tabset',
);
$tabs['example1']['tab1'] = array(
'#type' => 'tabpage',
'#title' => t('You?'),
'#content' => $fst_tab_content,
);
$result = db_query_range('SELECT uid FROM {users} WHERE status != 0 ORDER BY uid DESC', 0, 1);
$row = array();
while ($row = db_fetch_object($result)) {
$user = user_load(array('uid' => $row->uid));
}
$pic = theme('user_picture', $user);
if ($user->picture) {
$sec_tab_content = l($pic, 'user/'.$user->uid);
$sec_tab_content .= "<br class=\"clearit\"/>";
}
if (!$user->picture) {
$theme_path = path_to_theme();
$pic = "<img src=\"/".$theme_path."/images/profile.png\" alt=\"profile\" class=\"profile-pic\" />";
$sec_tab_content = l($pic, 'user/'.$user->uid);
$sec_tab_content .= "<br />";
$sec_tab_content .= " » ".l($user->name,'user/'.$user->uid);
}
$tabs['example1']['tab2'] = array(
'#type' => 'tabpage',
'#title' => t('Our latest member'),
'#content' => $sec_tab_content,
);
return tabs_render($tabs);
?>The problem with this code is that when I submit changes to the block, my session becomes the latest member session and I cannot logout no more. The solution, I found to restore sessions is modifying settings.php to disable all custom blocks.
I'm a php beginner so excuse me if my question seems stupid ;-)
Thank you for your help.
Rafik
Comments
module
Will http://drupal.org/project/latest_members help with this?
Dan Gibas, HYGEN