source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/out.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: 8.2 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: out.inc.php,v 1.7 2013-04-19 10:19:12 mbertin Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path."/connecteurs_out.class.php");
10
11function list_connectors_out() {
12        global $msg, $charset;
13        $conns = new connecteurs_out();
14       
15        print "
16        <script type='text/javascript' >
17                function show_sources(id) {
18                        if (document.getElementById(id).style.display=='none') {
19                                document.getElementById(id).style.display='';
20                               
21                        } else {
22                                document.getElementById(id).style.display='none';
23                        }
24                }
25        </script>
26        <table>
27                <tr>
28                        <th>&nbsp;</th>
29                        <th>".$msg["connector_out_service"]."</th>
30                        <th>".$msg["connector_out_sources"]."</th>
31                        <th>&nbsp;</th>
32                </tr>";
33       
34        $pair_impair=0;
35        $parity=0;
36        foreach($conns->connectors as $aconn) {
37                $pair_impair = $parity++ % 2 ? "even" : "odd";
38                $comment=$aconn->comment;
39                $sign=$aconn->name." : ".$comment." - ";
40                $sign.="Auteur : ".$aconn->author." - ".$aconn->org." - ";
41                $sign.=formatdate($aconn->date);
42                $n_sources=count($aconn->sources);
43            $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" ";
44            print "<tr class='$pair_impair' $tr_javascript style='cursor: pointer' title='".htmlentities($sign,ENT_QUOTES,$charset)."' alter='".htmlentities($sign,ENT_QUOTES,$charset)."' id='tr".$aconn->id."'><td>".($n_sources?"<img src='images/plus.gif' class='img_plus' onClick='if (event) e=event; else e=window.event; e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); show_sources(\"".addslashes($aconn->path)."\"); '/>":"&nbsp;")."</td><td onmousedown=\"if (event) e=event; else e=window.event; if (e.srcElement) target=e.srcElement; else target=e.target; if (target.nodeName!='IMG') document.location='./admin.php?categ=connecteurs&sub=out&action=edit&id=".$aconn->id."';return false;\">".htmlentities($aconn->comment,ENT_QUOTES,$charset)."</td>
45                <td onmousedown=\"if (event) e=event; else e=window.event; if (e.srcElement) target=e.srcElement; else target=e.target; if (target.nodeName!='IMG') document.location='./admin.php?categ=connecteurs&sub=out&action=edit&id=".$aconn->id."';return false;\">".sprintf($msg["connecteurs_count_sources"],$n_sources)."</td><td style='text-align:right'><input type='button' value='".$msg["connector_out_sourceadd"]."' class='bouton_small' onClick='document.location=\"admin.php?categ=connecteurs&sub=out&action=source_add&connector_id=".$aconn->id."\"'/></td></tr>\n";
46           
47            print "<tr class='$pair_impair' style='display:none' id='".$aconn->path."'><td>&nbsp;</td><td colspan='3'><table style='border:1px solid'>";
48            $parity_source=0;
49            foreach ($aconn->sources as $asource) {
50                $pair_impair_source = $parity_source++ % 2 ? "even" : "odd";
51                        $tr_javascript_source=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair_source'\" onmousedown=\"if (event) e=event; else e=window.event; if (e.srcElement) target=e.srcElement; else target=e.target; if (target.nodeName!='INPUT') document.location='./admin.php?categ=connecteurs&sub=out&action=source_edit&connector_id=".$aconn->id."&source_id=".$asource->id."';return false;\" ";
52                        print "<tr style='cursor: pointer' class='$pair_impair_source' $tr_javascript_source>
53                                <td>".htmlentities($asource->name,ENT_QUOTES,$charset)."</td>
54                                <td>".htmlentities(substr($asource->comment,0,60),ENT_QUOTES,$charset)."</td>
55                                <td></td><td></td></tr>";
56            }
57            print "</table></td></tr>";
58           
59        }
60       
61        print "</table>";
62}
63
64function show_connector_out_form($connector_id) {
65        global $msg;
66        print '<form method="POST" action="admin.php?categ=connecteurs&sub=out&action=update" name="form_connectorout">';
67        print '<h3>'.$msg['connector_out_edit'].'</h3>';
68               
69        print '<div class="form-contenu">';
70       
71        //id
72        print '<input type="hidden" name="id" value="'.$connector_id.'" />';
73       
74        $daconn = instantiate_connecteur_out($connector_id);
75        if ($daconn) {
76                echo $daconn->get_config_form();               
77        }
78       
79        //buttons
80        print "</div><div class='row'>
81        <div class='left'>";
82        print "<input class='bouton' type='button' value=' $msg[76] ' onClick=\"document.location='./admin.php?categ=connecteurs&sub=out'\" />&nbsp";
83        print '<input class="bouton" type="submit" value="'.$msg[77].'" />';   
84        print "</div></div>&nbsp;";
85        print '</form>';
86       
87}
88
89function show_sourceout_form($source_id=0, $connector_id, $name="", $comment="", $config_form=NULL) {
90        global $msg;
91        print '<form method="POST" action="admin.php?categ=connecteurs&sub=out&action=source_update" name="form_connectorout" enctype="multipart/form-data">';
92        if ($source_id)
93                print '<h3>'.$msg['connector_out_sourceedit'].'</h3>';
94        else 
95                print '<h3>'.$msg['connector_out_sourceadd'].'</h3>';
96               
97        print '<div class="form-contenu">';
98       
99        //id
100        print '<input type="hidden" name="id" value="'.$source_id.'" />';
101        print '<input type="hidden" name="connector_id" value="'.$connector_id.'" />';
102       
103        if ($config_form) {
104                print '<br />';
105                print call_user_func($config_form);
106                print '<br />';
107        }
108       
109        //buttons
110        print "</div><div class='row'>";
111        print '<div class="left">';
112        print "<input class='bouton' type='button' value=' $msg[76] ' onClick=\"document.location='./admin.php?categ=connecteurs&sub=out'\" />&nbsp";
113        print '<input class="bouton" type="submit" value="'.$msg[77].'" />';
114        print "</div><div class='right'>";
115        if ($source_id) {
116                print confirmation_delete("./admin.php?categ=connecteurs&sub=out&action=source_del&id=");
117                print "<input class='bouton' type='button' value=' $msg[supprimer] ' onClick=\"javascript:confirmation_delete('".$source_id."','".addslashes($name)."')\" />";         
118        }               
119       
120        print '</form>';
121}
122
123/*$conn = new connecteur_out(0, "dummy");
124highlight_string(print_r($conn, true));
125echo $conn->ckeck_api_requirements();*/
126
127/*$conns = new connecteurs_out();
128highlight_string(print_r($conns, true));*/
129
130switch ($action)  {
131        case "update":
132                $daconn = instantiate_connecteur_out($id);
133                if ($daconn) {
134                        $daconn->update_config_from_form();
135                        $daconn->commit_to_db();       
136                }
137                list_connectors_out();
138                break;
139        case "edit":
140                show_connector_out_form($id);
141                break;
142        case "source_add":
143                if (!$connector_id) {
144                        list_connectors_out();
145                        break;                 
146                }
147                $daconn = instantiate_connecteur_out($connector_id);
148                if (!$daconn) {
149                        list_connectors_out();
150                        break;
151                }
152                $source_object = $daconn->instantiate_source_class(0);
153                show_sourceout_form($id, $connector_id, "", "", array($source_object, 'get_config_form'));
154                break;
155        case "source_del":
156                if (!$id) {
157                        list_connectors_out();
158                        break;                 
159                }
160                connecteur_out_source::delete($id);
161                list_connectors_out();
162                break;
163        case "source_edit":
164                if (!$connector_id || !$source_id) {
165                        list_connectors_out();
166                        break;                 
167                }
168                $daconn = instantiate_connecteur_out($connector_id);
169                if (!$daconn) {
170                        list_connectors_out();
171                        break;
172                }
173                $source_object = $daconn->instantiate_source_class($source_id);
174                show_sourceout_form($source_object->id, $connector_id, $source_object->name, $source_object->comment, array($source_object, 'get_config_form'));
175               
176                break;
177        case "source_update":
178                if (!$connector_id) {
179                        list_connectors_out();
180                        break;                 
181                }
182                if (!$id) {
183                        //Création d'une nouvelle source
184                                //Récupération d'un nouvel id d'une nouvelle source générique vide
185                        $new_source = connecteur_out_source::add_new($connector_id);
186                        $new_source_id = $new_source->id;
187                       
188                        //Instantiation de cette nouvelle source en tant que source du connecteur
189                        $daconn = instantiate_connecteur_out($connector_id);
190                        if (!$daconn) {
191                                list_connectors_out();
192                                break;
193                        }
194                        $source_object = $daconn->instantiate_source_class($new_source_id);
195                       
196                        //Mise à jour
197                        $source_object->update_config_from_form();
198                        $source_object->commit_to_db();
199                }
200                else {
201                        //Modification d'une existante
202                        if (!$connector_id || !$id) {
203                                list_connectors_out();
204                                break;                 
205                        }
206                        $daconn = instantiate_connecteur_out($connector_id);
207                        if (!$daconn) {
208                                list_connectors_out();
209                                break;
210                        }
211                        $source_object = $daconn->instantiate_source_class($id);
212                        $source_object->update_config_from_form();
213                        $source_object->commit_to_db();
214                }
215               
216                list_connectors_out();
217                break;
218        default:
219                list_connectors_out();
220                break;
221}
222
223?>
Note: See TracBrowser for help on using the repository browser.