source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/categ.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: 6.4 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: categ.inc.php,v 1.8 2015-04-03 11:16:23 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path."/connecteurs.class.php");
10
11function show_categories($dbh) {
12        global $msg;
13
14        print "<table>
15        <tr>
16                <th>".$msg[103]."</th>
17                <th>".$msg["count_connecteurs_categ"]."</th>
18        </tr>";
19
20        $requete = "SELECT connectors_categ_id, connectors_categ_name FROM connectors_categ order by connectors_categ_name";
21        $res = pmb_mysql_query($requete, $dbh);
22
23        $parity=1;
24        while($row=pmb_mysql_fetch_object($res)) {
25                $count_query = 'SELECT count(*) FROM connectors_categ_sources WHERE num_categ='.$row->connectors_categ_id;
26                $conn_count = pmb_mysql_result(pmb_mysql_query($count_query, $dbh), 0, 0);
27               
28                if ($parity % 2) {
29                        $pair_impair = "even";
30                } else {
31                        $pair_impair = "odd";
32                }
33                $parity += 1;
34                $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"document.location='./admin.php?categ=connecteurs&sub=categ&action=modif&id=$row->connectors_categ_id';\" ";
35                print pmb_bidi("<tr class='$pair_impair' $tr_javascript style='cursor: pointer'>");
36                print pmb_bidi("<td>".$row->connectors_categ_name."</td>");
37                print pmb_bidi("<td>$conn_count</td>") ;
38        print pmb_bidi("</tr>");               
39        }
40        print "</table>
41                <input class='bouton' type='button' value=' $msg[connecteurs_categ_add] ' onClick=\"document.location='./admin.php?categ=connecteurs&sub=categ&action=add'\" />";
42
43}
44
45
46function category_form($categ_id=0, $new_categ_name="", $opac_expanded=false) {
47        global $msg, $dbh, $charset;
48        print '<form method="POST" action="admin.php?categ=connecteurs&sub=categ&action=update" name="form_categ">';
49        if (!$categ_id)
50                print '<h3>'.$msg['connecteurs_categ_add'].'</h3>';
51        else
52                print '<h3>'.$msg['connecteurs_categ_edit'].'</h3>';
53               
54        print '<div class="form-contenu">';
55       
56        print '<input type="hidden" name="categ_id" value="'.$categ_id.'">';
57        print '<div class=row><label class="etiquette" for="categ_name">'.$msg["connecteurs_categ_caption"].'</label><br />';
58        print '<input name="categ_name" type="text" value="'.htmlentities($new_categ_name,ENT_QUOTES, $charset).'" class="saisie-80em">
59                        </div>';
60
61        print '<div class=row><label class="etiquette" for="categ_opac_expanded">'.$msg["connecteurs_categ_opac_expanded"].'</label><br />';
62        print '<input name="categ_opac_expanded" type="checkbox" '.($opac_expanded ? "checked" : "").' >
63                        </div>';
64
65        $sources_sql = 'SELECT connectors_sources.source_id, connectors_sources.name, connectors_categ_sources.num_categ, id_connector
66                FROM connectors_sources LEFT JOIN connectors_categ_sources ON (connectors_sources.source_id = connectors_categ_sources.num_source AND connectors_categ_sources.num_categ='.$categ_id.')
67                order by connectors_sources.id_connector, connectors_sources.name';
68        $resultat = pmb_mysql_query($sources_sql, $dbh);
69        while ($row=pmb_mysql_fetch_object($resultat)) {
70                $sources[] = $row; 
71        }
72        $nbsources=count($sources);
73        $content_input = '<select MULTIPLE name="categ_content[]" size="'.($nbsources+4).'">';
74        if (!$nbsources) 
75                $content_input .= '<option value="">'.($msg["connecteurs_categories_none"]).'</option>';
76        $idconnectorconserve="";
77        foreach ($sources as $source) {
78                if ($source->id_connector!=$idconnectorconserve) {
79                        $idconnectorconserve=$source->id_connector;
80                        $content_input .= '<optgroup label="'.$idconnectorconserve.'" class="erreur">';
81                }
82                $content_input .= '<option value="'.$source->source_id.'" '.($source->num_categ ? 'SELECTED' : '').' style="color: rgb(0, 0, 0);">'.htmlentities($source->name ,ENT_QUOTES, $charset).'</option>';             
83        }
84        $content_input .= '</select>';
85        print '<div class=row><label class="etiquette" for="categ_content">'.$msg["connecteurs_included_sources"].'</label><br />';
86        print $content_input;
87        print '</div></div>';
88       
89        print "<div class='row'>
90        <div class='left'>";
91        print "<input class='bouton' type='button' value=' $msg[76] ' onClick=\"document.location='./admin.php?categ=connecteurs&sub=categ'\" />&nbsp";
92        print '<input class="bouton" type="submit" value="'.$msg[77].'">';
93        print "</div>
94        <div class='right'>";
95        if ($categ_id) {
96                print confirmation_delete("./admin.php?categ=connecteurs&sub=categ&action=del&id=");
97                print "<input class='bouton' type='button' value=' $msg[supprimer] ' onClick=\"javascript:confirmation_delete('".$categ_id."','".addslashes($new_categ_name)."')\" />";         
98        }               
99        print "</div>
100        <br /><br /></div>";
101       
102        print '</form>';
103}
104
105switch($action) {
106        case 'update':
107                //Mettons a jours la catégorie
108                if ($categ_id == 0) {
109                        $sql = "INSERT INTO connectors_categ (connectors_categ_name, opac_expanded) VALUES ('".$categ_name."', ".($categ_opac_expanded ? "1" : "0").");";
110                        pmb_mysql_query($sql, $dbh);
111                        $categ_id = pmb_mysql_insert_id($dbh);
112                }
113                else {
114                        $sql = "UPDATE connectors_categ SET connectors_categ_name = '".$categ_name."', opac_expanded = ".($categ_opac_expanded ? "1" : "0")." WHERE connectors_categ_id = ".$categ_id;
115                        pmb_mysql_query($sql, $dbh);
116                }
117               
118                $sql = "DELETE FROM connectors_categ_sources WHERE num_categ = ".$categ_id;
119                pmb_mysql_query($sql, $dbh);
120                if ($categ_content && !(count($categ_content == 1) && $categ_content[0] == "")) {
121                        $values = array();
122                        foreach($categ_content as $asource_id) {
123                                $values[] = "(".addslashes($categ_id).", ".addslashes($asource_id).")";
124                        }
125                        $values = implode(",", $values);
126                        $sql = "INSERT INTO connectors_categ_sources (num_categ, num_source) VALUES ".$values;
127                        pmb_mysql_query($sql, $dbh) or die (pmb_mysql_error());
128                }
129               
130                show_categories($dbh);
131                break;
132        case 'add':
133                category_form();
134                break;
135        case 'modif':
136                if($id){
137                        $requete = "SELECT * FROM connectors_categ WHERE connectors_categ_id=".$id;
138                        $res = pmb_mysql_query($requete, $dbh);
139                        if(pmb_mysql_num_rows($res)) {
140                                $row=pmb_mysql_fetch_object($res);
141                                $categ_name = $row->connectors_categ_name; 
142                                $categ_opac_expanded=$row->opac_expanded;
143                                category_form($id, $categ_name, $categ_opac_expanded);
144                        }
145                }
146                break;
147        case 'del':
148                if ($id) {
149                        $ida = addslashes($id);
150                        $sql = "DELETE FROM connectors_categ WHERE connectors_categ_id=".$ida;
151                        pmb_mysql_query($sql, $dbh);
152                        $sql = "DELETE FROM connectors_categ_sources WHERE num_categ = ".$ida;
153                        pmb_mysql_query($sql, $dbh);
154                }
155                show_categories($dbh);         
156                break;
157        default:
158                show_categories($dbh);
159                break;
160        }
161
162?>
Note: See TracBrowser for help on using the repository browser.