}
if (!$banana->nntp) {
- return '<p class="error">'._b_('Impossible de contacter le serveur').'</p>';
+ $banana->state['page'] = 'error';
+ return makeTable('<p class="error">'._b_('Impossible de contacter le serveur').'</p>');
}
$group = empty($banana->get['group']) ? null : $banana->get['group'];
if (!is_null($group)
&& isset($banana->grp_pattern) && !preg_match('/' . $banana->grp_pattern . '/', $group)) {
- return '<p class="error">'
+ $banana->state['page'] = 'error';
+ return makeTable('<p class="error">'
. $group . _b_(' : ce newsgroup n\'existe pas ou vous n\'avez pas l\'autorisation d\'y accéder')
- . '</p>';
+ . '</p>');
}
$artid = empty($banana->get['artid']) ? null : strtolower($banana->get['artid']);
$partid = !isset($banana->get['part']) ? -1 : $banana->get['part'];
if (is_null($group)) {
if (isset($banana->get['subscribe'])) {
+ $banana->state['page'] = 'subscribe';
return makeTable($banana->action_listSubs());
} elseif (isset($_POST['validsubs'])) {
$banana->action_saveSubs();
}
+ $banana->state['page'] = 'forums';
return makeTable($banana->action_listGroups());
} elseif (is_null($artid)) {
if (isset($_POST['action']) && $_POST['action'] == 'new') {
return makeTable($banana->action_doFup($group, isset($_POST['artid']) ? intval($_POST['artid']) : -1));
} elseif ($action == 'new') {
+ $banana->state['page'] = 'action';
return makeTable($banana->action_newFup($group));
} else {
+ $banana->state['page'] = 'group';
return makeTable($banana->action_showThread($group, isset($banana->get['first']) ? intval($banana->get['first']) : 1));
}
}
if (!is_null($action)) {
+ $banana->state['page'] = 'action';
switch ($action) {
case 'cancel':
$res .= $banana->action_showArticle($group, $artid, $partid);
return makeTable($res . $att);
}
+ $banana->state['page'] = 'message';
return makeTable($banana->action_showArticle($group, $artid, $partid));
}
}
return preg_replace("/\\\(\(|\))/","\\1",$result);
}
+function makeTab($link, $text)
+{
+ return Array(makeHREF($link, $text),
+ $text);
+}
+
function displayTabs()
{
global $banana;
extract($banana->state);
-
- $res = Array();
if (function_exists('hook_shortcuts') && $cstm = hook_shortcuts()) {
$res = $cstm;
}
- array_push($res,
- makeHREF(Array('subscribe' => 1), _b_('Abonnements')),
- is_null($group) ? Array(_b_('Les forums'), true) : makeHREF(Array(), _b_('Les forums')));
+ $res['subscribe'] = makeTab(Array('subscribe' => 1), _b_('Abonnements'));
+ $res['forums'] = makeTab(Array(), _b_('Les forums'));
if (!is_null($group)) {
- $grplink = makeHREF(Array('group' => $group), $group);
- $grpcur = Array($group, true);
+ $res['group'] = makeTab(Array('group' => $group), $group);
if (is_null($artid)) {
if (@$action == 'new') {
- array_push($res, $grplink, Array(_b_('Nouveau Message'), true));
- } else {
- array_push($res, $grpcur);
+ $res['action'] = makeTab(Array('group' => $group,
+ 'action' => 'new'),
+ _b_('Nouveau Message'));
}
} else {
+ $res['message'] = makeTab(Array('group' => $group,
+ 'artid' => $artid),
+ _b_('Message'));
if (!is_null($action)) {
- array_push($res,
- $grplink,
- makeHREF(Array('group' => $group,
- 'artid' => $artid),
- _b_('Message')));
if ($action == 'new') {
- array_push($res, Array(_b_('Répondre'), true));
+ $res['action'] = makeTab(Array('group' => $group,
+ 'artid' => $artid,
+ 'action' => 'new'),
+ _b_('Réponse'));
} elseif ($action == 'cancel') {
- array_push($res, Array(_b_('Annuler'), true));
+ $res['action'] = makeTab(Array('group' => $group,
+ 'artid' => $artid,
+ 'action' => 'cancel'),
+ _b_('Annuler'));
}
- } else {
- array_push($res, $grplink, Array(_b_('Message'), true));
}
}
}
$ret = '<ul id="onglet">';
- foreach ($res as $onglet) {
- if (is_string($onglet)) {
- $ret .= '<li>' . $onglet . '</li>';
+ foreach ($res as $name=>$onglet) {
+ if ($name != $page) {
+ $ret .= '<li>' . $onglet[0] . '</li>';
} else {
- $ret .= '<li class="actif">' . $onglet[0] . '</li>';
+ $ret .= '<li class="actif">' . $onglet[1] . '</li>';
}
}
$ret .= '</ul>';
function makeTable($text)
{
- return '<table class="cadre_a_onglet" cellpadding="0" cellspacing="0">'
+ return '<table class="cadre_a_onglet" cellpadding="0" cellspacing="0" width="100%">'
. '<tr><td>'
. displayTabs()
. '</td></tr>'