$action = substr(array_pop($action), 4);
define('OW_BACKEND_ACTION', $action);
require_once "../../include/backend/init.inc.php";
require_once PATH_INC_BACKEND_SERVICE . 'Document.class.php';
require_once PATH_INC_BACKEND_SERVICE . 'WorkflowManager.class.php';
$wk = new WorkflowManager($db, $_SESSION['utilisateur']['uti_id']);
if (!isset($_GET['id'])) {
    echo '<p>Aucun document à traiter</p>';
    exit;
}
/**
 * @todo vérifier que le chargement du document a réussi
 */
$doc = new Document($db, $_GET['id']);
$act = $wk->getActionInfos($action, $doc->id);
if (!$wk->canDoAction($doc->id, $act['act_name'])) {
    echo '<p>Vous ne pouvez pas exécuter cette action</p>';
    exit;
}
// Réalisation de l'action
switch ($act['act_name']) {
    case 'ACT_DOC_MAJ':
        $redirection = true;
        $url = 'document_upload.php?id=' . $doc->id;
        break;
    case 'ACT_DOC_DEL':
        if (isset($_POST['confirm'])) {
            $doc->changeEtat($act['doc_etat_out']);
            $url = 'documents.php';
            $redirection = true;
        } else {
 * @subpackage Presentation
 * @author Laurent Jouanneau
 * @author Florian Hatat
 * @copyright Copyright © 2003 OpenWeb.eu.org
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License
 */
define('OW_BACKEND_ACTION', 'ACT_DOC_ANNEXES');
require_once '../../include/backend/init.inc.php';
require_once PATH_INC_BACKEND_SERVICE . 'Document.class.php';
require_once PATH_INC_BACKEND_SERVICE . 'WorkflowManager.class.php';
$wk = new WorkflowManager($db, $_SESSION['utilisateur']['uti_id']);
if (!isset($_GET['id'])) {
    echo "<p>Aucun document sur lequel travailler</p>\n";
    exit;
}
if (!$wk->canDoAction($_GET['id'], OW_BACKEND_ACTION)) {
    echo "<p>Vous n'avez pas la permission de modifier les annexes</p>\n";
    exit;
}
/* TODO: vérifier que le chargement a réussi */
$doc = new Document($db, $_GET['id']);
$errors = array();
$listeannx = $doc->listeAnnexe();
if (isset($_POST['ficdel'])) {
    foreach ($_POST['ficdel'] as $todel) {
        if (in_array($todel, $listeannx)) {
            $doc->supprimerAnnexe($todel);
        } else {
            $errors[] = "Aucune annexe ne s'appelle {$todel}";
        }
    }
if (empty($_SERVER['PATH_INFO'])) {
    echo "Je ne ferai rien sans paramètres.\n";
    exit(1);
}
@(list($id, $fic) = explode('/', trim(ereg_replace('/+', '/', $_SERVER['PATH_INFO']), '/'), 2));
if (empty($id)) {
    echo "ID du document manquant\n";
    exit(1);
}
$doc = new Document($db, $id);
if (count($doc->errors) != 0) {
    echo "Impossible d'ouvrir le document\n";
    exit(1);
}
$wk = new WorkflowManager($db, $_SESSION['utilisateur']['uti_id']);
if (!$wk->canDoAction($doc->id, OW_BACKEND_ACTION)) {
    echo "Vous n'avez pas la permission de consulter le document\n";
    exit(1);
}
if (empty($fic)) {
    echo "Rien à afficher\n";
    exit(1);
}
$filenames = $doc->getDocumentFormats();
foreach ($doc->listeAnnexe() as $format) {
    $filenames[] = "annexes/" . $format;
}
if (!in_array($fic, $filenames)) {
    echo "Format demandé inconnu\n";
    exit(1);
}