source: pmb4.2/trunk/fuentes/pmb/catalog/notices/tags.inc.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: 5.9 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// © 2006 mental works / www.mental-works.com contact@mental-works.com
5//      complètement repris et corrigé par PMB Services
6// +-------------------------------------------------+
7// $Id: tags.inc.php,v 1.14 2015-04-03 11:16:24 jpermanne Exp $
8
9if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
10
11// gestion des tags laisses par les lecteurs sur les notices
12echo "<h1>".$msg[titre_tag]."</h1>";
13
14if (!$nb_per_page) $nb_per_page=10;
15
16//droits d'acces utilisateur/notice (modification)
17$acces_jm='';
18if ($gestion_acces_active==1 && $gestion_acces_user_notice==1) {
19        require_once("$class_path/acces.class.php");
20        $ac= new acces();
21        $dom_1= $ac->setDomain(1);
22        $acces_jm = $dom_1->getJoin($PMBuserid,8,'num_notice');
23}
24
25//action = VALIDER le tag
26switch ($quoifaire) {
27        case 'valider':
28                for ($i=0 ; $i < sizeof($valid_id_tags) ; $i++) {
29                        $acces_m=1;
30                        if ($acces_jm) {
31                                $q = "select count(1) from tags $acces_jm where id_tag=".$valid_id_tags[$i];
32                                $r = pmb_mysql_query($q, $dbh);
33                                if(pmb_mysql_result($r,0,0)==0) {
34                                        $acces_m=0;
35                                }
36                        }
37                        if ($acces_m!=0) {
38                                $requete="select libelle, num_notice, index_l from tags left join notices on notice_id=num_notice where id_tag=".$valid_id_tags[$i];
39                                $r=pmb_mysql_query($requete, $dbh) or die(pmb_mysql_error()." <br />".$requete);
40                                if (pmb_mysql_num_rows($r)) {
41                                        $loc = pmb_mysql_fetch_object($r);
42                                        $tab_index_l=array();
43                                        $tab_index_l = explode($pmb_keyword_sep,trim($loc->index_l));
44                                        $tab_index_l[]=stripslashes($loc->libelle);
45                                        for ($j=0 ; $j < sizeof($tab_index_l) ; $j++) {
46                                                if (!$tab_index_l[$j]) {
47                                                        unset($tab_index_l[$j]);
48                                                }
49                                        }
50                                        $index_l=addslashes(implode($pmb_keyword_sep,$tab_index_l));
51                                        $index_matieres=" ".strip_empty_words($index_l)." ";
52                                       
53                                        $requete="update notices set index_l='".$index_l."',index_matieres='$index_matieres' where notice_id='".$loc->num_notice."'";
54                                        pmb_mysql_query($requete, $dbh) or die(pmb_mysql_error()." <br />".$requete);
55                                       
56                                        notice::majNoticesGlobalIndex($loc->num_notice);
57                                        notice::majNoticesMotsGlobalIndex($loc->num_notice);
58                                       
59                                        $requete="delete from tags where id_tag='".$valid_id_tags[$i]."'";
60                                        pmb_mysql_query($requete, $dbh) or die(pmb_mysql_error()." <br />".$requete);
61                                }
62                        }
63                }       
64                break;
65        case 'supprimer' :
66                for ($i=0 ; $i < sizeof($valid_id_tags) ; $i++) {
67                        $acces_m=1;
68                        if ($acces_jm) {
69                                $q = "select count(1) from tags $acces_jm where id_tag=".$valid_id_tags[$i];
70                                $r = pmb_mysql_query($q, $dbh);
71                                if(pmb_mysql_result($r,0,0)==0) {
72                                        $acces_m=0;
73                                }
74                        }
75                        if ($acces_m!=0) {
76                                $rqt = "delete from tags where id_tag='".$valid_id_tags[$i]."' ";
77                                pmb_mysql_query($rqt, $dbh) ;
78                        }
79                }       
80                break;
81        default:
82                break;
83}
84
85echo "<form class='form-catalog' method='post' id='validation_tags' name='validation_tags' >
86                <h3>".$msg[tag_titre_form]."</h3>
87                <div class='form-contenu'>";
88
89//variables
90if(!$page) $page=1;
91$debut =($page-1)*$nb_per_page;
92$url_base = "./catalog.php?categ=tags";
93
94//requete d'affichage des notices et des tags
95$requete="select 1 from tags ";
96$r = pmb_mysql_query($requete, $dbh) or die (pmb_mysql_error()." <br /><br />".$requete);
97$nbr_lignes = pmb_mysql_num_rows($r);
98
99$requete="select id_tag,libelle,num_notice,user_code,dateajout,index_l,DATE_FORMAT(dateajout,'".$msg[format_date]."') as ladate,
100                        empr_login, empr_nom, empr_prenom,
101                        niveau_biblio, niveau_biblio, notice_id
102                        from tags left join empr on empr_login=user_code
103                                        left join notices on notice_id=num_notice
104                  order by index_serie, tnvol, index_sew ,dateAjout desc
105                  limit $debut,$nb_per_page  ";
106
107$r = pmb_mysql_query($requete, $dbh) or die (pmb_mysql_error()." <br /><br />".$requete);
108
109if (pmb_mysql_num_rows($r)) {
110
111        //affichage des notices
112        print $begin_result_liste;
113        $res_final = "";
114        $notice_id=0;
115        while (($loc = pmb_mysql_fetch_object($r))) {
116                if ($notice_id!=$loc->notice_id) {
117                        if ($notice_id!=0) $res_final .=  "</ul><br />" ;
118                        $notice_id=$loc->notice_id;
119                        $deb = 1 ;
120                        if($loc->niveau_biblio != 's' && $loc->niveau_biblio != 'a') {
121                                // notice de monographie
122                                $display = new mono_display($loc->notice_id, 6, $link, 1, $link_expl, '', $link_explnum,1, 0, 1, 1);
123                                $res_final .= pmb_bidi($display->result);
124                        } else {
125                                // on a affaire à un périodique
126                                $serial = new serial_display($loc->notice_id, 6, $link_serial, $link_analysis, $link_bulletin, "", $link_explnum_serial, 0, 0, 1, 1, true, 1 );
127                                $res_final .= pmb_bidi($serial->result);
128                        }
129                        $res_final .=  "<ul>" ;
130                } else $deb = 0 ;
131               
132                $res_final .=  "<li><b>$loc->libelle</b><div class='left'>" ;
133                $res_final .=  $loc->ladate.$loc->empr_prenom $loc->empr_nom </div>
134                            <div class='right'>
135                                <input type='checkbox' name='valid_id_tags[]' id='valid_id_tags[]' value='$loc->id_tag' />
136                                </div>";
137                if ($loc->index_l) $res_final .=  "<div class='row'>$msg[tag_deja_tags] <b>$loc->index_l</b></div>";
138                $res_final .=  "</li>";
139        }
140        $res_final .=  "</ul><br />" ;
141        print $res_final ;
142}
143
144print aff_pagination ($url_base, $nbr_lignes, $nb_per_page, $page, 10, false, true) ;
145echo "</div>";
146echo "
147                <div class='row'>
148                        <div class='left'>
149                                <input type='hidden' name='quoifaire' value='' />
150                                <input type='button' class='bouton' name='valider' value='".$msg[tag_bt_valider]."' onclick='this.form.quoifaire.value=\"valider\"; this.form.submit()' />&nbsp;
151                                <input type='button' class='bouton' name='supprimer' value='".$msg[tag_bt_supprimer]."' onclick='this.form.quoifaire.value=\"supprimer\"; this.form.submit()' />&nbsp;
152                                </div>
153                        <div class='right'>
154                                <input type='button' class='bouton' name='selectionner' value='".$msg[tag_bt_selectionner]."' onClick=\"setCheckboxes('validation_tags', 'valid_id_tags', true); return false;\" />&nbsp;
155                                </div>
156                        </div>
157<div class='row'></div>
158                        </form>";
159jscript_checkbox() ;
160
161
Note: See TracBrowser for help on using the repository browser.