DOCUMENTATION TECHNIQUE
|
|
|
- Horatio Moore
- 10 years ago
- Views:
Transcription
1 DOCUMENTATION TECHNIQUE Fichiers de configuration Codes sources Captures d écran Intitulé du rapport PFE : Urbanisation d un Système d information universitaire SOA & BPM (AU. 2009/2010) Effectué à : Tritux Réaliser par : Walid Karray
2
3 Table des matières TABLE DES MATIERES FICHIERS DE CONFIGURATION ETC/HOSTS (RESOLUTION D'ADRESSE) ETC/POSTFIX/MAIN.CF (CONFIGURATION DE POSTFIX - SMTP SERVER) ETC/APACHE2/APACHE2.CONF (CONFIGURATION D APACHE) ETC/PHP5/APACHE2/PHP.INI (CONFIGURATION DE PHP) CODES SOURCES SCRIPTS SQL Création (create.sql) Insertion (insert.sql) CODES SOURCES DES CONNECTEURS PODBRIDGE Classe du connecteur : APACLManager Classe du connecteur : BDetu Classe du connecteur : pbftpaccountconnector Classe du connecteur : pbippserviceconnector Classe du connecteur : pbmaila ccountconnector Classe du connecteur : pbsmsserviceconnector Classe du connecteur : pbwwwsubscrconnector FICHIERS WSDL WSDL exposé par PodBridge1.2 sur «podbridge.intranet.demo» WSDL exposé par PodBridge1.2 sur «ws.rnu.edu.demo» WSDL du service «ProcessRUById» WSDL du service «BatchProcessRU» FICHIER XSD (DEFINITION DES PARAMETRES D E/S DU PROCESSUS BATCHPROCESSRU) FICHIERS BPEL Fichier source : ProcessRUById.bpel Fichier Source : BatchProcessRU.bpel CODE SOURCE DE L APPLICATION PHP (FORMULAIRE INFO ETUDIANT) CAPTURES D ECRAN SQUIRRELMAIL ( CUPS WEB ADMINISTRATION ( SITE WEB D INSCRIPTION UNIV. EN LIGNE - ( SOAPUI PODBRIDGE 1.2 (INTERFACES D ADMINISTRATION) PROJET PROCESSRUBYID (QUELQUES CAPTURES D ECRANS) PROJET BATCHPROCESSRU (QUELQUES CAPTURES D ECRANS) APPLICATION WEB PHP (FORMULAIRE INFO ETUDIANT)
4 1. FICHIERS DE CONFIGURATION ISET Djerba TriTux PAGE 3
5 1.1. /etc/hosts (résolution d'adresse) #Par défaut localhost.localdomain localhost # ~~~~~~~ LAN de l'établissement #Serveur FTP etu-ftp.intranet.demo #Serveur PostgreSQL postgres-83.intranet.demo #Point d'accès sans fil ap21.intranet.demo #Middleware SOA : PodBridge podbridge.intranet.demo #Glassfish ESB 2.1 Server sun-bpel-engine.intranet.demo #Serveur Cups cups.intranet.demo #SMS sms.intranet.demo #Formulaire (App PHP) formulaire.intranet.demo # ~~~~~~~ WAN - RNU (Réseau National Universitaire) #Site web d'inscription en ligne inscription.edu.demo #SMTP & POP rnu.edu.demo #Webmail (client mail) webmail.rnu.edu.demo ISET Djerba TriTux PAGE 4
6 #Middleware SOA : PodBridge ws.rnu.edu.demo 1.2. /etc/postfix/main.cf (Configuration de Postfix - SMTP Server) myhostname = rnu.edu.demo mydomain = rnu.edu.demo mydestination = $mydomain $myhostname localhost.$mydomain masquerade_domains = $mydomain # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. myorigin = rnu.edu.demo smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending.domain is the MUA's job. # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/tls_readme.gz in the postfix-doc package for # information on enabling SSL in the smtp client. alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mynetworks = /8 [::ffff: ]/104 [::1]/128 mailbox_size_limit = 0 ISET Djerba TriTux PAGE 5
7 recipient_delimiter = + default_transport = error relay_transport = error home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/dovecot-auth smtpd_sasl_authenticated_header = yes smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes smtpd_recipient_restrictions = reject_unknown_sender_domain reject_unknown_recipient_domain reject_unauth_pipelining permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_sender_restrictions = reject_unknown_sender_domain mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot-postfix.conf -n -m "${EXTENSION}" smtp_use_tls = yes smtpd_tls_received_header = yes smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_mandatory_ciphers = medium, high smtpd_tls_auth_only = yes tls_random_source = dev:/dev/urandom 1.3. /etc/apache2/apache2.conf (Configuration d Apache) ServerRoot "/etc/apache2" LockFile /var/lock/apache2/accept.lock PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 ISET Djerba TriTux PAGE 6
8 </IfModule> <IfModule mpm_worker_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} AccessFileName.htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> DefaultType text/plain HostnameLookups Off ErrorLog /var/log/apache2/error.log LogLevel warn Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf Include /etc/apache2/httpd.conf Include /etc/apache2/ports.conf LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined ISET Djerba TriTux PAGE 7
9 Include /etc/apache2/conf.d/ Include /etc/apache2/sites-enabled/ 1.4. /etc/php5/apache2/php.ini (Configuration de PHP) engine = On zend.ze1_compatibility_mode = Off short_open_tag = On asp_tags = Off precision = 12 y2k_compliance = On output_buffering = Off zlib.output_compression = Off implicit_flush = Off unserialize_callback_func= serialize_precision = 100 allow_call_time_pass_reference = On safe_mode = Off safe_mode_gid = Off safe_mode_include_dir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions = disable_classes = expose_php = On max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 60 ; Maximum amount of time each script may spend parsing request data memory_limit = 128M error_reporting = E_ALL & ~E_NOTICE display_errors = On display_startup_errors = Off log_errors = Off log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off variables_order = "EGPCS" register_globals = Off ISET Djerba TriTux PAGE 8
10 register_long_arrays = On register_argc_argv = On auto_globals_jit = On post_max_size = 8M magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off auto_prepend_file = auto_append_file = default_mimetype = "text/html" doc_root = user_dir = enable_dl = Off file_uploads = On upload_max_filesize = 2M allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60 define_syslog_variables = Off SMTP = localhost smtp_port = 25 sql.safe_mode = Off odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off mysqli.max_links = -1 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = ISET Djerba TriTux PAGE 9
11 mysqli.reconnect = Off msql.allow_persistent = On msql.max_persistent = -1 msql.max_links = -1 pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 sybase.allow_persistent = On sybase.max_persistent = -1 sybase.max_links = -1 sybase.min_error_severity = 10 sybase.min_message_severity = 10 sybase.compatability_mode = Off sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10 bcmath.scale = 0 ifx.default_host = ifx.default_user = ifx.default_password = ifx.allow_persistent = On ifx.max_persistent = -1 ifx.max_links = -1 ifx.textasvarchar = 0 ifx.byteasvarchar = 0 ifx.charasvarchar = 0 ifx.blobinfile = 0 ifx.nullformat = 0 session.save_handler = files session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_divisor = 100 session.gc_maxlifetime = 1440 ISET Djerba TriTux PAGE 10
12 session.bug_compat_42 = 1 session.bug_compat_warn = 1 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 4 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset=" mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatability_mode = Off mssql.secure_connection = Off tidy.clean_output = Off soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 ISET Djerba TriTux PAGE 11
13 2. CODES SOURCES ISET Djerba TriTux PAGE 12
14 2.1. Scripts SQL Création (create.sql) PostgreSQL database dump -- SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT tel_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT refrecu_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT loginftp_uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT id_primary; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT _uniq; ALTER TABLE ONLY public.etudiant DROP CONSTRAINT adrmac_uniq; DROP TABLE public.etudiant; SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; Name: etudiant; Type: TABLE; Schema: public; Owner: bdetuadmin; Tablespace: -- CREATE TABLE etudiant ( id character varying(8) NOT NULL, nom character varying(25) NOT NULL, prenom character varying(25) NOT NULL, dep character varying(5) NOT NULL, spec character varying(5) NOT NULL, niveau integer NOT NULL, tel character varying(8) DEFAULT NULL::character varying, character varying(255) DEFAULT NULL::character varying, ISET Djerba TriTux PAGE 13
15 ); loginftp character varying(255) DEFAULT NULL::character varying, adrmac character(17) DEFAULT NULL::bpchar, refrecu character varying(16) DEFAULT NULL::character varying, process character varying(3) NOT NULL ALTER TABLE public.etudiant OWNER TO bdetuadmin; Name: adrmac_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT adrmac_uniq UNIQUE (adrmac); Name: _uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT _uniq UNIQUE ( ); Name: id_primary; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT id_primary PRIMARY KEY (id); Name: loginftp_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT loginftp_uniq UNIQUE (loginftp); ISET Djerba TriTux PAGE 14
16 -- -- Name: refrecu_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT refrecu_uniq UNIQUE (refrecu); Name: tel_uniq; Type: CONSTRAINT; Schema: public; Owner: bdetuadmin; Tablespace: -- ALTER TABLE ONLY etudiant ADD CONSTRAINT tel_uniq UNIQUE (tel); PostgreSQL database dump complete Insertion (insert.sql) PostgreSQL database dump -- SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; SET search_path = public, pg_catalog; Data for Name: etudiant; Type: TABLE DATA; Schema: public; Owner: bdetuadmin -- delete from etudiant ; ISET Djerba TriTux PAGE 15
17 insert into etudiant values (' ','Ben Salah','Mohamed','TI','IR',3,' ',NULL::character varying,null::character varying,'00:16:44:a0:f9:50',null::character varying,'att'); insert into etudiant values (' ','Ayari','Imed', 'TI','TI',1,NULL,NULL::character varying,null::character varying,'b9:aa:28:20:00:f7',null::character varying,'att'); insert into etudiant values (' ','El mehdi','youssef','ti','ir',2,null,null::character varying,null::character varying,null::character varying,null::character varying,'att'); insert into etudiant values (' ','Tounsi','Eya', varying, NULL::character varying,null::character varying,'att'); insert into etudiant values (' ','Mhamdi','Nozha','GM','GM',1,NULL,NULL::character varying,null::character varying,'12:11:5a:3e:88:72', NULL::character varying,'att'); insert into etudiant values (' ','Ben Abdallah','Sonda','GE','GE',1,NULL,NULL::character varying,null::character varying,null::character varying,null::character varying,'att'); insert into etudiant values (' ','Ben Yahia','Sami','TI','II',2,NULL,NULL::character varying,null::character varying,'a4:f5:c0:81:23:e1',null::character varying,'att'); 2.2. Codes sources des connecteurs PodBridge Classe du connecteur : APACLManager Code source : APACLManager.connector.php 1 <?php 2 class APACLManager extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $regexvalidator = array ( 5 'macaddr'=>'/^([0-9a-fa-f]{2}:){5}[0-9a-fa-f]{2}$/'); 6 7 /** 8 * Add adress to MAC filter (forwording) // Method not yet implemented 9 * false 12 * 13 string macaddr address ISET Djerba TriTux PAGE 16
18 14 * 15 (ssid:string,auth_key:string) doforwardmacaddrout 16 doforwardmacaddrout information about the Wireless AP 17 */ 18 public function doforwardmacaddr($macaddr) { if (! preg_match($this->regexvalidator['macaddr'],$macaddr)) 21 Throw new Exception('Wrong Mac address format!', 805); // Method not yet implemented $doforwardmacaddrout = array(); 27 $doforwardmacaddrout['ssid']=$this->params['ssid']; 28 $doforwardmacaddrout['auth_key']=$this->params['auth_key']; 29 return $doforwardmacaddrout; 30 } /** 33 * Remove adress from MAC filter // Method not yet implemented 34 * false 37 * 38 string macaddr address 39 * 40 boolean true if MAC address was removed from ACL 41 */ 42 public function doromoveforwordedmacaddr($macaddr) { if (! preg_match($this->regexvalidator['macaddr'],$macaddr)) 45 Throw new Exception('Wrong Mac address format!', 805); // Method not yet implemented return true; 50 } /* 53 * Make connection to the Server and authenticate 54 * 55 bool true on connection success, false if not 56 */ 57 public function connect() { ISET Djerba TriTux PAGE 17
19 58 return true; 59 } /* 62 * Disconnect from the server by executing a logout command 63 * 64 bool true (allways) 65 */ 66 public function disconnect() { 67 return true; 68 } } Classe du connecteur : BDetu Code source : BDetu.connector.php 1 <?php 2 class BDetu extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $conn=null; 5 6 /** 7 * Returns all information about a student by his id 8 * 9 10 false 11 * 12 string id student identifier 13 * 14 (id:string,nom:string,prenom:string,dep:string,spec:string,niveau:integer,tel:stri ng, string,loginftp:string,adrmac:string,refrecu:string,process:string) getstudentbyidout ); 15 getstudentbyidout information a student 16 */ 17 public function getstudentbyid($id) { if (! preg_match("/^[0-9]{8}$/", $id) ) 20 throw new Exception ("Student id should be 8 digit number", 800 ISET Djerba TriTux PAGE 18
20 21 22 $res = $this->executesql("select * from etudiant where id='".$id."' limit 1",$numrows); if (! $numrows) 25 throw new Exception ("This identifier (".$id.") seems inexistant in database!", 820 ); $getstudentbyidout['id']=$res['id']; 28 $getstudentbyidout['nom']=$res['nom']; 29 $getstudentbyidout['prenom']=$res['prenom']; 30 $getstudentbyidout['dep']=$res['dep']; 31 $getstudentbyidout['spec']=$res['spec']; 32 $getstudentbyidout['niveau']=$res['niveau']; 33 $getstudentbyidout['tel']=$res['tel']; 34 $getstudentbyidout[' ']=$res[' ']; 35 $getstudentbyidout['loginftp']=$res['loginftp']; 36 $getstudentbyidout['adrmac']=$res['adrmac']; 37 $getstudentbyidout['refrecu']=$res['refrecu']; 38 $getstudentbyidout['process']=$res['process']; return $getstudentbyidout; 41 } /** 45 * Update information about a Student in the database 46 * false 49 * 50 string id student identifier 51 string* tel personal phone number 52 string* address 53 string* loginftp ftp login (user name) 54 string* adrmac mac address 55 string* refrecu receipt identifier 56 string* process process execution out state 57 * 58 boolean true always 59 */ 60 public function updatestudentbyid($id,$tel,$ ,$loginftp,$adrmac,$refrecu,$process) { //Validate phone number ISET Djerba TriTux PAGE 19
21 63 if ($tel!=null) { 64 if (! preg_match("/^[0-9]{8}$/", $tel) ) 65 throw new Exception ("Wrong phone number - should be 8 char length", 821 ); ); $rows['tel']=$tel; 68 } //Validate identifier 71 if (! preg_match("/^[0-9]{8}$/", $id) ) 72 throw new Exception ("Student id should be 8 digit number", //Validate Mac address 75 if ($ !=null) { 76 if (! preg_match("/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*[@][a-z0-9_]+([.][a-z0-9_]+)*[.][a-z]{2,4}$/", $ ) ) 77 throw new Exception ("Wrong address!", 823 ); $rows[' ']=$ ; 80 } //Validate ftp login 83 if ($loginftp!=null) { 84 if (! preg_match("/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/", $loginftp) ) 85 throw new Exception ("Wrong ftp login!", 824 ); $rows['loginftp']=$loginftp; 88 } //Validate mac address 91 if ($adrmac!=null) { 92 if (! preg_match("/^[0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9afa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}[:-][0-9a-fa-f]{2}$/", $adrmac) ) 93 throw new Exception ("Wrong mac address!", 825 ); $rows['adrmac']=$adrmac; 96 } //Validate receipt identifier 99 if ($refrecu!=null) { 100 if (! preg_match("/^[0-9]{16}$/", $refrecu) ) 101 throw new Exception ("Receipt identifier should be a 16 digit number", 826 ); 102 ISET Djerba TriTux PAGE 20
22 103 $rows['refrecu']=$refrecu; 104 } //Validate process state code 107 if ($process!=null) { 108 if (! preg_match("/^[a-z]{2,3}$/", $process) ) 109 throw new Exception ("Process state value should be composed from 2 to 3 capital letters", 827 ); $rows['process']=$process; 112 } $cols_to_update=null; 116 foreach ($rows as $rowname=>$value) { 117 if ($cols_to_update!='') $cols_to_update.=','; 118 $cols_to_update.=$rowname."='".$value."'"; 119 } if (!$cols_to_update) 122 throw new Exception ("Null value not permitted!", 828 ); //Check if the id exists 125 $this->executesql("select id from etudiant where id ='".$id."'",$numrows); 126 if (! $numrows) 127 throw new Exception ("This identifier (".$id.") seems inexistant in database!", 820 ); //Execute update statement 130 if ($this->executesql("update etudiant SET ".$cols_to_update." WHERE id='".$id."'")) 131 return true; 132 } /** 139 * Returns the next identifier of the given one (if exists) 140 * If $id param is set to null this method will return the first identifier 141 * 142 ISET Djerba TriTux PAGE 21
23 143 false 144 * 145 string* id identifier 146 string filter filter 147 * 148 (nextid:string,last:boolean) retarray 149 retarray blabla 150 */ 151 public function getnextid($id,$filter) { if (!preg_match("/^(att PAI \*)$/", $filter) ) 154 throw new Exception ("Filter value should be ATT or PAI (*)", 851 ); if (!preg_match("/^[0-9]{8}$/", $id) && $id!=null ) 157 throw new Exception ("id should be either an 8 digit number OR EMPTY (no value)", 852 ); if ($filter!='*') 160 $filter_sql="and process in ('".$filter."') "; $res = $this->executesql("select id from etudiant where id > '".$id."' ".$filter_sql." order by id asc limit 2",$numrows); 163 if (!$numrows) 164 throw new Exception ("No result", 853 ); $retarray = array(); 167 $retarray['nextid']=$res['id']; 168 //$numrows can be 1 or $retarray['last']=($numrows==1); return $retarray; } /* 180 * Executes an sql statement in pgsql server 181 * and returns results as array 182 * 183 string sql sql query 184 * ISET Djerba TriTux PAGE 22
24 185 Array 186 */ 187 private function executesql($sql,&$numrows) { $result = pg_query($this->conn, $sql); 190 if (!$result) 191 throw new Exception ("Error in SQL query: ". pg_last_error(), 870 ); 192 $numrows = pg_numrows($result); $resultarray = pg_fetch_array($result); 195 pg_free_result($result); 196 return $resultarray; } /* 204 * Make connection to the Server and authenticate 205 * 206 boolean true on connection success, false if not 207 */ 208 public function connect() { 209 try { 210 $connect="host=".$this->params['host']." port=".$this- >params['port']." dbname=".$this->params['dbname']." user=".$this- >params['username']; if (!empty($this->params['password'])) 213 $connect.=" password=".$this->params['password']; $this->conn=pg_connect ($connect); if (!$this->conn) 218 throw new Exception ( "Cannot connect to database: ". $this->params ['dbname'], 201 ); return true; 221 } catch ( Exception $e ) { 222 $this->setlasterror ( $e->getcode (), $e->getmessage() ); 223 return false; 224 } 225 } ISET Djerba TriTux PAGE 23
25 /* 228 * Disconnect from the server by executing a logout command 229 * 230 boolean true (allways) 231 */ 232 public function disconnect() { 233 pg_close($this->conn); 234 $this->conn=null; 235 return true; 236 } } Classe du connecteur : pbftpaccountconnector Code source : FTPAccount.connector.php 1 <?php 2 3 class FTPAccount extends PodBridgeConnector implements PodBridgeConnectorInterface { private $sshcon = null; 7 private $authenticated = false; 8 private $regexvalidator = array ( 9 'username'=>'/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/'); /* 12 * Generate random password from a set of chars ($pool) 13 * 14 integer $len Password length 15 string Rand password 16 */ 17 private function generaterandompasswd ( $len = 10 ) { 18 $string = ''; 19 $pool = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ' ; 20 for($i = 1; $i <= $len; $i ++) { 21 $string.= substr ( $pool, rand ( 0, 61 ), 1 ); ISET Djerba TriTux PAGE 24
26 22 } return $string; 25 } /* 28 * Check if the user exists in host 29 * 30 string user User name 31 boolean True if user exist 32 */ 33 private function ifuserexists($user) { 34 $this->ssh2exec ( 'grep "^'.$user.':" /etc/passwd',true,true,$response); 35 if ($response==null) 36 return false; 37 return true; 38 } /* 42 * Convert dd/mm/yyyy format dates to unix date format 43 * 44 string date 45 * 46 Exception 770 Date error 47 * 48 string Unix date 49 */ 50 private function getunixdate($date) { $datearray=explode('/',$date); 53 $dd=$datearray[0]; 54 $mm=$datearray[1]; 55 $yyyy=$datearray[2]; if (! checkdate($mm, $dd, $yyyy) ) 58 Throw new Exception('Date error ('.$date.')', 770); //Convert to unix date format mm/dd/yyyy 61 $unixdate=$mm.'/'.$dd.'/'.$yyyy; 62 return $unixdate; 63 } /** ISET Djerba TriTux PAGE 25
27 66 * Create a new FTP account 67 * false 70 * 71 string user The FTP user login 72 string expiry_date Expiry date 73 boolean use_welcome If use welcome message when user connect 74 * 75 Exception 803 Pattern matching error in user name 76 Exception 804 User already exists 77 * 78 (UserLogin:string,Password:string,ServerDomain:string,FTPPort:integer) docreateftpuseraccountout 79 docreateftpuseraccountout information about the created ftp account 80 */ 81 public function docreateftpuseraccount($user,$expiry_date,$use_welcome=true) { if (! preg_match($this->regexvalidator['username'],$user)) 84 Throw new Exception('Pattern matching error in user name', 803); if ( $this->ifuserexists($user) ) 87 Throw new Exception('User ('.$user.') already exists', 804); //Convert dd/mm/yyyy expiry date to unix date 90 if ( $expiry_date!= 0 ) 91 $unix_expdate = $this->getunixdate($expiry_date); $userhome = $this->params ['ftp_users_path'].'/'.$user; 94 // Generate a random password 95 $password = $this->generaterandompasswd ( $this->params ['autogen_pswd_length'] ); $cryptedpassword = crypt ( strip_tags ( $password ) ); // Create the user 100 $this->ssh2exec ( 'useradd -d '.$userhome.' -m -g '.$this->params ['ftp_group_name'].' -e '.$unix_expdate.' -s /bin/false -p \''.$cryptedpassword.'\' '.$user); if ($use_welcome) { 103 //Set default welcome message ISET Djerba TriTux PAGE 26
28 104 $this->setftpuserwelcomemsg($user,$this->params ['welcome_message']); 105 } $docreateftpuseraccountout = array (); 108 $docreateftpuseraccountout ['UserLogin'] = $user; 109 $docreateftpuseraccountout ['Password'] = $password; 110 $docreateftpuseraccountout ['ServerDomain'] = $this->params ['domain']; 111 $docreateftpuseraccountout ['FTPPort'] = $this->params ['ftp_port']; 112 return $docreateftpuseraccountout; 113 } /** 116 * Set Ftp account expiry date 117 * false 120 * 121 string user The FTP user login 122 string expiry_date Expiry date 123 * 124 Exception 850 User seems inexistant 125 * 126 boolean True when the expiry dates is updated 127 */ 128 public function setftpuseraccountexpirydate($user,$expiry_date) { if (! $this->ifuserexists($user) ) 131 Throw new Exception('User ('.$user.') seems inexistant', 850); 132 //Convert dd/mm/yyyy expiry date to unix date 133 if ( $expiry_date!= 0 ) 134 $unix_expdate = $this->getunixdate($expiry_date); $this->ssh2exec ( 'usermod -e '.$unix_expdate.' '. $user ); 137 return true; } /** 144 * Set or Update user login welcome message 145 * ISET Djerba TriTux PAGE 27
29 false 148 * 149 string user user name 150 string message message to display 151 * 152 Exception 850 User seems inexistant 153 Exception 849 Cannot set empty message 154 * 155 boolean True when the message is set 156 */ 157 public function setftpuserwelcomemsg($user,$message) { if (! $this->ifuserexists($user) ) 160 Throw new Exception('User ('.$user.') seems inexistant', 850); if ($message==null) 163 Throw new Exception('Cannot set an empty message!', 849); $userhome = $this->params ['ftp_users_path'].'/'.$user; 166 $this->ssh2exec ( 'echo -e "'.$message.'">'. $userhome. '/welcome.msg'); return true; } /** 175 * Disable user welcome message while ftp connection 176 * false 179 * 180 string user user name 181 * 182 Exception 850 User seems inexistant 183 * 184 boolean True when the message is set 185 */ 186 public function dodisableftpuserwelcomemsg($user) { if (! $this->ifuserexists($user) ) 189 Throw new Exception('User ('.$user.') seems inexistant', 850); ISET Djerba TriTux PAGE 28
30 $userhome = $this->params ['ftp_users_path'].'/'.$user; 192 $this->ssh2exec ( 'rm -f '. $userhome. '/welcome.msg'); return true; 195 } /** 199 * Change an FTP User account password 200 * false 203 string user User name 204 string oldpassword The old user password 205 string newpassword The new user password 206 * 207 Exception 840 Password verification failed 208 Exception 841 Your password must be between {RANGE} characters in length 209 Exception 842 Password should be different from the old one { 210 * 211 boolean True when password changed 212 */ 213 public function dochangeftpuserpassword($user,$password,$new_password) if (! $this->docheckpassword($user,$password) ) 216 Throw new Exception("Password verification failed", 840); if ( strlen($new_password) < $this->params ['minimum_pswd_length'] strlen($new_password) > $this->params ['maximum_pswd_length']) 219 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); if ($password == $new_password) 222 Throw new Exception("New password should be different from the old one", 842); $cryptednewpassword = crypt ( strip_tags ( $new_password ) ); 225 //Change the user password 226 $this->ssh2exec ( 'usermod -p \''.$cryptednewpassword.'\' '.$user); return true; ISET Djerba TriTux PAGE 29
31 229 } /* 233 * Check if the user password is correct 234 * 235 string user User name 236 string password User password 237 * 238 Exception 850 Entered user name seems inexistant 239 Exception 851 Unexpected error while checking password 240 * 241 boolean True If password check success and False otherwise 242 */ 243 private function docheckpassword($user,$password) { //Check if the user exist 246 if (! $this->ifuserexists($user) ) 247 Throw new Exception('User ('.$user.') seems inexistant', 850); //Retrieve crypted user password from /etc/shadow 250 $this->ssh2exec ( 'grep ^'.$user.': /etc/shadow cut -d":" - f2',true,true,$refpswd); 251 if ($refpswd==null) 252 Throw new Exception("Unexpected error while checking password", 851); $cryptedreferencepassword = trim($refpswd); 255 //Comparing passwords 256 if ( crypt( strip_tags ( $password ),$cryptedreferencepassword )!= $cryptedreferencepassword ) 257 return false; return true; 260 } /** 264 * Delete FTP user account 265 * false 268 string user FTP user name 269 Exception 850 Entered user name seems inexistant ISET Djerba TriTux PAGE 30
32 270 Exception 860 Cannot do such operation on a non ftp user 271 boolean True When user is deleted 272 */ 273 public function dodeleteftpuseraccount($user) { //Check if the user exist 276 if (! $this->ifuserexists($user) ) 277 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if FTP user 280 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 281 if (trim($groupname)!=$this->params ['ftp_group_name']) 282 Throw new Exception("Cannot do such operation on a non FTP user", 860); // Delete the user 285 $this->ssh2exec ( 'userdel -r '.$user); 286 return true; 287 } /** 292 * Transfer files/directories to an FTP account root directory 293 * false 296 * 297 string file Source file or directory inside {files_source_root} 298 string user FTP user name 299 * 300 boolean True copy complete 301 */ 302 public function doftpsendfile($file,$user) { $recursive=null; 305 $dest=$this->params ['ftp_users_path'].'/'.$user.'/'.$file; $srcfile = $this->params ['files_source_root'].'/'.$file; if (! is_file($srcfile) ) { 310 if (! is_dir($srcfile) ) { 311 Throw new Exception("File not found!", 860); ISET Djerba TriTux PAGE 31
33 312 } else { 313 $recursive='-r'; 314 } 315 } $this->ssh2exec ( 'cp '.$recursive.' '.$srcfile.' '.$dest); 318 $this->ssh2exec ( 'chown '.$recursive.' '.$user.':'.$this->params ['ftp_group_name'].' '.$dest); return true; 321 } /* 325 * Executes a $cmd on the SSH connection and return $readable response on-demand 326 * 327 string $cmd Command to execute 328 bool $exception Whether to throw exception on error or return false 329 bool $readresponse Whether to return a readable response or not 330 pointer $response The readable response if requested will be here 331 Exception 200 If ($exception) AND we got an error while executing the command 332 ressource The ssh2_exec return 333 */ 334 private function ssh2exec($cmd, $exception = true, $readresponse = false, &$response = null) { 335 $this->setsessionlog ( 'sent', $cmd ); 336 $stream = ssh2_exec ( $this->sshcon, $cmd ); //get the content of ssh2 stderr 339 $stderr = ssh2_fetch_stream ( $stream, SSH2_STREAM_STDERR ); 340 stream_set_blocking ( $stderr, true ); 341 $response_stderr = stream_get_contents ( $stderr ); 342 fclose ( $stderr ); if ($response_stderr) { 345 if ($exception) { 346 $this->setsessionlog ( 'received', $response_stderr ); 347 throw new Exception ( "Error executing cmd: [$cmd]", 200 ); 348 } else { 349 $this->setsessionlog ( 'received', $response_stderr ); 350 return false; ISET Djerba TriTux PAGE 32
34 351 } 352 } if ($readresponse) { 355 stream_set_blocking ( $stream, true ); 356 $response = stream_get_contents ( $stream ); 357 fclose ( $stream ); 358 $this->setsessionlog ( 'received', $response ); 359 } else { 360 $this->setsessionlog ( 'received', '[PB:noerror]' ); 361 } return $stream; 364 } /* 368 * Make connection to the Server and authenticate 369 * 370 bool true on connection success, false if not 371 */ 372 public function connect() { 373 try { 374 $this->sshcon = ssh2_connect ( $this->params ['host'] ); 375 if (! $this->sshcon) 376 throw new Exception ( "SSH Connection failure To the Host", 200 ); if (! ssh2_auth_password ( $this->sshcon, $this->params ['login'], $this->params ['password'] )) 379 throw new Exception ( "Authentication failure To the host using username: ". $this->params ['login'], 201 ); $this->authenticated = true; 382 return true; 383 } catch ( Exception $e ) { 384 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 385 return false; 386 } 387 } /* 390 * Disconnect from the server by executing a logout command 391 * 392 bool true (allways) ISET Djerba TriTux PAGE 33
35 393 */ 394 public function disconnect() { 395 if ($this->sshcon) { 396 if ($this->authenticated) { 397 ssh2_exec ( $this->sshcon, "logout" ); 398 } else 399 $this->sshcon = null; 400 } return true; 403 } } Classe du connecteur : pbippserviceconnector Code source : IPPService.connector.php 1 <?php 2 class IPPService extends PodBridgeConnector implements PodBridgeConnectorInterface { 3 4 private $ipp = null; 5 6 /** 7 * Print Web pages 8 * 9 10 false 11 * 12 string url web page location exemple: 13 string* jobname new job name 14 * 15 boolean always true 16 */ 17 public function doprintwebpage($url,$jobname=null) { 18 if (! file_get_contents($url,null,null,null,1)) 19 Throw new Exception('Cannot get page contents from ('.$url.')', 700); 20 $tmppsdoc = '/tmp/'.md5(uniqid()); ISET Djerba TriTux PAGE 34
36 21 //Convert web page to a PS document 22 system ( 'html2ps '.$url.'>'.$tmppsdoc); 23 $this->doprintinternaldocument($tmppsdoc,$jobname); 24 //Cleaning 25 system ( 'rm -f '.$tmppsdoc); 26 return true; 27 } /** 30 * 31 * Print documents located in server 32 * false 35 * 36 string filepath path to file 37 string* jobname new job name 38 * 39 boolean always true 40 */ 41 public function doprintinternaldocument($filepath,$jobname=null) { if (! file_exists($filepath)) 44 Throw new Exception('File does not exists!', 705); if (!$jobname ) 47 $jobname=$filepath; $this->ipp->setjobname($jobname); $this->ipp->setdata($filepath); // Path to file. 52 $this->ipp->printjob(); 53 return true; 54 } /** 57 * Returns all available printers 58 * false 61 * 62 * 63 string Liste all printers uri delimited by ";" 64 */ ISET Djerba TriTux PAGE 35
37 65 public function getprinters() { $this->ipp->getprinters(); 68 $printers=null; 69 foreach( $this->ipp->available_printers as $printer) { 70 if ( $printers ) $printers.=";"; 71 $printers.=$printer; 72 } return $printers; 75 } // Method not yet implemented 78 public function getalljobs() { return true; 81 } // Method not yet implemented 84 public function killjobbyid($jobid) { return true; 87 } // Method not yet implemented 90 public function killalljobs() { return true; 93 } // Method not yet implemented 97 public function getlastjob() { 98 //return $this->ipp->last_job; 99 } /* 102 * Make connection to the Server and authenticate 103 * 104 bool true on connection success, false if not 105 */ 106 public function connect() { // For documentation refer to ==> ISET Djerba TriTux PAGE 36
38 109 require_once("printippclasses/cupsprintipp.php"); 110 $this->ipp = new CupsPrintIPP; $this->ipp->setusername($this->params['user']); 113 $this->ipp->setauthentication($this->params['user'],$this- >params['password']); // username & password $this->ipp->sethost($this->params['ipp_host']); 116 $this->ipp->setport($this->params['ipp_port']); $this->ipp->setprinteruri($this->params['printer_uri']); return true; 121 } /* 124 * Disconnect from the server by executing a logout command 125 * 126 bool true (allways) 127 */ 128 public function disconnect() { 129 unset ($this->ipp); 130 return true; 131 } } Classe du connecteur : pbmailaccountconnector Code source : MailAccount.connector.php 1 <?php 2 3 class MailAccount extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 private $sshcon = null; 6 private $authenticated = false; 7 private $regexvalidator = array ( 8 'fstname_lstname'=>'/^[a-z]{2,24}$/', 9 'username'=>'/^[^0-9][a-z0-9_]+([.][a-z0-9_]+)*$/', ISET Djerba TriTux PAGE 37
39 10 11 /* 12 * Generate random password from a set of chars ($pool) 13 * 14 integer $len Password length 15 string Rand password 16 */ 17 private function generaterandompasswd($len = 10) { 18 $string = ''; 19 $pool = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ' ; 20 for($i = 1; $i <= $len; $i ++) { 21 $string.= substr ( $pool, rand ( 0, 61 ), 1 ); 22 } return $string; 25 } /* 28 * Check if the user exists in host 29 * 30 string user User name 31 boolean True if user exist 32 */ 33 private function ifuserexists($user) { 34 $this->ssh2exec ( 'grep "^'.$user.':" /etc/passwd',true,true,$response); 35 if ($response==null) 36 return false; 37 return true; 38 } /* 42 * Generate an unique user name by fstname and lstname 43 * 44 string fstname The user first name 45 string lstname The user last name 46 * 47 Exception 895 Invalid first name 48 Exception 896 Invalid last name 49 * 50 string user name 51 */ ISET Djerba TriTux PAGE 38
40 52 private function generateusername($fstname,$lstname) { $fstname = strtolower(trim($fstname)); 56 $lstname = strtolower(trim($lstname)); 57 $fstname=str_replace(' ', '_', $fstname); 58 $lstname=str_replace(' ', '_', $lstname); //Check the first name 61 if (! preg_match($this- >regexvalidator['fstname_lstname'],$fstname)) 62 Throw new Exception('Invalid first name', 895); 63 //Check the last name 64 if (! preg_match($this- >regexvalidator['fstname_lstname'],$lstname)) 65 Throw new Exception('Invalid last name', 896); $username=$fstname.'.'.$lstname ; 68 $suffix=null; while ($this->ifuserexists($username.$suffix)) { 71 if (! $suffix ) $suffix=0 ; 72 $suffix++; 73 } return ($username.$suffix); 76 } /* 80 * Retrieve user name from an address 81 * 82 string addr address 83 * 84 Exception 870 Invalid address 85 Exception 890 Cannot do this operation on [domain] 86 * 87 string user name 88 */ 89 private function dostripatdomain($ addr) { //Check address to local user name 92 if (! preg_match($this- >regexvalidator[' address'],$ addr)) ISET Djerba TriTux PAGE 39
41 93 Throw new Exception('Invalid address: ('.$ addr.')', 870); //Convert user address to user name $domain=$part[1]; //Check the domaine name 101 if ( $domain!= $this->params['domain'] ) 102 Throw new Exception('This is not registered at '.$this- >params['domain'], 890); $user=$part[0]; return $user; } /** 113 * Create new mail user Version * false 117 * 118 string fstname The user first name 119 string lstname The user last name 120 boolean genpswd For auto generated password 121 string password User defined password 122 * 123 ( Adress:string,Password:string,WebMa ilurl:string) retmailaccount2 124 retmailaccount2 information about the created mail account 125 */ 126 public function docreat useraccount2($fstname,$lstname,$genpswd,$password) { $genusername=$this->generateusername($fstname, $lstname); 129 $retmailaccount2 = $this- >docreat useraccount($genusername,$genpswd,$password); return $retmailaccount2; 132 } 133 ISET Djerba TriTux PAGE 40
42 /** 137 * Create new mail user Version * false 141 string user The mail user logins 142 boolean genpswd For auto generated password 143 string password User defined password 144 * 145 Exception 803 Password verification failed 146 Exception 804 User already exists 147 Exception 841 Your password must be between {RANGE} characters in length 148 * 149 ( Adress:string,Password:string,POP3Port:integer,SMTPPort:integer,WebMailUrl:s tring) retmailaccount 150 retmailaccount information about the created mail account 151 */ 152 public function docreat useraccount($user,$genpswd,$password) { if (! preg_match($this->regexvalidator['username'],$user)) 155 Throw new Exception('Pattern matching error in user name', 803); if ( $this->ifuserexists($user) ) 158 Throw new Exception('User ('.$user.') already exists', 804); $UserHomeDir = $this->params ['mail_users_path'].'/'.$user; // Generate a random password 163 if ($genpswd) { 164 $password = $this->generaterandompasswd ( $this->params ['autogen_pswd_length'] ); 165 } else { 166 if ( strlen($password) < $this->params ['minimum_pswd_length'] strlen($password) > $this->params ['maximum_pswd_length']) 167 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); } $cryptedpassword = crypt ( strip_tags ( $password ) ); ISET Djerba TriTux PAGE 41
43 // Create the user 174 $this->ssh2exec ( 'useradd -d '.$UserHomeDir.' -m -g '.$this- >params ['mail_group_name'].' -s /bin/false -p \''.$cryptedpassword.'\' '.$user); ; $retmailaccount = array(); 177 $retmailaccount [' Adress'] = $user.'@'.$this->params['domain'] 178 $retmailaccount ['Password'] = $password; 179 $retmailaccount ['POP3Port'] = $this->params ['pop3_port']; 180 $retmailaccount ['SMTPPort'] = $this->params ['smtp_port']; 181 $retmailaccount ['WebMailUrl'] = $this->params ['web_mail_url']; return $retmailaccount; } /** 189 * Cahnge a user password 190 * false 193 string addr user address 194 string oldpassword The old user password 195 string newpassword The new user password 196 * 197 Exception 840 Password verification failed 198 Exception 841 Your password must be between {RANGE} characters in length 199 Exception 842 Password should be different from the old one 200 * 201 boolean True when password changed 202 */ 203 public function dochang userpassword($ addr,$password,$new_password) { //Convert user address to user name 206 $user = $this->dostripatdomain($ addr); if (! $this->docheckpassword($user,$password) ) 209 Throw new Exception("Password verification failed", 840); if ( strlen($new_password) < $this->params ['minimum_pswd_length'] strlen($new_password) > $this->params ['maximum_pswd_length']) ISET Djerba TriTux PAGE 42
44 212 Throw new Exception("Your password must be between ".$this- >params ['minimum_pswd_length']."-".$this->params ['maximum_pswd_length']." characters in length", 841); if ($password == $new_password) 215 Throw new Exception("New password should be different from the old one", 842); $cryptednewpassword = crypt ( strip_tags ( $new_password ) ); 218 //Change the user password 219 $this->ssh2exec ( 'usermod -p \''.$cryptednewpassword.'\' '.$user); return true; 222 } /* 225 * Check if the user password is correct 226 * 227 string addr user user login 228 string password user password 229 * 230 Exception 850 Entered user name seems inexistant 231 Exception 851 Unexpected error while checking password 232 * 233 boolean True If password check success and False otherwise 234 */ 235 private function docheckpassword($user,$password) { //Check if the user exist 239 if (! $this->ifuserexists($user) ) 240 Throw new Exception('User ('.$user.') seems inexistant', 850); //Retrieve crypted user password from /etc/shadow 243 $this->ssh2exec ( 'grep ^'.$user.': /etc/shadow cut -d":" - f2',true,true,$refpswd); 244 if ($refpswd==null) 245 Throw new Exception("Unexpected error while checking password", 851); $cryptedreferencepassword = trim($refpswd); 248 //Comparing passwords 249 if ( crypt( strip_tags ( $password ),$cryptedreferencepassword )!= $cryptedreferencepassword ) 250 return false; ISET Djerba TriTux PAGE 43
45 return true; 253 } /** 256 * Delete a mail user account 257 * false 260 string addr mail user name or full adress 261 Exception 850 Entered user name seems inexistant 262 Exception 860 Cannot do such operation on a non mail user 263 boolean True When user is deleted 264 */ 265 public function dodelet useraccount($ addr) { //Convert user address to user name 268 $user = $this->dostripatdomain($ addr); //Check if the user exist 271 if (! $this->ifuserexists($user) ) 272 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user 275 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 276 if (trim($groupname)!=$this->params ['mail_group_name']) 277 Throw new Exception("Cannot do such operation on a non mail user", 860); // Delete the user 280 $this->ssh2exec ( 'userdel -r '.$user); 281 return true; 282 } /** 286 * Unlock a mail user account 287 * false 290 string addr mail user name or full adress 291 Exception 850 Entered user name seems inexistant 292 Exception 860 Cannot do such operation on a non mail user ISET Djerba TriTux PAGE 44
46 293 boolean True When user account is unlocked 294 */ 295 public function dounlockmailuseraccount($ addr) { //Convert user address to user name 298 $user = $this->dostripatdomain($ addr); //Check if the user exist 301 if (! $this->ifuserexists($user) ) 302 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user 305 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 306 if (trim($groupname)!=$this->params ['mail_group_name']) 307 Throw new Exception("Cannot do such operation on a non mail user", 860); // Activate the user account 310 $this->ssh2exec ( 'passwd -u '.$user); 311 return true; 312 } /** 315 * Lock a mail user account 316 * false 319 string addr mail user name or full adress 320 Exception 850 Entered user name seems inexistant 321 Exception 860 Cannot do such operation on a non mail user 322 boolean True When user account is locked 323 */ 324 public function dolockmailuseraccount($ addr) { //Convert user address to user name 327 $user = $this->dostripatdomain($ addr); //Check if the user exist 330 if (! $this->ifuserexists($user) ) 331 Throw new Exception('User ('.$user.') seems inexistant', 850); //Verify if mail user ISET Djerba TriTux PAGE 45
47 334 $this->ssh2exec ( 'groups '.$user,true,true,$groupname); 335 if (trim($groupname)!=$this->params ['mail_group_name']) 336 Throw new Exception("Cannot do such operation on a non mail user", 860); // Disable the user account 339 $this->ssh2exec ( 'passwd -l '.$user); 340 return true; 341 } /** 345 * Send (internal) 346 * false 349 string from Sender address or user name 350 string to Receiver address 351 string message Message body 352 string subject The subject of the message 353 * 354 Exception 850 Entered user name seems inexistant 355 Exception 870 Invalid receiver address 356 Exception 871 Cannot send empty message 357 * 358 * 359 boolean True when message sent 360 */ 361 public function dosendmail($from,$to,$message,$subject=null) { //Convert sender address to user name 364 $user_sender = $this->dostripatdomain($from); //Check if the sender user exist 368 if (! $this->ifuserexists($user_sender) ) 369 Throw new Exception('User ('.$user_sender.') seems inexistant', 850); if (! preg_match($this->regexvalidator[' address'],$to)) 372 Throw new Exception('Invalid address: ('.$to.')', 870); if ( $message==null ) 375 Throw new Exception('Cannot send empty message', 871); 376 ISET Djerba TriTux PAGE 46
48 377 //Send a message 378 $this->ssh2exec ( 'echo -e "'.$message.'" sudo -u '.$user_sender.' mail -s "'.$subject.'" '.$to); 379 return true; 380 } /* 385 * Executes a $cmd on the SSH connection and return $readable response on-demand 386 * 387 string $cmd Command to execute 388 bool $exception Whether to throw exception on error or return false 389 bool $readresponse Whether to return a readable response or not 390 pointer $response The readable response if requested will be here 391 Exception 200 If ($exception) AND we got an error while executing the command 392 ressource The ssh2_exec return 393 */ 394 private function ssh2exec($cmd, $exception = true, $readresponse = false, &$response = null) { 395 $this->setsessionlog ( 'sent', $cmd ); 396 $stream = ssh2_exec ( $this->sshcon, $cmd ); //get the content of ssh2 stderr 399 $stderr = ssh2_fetch_stream ( $stream, SSH2_STREAM_STDERR ); 400 stream_set_blocking ( $stderr, true ); 401 $response_stderr = stream_get_contents ( $stderr ); 402 fclose ( $stderr ); if ($response_stderr) { 405 if ($exception) { 406 $this->setsessionlog ( 'received', $response_stderr ); 407 throw new Exception ( "Error executing cmd: [$cmd]", 200 ); 408 } else { 409 $this->setsessionlog ( 'received', $response_stderr ); 410 return false; 411 } 412 } if ($readresponse) { 415 stream_set_blocking ( $stream, true ); ISET Djerba TriTux PAGE 47
49 416 $response = stream_get_contents ( $stream ); 417 fclose ( $stream ); 418 $this->setsessionlog ( 'received', $response ); 419 } else { 420 $this->setsessionlog ( 'received', '[PB:noerror]' ); 421 } return $stream; 424 } /* 428 * Make connection to the Server and authenticate 429 * 430 bool true on connection success, false if not 431 */ 432 public function connect() { 433 try { 434 $this->sshcon = ssh2_connect ( $this->params ['host'] ); 435 if (! $this->sshcon) 436 throw new Exception ( "SSH Connection failure To the Host", 200 ); if (! ssh2_auth_password ( $this->sshcon, $this->params ['login'], $this->params ['password'] )) 439 throw new Exception ( "Authentication failure To the host using username: ". $this->params ['login'], 201 ); $this->authenticated = true; 442 return true; 443 } catch ( Exception $e ) { 444 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 445 return false; 446 } 447 } /* 450 * Disconnect from the server by executing a logout command 451 * 452 bool true (allways) 453 */ 454 public function disconnect() { 455 if ($this->sshcon) { 456 if ($this->authenticated) { 457 ssh2_exec ( $this->sshcon, "logout" ); ISET Djerba TriTux PAGE 48
50 458 } else 459 $this->sshcon = null; 460 } return true; 463 } } Classe du connecteur : pbsmsserviceconnector Code source : SMSService.connector.php 1 <?php 2 3 class SMSService extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 //cannot be delivered 6 7 private $regexvalidator = array ( 8 'sn_regex'=>'/^(00 \+ [0-9])[0-9]{7}$/'); 9 10 /** 11 * dosendsms 12 * false 15 * 16 string destinataire Destination Phone number 17 string message Message Text 18 * 19 boolean true if message successfully sent 20 */ 21 public function dosendsms($destinataire,$message) { //cannot be delivered 24 ISET Djerba TriTux PAGE 49
51 25 return true; 26 } private function stripspaces($phonenumber) { 30 $fixed=str_replace(' ', '',$phonenumber); 31 if (! preg_match($this->regexvalidator['sn_regex'],$fixed)) 32 Throw new Exception('Phone number format error', 808); return $fixed; 35 } /* 38 * Make connection to the Server and authenticate 39 * 40 bool true on connection success, false if not 41 */ 42 public function connect() { 43 //cannot be delivered 44 return true; } /* 49 * Disconnect from the server by executing a logout command 50 * 51 bool true (allways) 52 */ 53 public function disconnect() { 54 //cannot be delivered 55 return true; 56 } } Classe du connecteur : pbwwwsubscrconnector Code source : wwwsubscr.connector.php ISET Djerba TriTux PAGE 50
52 1 <?php 2 3 class wwwsubscr extends PodBridgeConnector implements PodBridgeConnectorInterface { 4 5 private $curl_handle = null; 6 7 /** 8 * Returns the receipt identifier and URL for the web site 9 * false 12 * 13 string studentident Identifiant de l'étudiant 14 string au AU format exp: 2009/ * 16 (refaccuse:string,urlaccuse:string) getaccuseout 17 getaccuseout Return refaccuse & urlaccuse 18 */ 19 public function getaccuse($studentident,$au) { $ref=$this->getaccuseref($studentident,$au); 22 $url=' $getaccuseout = array (); 25 $getaccuseout['refaccuse']=$ref; 26 $getaccuseout['urlaccuse']=$url; return $getaccuseout; } /* 34 string studentident Student identifier 35 string au AU format exp: 2009/ * 37 string Référence du reçu 38 */ 39 private function getaccuseref($studentident,$au) { if (! preg_match('/^[0-9]{8}$/',$studentident) ) 42 Throw new Exception('L\'identifiant de l\'étudiant doit être compsé de 8 chiffres', 805); 43 ISET Djerba TriTux PAGE 51
53 44 if (! preg_match('/^20[0-9][0-9]\/20[0-9][0-9]$/',$au) ) 45 Throw new Exception('L\'année universitaire doit être en ce format AAAA/AAAA', 806); curl_setopt($this->curl_handle,curlopt_post,1); 48 curl_setopt($this- >curl_handle,curlopt_postfields,'ident='.$studentident); 49 $buffer = curl_exec($this->curl_handle); preg_match('/nom:/', (string)$buffer,$matches0); 52 preg_match('/20[0-9][0-9]\/20[0-9][0-9]/', (string)$buffer,$matches1 ); 53 preg_match('/[0-9]{16}/', (string)$buffer,$matches2); if (! $matches0[0]) 56 Throw new Exception('Identifiant de l\'étudiant est non reconnu', 807); if ( $matches1[0]!=$au) 59 Throw new Exception('Payement non effectué!', 809); $ref=$matches2[0]; return $ref; 64 } /* 68 * Make connection to the Server and authenticate 69 * 70 bool true on connection success, false if not 71 */ 72 public function connect() { try { $this->curl_handle = curl_init(); 77 curl_setopt( $this- >curl_handle,curlopt_url,"inscription.edu.demo"); 78 curl_setopt($this->curl_handle,curlopt_connecttimeout,2); 79 curl_setopt($this->curl_handle,curlopt_returntransfer,1); return true; } catch ( Exception $e ) { ISET Djerba TriTux PAGE 52
54 84 $this->setlasterror ( $e->getcode (), $e->getmessage () ); 85 return false; 86 } } /* 91 * Disconnect from the server by executing a logout command 92 * 93 bool true (allways) 94 */ 95 public function disconnect() { curl_close($this->curl_handle); return true; 100 } } Fichiers WSDL WSDL exposé par PodBridge1.2 sur «podbridge.intranet.demo» Source : all <definitions xmlns=" name="podbridge" targetnamespace="urn:pbns" xmlns:pbns="urn:pbns" xmlns:xsd=" xmlns:wsdl=" xmlns:soap=" xmlns:ippservicens="urn:ippservicens" xmlns:ftpacntns="urn:ftpacntns" xmlns:bdetuns="urn:bdetuns" xmlns:smsservicens="urn:smsservicens" xmlns:apaclmanns="urn:apaclmanns" xmlns:wwwsubscrns="urn:wwwsubscrns"> <types> <schema xmlns=" targetnamespace="urn:pbns" elementformdefault="qualified" attributeformdefault="qualified"> ISET Djerba TriTux PAGE 53
55 <xsd:complextype name="tstatus"> <xsd:sequence> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="code" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <element name="ping"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="pingresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:ippservicens" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <element name="doprintwebpage"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" ISET Djerba TriTux PAGE 54
56 <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="url" type="xsd:string"/> <xsd:element name="jobname" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </element> <element name="doprintwebpageresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doprintinternaldocument"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="filepath" type="xsd:string"/> <xsd:element name="jobname" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </element> <element name="doprintinternaldocumentresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 55
57 </xsd:sequence> </xsd:complextype> </element> <element name="getprinters"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="getprintersresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:string" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:ftpacntns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="docreateftpuseraccountout"> <xsd:sequence> <xsd:element name="userlogin" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="serverdomain" type="xsd:string"/> <xsd:element name="ftpport" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> <element name="docreateftpuseraccount"> <xsd:complextype> <xsd:sequence> ISET Djerba TriTux PAGE 56
58 <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="expiry_date" type="xsd:string"/> <xsd:element name="use_welcome" type="xsd:boolean"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreateftpuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="ftpacntns:docreateftpuseraccountout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="setftpuseraccountexpirydate"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="expiry_date" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="setftpuseraccountexpirydateresponse"> <xsd:complextype> ISET Djerba TriTux PAGE 57
59 <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="setftpuserwelcomemsg"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="setftpuserwelcomemsgresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodisableftpuserwelcomemsg"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 58
60 <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dodisableftpuserwelcomemsgresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dochangeftpuserpassword"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="oldpassword" type="xsd:string"/> <xsd:element name="newpassword" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dochangeftpuserpasswordresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> ISET Djerba TriTux PAGE 59
61 <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodeleteftpuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dodeleteftpuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doftpsendfile"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 60
62 <xsd:element name="file" type="xsd:string"/> <xsd:element name="user" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="doftpsendfileresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:bdetuns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="getstudentbyidout"> <xsd:sequence> <xsd:element name="id" type="xsd:string"/> <xsd:element name="nom" type="xsd:string"/> <xsd:element name="prenom" type="xsd:string"/> <xsd:element name="dep" type="xsd:string"/> <xsd:element name="spec" type="xsd:string"/> <xsd:element name="niveau" type="xsd:integer"/> <xsd:element name="tel" type="xsd:string"/> <xsd:element name=" " type="xsd:string"/> <xsd:element name="loginftp" type="xsd:string"/> <xsd:element name="adrmac" type="xsd:string"/> <xsd:element name="refrecu" type="xsd:string"/> <xsd:element name="process" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="getstudentbyid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" ISET Djerba TriTux PAGE 61
63 <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getstudentbyidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="bdetuns:getstudentbyidout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="updatestudentbyid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string"/> <xsd:element name="tel" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name=" " type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="loginftp" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="adrmac" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="refrecu" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="process" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> ISET Djerba TriTux PAGE 62
64 </element> <element name="updatestudentbyidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <xsd:complextype name="retarray"> <xsd:sequence> <xsd:element name="nextid" type="xsd:string"/> <xsd:element name="last" type="xsd:boolean"/> </xsd:sequence> </xsd:complextype> <element name="getnextid"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="id" type="xsd:string" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="filter" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getnextidresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="bdetuns:retarray" minoccurs="0" ISET Djerba TriTux PAGE 63
65 </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:smsservicens" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <element name="dosendsms"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="destinataire" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dosendsmsresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:apaclmanns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="doforwardmacaddrout"> <xsd:sequence> <xsd:element name="ssid" type="xsd:string"/> <xsd:element name="auth_key" type="xsd:string"/> ISET Djerba TriTux PAGE 64
66 </xsd:sequence> </xsd:complextype> <element name="doforwardmacaddr"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="macaddr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="doforwardmacaddrresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="apaclmanns:doforwardmacaddrout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="doromoveforwordedmacaddr"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="macaddr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> ISET Djerba TriTux PAGE 65
67 <element name="doromoveforwordedmacaddrresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:wwwsubscrns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:pbns"/> <xsd:complextype name="getaccuseout"> <xsd:sequence> <xsd:element name="refaccuse" type="xsd:string"/> <xsd:element name="urlaccuse" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="getaccuse"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="studentident" type="xsd:string"/> <xsd:element name="au" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="getaccuseresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> ISET Djerba TriTux PAGE 66
68 <xsd:element name="status" type="pbns:tstatus" minoccurs="0" <xsd:element name="response" type="wwwsubscrns:getaccuseout" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> </types> <porttype name="podbridgeporttype"> <operation name="ping"> <input message="pbns:pingrequest"/> <output message="pbns:pingresponse"/> </operation> <operation name="doprintwebpage"> <input message="pbns:doprintwebpagerequest"/> <output message="pbns:doprintwebpageresponse"/> </operation> <operation name="doprintinternaldocument"> <input message="pbns:doprintinternaldocumentrequest"/> <output message="pbns:doprintinternaldocumentresponse"/> </operation> <operation name="getprinters"> <input message="pbns:getprintersrequest"/> <output message="pbns:getprintersresponse"/> </operation> <operation name="docreateftpuseraccount"> <input message="pbns:docreateftpuseraccountrequest"/> <output message="pbns:docreateftpuseraccountresponse"/> </operation> <operation name="setftpuseraccountexpirydate"> <input message="pbns:setftpuseraccountexpirydaterequest"/> <output message="pbns:setftpuseraccountexpirydateresponse" /> </operation> <operation name="setftpuserwelcomemsg"> <input message="pbns:setftpuserwelcomemsgrequest"/> <output message="pbns:setftpuserwelcomemsgresponse"/> </operation> <operation name="dodisableftpuserwelcomemsg"> <input message="pbns:dodisableftpuserwelcomemsgrequest"/> <output message="pbns:dodisableftpuserwelcomemsgresponse"/> </operation> <operation name="dochangeftpuserpassword"> <input message="pbns:dochangeftpuserpasswordrequest"/> <output message="pbns:dochangeftpuserpasswordresponse"/> ISET Djerba TriTux PAGE 67
69 </operation> <operation name="dodeleteftpuseraccount"> <input message="pbns:dodeleteftpuseraccountrequest"/> <output message="pbns:dodeleteftpuseraccountresponse"/> </operation> <operation name="doftpsendfile"> <input message="pbns:doftpsendfilerequest"/> <output message="pbns:doftpsendfileresponse"/> </operation> <operation name="getstudentbyid"> <input message="pbns:getstudentbyidrequest"/> <output message="pbns:getstudentbyidresponse"/> </operation> <operation name="updatestudentbyid"> <input message="pbns:updatestudentbyidrequest"/> <output message="pbns:updatestudentbyidresponse"/> </operation> <operation name="getnextid"> <input message="pbns:getnextidrequest"/> <output message="pbns:getnextidresponse"/> </operation> <operation name="dosendsms"> <input message="pbns:dosendsmsrequest"/> <output message="pbns:dosendsmsresponse"/> </operation> <operation name="doforwardmacaddr"> <input message="pbns:doforwardmacaddrrequest"/> <output message="pbns:doforwardmacaddrresponse"/> </operation> <operation name="doromoveforwordedmacaddr"> <input message="pbns:doromoveforwordedmacaddrrequest"/> <output message="pbns:doromoveforwordedmacaddrresponse"/> </operation> <operation name="getaccuse"> <input message="pbns:getaccuserequest"/> <output message="pbns:getaccuseresponse"/> </operation> </porttype> <binding name="podbridgebinding" type="pbns:podbridgeporttype"> <soap:binding style="document" transport=" <operation name="ping"> <input> <soap:body use="literal"/> </input> ISET Djerba TriTux PAGE 68
70 <output> <soap:body use="literal"/> </output> </operation> <operation name="doprintwebpage"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doprintinternaldocument"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getprinters"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreateftpuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="setftpuseraccountexpirydate"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 69
71 <operation name="setftpuserwelcomemsg"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodisableftpuserwelcomemsg"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dochangeftpuserpassword"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodeleteftpuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doftpsendfile"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getstudentbyid"> <input> <soap:body use="literal"/> </input> ISET Djerba TriTux PAGE 70
72 <output> <soap:body use="literal"/> </output> </operation> <operation name="updatestudentbyid"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getnextid"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dosendsms"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doforwardmacaddr"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="doromoveforwordedmacaddr"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 71
73 <operation name="getaccuse"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <message name="pingrequest"> <part name="body" element="pbns:ping"/> </message> <message name="pingresponse"> <part name="body" element="pbns:pingresponse"/> </message> <message name="doprintwebpagerequest"> <part name="body" element="ippservicens:doprintwebpage"/> </message> <message name="doprintwebpageresponse"> <part name="body" element="ippservicens:doprintwebpageresponse"/> </message> <message name="doprintinternaldocumentrequest"> <part name="body" element="ippservicens:doprintinternaldocument"/> </message> <message name="doprintinternaldocumentresponse"> <part name="body" element="ippservicens:doprintinternaldocumentresponse" /> </message> <message name="getprintersrequest"> <part name="body" element="ippservicens:getprinters"/> </message> <message name="getprintersresponse"> <part name="body" element="ippservicens:getprintersresponse"/> </message> <message name="docreateftpuseraccountrequest"> <part name="body" element="ftpacntns:docreateftpuseraccount"/> </message> <message name="docreateftpuseraccountresponse"> <part name="body" element="ftpacntns:docreateftpuseraccountresponse"/> </message> <message name="setftpuseraccountexpirydaterequest"> <part name="body" element="ftpacntns:setftpuseraccountexpirydate"/> </message> <message name="setftpuseraccountexpirydateresponse"> <part name="body" element="ftpacntns:setftpuseraccountexpirydateresponse"/> ISET Djerba TriTux PAGE 72
74 </message> <message name="setftpuserwelcomemsgrequest"> <part name="body" element="ftpacntns:setftpuserwelcomemsg"/> </message> <message name="setftpuserwelcomemsgresponse"> <part name="body" element="ftpacntns:setftpuserwelcomemsgresponse"/> </message> <message name="dodisableftpuserwelcomemsgrequest"> <part name="body" element="ftpacntns:dodisableftpuserwelcomemsg"/> </message> <message name="dodisableftpuserwelcomemsgresponse"> <part name="body" element="ftpacntns:dodisableftpuserwelcomemsgresponse"/> </message> <message name="dochangeftpuserpasswordrequest"> <part name="body" element="ftpacntns:dochangeftpuserpassword"/> </message> <message name="dochangeftpuserpasswordresponse"> <part name="body" element="ftpacntns:dochangeftpuserpasswordresponse" /> </message> <message name="dodeleteftpuseraccountrequest"> <part name="body" element="ftpacntns:dodeleteftpuseraccount"/> </message> <message name="dodeleteftpuseraccountresponse"> <part name="body" element="ftpacntns:dodeleteftpuseraccountresponse"/> </message> <message name="doftpsendfilerequest"> <part name="body" element="ftpacntns:doftpsendfile"/> </message> <message name="doftpsendfileresponse"> <part name="body" element="ftpacntns:doftpsendfileresponse"/> </message> <message name="getstudentbyidrequest"> <part name="body" element="bdetuns:getstudentbyid"/> </message> <message name="getstudentbyidresponse"> <part name="body" element="bdetuns:getstudentbyidresponse"/> </message> <message name="updatestudentbyidrequest"> <part name="body" element="bdetuns:updatestudentbyid"/> </message> <message name="updatestudentbyidresponse"> <part name="body" element="bdetuns:updatestudentbyidresponse"/> </message> <message name="getnextidrequest"> ISET Djerba TriTux PAGE 73
75 <part name="body" element="bdetuns:getnextid"/> </message> <message name="getnextidresponse"> <part name="body" element="bdetuns:getnextidresponse"/> </message> <message name="dosendsmsrequest"> <part name="body" element="smsservicens:dosendsms"/> </message> <message name="dosendsmsresponse"> <part name="body" element="smsservicens:dosendsmsresponse"/> </message> <message name="doforwardmacaddrrequest"> <part name="body" element="apaclmanns:doforwardmacaddr"/> </message> <message name="doforwardmacaddrresponse"> <part name="body" element="apaclmanns:doforwardmacaddrresponse"/> </message> <message name="doromoveforwordedmacaddrrequest"> <part name="body" element="apaclmanns:doromoveforwordedmacaddr"/> </message> <message name="doromoveforwordedmacaddrresponse"> <part name="body" element="apaclmanns:doromoveforwordedmacaddrresponse"/> </message> <message name="getaccuserequest"> <part name="body" element="wwwsubscrns:getaccuse"/> </message> <message name="getaccuseresponse"> <part name="body" element="wwwsubscrns:getaccuseresponse"/> </message> <service name="podbridgeservice"> <port name="podbridgeport" binding="pbns:podbridgebinding"> <soap:address location=" </port> </service> </definitions> WSDL exposé par PodBridge1.2 sur «ws.rnu.edu.demo» Source : ISET Djerba TriTux PAGE 74
76 <?xml version="1.0" encoding="utf-8"?> <definitions xmlns=" name="podbridge" targetnamespace="urn:tns" xmlns:tns="urn:tns" xmlns:xsd=" xmlns:wsdl=" xmlns:soap=" xmlns:pbns="urn:pbns" xmlns:mailacntns="urn:mailacntns"> <types> <schema xmlns=" targetnamespace="urn:tns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:complextype name="tstatus"> <xsd:sequence> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="code" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> </schema> <schema xmlns=" targetnamespace="urn:pbns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:tns"/> <element name="ping"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="pingresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" </xsd:sequence> ISET Djerba TriTux PAGE 75
77 </xsd:complextype> </element> </schema> <schema xmlns=" targetnamespace="urn:mailacntns" elementformdefault="qualified" attributeformdefault="qualified"> <xsd:import namespace="urn:tns"/> <xsd:complextype name="retmailaccount2"> <xsd:sequence> <xsd:element name=" adress" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="webmailurl" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="docreat useraccount2"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="fstname" type="xsd:string"/> <xsd:element name="lstname" type="xsd:string"/> <xsd:element name="genpswd" type="xsd:boolean"/> <xsd:element name="password" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreat useraccount2response"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="mailacntns:retmailaccount2" minoccurs="0" ISET Djerba TriTux PAGE 76
78 </xsd:sequence> </xsd:complextype> </element> <xsd:complextype name="retmailaccount"> <xsd:sequence> <xsd:element name=" adress" type="xsd:string"/> <xsd:element name="password" type="xsd:string"/> <xsd:element name="pop3port" type="xsd:integer"/> <xsd:element name="smtpport" type="xsd:integer"/> <xsd:element name="webmailurl" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <element name="docreat useraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="user" type="xsd:string"/> <xsd:element name="genpswd" type="xsd:boolean"/> <xsd:element name="password" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="docreat useraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="mailacntns:retmailaccount" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> ISET Djerba TriTux PAGE 77
79 <element name="dochang userpassword"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> <xsd:element name="oldpassword" type="xsd:string"/> <xsd:element name="newpassword" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dochang userpasswordresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dodelet useraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> ISET Djerba TriTux PAGE 78
80 </xsd:sequence> </xsd:complextype> </element> <element name="dodelet useraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dounlockmailuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dounlockmailuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> ISET Djerba TriTux PAGE 79
81 </element> <element name="dolockmailuseraccount"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name=" addr" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dolockmailuseraccountresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> <element name="dosendmail"> <xsd:complextype> <xsd:sequence> <xsd:element name="key" type="xsd:string"/> <xsd:element name="sync" type="xsd:boolean" minoccurs="0" <xsd:element name="notify" type="xsd:boolean" minoccurs="0" <xsd:element name="transid" type="xsd:string" minoccurs="0" <xsd:element name="abort" type="xsd:boolean" minoccurs="0" <xsd:element name="from" type="xsd:string"/> ISET Djerba TriTux PAGE 80
82 <xsd:element name="to" type="xsd:string"/> <xsd:element name="message" type="xsd:string"/> <xsd:element name="subject" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </element> <element name="dosendmailresponse"> <xsd:complextype> <xsd:sequence> <xsd:element name="transid" type="xsd:string"/> <xsd:element name="transdate" type="xsd:string"/> <xsd:element name="status" type="tns:tstatus" minoccurs="0" <xsd:element name="response" type="xsd:boolean" minoccurs="0" </xsd:sequence> </xsd:complextype> </element> </schema> </types> <porttype name="podbridgeporttype"> <operation name="ping"> <input message="tns:pingrequest"/> <output message="tns:pingresponse"/> </operation> <operation name="docreat useraccount2"> <input message="tns:docreat useraccount2request"/> <output message="tns:docreat useraccount2response"/> </operation> <operation name="docreat useraccount"> <input message="tns:docreat useraccountrequest"/> <output message="tns:docreat useraccountresponse"/> </operation> <operation name="dochang userpassword"> <input message="tns:dochang userpasswordrequest"/> <output message="tns:dochang userpasswordresponse"/> </operation> <operation name="dodelet useraccount"> <input message="tns:dodelet useraccountrequest"/> <output message="tns:dodelet useraccountresponse"/> </operation> ISET Djerba TriTux PAGE 81
83 <operation name="dounlockmailuseraccount"> <input message="tns:dounlockmailuseraccountrequest"/> <output message="tns:dounlockmailuseraccountresponse"/> </operation> <operation name="dolockmailuseraccount"> <input message="tns:dolockmailuseraccountrequest"/> <output message="tns:dolockmailuseraccountresponse"/> </operation> <operation name="dosendmail"> <input message="tns:dosendmailrequest"/> <output message="tns:dosendmailresponse"/> </operation> </porttype> <binding name="podbridgebinding" type="tns:podbridgeporttype"> <soap:binding style="document" transport=" <operation name="ping"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreat useraccount2"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="docreat useraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dochang userpassword"> ISET Djerba TriTux PAGE 82
84 <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dodelet useraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dounlockmailuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dolockmailuseraccount"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="dosendmail"> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> ISET Djerba TriTux PAGE 83
85 </binding> <message name="pingrequest"> <part name="body" element="pbns:ping"/> </message> <message name="pingresponse"> <part name="body" element="pbns:pingresponse"/> </message> <message name="docreat useraccount2request"> <part name="body" element="mailacntns:docreat useraccount2"/> </message> <message name="docreat useraccount2response"> <part name="body" element="mailacntns:docreat useraccount2response"/> </message> <message name="docreat useraccountrequest"> <part name="body" element="mailacntns:docreat useraccount"/> </message> <message name="docreat useraccountresponse"> <part name="body" element="mailacntns:docreat useraccountresponse"/> </message> <message name="dochang userpasswordrequest"> <part name="body" element="mailacntns:dochang userpassword"/> </message> <message name="dochang userpasswordresponse"> <part name="body" element="mailacntns:dochang userpasswordresponse"/> </message> <message name="dodelet useraccountrequest"> <part name="body" element="mailacntns:dodelet useraccount"/> </message> <message name="dodelet useraccountresponse"> <part name="body" element="mailacntns:dodelet useraccountresponse"/> </message> <message name="dounlockmailuseraccountrequest"> <part name="body" element="mailacntns:dounlockmailuseraccount"/> </message> <message name="dounlockmailuseraccountresponse"> <part name="body" element="mailacntns:dounlockmailuseraccountresponse"/> </message> <message name="dolockmailuseraccountrequest"> <part name="body" element="mailacntns:dolockmailuseraccount"/> </message> ISET Djerba TriTux PAGE 84
86 <message name="dolockmailuseraccountresponse"> <part name="body" element="mailacntns:dolockmailuseraccountresponse"/> </message> <message name="dosendmailrequest"> <part name="body" element="mailacntns:dosendmail"/> </message> <message name="dosendmailresponse"> <part name="body" element="mailacntns:dosendmailresponse"/> </message> <service name="podbridgeservice"> <port name="podbridgeport" binding="tns:podbridgebinding"> <soap:address location=" /> </port> </service> </definitions> WSDL du service «ProcessRUById» Source : processrubyid.wsdl <?xml version="1.0" encoding="utf-8"?> <definitions name="processrubyid" targetnamespace=" xmlns=" xmlns:wsdl=" xmlns:xsd=" xmlns:tns=" xmlns:plnk=" <types/> <message name="processrubyidoperationrequest"> <part name="identifiant" type="xsd:string"/> </message> <message name="processrubyidoperationresponse"> <part name="statut" type="xsd:string"/> </message> <porttype name="processrubyidporttype"> <operation name="processrubyidoperation"> <input name="processrubyidrequest" message="tns:processrubyidoperationrequest"/> ISET Djerba TriTux PAGE 85
87 <output name="processrubyidresponse" message="tns:processrubyidoperationresponse"/> </operation> </porttype> <plnk:partnerlinktype name="processrubyid"> <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes. In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type. A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles. --> <plnk:role name="processrubyidporttyperole" porttype="tns:processrubyidporttype"/> </plnk:partnerlinktype> </definitions> WSDL du service «BatchProcessRU» <?xml version="1.0" encoding="utf-8"?> 2 <definitions name="batchprocessru" targetnamespace=" 3 xmlns=" 4 xmlns:wsdl=" 5 xmlns:xsd=" xmlns:tns=" xmlns:ns=" xmlns:plnk=" 6 <types> 7 <xsd:schema targetnamespace=" 8 <xsd:import namespace=" schemalocation="batchprocessrutypes.xsd"/> 9 </xsd:schema> 10 </types> 11 <message name="batchprocessruoperationrequest"> 12 <part name="part1" type="ns:input"/> 13 </message> 14 <message name="batchprocessruoperationresponse"> 15 <part name="part1" type="ns:output"/> 16 </message> 17 <porttype name="batchprocessruporttype"> 18 <operation name="batchprocessruoperation"> 19 <input name="input1" message="tns:batchprocessruoperationrequest"/> ISET Djerba TriTux PAGE 86
88 20 <output name="output1" message="tns:batchprocessruoperationresponse"/> 21 </operation> 22 </porttype> 23 <plnk:partnerlinktype name="batchprocessru"> 24 <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes. 25 In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type. 26 A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.--> 27 <plnk:role name="batchprocessruporttyperole" porttype="tns:batchprocessruporttype"/> 28 </plnk:partnerlinktype> 29 </definitions> Fichier XSD (Définition des paramètres d E/S du processus BatchProcessRU) Source : BatchProcessRUTypes.xsd <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" targetnamespace=" xmlns:tns=" elementformdefault="qualified"> <xsd:complextype name="input"> <xsd:sequence> <xsd:element name="filter" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="output"> <xsd:sequence> <xsd:element name="message" type="xsd:string"/> <xsd:element name="statecode" type="xsd:integer"/> <xsd:element name="date"> <xsd:complextype> ISET Djerba TriTux PAGE 87
89 <xsd:sequence> <xsd:element name="start" type="xsd:string"/> <xsd:element name="end" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> 2.5. Fichiers BPEL Fichier source : ProcessRUById.bpel <?xml version="1.0" encoding="utf-8"?> <process name="processrubyid" targetnamespace=" xmlns=" xmlns:xsd=" xmlns:sxt=" xmlns:sxed=" xmlns:sxat=" ess/executable/sunextension/attachme nt" xmlns:sxeh=" dling" xmlns:tns=" xmlns:sxed2=" process/executable/sunextension/editor2 " xmlns:ns0="urn:wwwsubscrns" xmlns:ns1="urn:bdetuns" xmlns:ns2="urn:lprintns" xmlns:pbns="urn:pbns" xmlns:ns3="urn:ftpacntns" xmlns:ns4="urn:mailacntns" xmlns:sxxf=" ctions" xmlns:ns5="urn:apaclmanns" xmlns:sxtx=" ion" sxtx:atomic="no" xmlns:ns6="urn:ippservicens" xmlns:ns7="urn:smsservicens" xmlns:ns8="urn:tns"> <import namespace=" location="processrubyid.wsdl" importtype=" ISET Djerba TriTux PAGE 88
90 <import namespace=" location="serviceswrapper.wsdl" importtype=" <import namespace="urn:pbns" location="services.wsdl" importtype=" <import namespace=" location="services_rnuwrapper.wsdl" importtype=" <import namespace="urn:tns" location="services_rnu.wsdl" importtype=" <partnerlinks> <partnerlink name="pbserviceslocalpl" xmlns:tns=" partnerlinktype="tns:podbridgelinktype" partnerrole="podbridgerole"/> <partnerlink name="pbservicesrnupl" xmlns:tns=" partnerlinktype="tns:podbridgelinktype" partnerrole="podbridgerole"/> <partnerlink name="processrubyidpl" xmlns:tns=" partnerlinktype="tns:processrubyid" myrole="processrubyidporttyperole"/> </partnerlinks> <variables> <variable name="dosendsms_bienvenue_out" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsms_bienvenue_in" messagetype="pbns:dosendsmsrequest"/> <variable name="msg_bienvenue" type="xsd:string"/> <variable name="dosendmail_bienvenue_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_bienvenue_in" messagetype="ns8:dosendmailrequest"/> <variable name="dosendmail_wifi_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_wifi_in" messagetype="ns8:dosendmailrequest"/> <variable name="dosendmail_ftp_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_ftp_in" messagetype="ns8:dosendmailrequest"/> <variable name="msg_param_wifi" type="xsd:string"/> <variable name="msg_param_ftp" type="xsd:string"/> <variable name="msg_param_mail" type="xsd:string"/> <variable name="dosendmail_mail_out" messagetype="ns8:dosendmailresponse"/> <variable name="dosendmail_mail_in" messagetype="ns8:dosendmailrequest"/> <variable name="docreat useraccount2out" messagetype="ns8:docreat useraccount2response"/> <variable name="docreat useraccount2in" messagetype="ns8:docreat useraccount2request"/> ISET Djerba TriTux PAGE 89
91 <variable name="dosendsmsout_wifi" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_wifi" messagetype="pbns:dosendsmsrequest"/> <variable name="dosendsmsout_mail" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_mail" messagetype="pbns:dosendsmsrequest"/> <variable name="dosendsmsout_ftp" messagetype="pbns:dosendsmsresponse"/> <variable name="dosendsmsin_ftp" messagetype="pbns:dosendsmsrequest"/> <variable name="getaccuseout" messagetype="pbns:getaccuseresponse"/> <variable name="getaccusein" messagetype="pbns:getaccuserequest"/> <variable name="updatestudentbyidout" messagetype="pbns:updatestudentbyidresponse"/> <variable name="updatestudentbyidin" messagetype="pbns:updatestudentbyidrequest"/> <variable name="setftpuserwelcomemsgout" messagetype="pbns:setftpuserwelcomemsgresponse"/> <variable name="setftpuserwelcomemsgin" messagetype="pbns:setftpuserwelcomemsgrequest"/> <variable name="doftpsendfileout1" messagetype="pbns:doftpsendfileresponse"/> <variable name="doftpsendfilein1" messagetype="pbns:doftpsendfilerequest"/> <variable name="doforwardmacaddrout" messagetype="pbns:doforwardmacaddrresponse"/> <variable name="doforwardmacaddrin" messagetype="pbns:doforwardmacaddrrequest"/> <variable name="setftpuseraccountexpirydateout" messagetype="pbns:setftpuseraccountexpirydateresponse"/> <variable name="setftpuseraccountexpirydatein" messagetype="pbns:setftpuseraccountexpirydaterequest"/> <variable name="doftpsendfileout" messagetype="pbns:doftpsendfileresponse"/> <variable name="doftpsendfilein" messagetype="pbns:doftpsendfilerequest"/> <variable name="processrubyidoperationout1" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="docreateftpuseraccountout" messagetype="pbns:docreateftpuseraccountresponse"/> <variable name="docreateftpuseraccountin" messagetype="pbns:docreateftpuseraccountrequest"/> <variable name="getstudentbyidout" messagetype="pbns:getstudentbyidresponse"/> <variable name="getstudentbyidin" messagetype="pbns:getstudentbyidrequest"/> <variable name="doprintwebpageout" xmlns:pbns="urn:pbns" messagetype="pbns:doprintwebpageresponse"/> ISET Djerba TriTux PAGE 90
92 <variable name="doprintwebpagein" xmlns:pbns="urn:pbns" messagetype="pbns:doprintwebpagerequest"/> <variable name="processrubyidoperationout" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="processrubyidoperationin" xmlns:tns=" messagetype="tns:processrubyidoperationrequest"/> <variable name="sync" type="xsd:boolean"/> <variable name="key" type="xsd:string"/> <variable name="key_ " type="xsd:string"/> <variable name="ftp_created" type="xsd:boolean"/> <variable name="mac_frwd" type="xsd:boolean"/> <variable name="mail_sender" type="xsd:string"/> </variables> <sequence name="main_seq"> <receive name="receive" createinstance="yes" partnerlink="processrubyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" variable="processrubyidoperationin"/> <assign name="initialisation"> </assign> <from>true()</from> <to variable="sync"/> <from>' b45c730'</from> <to variable="key"/> <from>false()</from> <to variable="ftp_created"/> <to variable="mail_sender"/> <from>' f54b5'</from> <to variable="key_ "/> <from>false()</from> <to variable="mac_frwd"/> ISET Djerba TriTux PAGE 91
93 part="identifiant"/> <sequence name="sequence1"> <sequence name="sequence6"> <flow name="flow22"> <sequence name="flowsequence11"> <assign name="get_etudiant"> </assign> <from variable="key"/> <to>$getstudentbyidin.body/ns1:key</to> <from variable="sync"/> <to>$getstudentbyidin.body/ns1:sync</to> <from variable="processrubyidoperationin" <to>$getstudentbyidin.body/ns1:id</to> <invoke name="get_etudiant" partnerlink="pbserviceslocalpl" operation="getstudentbyid" porttype="pbns:podbridgeporttype" inputvariable="getstudentbyidin" outputvariable="getstudentbyidout"/> part="identifiant"/> </sequence> <sequence name="flowsequence22"> <assign name="gataccuse"> </assign> <from variable="key"/> <to>$getaccusein.body/ns0:key</to> <from variable="sync"/> <to>$getaccusein.body/ns0:sync</to> <from variable="processrubyidoperationin" <to>$getaccusein.body/ns0:studentident</to> <from>'2009/2010'</from> <to>$getaccusein.body/ns0:au</to> <invoke name="getaccuse" partnerlink="pbserviceslocalpl" operation="getaccuse" ISET Djerba TriTux PAGE 92
94 porttype="pbns:podbridgeporttype" inputvariable="getaccusein" outputvariable="getaccuseout"/> </flow> </sequence> <if name="if_pai_check" xmlns:tns=" <condition>0 = $GetAccuseOut.body/ns0:status/pbns:code</condition> <sequence name="sequence7"> <assign name="acc_updatedb"> <from variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> <from variable="sync"/> <to>$updatestudentbyidin.body/ns1:sync</to> <from>$getaccuseout.body/ns0:response/ns0:refaccuse</from> <to>$updatestudentbyidin.body/ns1:refrecu</to> </assign> <assign name="imprimer"> <from variable="key"/> <to>$doprintwebpagein.body/ns6:key</to> <from variable="sync"/> <to>$doprintwebpagein.body/ns6:sync</to> <from>$getaccuseout.body/ns0:response/ns0:urlaccuse</from> <to>$doprintwebpagein.body/ns6:url</to> <from>concat('accuse-', $processrubyidoperationin.identifiant)</from> </assign> <to>$doprintwebpagein.body/ns6:jobname</to> ISET Djerba TriTux PAGE 93
95 <invoke name="imprimer" partnerlink="pbserviceslocalpl" operation="doprintwebpage" porttype="pbns:podbridgeporttype" inputvariable="doprintwebpagein" outputvariable="doprintwebpageout"/> <sequence name="compte_ "> <if name="if_ "> <condition>'' = $GetStudentByIdOut.body/ns1:response/ns1: </condition> <sequence name="sequence3"> <assign name="create_ 2"> <from>$getstudentbyidout.body/ns1:response/ns1:nom</from> <to>$docreat useraccount2in.body/ns4:lstname</to> <from>$getstudentbyidout.body/ns1:response/ns1:prenom</from> <to>$docreat useraccount2in.body/ns4:fstname</to> variable="key_ "/> <from <to>$docreat useraccount2in.body/ns4:key</to> <from>false()</from> <to>$docreat useraccount2in.body/ns4:genpswd</to> variable="processrubyidoperationin" part="identifiant"/> <from <to>$docreat useraccount2in.body/ns4:password </to> <from variable="sync"/> <to>$docreat useraccount2in.body/ns4:sync</to> </assign> <invoke name="create_ 2" partnerlink="pbservicesrnupl" operation="docreat useraccount2" ISET Djerba TriTux PAGE 94
96 porttype="ns8:podbridgeporttype" inputvariable="docreat useraccount2in" outputvariable="docreat useraccount2out"/> variable="sync"/> <assign name="bd_ "> <from <to>$updatestudentbyidin.body/ns1:sync</to> variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> <from <from>$docreat useraccount2out.body/ns4:response/ns4: adress</from> <to>$updatestudentbyidin.body/ns1: </to> <from>$docreat useraccount2out.body/ns4:response/ns4: adres s</from> <to>$getstudentbyidout.body/ns1:response/ns1: </to> </assign> <assign name="message_mail"> <from>concat('parametres de votre nouveau compte mail ', '* login: ', $DoCreat UserAccount2Out.body/ns4:response/ns4: Adress, ' * password: ', $DoCreat UserAccount2Out.body/ns4:response/ns4:Password, ' * Port POP: ', $DoCreat UserAccount2Out.body/ns4:response/ns4:POP3Port, $DoCreat UserAccount2Out.body/ns4:response/ns4:SMTPPort, " * Port SMTP: '", ' * Consulter vos mails sur $DoCreat UserAccount2Out.body/ns4:response/ns4:WebMailUrl)</from> variable="msg_param_mail"/> name="sendmailmail"> variable="key_ "/> <to </assign> <flow name="mail_notifier"> <sequence name="mail_mail_seq"> <assign <from ISET Djerba TriTux PAGE 95
97 <to>$dosendmail_mail_in.body/ns4:key</to> variable="sync"/> <from <to>$dosendmail_mail_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_mail_in.body/ns4:from</to> <from>$docreat useraccount2out.body/ns4:response/ns4: adress</from> <to>$dosendmail_mail_in.body/ns4:to</to> <from>'parametres de votre nouveau compte mail '</from> <to>$dosendmail_mail_in.body/ns4:subject</to> variable="msg_param_mail"/> <from <to>$dosendmail_mail_in.body/ns4:message</to> </assign> <invoke name="sendmailmail" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_mail_in" outputvariable="dosendmail_mail_out"/> name="mail_sms_seq"> name="ifhastel_mail"> </sequence> <sequence <if <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= '' </condition> name="sequence14"> <sequence ISET Djerba TriTux PAGE 96
98 name="smsmail"> <assign <from variable="key"/> <to>$dosendsmsin_mail.body/ns7:key</to> <from variable="sync"/> <to>$dosendsmsin_mail.body/ns7:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsmsin_mail.body/ns7:destinataire</to> <from variable="msg_param_mail"/> <to>$dosendsmsin_mail.body/ns7:message</to> </assign> <invoke name="smsmail" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_mail" outputvariable="dosendsmsout_mail"/> </if> </sequence> <flow name="flow1"> </flow> </sequence> <sequence name="compte_ftp"> </if> </sequence> </sequence> ISET Djerba TriTux PAGE 97
99 <if name="if_ti"> <condition>$getstudentbyidout.body/ns1:response/ns1:dep = 'TI'</condition> <sequence name="sequence2"> <if name="if_existe_ftp"> <condition>$getstudentbyidout.body/ns1:response/ns1:loginftp = ''</condition> <sequence name="sequence10"> <assign name="create_ftp"> <from variable="key"/> <to>$docreateftpuseraccountin.body/ns3:key</to> <from variable="sync"/> <to>$docreateftpuseraccountin.body/ns3:sync</to> <from>'31/12/2019'</from> <to>$docreateftpuseraccountin.body/ns3:expiry_date</to> <from>concat('etu_', $processrubyidoperationin.identifiant)</from> <to>$docreateftpuseraccountin.body/ns3:user</to> <from>false()</from> <to>$docreateftpuseraccountin.body/ns3:use_welcome</to> </assign> <invoke name="create_ftp" partnerlink="pbserviceslocalpl" operation="docreateftpuseraccount" porttype="pbns:podbridgeporttype" inputvariable="docreateftpuseraccountin" outputvariable="docreateftpuseraccountout"/> <assign name="bd_loginftp"> <from>$docreateftpuseraccountout.body/ns3:response/ns3:userlogin </from> <to>$updatestudentbyidin.body/ns1:loginftp</to> ISET Djerba TriTux PAGE 98
100 <from>$docreateftpuseraccountout.body/ns3:response/ns3:userlogin </from> <to>$getstudentbyidout.body/ns1:response/ns1:loginftp</to> <from>true()</from> <to variable="ftp_created"/> </assign> <assign name="ftp_msg_bienvenu"> <from variable="key"/> <to>$setftpuserwelcomemsgin.body/ns3:key</to> variable="sync"/> <from <to>$setftpuserwelcomemsgin.body/ns3:sync</to> <from>concat(sxxf:current-datetime(), 'Bienvenu ', $GetStudentByIdOut.body/ns1:response/ns1:nom, ' ', $GetStudentByIdOut.body/ns1:response/ns1:prenom, ', AVERTISSEMENT: VOUS ETES LE SEUL RESPONSABLE DU CONTENU DE VOTRE COMPTE OU COMPTE DE PLUS VOUS ETES LIMITE A SON USAGE UNIQUEMENT POUR VOS BESOINS EDUCATIFS!')</from> <to>$setftpuserwelcomemsgin.body/ns3:message</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$setftpuserwelcomemsgin.body/ns3:user</to> </assign> <invoke name="ftp_msg_bienvenu" partnerlink="pbserviceslocalpl" operation="setftpuserwelcomemsg" porttype="pbns:podbridgeporttype" inputvariable="setftpuserwelcomemsgin" outputvariable="setftpuserwelcomemsgout"/> ISET Djerba TriTux PAGE 99
101 <assign name="message_ftp"> <from>concat('parametres de votre nouveau compte FTP ', ' * Login : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:UserLogin, ' * Password : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:Password, ' * FTP Port : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:FTPPort, ' * Address : ', $DoCreateFTPUserAccountOut.body/ns3:response/ns3:ServerDomain)</from> variable="msg_param_ftp"/> name="mail_ftp_seq"> name="sendmailftp"> variable="sync"/> <to </assign> <flow name="ftp_notifier"> <sequence <assign <from <to>$dosendmail_ftp_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_ftp_in.body/ns4:from</to> <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_ftp_in.body/ns4:to</to> <from>'parametres de votre nouveau compte FTP'</from> <to>$dosendmail_ftp_in.body/ns4:subject</to> variable="msg_param_ftp"/> <from <to>$dosendmail_ftp_in.body/ns4:message</to> ISET Djerba TriTux PAGE 100
102 variable="key_ "/> <from <to>$dosendmail_ftp_in.body/ns4:key</to> </assign> <invoke name="sendmailftp" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_ftp_in" outputvariable="dosendmail_ftp_out"/> name="ftp_sms_seq"> name="ifhastel_ftp"> </sequence> <sequence <if <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= '' </condition> <sequence name="sequence16"> <assign name="smsftp"> <from variable="key"/> <to>$dosendsmsin_ftp.body/ns7:key</to> <from variable="sync"/> <to>$dosendsmsin_ftp.body/ns7:sync</to> <from variable="msg_param_ftp"/> <to>$dosendsmsin_ftp.body/ns7:message</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> ISET Djerba TriTux PAGE 101
103 <to>$dosendsmsin_ftp.body/ns7:destinataire</to> name="smsftp" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_ftp" outputvariable="dosendsmsout_ftp"/> name="etendre_date_expiration"> variable="key"/> </flow> </sequence> <else> </if> </sequence> </assign> <invoke </sequence> <sequence name="sequence11"> <assign <from <to>$setftpuseraccountexpirydatein.body/ns3:key</to> variable="sync"/> <from <to>$setftpuseraccountexpirydatein.body/ns3:sync</to> <from>'31/12/2020'</from> <to>$setftpuseraccountexpirydatein.body/ns3:expiry_date </to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$setftpuseraccountexpirydatein.body/ns3:user</to> </assign> <invoke name="etendre_date_expiration" partnerlink="pbserviceslocalpl" operation="setftpuseraccountexpirydate" porttype="pbns:podbridgeporttype" inputvariable="setftpuseraccountexpirydatein" outputvariable="setftpuseraccountexpirydateout"/> ISET Djerba TriTux PAGE 102
104 </sequence> </else> </if> <flow name="flow3"> <sequence name="cours"> <assign name="envoyer_cours"> <from variable="key"/> <to>$doftpsendfilein1.body/ns3:key</to> <from variable="sync"/> <to>$doftpsendfilein1.body/ns3:sync</to> $GetStudentByIdOut.body/ns1:response/ns1:spec, $GetStudentByIdOut.body/ns1:response/ns1:niveau)</from> <from>concat('cours_', <to>$doftpsendfilein1.body/ns3:file</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$doftpsendfilein1.body/ns3:user</to> </assign> <invoke name="envoyer_cours" partnerlink="pbserviceslocalpl" operation="doftpsendfile" porttype="pbns:podbridgeporttype" inputvariable="doftpsendfilein1" outputvariable="doftpsendfileout1"/> </sequence> <if name="if_niv2_ou_plus"> <condition>$getstudentbyidout.body/ns1:response/ns1:niveau > 2</condition> <sequence name="sequence9"> <assign name="envoyer_cours_uml"> <from variable="key"/> <to>$doftpsendfilein.body/ns3:key</to> ISET Djerba TriTux PAGE 103
105 variable="sync"/> <from <to>$doftpsendfilein.body/ns3:sync</to> UML.pdf'</from> <from>'cours- <to>$doftpsendfilein.body/ns3:file</to> <from>$getstudentbyidout.body/ns1:response/ns1:loginftp </from> <to>$doftpsendfilein.body/ns3:user</to> </assign> <invoke name="envoyer_cours_uml" partnerlink="pbserviceslocalpl" operation="doftpsendfile" porttype="pbns:podbridgeporttype" inputvariable="doftpsendfilein" outputvariable="doftpsendfileout"/> </if> </sequence> </if> </flow> </sequence> </sequence> <sequence name="filtrage_mac"> <if name="if_adrmac"> <condition>$getstudentbyidout.body/ns1:response/ns1:adrmac!= '' </condition> <sequence name="sequence13"> <assign name="autorise_mac"> <from variable="key"/> <to>$doforwardmacaddrin.body/ns5:key</to> <from variable="sync"/> <to>$doforwardmacaddrin.body/ns5:sync</to> ISET Djerba TriTux PAGE 104
106 <from>$getstudentbyidout.body/ns1:response/ns1:adrmac</from> <to>$doforwardmacaddrin.body/ns5:macaddr</to> </assign> <invoke name="autorise_mac" partnerlink="pbserviceslocalpl" operation="doforwardmacaddr" porttype="pbns:podbridgeporttype" inputvariable="doforwardmacaddrin" outputvariable="doforwardmacaddrout"/> <assign name="settrue"> </assign> <from>true()</from> <to variable="mac_frwd"/> <assign name="message_wifi"> <from>concat("dès maintenant Vous etes autorisé à se connecter au réseau sans fil d'iset Jerba ", ' * SSID : ', $DoForwardMACaddrOut.body/ns5:response/ns5:ssid, ' * Clé : ', $DoForwardMACaddrOut.body/ns5:response/ns5:auth_key)</from> name="sendmailwifi"> variable="sync"/> </assign> <to variable="msg_param_wifi"/> <flow name="wifi_notifier"> <sequence name="mail_wifi_seq"> <assign <from <to>$dosendmail_wifi_in.body/ns4:sync</to> variable="mail_sender"/> <from <to>$dosendmail_wifi_in.body/ns4:from</to> variable="msg_param_wifi"/> <from <to>$dosendmail_wifi_in.body/ns4:message</to> ISET Djerba TriTux PAGE 105
107 <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_wifi_in.body/ns4:to</to> <from>"vous etes autoriser à se connecté au réseau sans Fil d'iset Jerba"</from> <to>$dosendmail_wifi_in.body/ns4:subject</to> variable="key_ "/> <from <to>$dosendmail_wifi_in.body/ns4:key</to> </assign> <invoke name="sendmailwifi" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_wifi_in" outputvariable="dosendmail_wifi_out"/> </sequence> <sequence name="wifi_sms_seq"> <if name="ifhastel_wifi"> <condition>$getstudentbyidout.body/ns1:response/ns1:tel!= ''</condition> <sequence name="sequence15"> <assign name="smswifi"> <from variable="key"/> <to>$dosendsmsin_wifi.body/ns7:key</to> variable="sync"/> <from <to>$dosendsmsin_wifi.body/ns7:sync</to> ISET Djerba TriTux PAGE 106
108 <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsmsin_wifi.body/ns7:destinataire</to> variable="msg_param_wifi"/> <from <to>$dosendsmsin_wifi.body/ns7:message</to> </assign> <invoke name="smswifi" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsmsin_wifi" outputvariable="dosendsmsout_wifi"/> </flow> </if> </sequence> </flow> </sequence> </if> </sequence> <assign name="message_bienvenue"> </sequence> <from>concat('bienvenu ', $GetStudentByIdOut.body/ns1:response/ns1:nom, ' ', $GetStudentByIdOut.body/ns1:response/ns1:prenom, ' ISET Djerba vous souhaite une bonne rentrée universiaire 2009/2010.')</from> </assign> <to variable="msg_bienvenue"/> <flow name="flow23"> <sequence name="flowsequence"> <assign name="sendmailbienvenue"> <from variable="sync"/> <to>$dosendmail_bienvenue_in.body/ns4:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1: </from> <to>$dosendmail_bienvenue_in.body/ns4:to</to> ISET Djerba TriTux PAGE 107
109 <from variable="mail_sender"/> <to>$dosendmail_bienvenue_in.body/ns4:from</to> <from variable="msg_bienvenue"/> <to>$dosendmail_bienvenue_in.body/ns4:message</to> <from>'bienvenue'</from> <to>$dosendmail_bienvenue_in.body/ns4:subject</to> <from variable="key_ "/> <to>$dosendmail_bienvenue_in.body/ns4:key</to> </assign> <invoke name="sendmailbienvenue" partnerlink="pbservicesrnupl" operation="dosendmail" porttype="ns8:podbridgeporttype" inputvariable="dosendmail_bienvenue_in" outputvariable="dosendmail_bienvenue_out"/> </sequence> <sequence name="flowsequence1"> <assign name="smsbienvenue"> <from variable="key"/> <to>$dosendsms_bienvenue_in.body/ns7:key</to> <from variable="sync"/> <to>$dosendsms_bienvenue_in.body/ns7:sync</to> <from>$getstudentbyidout.body/ns1:response/ns1:tel</from> <to>$dosendsms_bienvenue_in.body/ns7:destinataire</to> <from variable="msg_bienvenue"/> ISET Djerba TriTux PAGE 108
110 <to>$dosendsms_bienvenue_in.body/ns7:message</to> </assign> <invoke name="smsbienvenue" partnerlink="pbserviceslocalpl" operation="dosendsms" porttype="pbns:podbridgeporttype" inputvariable="dosendsms_bienvenue_in" outputvariable="dosendsms_bienvenue_out"/> part="statut"/> part="statut"/> </flow> </sequence> <assign name="reply_bdetu_ok"> </assign> </sequence> <else> <sequence> <from>'ok'</from> <to variable="processrubyidoperationout" <from>'ok'</from> <to>$updatestudentbyidin.body/ns1:process</to> <assign name="reply_bdetu_pai"> <from>'pai'</from> <to variable="processrubyidoperationout" <from>'pai'</from> <to>$updatestudentbyidin.body/ns1:process</to> </assign> </sequence> </else> </if> </sequence> </sequence> <assign name="mettre_a_jour_bdetu"> <from variable="key"/> <to>$updatestudentbyidin.body/ns1:key</to> ISET Djerba TriTux PAGE 109
111 </assign> <from variable="sync"/> <to>$updatestudentbyidin.body/ns1:sync</to> <from variable="processrubyidoperationin" part="identifiant"/> <to>$updatestudentbyidin.body/ns1:id</to> <invoke name="mettre_a_jour_bdetu" partnerlink="pbserviceslocalpl" operation="updatestudentbyid" xmlns:pbns="urn:pbns" porttype="pbns:podbridgeporttype" inputvariable="updatestudentbyidin" outputvariable="updatestudentbyidout"/> <reply name="reply" partnerlink="processrubyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" variable="processrubyidoperationout"/> </sequence> </process> Fichier Source : BatchProcessRU.bpel <?xml version="1.0" encoding="utf-8"?> <process name="batchprocessru" targetnamespace=" " xmlns=" xmlns:xsd=" xmlns:sxt=" xmlns:sxed=" xmlns:sxat=" nt" xmlns:sxeh=" dling" xmlns:tns=" xmlns:sxed2=" " xmlns:ns0=" xmlns:sxxf=" ISET Djerba TriTux PAGE 110
112 ctions" xmlns:ns1="urn:bdetuns" xmlns:ns2="urn:pbns" xmlns:ns3="urn:tns" xmlns:ns4="urn:mailacntns" xmlns:ns5="urn:smsservicens"> <import namespace=" location="batchprocessru.wsdl" importtype=" <import namespace=" location="getnextidwrapper.wsdl" importtype=" <import namespace="urn:pbns" location="getnextid.wsdl" importtype=" <import namespace=" location="dosendmailwrapper.wsdl" importtype=" <import namespace="urn:tns" location="dosendmail.wsdl" importtype=" <import namespace=" location="dosendsmswrapper.wsdl" importtype=" <import namespace="urn:pbns" location="dosendsms.wsdl" importtype=" <import namespace=" location=" importtype=" <partnerlinks> <partnerlink name="batchprocessrupl" xmlns:tns=" partnerlinktype="tns:batchprocessru" myrole="batchprocessruporttyperole"/> <partnerlink name="getnextidpl" xmlns:tns=" partnerlinktype="tns:podbridgegetnextidlinktype" partnerrole="podbridgegetnextidrole"/> <partnerlink name="dosendmailpl" xmlns:tns=" partnerlinktype="tns:podbridgedosendmaillinktype" partnerrole="podbridgedosendmailrole"/> <partnerlink name="dosendsmspl" xmlns:tns=" partnerlinktype="tns:podbridgedosendsmslinktype" partnerrole="podbridgedosendsmsrole"/> <partnerlink name="processbyidpl" xmlns:tns=" ById" partnerlinktype="tns:processrubyid" partnerrole="processrubyidporttyperole"/> </partnerlinks> <variables> <variable name="msg" type="xsd:string"/> <variable name="dosendsmsout" messagetype="ns2:dosendsmsresponse"/> <variable name="dosendsmsin" messagetype="ns2:dosendsmsrequest"/> <variable name="dosendmailout" messagetype="ns3:dosendmailresponse"/> <variable name="dosendmailin" messagetype="ns3:dosendmailrequest"/> <variable name="key_rnu" type="xsd:string"/> <variable name="key_local" type="xsd:string"/> ISET Djerba TriTux PAGE 111
113 <variable name="getnextidout" xmlns:pbns="urn:pbns" messagetype="pbns:getnextidresponse"/> <variable name="getnextidin" xmlns:pbns="urn:pbns" messagetype="pbns:getnextidrequest"/> <variable name="batchprocessruoperationout" xmlns:tns=" messagetype="tns:batchprocessruoperationresponse"/> <variable name="batchprocessruoperationin" xmlns:tns=" messagetype="tns:batchprocessruoperationrequest"/> <variable name="processrubyidoperationout" xmlns:tns=" messagetype="tns:processrubyidoperationresponse"/> <variable name="processrubyidoperationin" xmlns:tns=" messagetype="tns:processrubyidoperationrequest"/> </variables> <sequence> <receive name="receive" createinstance="yes" partnerlink="batchprocessrupl" operation="batchprocessruoperation" xmlns:tns=" porttype="tns:batchprocessruporttype" variable="batchprocessruoperationin"/> <assign name="init"> </assign> <from>' f54b5'</from> <to variable="key_rnu"/> <from>' f54b5'</from> <to variable="key_local"/> <from>sxxf:current-datetime()</from> <to>$batchprocessruoperationout.part1/ns0:date/ns0:start</to> <assign name="getnextid_init"> <from variable="key_local"/> <to>$getnextidin.body/ns1:key</to> <from>true()</from> <to>$getnextidin.body/ns1:sync</to> <from>$batchprocessruoperationin.part1/ns0:filter</from> ISET Djerba TriTux PAGE 112
114 </assign> <to>$getnextidin.body/ns1:filter</to> <repeatuntil name="repeatuntil_lastid"> <sequence name="sequence1"> <invoke name="getnextid" partnerlink="getnextidpl" operation="getnextid" xmlns:pbns="urn:pbns" porttype="pbns:podbridgegetnextidporttype" inputvariable="getnextidin" outputvariable="getnextidout"/> 0</condition> <if name="ifexist"> <condition>$getnextidout.body/ns1:status/ns2:code = <sequence name="sequence2"> <assign name="getnextid"> <from>$getnextidout.body/ns1:response/ns1:nextid</from> <to>$getnextidin.body/ns1:id</to> <from variable="key_local"/> <to>$getnextidin.body/ns1:key</to> <from>true()</from> <to>$getnextidin.body/ns1:sync</to> <from>$batchprocessruoperationin.part1/ns0:filter </from> <to>$getnextidin.body/ns1:filter</to> </assign> <assign name="processrubyid"> <from>$getnextidout.body/ns1:response/ns1:nextid</from> part="identifiant"/> </assign> <to variable="processrubyidoperationin" <invoke name="processrubyid" partnerlink="processbyidpl" operation="processrubyidoperation" xmlns:tns=" porttype="tns:processrubyidporttype" inputvariable="processrubyidoperationin" outputvariable="processrubyidoperationout"/> </sequence> ISET Djerba TriTux PAGE 113
115 </if> </sequence> <condition>$getnextidout.body/ns1:response/ns1:last = true() or $GetNextIdOut.body/ns1:status/ns2:code!= 0 </condition> </repeatuntil> <assign name="message"> <from>concat('exécution de ProcessRUById est Terminée avec succès!', '* Démarré : ', $BatchProcessRUOperationOut.part1/ns0:date/ns0:start, ' * Fin : ', sxxf:current-datetime())</from> </assign> <to variable="msg"/> <flow name="notify_admin"> <sequence name="flowsequence"> <assign name="mail"> </assign> <from variable="key_rnu"/> <to>$dosendmailin.body/ns4:key</to> <from>true()</from> <to>$dosendmailin.body/ns4:sync</to> <from>'[email protected]'</from> <to>$dosendmailin.body/ns4:from</to> <from>'[email protected]'</from> <to>$dosendmailin.body/ns4:to</to> <from>'exéction de BatchProcessRU terminée!'</from> <to>$dosendmailin.body/ns4:subject</to> <from variable="msg"/> <to>$dosendmailin.body/ns4:message</to> <invoke name="mail" partnerlink="dosendmailpl" operation="dosendmail" porttype="ns3:podbridgedosendmailporttype" inputvariable="dosendmailin" outputvariable="dosendmailout"/> </sequence> ISET Djerba TriTux PAGE 114
116 <sequence name="flowsequence1"> <assign name="sms"> </assign> <from variable="key_local"/> <to>$dosendsmsin.body/ns5:key</to> <from>true()</from> <to>$dosendsmsin.body/ns5:sync</to> <from>' '</from> <to>$dosendsmsin.body/ns5:destinataire</to> <from variable="msg"/> <to>$dosendsmsin.body/ns5:message</to> <invoke name="sms" partnerlink="dosendsmspl" operation="dosendsms" porttype="ns2:podbridgedosendsmsporttype" inputvariable="dosendsmsin" outputvariable="dosendsmsout"/> </flow> </sequence> <assign name="reply"> </assign> <from>'success'</from> <to>$batchprocessruoperationout.part1/ns0:message</to> <from>0</from> <to>$batchprocessruoperationout.part1/ns0:statecode </to> <from>sxxf:current-datetime()</from> <to>$batchprocessruoperationout.part1/ns0:date/ns0:end</to> <reply name="reply" partnerlink="batchprocessrupl" operation="batchprocessruoperation" xmlns:tns=" porttype="tns:batchprocessruporttype" variable="batchprocessruoperationout"/> </sequence> </process> ISET Djerba TriTux PAGE 115
117 2.6. Code source de l application PHP (formulaire info etudiant) 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <link rel="stylesheet" type="text/css" href="main.css" /> 5 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 6 <title>:: Remplir ce formulaire ::</title> 7 </head> 8 <body> 9 <center> 10 <?php 11 // init client 12 $client = new SoapClient(" hp/wsdl/all"); 13 $key=" f54b5"; if (isset ($_POST['submit']) && $_POST['id']!=null ) { try { //Arguements 20 $arguments=array( 21 'key'=>$key, 22 'sync'=>'1', 23 'notify'=>'', 24 'abort'=>'', 25 'id'=>$_post['id'] 26 ) ; $getstudentbyid_out = $client- >getstudentbyid($arguments); if ($getstudentbyid_out->status->code=='0') 31 $connected=true; if ($_POST['tel']!=null $_POST['mail']!=null $_POST['mac']!=null ) { //Arguements 36 $arguments=array( 37 'key'=>$key, ISET Djerba TriTux PAGE 116
118 38 'sync'=>'1', 39 'notify'=>'', 40 'abort'=>'', 41 'id'=>$_post['id'], 42 'tel'=>$_post['tel'], 43 ' '=>$_post['mail'], 44 'loginftp'=>'', 45 'adrmac'=>$_post['mac'], 46 'refrecu'=>'', 47 'process'=>'' 48 ) ; $updatestudentbyid_out = $client- >updatestudentbyid($arguments); if ($updatestudentbyid_out->status->code=='0') { 53 $updated=true; 54 }else { 55 if ($updatestudentbyid_out->status->code=='2') 56?><h3><?php echo ($updatestudentbyid_out- >status->msg);?></h3><?php 57 } } } 63 catch (SoapFault $e) { 64 print $e->getmessage(); 65 } 66 } 67 68?> 69 <form id="formulaire" method="post" > 70 <h2> 71 <?php if ( $connected ) {?>Bienvenu <?php echo $getstudentbyid_out->response->nom.' '.$getstudentbyid_out->response->prenom.'!' ; 72 }?> 73 </h2> 74 <h1> 75 <?php if (! $connected) {?>Authentification<?php } else {?>Remplir le formulaire<?php }?> 76 </h1> 77 <table> ISET Djerba TriTux PAGE 117
119 78 <tr align="right"><td>votre identifiant:</td><td align="left" > 79 <input name="id" maxlength="8" value="<?php echo $_POST['id'];?>"> </td></tr> 82 <tr align="right"><td id="exemple" colspan="2">identifiant 8 chiffres</td></tr> 83 <?php if ( $connected ) {?> 84 <tr align="right"><td>adresse </td><td><input name="mail" maxlength="50" value="<?php if (isset ($_POST['mail'])): echo $_POST['mail']; else: echo $getstudentbyid_out->response-> ; 85 endif;?>"></td></tr> 86 <tr align="right"><td id="exemple" colspan="2">[email protected]</td></tr> 87 <tr align="right"><td>numéro de tél. perso:</td><td><input name="tel" maxlength="8" value="<?php if (isset ($_POST['tel'])): echo $_POST['tel']; else: echo $getstudentbyid_out->response- >tel; 88 endif;?>"></td></tr> 89 <tr align="right"><td id="exemple" colspan="2">8 chiffres</td></tr> 90 <tr align="right"><td>votre adresse MAC:</td><td><input name="mac" maxlength="17" value="<?php if (isset ($_POST['mac'])): echo $_POST['mac']; else: echo $getstudentbyid_out->response->adrmac; 91 endif;?>"></td></tr> 92 <tr align="right"><td id="exemple" colspan="2">format: XX:XX:XX:XX:XX:XX</td></tr> 93 <?php }?> </table> 97 <center> 98 <input id="bouton" name="submit" type="submit" value="ok"/> 99 </center> 100 <br> 101 <div align="left" id="exemple" >Vous serez notifier par mail et SMS, dès que nous traitons votre demande. </div> 102 </form> </center> 105 </body> 106 </html> 107 ISET Djerba TriTux PAGE 118
120 3. CAPTURES D ECRAN ISET Djerba TriTux PAGE 119
121 3.1. SquirrelMail ( CUPS Web administration ( ISET Djerba TriTux PAGE 120
122 3.3. Site web d inscription univ. en ligne - ( SoapUI ISET Djerba TriTux PAGE 121
123 3.5. PodBridge 1.2 (Interfaces d administration) ISET Djerba TriTux PAGE 122
124 ISET Djerba TriTux PAGE 123
125 ISET Djerba TriTux PAGE 124
126 ISET Djerba TriTux PAGE 125
127 ISET Djerba TriTux PAGE 126
128 ISET Djerba TriTux PAGE 127
129 3.6. Projet ProcessRUById (Quelques captures d écrans) ISET Djerba TriTux PAGE 128
130 ISET Djerba TriTux PAGE 129
131 ISET Djerba TriTux PAGE 130
132 ISET Djerba TriTux PAGE 131
133 3.7. Projet BatchProcessRU (Quelques captures d écrans) ISET Djerba TriTux PAGE 132
134 3.8. Application web PHP (formulaire info etudiant) ISET Djerba TriTux PAGE 133
135 ISET Djerba TriTux PAGE 134
136
Setup Local Mail Server Using Postfix, Dovecot And Squirrelmail On CentOS 6.5/6.4
Setup Local Mail Server Using Postfix, Dovecot And Squirrelmail On CentOS 6.5/6.4 For this tutorial, I use CentOS 6.5 32 bit minimal installation, with SELinux disabled. My test box details are given below.
Linux Administrator (Advance)
Linux Administrator (Advance) Mr.Kriangsak Namkot Trainer & Director Jodoi IT&Service Co.,Ltd. [email protected] [email protected] http://www.jodoi.com Linux Admin II Day 2 9:00 น. -12.00 น. - Mail Server
The current version installed on your server is 2.6.32-431.5.1.el6.x86_64 and it's the latest available.
IP : nnn.nnn.nnn.n 173.255.141.4 Hostname : example.domain.com webserver.theewfinc.org OS : CentOS release 6.6 (Final) The following is a report on the security and performance of your server. It includes
EZcast Installation guide
EZcast Installation guide Document written by > Michel JANSENS > Arnaud WIJNS from ULB PODCAST team http://podcast.ulb.ac.be http://ezcast.ulb.ac.be [email protected] SOMMAIRE SOMMAIRE... 2 1. INSTALLATION
Proxy IMAP/POP/SMTP securisé avec Perdition, Postfix et SASL
Proxy IMAP/POP/SMTP securisé avec Perdition, Postfix et SASL Installation de perdition : apt-get install perdition openssl Généré 1 clé privé et 1 certificat auto-signé : cd /etc/perdition openssl genrsa
Web Server: Principles and Configuration Web Programming 8) Web Server
Web Server: Principles and Configuration Web Programming 8) Web Server Emmanuel Benoist Fall Term 2013-14 Introduction Presentation of Apache Principles of a Web Server Apache Installation Apache Configuration
Configure a Mail Server
SECTION 3 Configure a Mail Server In this section of the workbook, you learn how to do the following: Send Mail to root on 3-3 In this exercise, you send an email to user root using the mail command and
Installing Apache Software
Web Server Web Server Is a software application that uses the HyperText Transfer Protocol. Running on computer connected to Internet. Many Web Server software applications: Public domain software from
Installing an open source version of MateCat
Installing an open source version of MateCat This guide is meant for users who want to install and administer the open source version on their own machines. Overview 1 Hardware requirements 2 Getting started
Version 1.6. MDweb installation and configuration (scripts databases) Linux Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection.
Version 1.6 MDweb installation and configuration (scripts databases) Linux Platform Version Comments 1 Authors : Jean Christophe Desconnets ([email protected]) Translation : Kim Agrawal ([email protected])
http://www.faustfeuerwaffenclub-bregenz.at/info.php
Seite 1 von 9 PHP Version 5.2.17 System Linux tux379 3.12.0-default #3 SMP Fri Nov 8 15:49:31 CET 2013 x86_64 Build Date May 1 2013 14:35:19 Configure Command Server API Virtual Directory Support Configuration
Lucid Key Server v2 Installation Documentation. www.lucidcentral.org
Lucid Key Server v2 Installation Documentation Contents System Requirements...2 Web Server...3 Database Server...3 Java...3 Tomcat...3 Installation files...3 Creating the Database...3 Step 1: Create the
How To Configure Apa Web Server For High Performance
DEPLOYMENT GUIDE Version 1.0 Deploying F5 with Apache Web Servers Table of Contents Table of Contents Deploying the BIG-IP LTM with the Apache web server Prerequisites and configuration notes... 1 Product
Facebook Twitter YouTube Google Plus Website Email
PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute
Created by : Ashish Shah, J.M. PATEL COLLEGE UNIT-5 CHAP-1 CONFIGURING WEB SERVER
UNIT-5 CHAP-1 CONFIGURING WEB SERVER 1 APACHE SERVER The Apache Web server is the most popular Web server on the planet. Individuals and organizations use Linux primarily to create an inexpensive and stable
Web Site Content Management Server. Installation Guide Version 4.1 Build 0
Web Site Content Management Server Installation Guide Version 4.1 Build 0 livesite: Web Site Content Management Server No parts of this work may be reproduced in any form or by any means - graphic, electronic,
Introduction to Linux (Authentication Systems, User Accounts, LDAP and NIS) Süha TUNA Res. Assist.
Introduction to Linux (Authentication Systems, User Accounts, LDAP and NIS) Süha TUNA Res. Assist. Outline 1. What is authentication? a. General Informations 2. Authentication Systems in Linux a. Local
Web Development using PHP (WD_PHP) Duration 1.5 months
Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as
Presented by Henry Ng
Log Format Presented by Henry Ng 1 Types of Logs Content information, alerts, warnings, fatal errors Source applications, systems, drivers, libraries Format text, binary 2 Typical information in Logs Date
CTIS486 Midterm Solution 23/07/2012 - Akgül
Surname, Name: Section: Student No: Closed Book, closed note exam. Show your work! we must follow your reasoning. You are required to write down commands with necessary arguments and options. Give the
Web development... the server side (of the force)
Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server
How to Install SMTPSwith Mailer on Centos Server/VPS
How to Install SMTPSwith Mailer on Centos Server/VPS SMTPSwitch Mailer User Guide V4.0 SMTPSwitch Mailer is a web based email marketing software that runs on a web server or online server. An online server
Talk Internet User Guides Controlgate Administrative User Guide
Talk Internet User Guides Controlgate Administrative User Guide Contents Contents (This Page) 2 Accessing the Controlgate Interface 3 Adding a new domain 4 Setup Website Hosting 5 Setup FTP Users 6 Setup
MAGENTO Migration Tools
MAGENTO Migration Tools User Guide Copyright 2014 LitExtension.com. All Rights Reserved. Magento Migration Tools: User Guide Page 1 Content 1. Preparation... 3 2. Setup... 5 3. Plugins Setup... 7 4. Migration
Tonido Cloud Admin Guide
CODELATHE LLC Tonido Cloud Admin Guide Installing and Managing Tonido Cloud CodeLathe LLC 10/27/2012 (c) CodeLathe LLC 2012. All Rights Reserved Contents 1. Introduction... 3 2. Pre-Requisites... 3 3.
Configuring an Alternative Database for SAS Web Infrastructure Platform Services
Configuration Guide Configuring an Alternative Database for SAS Web Infrastructure Platform Services By default, SAS Web Infrastructure Platform Services is configured to use SAS Framework Data Server.
Document History Revision 5.0.2 Date: October 30, 2006
vtiger CRM 5.0.2 Installation Manual (For Wiindows OS) Document History Revision 5.0.2 Date: October 30, 2006 - 2 - Table of Contents 1. System Requirements...3 2. How do I choose right distribution?...4
Expresso Quick Install
Expresso Quick Install 1. Considerations 2. Basic requirements to install 3. Install 4. Expresso set up 5. Registering users 6. Expresso first access 7. Uninstall 8. Reinstall 1. Considerations Before
Chapter 22 How to send email and access other web sites
Chapter 22 How to send email and access other web sites Murach's PHP and MySQL, C22 2010, Mike Murach & Associates, Inc. Slide 1 Objectives Applied 1. Install and use the PEAR Mail package to send email
Email Migration Manual (For Outlook 2010)
Email Migration Manual (For Outlook 2010) By SYSCOM (USA) May 13, 2013 Version 2.2 1 Contents 1. How to Change POP3/SMTP Setting for Outlook 2010... 3 2. How to Login to Webmail... 10 3. How to Change
ClickCartPro Software Installation README
ClickCartPro Software Installation README This document outlines installation instructions for ClickCartPro Software. SOFTWARE REQUIREMENTS The following requirements must be met by the webserver on which
VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3
VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3 This document supports the version of each product listed and supports all subsequent
Written by: Johan Strand, Reviewed by: Chafic Nassif, Date: 2006-04-26. Getting an ipath server running on Linux
Getting an ipath server running on Linux Table of Contents Table of Contents... 2 1.0. Introduction... 3 2.0. Overview... 3 3.0. Installing Linux... 3 4.0. Installing software that ipath requires... 3
1. Building Testing Environment
The Practice of Web Application Penetration Testing 1. Building Testing Environment Intrusion of websites is illegal in many countries, so you cannot take other s web sites as your testing target. First,
What will be supplied with chemoventory package?
Requirements... 1 What will be supplied with chemoventory package?... 1 Files structure of /chemoventory... 2 Download PHP, MySQL and Zend optimizer programs... 3 Apache Installation... 3 Apache installation
Online Vulnerability Scanner Quick Start Guide
Online Vulnerability Scanner Quick Start Guide Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted.
Linux VPS with cpanel. Getting Started Guide
Linux VPS with cpanel Getting Started Guide First Edition October 2010 Table of Contents Introduction...1 cpanel Documentation...1 Accessing your Server...2 cpanel Users...2 WHM Interface...3 cpanel Interface...3
MPP Manager Users Guide
MPP Manager Users Guide Spam Quarantine and Email Archive Administration \ August, 2008 MPP Mable of Contents 1 About This Guide 4 1.1 MPP Manager Overview 4 1.2 Other Documentation 4 2 Mppserver MPP Manager
WEB2CS INSTALLATION GUIDE
WEB2CS INSTALLATION GUIDE FOR XANDMAIL XandMail 32, rue de Cambrai 75019 PARIS - FRANCE Tel : +33 (0)1 40 388 700 - http://www.xandmail.com TABLE OF CONTENTS 1. INSTALLING WEB2CS 3 1.1. RETRIEVING THE
Centers for Medicare and Medicaid Services. Connect: Enterprise Secure Client (SFTP) Gentran. Internet Option Manual 2006-2007
Centers for Medicare and Medicaid Services Connect: Enterprise Secure Client (SFTP) Gentran Internet Option Manual 2006-2007 Version 8 The Connect: Enterprise Secure Client (SFTP) Manual is not intended
1. Open the preferences screen by opening the Mail menu and selecting Preferences...
Using TLS encryption with OS X Mail This guide assumes that you have already created an account in Mail. If you have not, you can use the new account wizard. The new account wizard is in the Accounts window
PHP Integration Kit. Version 2.5.1. User Guide
PHP Integration Kit Version 2.5.1 User Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate PHP Integration Kit User Guide Version 2.5.1 December, 2012 Ping Identity Corporation 1001
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference
Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise
versasrs HelpDesk quality of service
versacat v2.1.0 Date: 24 June 2010 Copyright 2002-2010 VersaDev Pty. Ltd. All Rights Reserved. *************************************************************** Contents ***************************************************************
Workflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
AXIGEN Mail Server. Quick Installation and Configuration Guide. Product version: 6.1 Document version: 1.0
AXIGEN Mail Server Quick Installation and Configuration Guide Product version: 6.1 Document version: 1.0 Last Updated on: May 28, 2008 Chapter 1: Introduction... 3 Welcome... 3 Purpose of this document...
Messages are printed to the info and debug files. Messages which cause an abort may have additional information in the debug file.
Messages Messages are printed to the info and debug files. Messages which cause an abort may have additional information in the debug file. Error: ActionFile CheckAccounts argument cannot be null.
MassTransit 6.0 Enterprise Web Configuration For Windows
MassTransit 6.0 Enterprise Web Configuration For Windows November 7, 2008 Group Logic, Inc. 1100 North Glebe Road, Suite 800 Arlington, VA 22201 Phone: 703-528-1555 Fax: 703-528-3296 E-mail: [email protected]
Bienvenido master jedi
18-06-12 Prueba del servidor Bienvenido master jedi El servidor tiene las siguientes caracteristicas PHP Version 5.3.10 1ubuntu3.1 System Linux 3.2.0 25 generic pae #40 Ubuntu SMP Wed May 23 22:11:24
Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard)
QUICKSMART Installing OptiRain Open on Macintosh OS X 10.6 (Snow Leopard) QuickSmart Development P.O. Box 3689 Santa Clara, CA 95055 408-777-0944 www.quicksmart.com OptiRain Open provides local scheduling
Top 10 Web Application Security Vulnerabilities - with focus on PHP
Top 10 Web Application Security Vulnerabilities - with focus on PHP Louise Berthilson Alberto Escudero Pascual 1 Resources The Top 10 Project by OWASP www.owasp.org/index.php/owasp_top_ten_project
Installation Instructions
Installation Instructions 25 February 2014 SIAM AST Installation Instructions 2 Table of Contents Server Software Requirements... 3 Summary of the Installation Steps... 3 Application Access Levels... 3
1Intro. Apache is an open source HTTP web server for Unix, Apache
Apache 1Intro Apache is an open source HTTP web server for Unix, Microsoft Windows, Macintosh and others, that implements the HTTP / 1.1 protocol and the notion of virtual sites. Apache has amongst other
Moving to Plesk Automation 11.5
Moving to Plesk Automation 11.5 Last updated: 2 June 2015 Contents About This Document 4 Introduction 5 Preparing for the Move 7 1. Install the PA Moving Tool... 8 2. Install Mail Sync Software (Windows
MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server
MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server November 6, 2008 Group Logic, Inc. 1100 North Glebe Road, Suite 800 Arlington, VA 22201 Phone: 703-528-1555 Fax: 703-528-3296 E-mail:
Using Webmin and Bind9 to Setup DNS Sever on Linux
Global Open Versity Systems Integration Hands-on Labs Training Manual Using Webmin and Bind9 to Setup DNS Sever on Linux By Kefa Rabah, [email protected] March 2008 Installing and Configuring
qliqdirect Active Directory Guide
qliqdirect Active Directory Guide qliqdirect is a Windows Service with Active Directory Interface. qliqdirect resides in your network/server and communicates with qliqsoft cloud servers securely. qliqdirect
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L
Installation Guide for WebSphere Application Server (WAS) and its Fix Packs on AIX V5.3L Introduction: This guide is written to help any person with little knowledge in AIX V5.3L to prepare the P Server
Introduction à OpenSSH
Rémi Laurent [email protected] http://www.fsugar.be/ 12 avril 2008 OpenSSH? Open Secure SHell Shell (ligne de commande) distant alternative au logiciel SSH de Tatu Ylönen développé par le projet OpenBSD
Hardening Joomla 1. HARDENING PHP. 1.1 Installing Suhosin. 1.2 Disable Remote Includes. 1.3 Disable Unneeded Functions & Classes
1. HARDENING PHP Hardening Joomla 1.1 Installing Suhosin Suhosin is a PHP Hardening patch which aims to protect the PHP engine and runtime environment from common exploits, such as buffer overflows in
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
http://cnmonitor.sourceforge.net CN=Monitor Installation and Configuration v2.0
1 Installation and Configuration v2.0 2 Installation...3 Prerequisites...3 RPM Installation...3 Manual *nix Installation...4 Setup monitoring...5 Upgrade...6 Backup configuration files...6 Disable Monitoring
debops.postfix documentation
debops.postfix documentation Release master DebOps Project February 18, 2015 Contents 1 Introduction 1 1.1 Features.................................................. 1 2 Installation 3 2.1 Role dependencies............................................
PostfixAdmin 3.0. Mailserver administration made easy. Christian Boltz
PostfixAdmin 3.0 Mailserver administration made easy Christian Boltz [email protected] listen What is PostfixAdmin? Web interface to manage your mailserver: domains mailboxes aliases (forwarding) alias
LICENSE4J LICENSE MANAGER USER GUIDE
LICENSE4J LICENSE MANAGER USER GUIDE VERSION 4.5.5 LICENSE4J www.license4j.com Table of Contents Getting Started... 4 Managing Products... 6 Create Product... 6 Edit Product... 7 Refresh, Delete Product...
FileMaker Server 9. Custom Web Publishing with PHP
FileMaker Server 9 Custom Web Publishing with PHP 2007 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker,
Embedded Document Accounting Solution (edas) for Cost Recovery. Administrator's Guide
Embedded Document Accounting Solution (edas) for Cost Recovery Administrator's Guide September 2013 www.lexmark.com Contents 2 Contents Overview...4 Getting started...5 Understanding installation requirements...5
FTP, IIS, and Firewall Reference and Troubleshooting
FTP, IIS, and Firewall Reference and Troubleshooting Although Cisco VXC Manager automatically installs and configures everything you need for use with respect to FTP, IIS, and the Windows Firewall, the
Sophos Mobile Control Web service guide
Sophos Mobile Control Web service guide Product version: 3.5 Document date: July 2013 Contents 1 About Sophos Mobile Control... 3 2 Prerequisites... 4 3 Server-side implementation... 5 4 Client-side implementation...
AJ Matrix V5. Installation Manual
AJ Matrix V5 Installation Manual AJ Square Consultancy Services (p) Ltd., The Lord's Garden, #1-12, Vilacheri Main Road, Vilacheri, Madurai-625 006.TN.INDIA, Ph:+91-452-3917717, 3917790. Fax : 2484600
Managing rights in PostgreSQL
Table des matières Managing rights in PostgreSQL...3 1 The author...3 2 Introduction...4 3 Users, groups and roles...4 3.1 Users and groups...5 3.2 Modifying a role...5 4 Special roles and role attributes...5
Version 1.6. MDweb installation and configuration (scripts databases) Windows Platform. 1.3 Authors: Jean Christophe Desconnets (jcd@teledetection.
Version 1.6 MDweb installation and configuration (scripts databases) Windows Platform Version Comments 1 Authors : Jean Christophe Desconnets ([email protected]) Translation : Kim Agrawal ([email protected])
SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION
SCOPTEL WITH ACTIVE DIRECTORY USER DOCUMENTATION Table of content ScopTel with Active Directory... 3 Software Features... 3 Software Compatibility... 3 Requirements... 3 ScopTel Configuration... 4 Prerequisites...
Getting Started - The Control Panel
Table of Contents 1. Getting Started - the Control Panel Login Navigation Bar Domain Limits Domain User Account Properties Session Management 2. FTP Management Creating and Editing Users Accessing FTP
Spam fighting with Postfix
Spam fighting with Postfix Using technology to fight a social problem Devdas Bhagat Postfix Antispam workshop: Apricot 2004 p. 1 Introduction Postfix in the anti spam war "If you think technology can solve
End User Guide The guide for email/ftp account owner
End User Guide The guide for email/ftp account owner ServerDirector Version 3.7 Table Of Contents Introduction...1 Logging In...1 Logging Out...3 Installing SSL License...3 System Requirements...4 Navigating...4
RoboMail Mass Mail Software
RoboMail Mass Mail Software RoboMail is a comprehensive mass mail software, which has a built-in e-mail server to send out e-mail without using ISP's server. You can prepare personalized e-mail easily.
What is included in the ATRC server support
Linux Server Support Services What is included in the ATRC server support Installation Installation of any ATRC Supported distribution Compatibility with client hardware. Hardware Configuration Recommendations
FileMaker Server 12. Custom Web Publishing with PHP
FileMaker Server 12 Custom Web Publishing with PHP 2007 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks
CC ICT-SUD. Setting up and integrate Apache, MySQL and PHP on a Linux system
LAMP CC ICT-SUD Setting up and integrate Apache, MySQL and PHP on a Linux system Installation Simple Alternative (for development/testing only): Xampp I will assume MySQL is already installed and configured
USING MYWEBSQL FIGURE 1: FIRST AUTHENTICATION LAYER (ENTER YOUR REGULAR SIMMONS USERNAME AND PASSWORD)
USING MYWEBSQL MyWebSQL is a database web administration tool that will be used during LIS 458 & CS 333. This document will provide the basic steps for you to become familiar with the application. 1. To
PHP Version 5.3.29. http://development.koeselbuch.com/de/admin/reports/status/php#overl... 1 von 22 11.11.2015 09:52
1 von 22 11.11.2015 09:52 PHP Version 5.3.29 System SunOS localhost 5.10 Generic_142901-13 i86pc Build Date Sep 28 2015 16:45:45 Configure Command Server API Virtual Directory Support Configuration File
I N S T A L L A T I O N M A N U A L
I N S T A L L A T I O N M A N U A L 2015 Fastnet SA, St-Sulpice, Switzerland. All rights reserved. Reproduction in whole or in part in any form of this manual without written permission of Fastnet SA is
and Active Directory Adding, Changing and Deleting Accounts, Compiling Addresses for Mail Lists
and Active Directory Adding, Changing and Deleting Accounts, Compiling Addresses for Mail Lists, Ltd. 2550 SW Grapevine Parkway Gapevine, TX 76051 Tel: (817) 601-3222 http://www.altn.com Copyright 2006.
Administration Guide. . All right reserved. For more information about Specops Password Sync and other Specops products, visit www.specopssoft.
Administration Guide. All right reserved. For more information about Specops Password Sync and other Specops products, visit www.specopssoft.com Copyright and Trademarks Specops Password Sync is a trademark
CipherMail Gateway Installation Guide
CIPHERMAIL EMAIL ENCRYPTION CipherMail Gateway Installation Guide March 26, 2015, Rev: 9094 Copyright c 2008-2015, ciphermail.com. Acknowledgments: Thanks goes out to Andreas Hödle for feedback and input
Advanced Web Security, Lab
Advanced Web Security, Lab Web Server Security: Attacking and Defending November 13, 2013 Read this earlier than one day before the lab! Note that you will not have any internet access during the lab,
Configuring. Moodle. Chapter 82
Chapter 82 Configuring Moodle The following is an overview of the steps required to configure the Moodle Web application for single sign-on (SSO) via SAML. Moodle offers SP-initiated SAML SSO only. 1 Prepare
Server Installation/Upgrade Guide
Server Installation/Upgrade Guide System Version 3.8 2001-2009 Echo 360, Inc. Echo360 is a trademark of Echo360, Inc. Echo360 is a registered trademark of Echo360 Inc. in Australia. All other trademarks
