Magellan Linux

Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix.control.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2630 - (hide annotations) (download)
Tue Sep 29 10:21:49 2015 UTC (8 years, 7 months ago) by niro
File size: 4516 byte(s)
-fixed a typo
1 niro 2627 # $Id$
2 niro 2051
3 niro 2627 push_config 70_citrix_serverlist
4     push_config 80_citrix_session
5    
6     help_citrix_serverlist()
7 niro 2051 {
8 niro 2305 local serial="${CLASS_ARGV[0]}"
9 niro 2627 control_client "${serial}" help citrix.serverlist
10 niro 2051 }
11    
12 niro 2627 help_citrix_session()
13 niro 2051 {
14 niro 2305 local serial="${CLASS_ARGV[0]}"
15 niro 2627 control_client "${serial}" help citrix.session
16     }
17 niro 2051
18 niro 2627 set_citrix_session()
19     {
20     local serial="${CLASS_ARGV[0]}"
21     local action="${CLASS_ARGV[1]}"
22     local name="${CLASS_ARGV[2]}"
23     local session="${CLASS_ARGV[3]}"
24     local mode="${CLASS_ARGV[4]}"
25     local user="${CLASS_ARGV[5]}"
26     local domain="${CLASS_ARGV[6]}"
27     local password="${CLASS_ARGV[7]}"
28     local id
29     local enabled
30    
31     case "${action}" in
32     add) enabled=1 ;;
33     del) enabled=0 ;;
34     *)
35     eecho "Unknown action '${action}'"
36     return 1
37     ;;
38     esac
39    
40     if [[ -z ${name} ]]
41     then
42     eecho "No name given"
43     return 1
44     fi
45    
46     id=$(mysqldo "select id from cfg_sessions_citrix where serial='${serial}' and name='${name}';")
47     if [[ -n ${id} ]]
48     then
49     mysqldo "update cfg_sessions_citrix set name='${name}', session='${session}', filename='${filename}', username='${username}', domain='${domain}', password='${password}', browseradrs='${browseradrs}', enabled='${enabled}' where id=${id};"
50     else
51     mysqldo "insert into cfg_sessions_citrix(serial, name, session, filename, username, domain, password, browseradrs, enabled) values('${serial}', '${name}', '${session}', ${store}', '${filename}', '${domain}', '${password}', '${browseradrs}', '${enabled}');"
52     fi
53     }
54    
55     control_citrix_session()
56     {
57     local serial="${CLASS_ARGV[0]}"
58     push_config_80_citrix_session "${serial}"
59     }
60    
61     push_config_80_citrix_session()
62     {
63     local serial="$1"
64     local values
65     local id
66    
67     values=$(mysqldo "select id from cfg_sessions_citrix where serial='${serial}';")
68     for id in ${values}
69 niro 2051 do
70 niro 2627 evaluate_table_xml cfg_sessions_citrix "where serial='${serial}'"
71     if [[ -z ${cfg_sessions_citrix_session} ]]
72     then
73     eecho "Session must not be empty id->'${id}'"
74     continue
75     fi
76     if [[ -z ${cfg_sessions_citrix_enabled} ]]
77     then
78     eecho "Enabled must not be empty id->'${id}'"
79     continue
80     fi
81     if [[ ${cfg_sessions_citrix_enabled} = 1 ]]
82     then
83 niro 2630 control_client "${serial}" set citrix.session add "${cfg_sessions_citrix_name}" "${cfg_sessions_citrix_session}" "fullscreen" "${cfg_sessions_citrix_username}" "${cfg_sessions_citrix_domain} ${cfg_sessions_citrix_password}"
84 niro 2627 elif [[ ${cfg_sessions_citrix_enabled} = 0 ]]
85     then
86     control_client "${serial}" set citrix.session del "${cfg_sessions_citrix_name}"
87     # remove from database too
88     mysqldo "delete from cfg_sessions_citrix where id='${id}';"
89     else
90     eecho "unknown enabled value id->'${id}', cfg_sessions_citrix_enabled -> '${cfg_sessions_citrix_enabled}'"
91     return 1
92     fi
93 niro 2051 done
94     }
95    
96 niro 2627 set_citrix_serverlist()
97 niro 2051 {
98 niro 2305 local serial="${CLASS_ARGV[0]}"
99 niro 2627 local action="${CLASS_ARGV[1]}"
100     local host="${CLASS_ARGV[2]}"
101     local id
102     local enabled
103 niro 2051
104 niro 2627 case "${action}" in
105     add) enabled=1 ;;
106     del) enabled=0 ;;
107     *)
108     eecho "Unknown action '${action}'"
109     return 1
110     ;;
111     esac
112    
113     if [[ -z ${store} ]]
114     then
115     eecho "No store given"
116     return 1
117     fi
118    
119     id=$(mysqldo "select id from cfg_citrix_serverlist where serial='${serial}' and host='${host}';")
120     if [[ -n ${id} ]]
121     then
122     mysqldo "update cfg_citrix_serverlist set host='${host}', enabled='${enabled}' where id=${id};"
123     else
124     mysqldo "insert into cfg_citrx_serverlist(serial, store, enabled) values('${serial}', '${store}', '${enabled}');"
125     fi
126 niro 2051 }
127 niro 2627
128     control_citrix_serverlist()
129     {
130     local serial="${CLASS_ARGV[0]}"
131     push_config_70_citrix_serverlist "${serial}"
132     }
133    
134     push_config_70_citrix_serverlist()
135     {
136     local serial="$1"
137     local values
138     local id
139    
140     values=$(mysqldo "select id from cfg_citrix_serverlist where serial='${serial}';")
141     for id in ${values}
142     do
143     evaluate_table_xml cfg_citrix_serverlist "where serial='${serial}'"
144     if [[ -z ${cfg_citrix_serverlist_host} ]]
145     then
146     eecho "Host must not be empty id->'${id}'"
147     continue
148     fi
149     if [[ -z ${cfg_citrix_serverlist_enabled} ]]
150     then
151     eecho "Enabled must not be empty id->'${id}'"
152     continue
153     fi
154     if [[ ${cfg_citrix_serverlist_enabled} = 1 ]]
155     then
156     control_client "${serial}" set citrix.serverlist add "${cfg_citrix_serverlist_host}"
157     elif [[ ${cfg_citrix_serverlist_enabled} = 0 ]]
158     then
159     control_client "${serial}" set citrix.serverlist del "${cfg_citrix_serverlist_host}"
160     # remove from database too
161     mysqldo "delete from cfg_citrix_serverlist where id='${id}';"
162     else
163     eecho "unknown enabled value id->'${id}', cfg_citrix_serverlist_enabled -> '${cfg_citrix_serverlist_enabled}'"
164     return 1
165     fi
166     done
167     }