source: pmb4.2/trunk/fuentes/pmb/doc_num.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 3.9 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// | creator : Yves PRATTER                                                   |
5// +-------------------------------------------------+
6// $Id: doc_num.php,v 1.22 2015-04-03 11:16:23 jpermanne Exp $
7
8// définition du minimum nécéssaire
9$base_path     = ".";                           
10$base_auth     = ""; //"CIRCULATION_AUTH"; 
11$base_title    = "";   
12$base_noheader = 1;
13// $base_nocheck  = 1;
14$base_nobody   = 1;
15$base_nosession   = 1;
16
17
18require_once ("$base_path/includes/init.inc.php");
19require_once ("$include_path/explnum.inc.php"); 
20require_once ($class_path."/upload_folder.class.php"); 
21
22//gestion des droits
23require_once($class_path."/acces.class.php");
24
25$resultat = pmb_mysql_query("SELECT explnum_id, explnum_notice, explnum_bulletin, explnum_nom, explnum_nomfichier, explnum_mimetype, explnum_url,
26                        explnum_data, explnum_extfichier, explnum_path, concat(repertoire_path,explnum_path,explnum_nomfichier) as path, repertoire_id
27                        FROM explnum left join upload_repertoire on repertoire_id=explnum_repertoire WHERE explnum_id = '$explnum_id' ", $dbh);
28$nb_res = pmb_mysql_num_rows($resultat) ;
29
30if (!$nb_res) {
31        header("Location: images/mimetype/unknown.gif");
32        exit ;
33}
34
35$ligne = pmb_mysql_fetch_object($resultat);
36
37$id_for_rigths = $ligne->explnum_notice;
38if($ligne->explnum_bulletin != 0){
39        //si bulletin, les droits sont rattachés à la notice du bulletin, à défaut du pério...
40        $req = "select bulletin_notice,num_notice from bulletins where bulletin_id =".$ligne->explnum_bulletin;
41        $res = pmb_mysql_query($req);
42        if(pmb_mysql_num_rows($res)){
43                $row = pmb_mysql_fetch_object($res);
44                $id_for_rigths = $row->num_notice;
45                if(!$id_for_rigths){
46                        $id_for_rigths = $row->bulletin_notice;
47                }
48        }
49}
50
51//droits d'acces utilisateur/notice
52if ($gestion_acces_active==1 && $gestion_acces_user_notice==1) {
53        require_once("$class_path/acces.class.php");
54        $ac= new acces();
55        $dom_1= $ac->setDomain(1);
56        $rights = $dom_1->getRights($PMBuserid,$id_for_rigths);
57}
58
59if( $rights & 4 || (is_null($dom_1))){
60        if (($ligne->explnum_data)||($ligne->explnum_path)) {
61       
62                if ($ligne->explnum_path) {
63                        $up = new upload_folder($ligne->repertoire_id);
64                        $path = str_replace("//","/",$ligne->path);
65                        $path=$up->encoder_chaine($path);
66                        if(file_exists($path) && filesize($path)){
67                                $fo = fopen($path,'rb');
68                        }else{
69                                $fo=false;
70                        }
71                       
72                        //$ligne->explnum_data=fread($fo,filesize($path));
73                        //fclose($fo);
74                }
75       
76                create_tableau_mimetype() ;
77               
78                $name=$_mimetypes_bymimetype_[$ligne->explnum_mimetype]["plugin"] ;
79                if ($name) {
80                        // width='700' height='525'
81                        $name = " name='$name' ";
82                }
83                $type="type='$ligne->explnum_mimetype'" ;
84                if ($_mimetypes_bymimetype_[$ligne->explnum_mimetype]["embeded"]=="yes") {
85                        print "<html><body><EMBED src=\"./doc_num_data.php?explnum_id=$explnum_id\" $type $name controls='console' ></EMBED></body></html>" ;
86                        if ($fo) fclose($fo);
87                        exit ;
88                }
89       
90                $nomfichier="";
91                if ($ligne->explnum_nomfichier) {
92                        $nomfichier=$ligne->explnum_nomfichier;
93                }
94                elseif ($ligne->explnum_extfichier)
95                        $nomfichier="pmb".$ligne->explnum_id.".".$ligne->explnum_extfichier;
96                if ($nomfichier) header("Content-Disposition: inline; filename=".$nomfichier);
97               
98                header("Content-Type: ".$ligne->explnum_mimetype);
99                if ($ligne->explnum_path) {
100                        if($fo){
101                                while(!feof($fo)){
102                                        print fread($fo,4096);
103                                }
104                                //fpassthru($fo);
105                                fclose($fo);
106                        }
107                } else print $ligne->explnum_data;
108                exit ;
109        }
110        if ($ligne->explnum_mimetype=="URL") {
111                if ($ligne->explnum_url) header("Location: $ligne->explnum_url");
112                exit ;
113        }
114}else{
115        print $msg["forbidden_docnum"];
116}
117
118//if($ligne->explnum_path){
119//      $up = new upload_folder($ligne->repertoire_id);
120//      $path = str_replace("//","/",$ligne->path);
121//      $path=$up->encoder_chaine($path);
122//      $fo = fopen($path,'rb');
123//      header("Content-Type: ".$ligne->explnum_mimetype);
124//      fpassthru($fo);
125//      exit;
126       
127//}
Note: See TracBrowser for help on using the repository browser.