fray...@hephaestos.ovh.adullact.org
unread,Jun 12, 2020, 9:45:07 AM6/12/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairie-...@googlegroups.com
Author: fraynaud
Date: 2020-06-12 15:45:04 +0200 (Fri, 12 Jun 2020)
New Revision: 1115
Added:
branches/5.1.0/app/file.php
Modified:
branches/5.1.0/HISTORY.txt
branches/5.1.0/app/framework_openmairie.class.php
branches/5.1.0/dyn/database.inc.php
Log:
ajout de file.php + mail dans database.inc.php
Modified: branches/5.1.0/HISTORY.txt
===================================================================
--- branches/5.1.0/HISTORY.txt 2020-06-12 12:42:38 UTC (rev 1114)
+++ branches/5.1.0/HISTORY.txt 2020-06-12 13:45:04 UTC (rev 1115)
@@ -22,9 +22,9 @@
* faire le traitement remise a 0 registre depart et arrivée
* mettre le script doc sur la version doc de readthedoc
-pb mail diffusion -> config password reset
+
bug sous service
-
+(bug) correction affichage du fichier file.php fr-11-06-2020
(bug) correction gestion_scan - effecer un fichier fr-11-06-2020
(bug) correction widget_diffusion_non_validee pb de lien fr-11-06-2020
(bug) correction widget_tachenonsolde pb de lien fr-11-06-2020
Added: branches/5.1.0/app/file.php
===================================================================
--- branches/5.1.0/app/file.php (rev 0)
+++ branches/5.1.0/app/file.php 2020-06-12 13:45:04 UTC (rev 1115)
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Ce script permet de visualiser un fichier dont l'uid est passé en paramètre
+ *
+ * @package openmairie_exemple
+ * @version SVN : $Id: file.php 2949 2014-11-07 18:25:20Z fmichon $
+ */
+//echo "********************";
+
+// acces sans identification
+// existence d'un utilisateur "util"
+
+// mettre en place une session
+session_name("opencourrier");
+@session_start();
+// initialisation variable session inexistante
+// cas ou il y a un acces direct sans être identifié
+if(!isset ($_SESSION['profil'])) $_SESSION['profil']=1;// consultation
+if(!isset ($_SESSION['login'])) $_SESSION['login']="util";
+if(isset ($_GET['collectivite'])) // collectivite en url par defaut = 1
+ $_SESSION['collectivite']=$_GET['collectivite'];
+else
+ $_SESSION['collectivite']=1;
+//
+require_once "../app/framework_openmairie.class.php";
+require_once "../core/om_filestorage.class.php";
+$f = new framework_openmairie("nohtml");
+$f->disableLog();
+$id="";
+ //Initialisation des parametres
+(isset($_GET['uid']) ? $uid = $_GET['uid'] : $uid = "");
+(isset($_GET['dl']) ? $dl = $_GET['dl'] : $dl = "");
+(isset($_GET['mode']) ? $mode = $_GET['mode'] : $mode = "filestorage");
+(isset($_GET['obj']) ? $obj = $_GET['obj'] : $obj = "");
+(isset($_GET['champ']) ? $champ = $_GET['champ'] : $champ = "");
+(isset($_GET['key']) ? $key = $_GET['key'] : $key = "");
+// sql
+$sql="SELECT ".$champ." FROM ".DB_PREFIXE.$obj." where key='".$key."'";
+$uid= $f->db->getOne($sql);
+$f->addToLog("app/file.php: db->query(\"".$sql."\");", VERBOSE_MODE);
+$f->isDatabaseError($uid);
+
+
+if($obj != "" && $champ != "" && $id != "") {
+ //Vérification des droits
+ if ($f->isAccredited($obj) || $f->isAccredited($obj.'_'.$champ.'_telecharger')) {
+ // On vérifie que l'objet existe
+ if(file_exists("../obj/".$obj.".class.php")) {
+ // Instanciation de l'objet pour récupérer l'uid du fichier
+ require_once "../obj/".$obj.".class.php";
+ $object = new $obj($id, $f->db, false);
+ $uid = $object->getVal($champ);
+
+ //Affichage du fichier
+ display_file_content($uid, $dl, $f, $mode);
+ } else {
+ // Si pas d'objet envoi message de retour
+ $f->displayMessage("error", _("Objet inexistant."));
+ die();
+ }
+ }else {
+ //Envoi message de retour
+ $f->displayMessage("error", _("Droits insuffisants. Vous n'avez pas suffisamment de droits pour acceder a cette page."));
+ }
+//Sinon si l'uid est renseigné
+} elseif ($uid != "") {
+ //Affichage du fichier
+ display_file_content($uid, $dl, $f, $mode);
+//Sinon
+} else {
+ // Retour à l'accueil + affichage de l'erreur
+ $f->displayMessage("error", _("Le fichier n'existe pas ou n'est pas accessible."));
+}
+
+ /**
+ * Affiche le contenu du fichier
+ * @param string $uid Identifiant unique du fichier
+ * @param object $f Instance de la classe utils
+ * @param string $dl Téléchargement
+ * @param string $mode Mode permettant de définir l'endroit où se situe le fichier
+ */
+function display_file_content($uid, $dl, $f, $mode) {
+ // Visualisation du fichier
+ $file = $f->storage->get($uid);
+ //Si mode temporary
+ if ($mode == 'temporary'){
+ //Visualisation depuis le fichier temporaire
+ $file = $f->storage->get_temporary($uid);
+ }
+ // Affichage du contenu du fichier
+ if($file != null) {
+ // Headers
+ header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
+ header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé
+ header("Content-Type: ".$file['metadata']['mimetype']);
+ header("Accept-Ranges: bytes");
+ // Vérification pour la valeur de $dl
+ if (!in_array($dl, array("download", "inline"))) {
+ if ($f->getParameter("edition_output") == "download") {
+ $dl="download";
+ } else {
+ $dl="inline";
+ }
+ }
+ // Vérification si on affiche simplement l'image, sinon envoi un dialogue de sauvegarde
+ if ($dl=="download") {
+ header("Content-Disposition: attachment; filename=\"".$file['metadata']['filename']."\";" );
+ } else {
+ header("Content-Disposition: inline; filename=\"".$file['metadata']['filename']."\";" );
+
+ }
+
+ // Rendu du fichier
+ echo $file['file_content'];
+
+ } else {
+ // Retour à l'accueil + affichage de l'erreur
+ $f->displayMessage("error", _("Le fichier n'existe pas ou n'est pas accessible."));
+ }
+}
+?>
Property changes on: branches/5.1.0/app/file.php
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: branches/5.1.0/app/framework_openmairie.class.php
===================================================================
--- branches/5.1.0/app/framework_openmairie.class.php 2020-06-12 12:42:38 UTC (rev 1114)
+++ branches/5.1.0/app/framework_openmairie.class.php 2020-06-12 13:45:04 UTC (rev 1115)
@@ -82,8 +82,6 @@
protected $_session_name = "opencourrier";
- protected $password_reset = true;
-
/**
*
* @return void
Modified: branches/5.1.0/dyn/database.inc.php
===================================================================
--- branches/5.1.0/dyn/database.inc.php 2020-06-12 12:42:38 UTC (rev 1114)
+++ branches/5.1.0/dyn/database.inc.php 2020-06-12 13:45:04 UTC (rev 1115)
@@ -25,7 +25,7 @@
"opencourrier", // Nom du schéma
"", // Préfixe
null, // Paramétrage pour l'annuaire LDAP
- null, // Paramétrage pour le serveur de mail
+ "mail-default", // Paramétrage pour le serveur de mail
null, // Paramétrage pour le stockage des fichiers
);