function getTimeUnitSelector($listid, $default)
{
    global $idclient, $cfg, $auth;
    $timeunits = array();
    $timeunits['Seconds'] = i18n("Seconds", "workflow");
    $timeunits['Minutes'] = i18n("Minutes", "workflow");
    $timeunits['Hours'] = i18n("Hours", "workflow");
    $timeunits['Days'] = i18n("Days", "workflow");
    $timeunits['Weeks'] = i18n("Weeks", "workflow");
    $timeunits['Months'] = i18n("Months", "workflow");
    $timeunits['Years'] = i18n("Years", "workflow");
    $tpl2 = new Template();
    $tpl2->set('s', 'NAME', 'time' . $listid);
    $tpl2->set('s', 'CLASS', 'text_small');
    $tpl2->set('s', 'OPTIONS', 'size=1');
    foreach ($timeunits as $key => $value) {
        $tpl2->set('d', 'VALUE', $key);
        $tpl2->set('d', 'CAPTION', $value);
        if ($default == $key) {
            $tpl2->set('d', 'SELECTED', 'SELECTED');
        } else {
            $tpl2->set('d', 'SELECTED', '');
        }
        $tpl2->next();
    }
    return $tpl2->generate($cfg['path']['templates'] . $cfg['templates']['generic_select'], true);
}
function getActionSelect($idartlang, $idusersequence)
{
    global $cfg;
    $workflowActions = new WorkflowActions();
    $allActions = $workflowActions->getAvailableWorkflowActions();
    $wfSelect = new Template();
    $wfSelect->set('s', 'NAME', 'wfselect' . $idartlang);
    $wfSelect->set('s', 'CLASS', 'text_medium');
    $userSequence = new WorkflowUserSequence();
    $userSequence->loadByPrimaryKey($idusersequence);
    $workflowItem = $userSequence->getWorkflowItem();
    if ($workflowItem === false) {
        return;
    }
    $wfRights = $workflowItem->getStepRights();
    $artAllocation = new WorkflowArtAllocations();
    $artAllocation->select("idartlang = '{$idartlang}'");
    if ($obj = $artAllocation->next()) {
        $laststep = $obj->get("lastusersequence");
    }
    $bExistOption = false;
    if ($laststep != $idusersequence) {
        $wfSelect->set('d', 'VALUE', 'next');
        $wfSelect->set('d', 'CAPTION', i18n("Confirm", "workflow"));
        $wfSelect->set('d', 'SELECTED', 'SELECTED');
        $wfSelect->next();
        $bExistOption = true;
    }
    if ($wfRights["last"] == true) {
        $wfSelect->set('d', 'VALUE', 'last');
        $wfSelect->set('d', 'CAPTION', i18n("Back to last editor", "workflow"));
        $wfSelect->set('d', 'SELECTED', '');
        $wfSelect->next();
        $bExistOption = true;
    }
    if ($wfRights["reject"] == true) {
        $wfSelect->set('d', 'VALUE', 'reject');
        $wfSelect->set('d', 'CAPTION', i18n("Reject article", "workflow"));
        $wfSelect->set('d', 'SELECTED', '');
        $wfSelect->next();
        $bExistOption = true;
    }
    if ($wfRights["revise"] == true) {
        $wfSelect->set('d', 'VALUE', 'revise');
        $wfSelect->set('d', 'CAPTION', i18n("Revise article", "workflow"));
        $wfSelect->set('d', 'SELECTED', '');
        $wfSelect->next();
        $bExistOption = true;
    }
    if ($bExistOption) {
        return $wfSelect->generate($cfg['path']['templates'] . $cfg['templates']['generic_select'], true);
    } else {
        return false;
    }
}
 }
 $oTpl->set('s', 'MESSAGE', $sMsg);
 switch (intval($_GET['mode'])) {
     case 0:
         $oTpl->set('s', 'LABEL_BACKUP', i18n("Backup", $plugin_name));
         $oTpl->set('s', 'LINK_START_BACKUP', $sess->url('main.php?area=' . $plugin_name . '&frame=4&mode=0&action=1'));
         $oTpl->set('s', 'LABEL_START_BACKUP', i18n("Start a new backup", $plugin_name));
         $oTpl->set('s', 'LABEL_PREVIOUS_BACKUPS', i18n("Created backups", $plugin_name));
         $aFiles = getFilesInDirectory($backup_path, '*.sql*', SORT_DESC);
         for ($i = 0, $n = count($aFiles); $i < $n; $i++) {
             $oTpl->set('d', 'NO', $i + 1);
             $oTpl->set('d', 'FILENAME', $aFiles[$i]);
             $oTpl->set('d', 'FILESIZE', number_format(filesize($backup_path . $aFiles[$i]) / 1024 / 1024, 2));
             $oTpl->set('d', 'LINK_DELETE', $sess->url('main.php?area=' . $plugin_name . '&amp;frame=4&amp;mode=0&amp;action=3&amp;file=' . $aFiles[$i]));
             $oTpl->set('d', 'LABEL_DELETE', '<img src="images/delete.gif" alt="X" title="' . i18n("Delete") . '" />');
             $oTpl->next();
         }
         $oTpl->generate($cfg[$plugin_name]['templates']['backup']);
         break;
     case 1:
         $oTpl->set('s', 'LABEL_RESTORE', i18n("Restore", $plugin_name));
         $aFiles = getFilesInDirectory($backup_path, '*.sql*', SORT_DESC);
         for ($i = 0, $n = count($aFiles); $i < $n; $i++) {
             $oTpl->set('d', 'NO', $i + 1);
             $oTpl->set('d', 'FILENAME', $aFiles[$i]);
             $oTpl->set('d', 'FILESIZE', number_format(filesize($backup_path . $aFiles[$i]) / 1024 / 1024, 2));
             $oTpl->set('d', 'LINK_RESTORE', $sess->url('main.php?area=' . $plugin_name . '&amp;frame=4&amp;mode=1&amp;action=2&amp;file=' . $aFiles[$i]));
             $oTpl->set('d', 'LABEL_RESTORE', '<img src="images/importieren.gif" alt="X" title="' . i18n("Restore") . '" />');
             $oTpl->next();
         }
         $oTpl->generate($cfg[$plugin_name]['templates']['restore']);