Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2629 - (show annotations) (download)
Tue Sep 29 10:13:18 2015 UTC (8 years, 7 months ago) by niro
File size: 4534 byte(s)
-removed cruft
1 # $Id$
2
3 push_config 70_citrix_serverlist
4 push_config 80_citrix_session
5
6 help_citrix_serverlist()
7 {
8 local serial="${CLASS_ARGV[0]}"
9 control_client "${serial}" help citrix.serverlist
10 }
11
12 help_citrix_session()
13 {
14 local serial="${CLASS_ARGV[0]}"
15 control_client "${serial}" help citrix.session
16 }
17
18 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 do
70 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 control_client "${serial}" set citrix.session add "${cfg_sessions_citrix_name}" "${cfg_sessions_citrix_session}" "${cfg_sessions_citrix_store}" "${cfg_sessions_citrix_username}" "${cfg_sessions_citrix_domain} ${cfg_sessions_citrix_password}"
84 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 done
94 }
95
96 set_citrix_serverlist()
97 {
98 local serial="${CLASS_ARGV[0]}"
99 local action="${CLASS_ARGV[1]}"
100 local host="${CLASS_ARGV[2]}"
101 local id
102 local enabled
103
104 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 }
127
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 }