Files
dolibarr/htdocs/webportal/controllers/shareddocuments.controller.class.php
webmaster67 7dd1e5a95f NEW More webportal fonctions - Can add shared files and thirdparty documents (#35391)
* Create documentlist.controller.class.php

Intégration de mon portail client personnalisé avec GED
attention 
class/sontext.class.php devra aussi être modifier.

* Update context.class.php

ajout du ged 
pour les fichiers joints par tiers.

* Update context.class.php

ajout d'accès à fichiers joints du tiers.

* Update menu.tpl.php

ajout du menu accès au GED

* Update README.md

* Update README.md

* Update README.md

* Add files via upload

document utile sert a partager via le GED de dolibarr des fichiers avec tous les clients utilisateur du webportal.

* Update context.class.php

ajout dans le menu de deux controleur suplémentaire.

* Update menu.tpl.php

ajoute des deux chapitre dans le menu

* Update README.md

* Update README.md

* Update menu.tpl.php

document format change

* Add files via upload

mises à jour et normalisation fichiers

* Add files via upload

ajout webportal.lang

* Update README.md

* Delete htdocs/webportal/documentutile.controller.class.php

* Update menu.tpl.php

* Update README.md

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update README.md

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update README.md

* Create webportal.lang

* Update webportal.lang

* Update webportal.lang

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update website.lang

* Delete htdocs/langs/fr_FR/webportal.lang

* Delete htdocs/langs/en_US/webportal.lang

* Update README.md

* Update README.md

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Create abstractdocument.controller.class.php

* Update website.lang

* Update website.lang

* Update website.lang

* Update README.md

* Update README.md

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update abstractdocument.controller.class.php

* Update abstractdocument.controller.class.php

* Update README.md

* Update context.class.php

* Update README.md

* Update abstractdocument.controller.class.php

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update menu.tpl.php

* Update documentlist.controller.class.php

* Update abstractdocument.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update shareddocuments.controller.class.php

* Update documentlist.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update README.md

* Update context.class.php

* Update documentlist.controller.class.php

* Update menu.tpl.php

* Update menu.tpl.php

* Update context.class.php

* Update documentlist.controller.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-09-20 19:11:31 +02:00

103 lines
2.8 KiB
PHP

<?php
/*
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (c) 2025 Schaffhauser sébastien <sebastien@webmaster67.fr>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation.
*/
require_once __DIR__ . '/abstractdocument.controller.class.php';
/**
* \file htdocs/webportal/controllers/shareddocuments.controller.class.php
* \ingroup webportal
* \brief This file is a controller for the globally shared documents list.
*/
/**
* Class for SharedDocumentsController
*
* @method void display404()
* @method bool loadTemplate(string $templateName, false|mixed $vars = false)
*/
class SharedDocumentsController extends AbstractDocumentController
{
/**
* Check access rights for this page.
*
* @return bool
*/
public function checkAccess()
{
$this->accessRight = getDolGlobalInt('WEBPORTAL_SHARED_DOCUMENT_ACCESS');
return parent::checkAccess();
}
/**
* Action method is called before HTML output.
*
* @return int Returns >0 on success, 0 if no action, <0 on error.
*/
public function action(): int
{
global $langs;
$context = Context::getInstance();
if (!$context->controllerInstance->checkAccess()) {
return -1;
}
$langs->loadLangs(array('other', 'webportal@webportal'));
$context->title = $langs->trans('SharedDocuments');
$context->desc = $langs->trans('ListOfSharedDocuments');
$context->menu_active[] = 'shared_documents';
return 1;
}
/**
* Build and display the page.
*
* @return void
*/
public function display()
{
global $conf, $langs;
$context = Context::getInstance();
if (!$context->controllerInstance->checkAccess()) {
$this->display404();
return;
}
$this->loadTemplate('header');
$this->loadTemplate('menu');
$this->loadTemplate('hero-header-banner');
print '<main class="container">';
// 1. Prepare data for this controller
$shared_dir_name = getDolGlobalString('WEBPORTAL_SHARED_DOCS_DIR', 'Documentscomptes');
$dir_ged_partage = $conf->ecm->dir_output . '/' . $shared_dir_name;
$shared_dir_relative_path = 'ecm/' . $shared_dir_name;
$fileList = dol_dir_list($dir_ged_partage, 'files', 0, '', '', 'date', SORT_DESC);
// 2. Define the link builder function
/** @param array<string, mixed> $file */
$linkBuilder = function (array $file) use ($shared_dir_relative_path) {
return DOL_URL_ROOT . '/document.php?modulepart=ecm&file=' . urlencode($shared_dir_relative_path . '/' . $file['name']);
};
// 3. Call the parent method to display the table
$this->displayDocumentTable(
$langs->trans('SharedDocuments'),
$fileList,
$langs->trans('NoSharedDocumentAvailable'),
$linkBuilder
);
print '</main>';
$this->loadTemplate('footer');
}
}