Magellan Linux

Diff of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

mcore-src/trunk/mcore-tools/daemon/client/include/citrix.client.class revision 2038 by niro, Wed Apr 17 14:15:26 2013 UTC mcore-src/trunk/mcore-tools/src/modules/citrix/citrix.client.class.in revision 2263 by niro, Mon Jan 13 15:36:41 2014 UTC
# Line 5  provide citrix ica Line 5  provide citrix ica
5  # needs fluxbox!  # needs fluxbox!
6  require fluxbox basic-video  require fluxbox basic-video
7    
8    # citrix global config
9    include @@SYSCONFDIR@@/mcore/citrix.conf
10    
11  help_citrix_serverlist()  help_citrix_serverlist()
12  {  {
13   mecho "get citrix.serverlist"   mecho "get citrix.serverlist [action]"
14   mecho " Shows all hosts added on the serverlist."   mecho " Shows all hosts added on the serverlist."
15     mecho " [actions]:"
16     mecho "   print - prints local configured serverlist"
17     mecho "   query - get serverlist of the farm from given [server]"
18   mecho   mecho
19   mecho "set citrix.serverlist [action] [host]"   mecho "set citrix.serverlist [action] [host]"
20   mecho " Adds or deletes a server from the ica serverlist."   mecho " Adds or deletes a server from the ica serverlist."
21   mecho " [actions]:"   mecho " [actions]:"
22   mecho "   add   - adds a server"   mecho "   add   - adds a server"
23   mecho "   del   - deletes a server"   mecho "   del   - deletes a server"
24     mecho "   auto  - queries given [server] for the serverlist and adds all of them"
25   mecho   mecho
26   mecho "   host  - dns hostname or ip of the server"   mecho "   host  - dns hostname or ip of the server"
27   mecho   mecho
# Line 25  help_citrix_session() Line 32  help_citrix_session()
32  {  {
33   mecho "get citrix.session"   mecho "get citrix.session"
34   mecho " Shows all configured ICA sessions"   mecho " Shows all configured ICA sessions"
35     mecho "   print - prints all local configured sessions"
36     mecho "   query - get sessionlist of the farm from given [server]"
37   mecho   mecho
38   mecho "set citrix.session [action] [name] [session] [mode] [user] [domain] [password]"   mecho "set citrix.session [action] [name] [session] [mode] [user] [domain] [password]"
39   mecho "  Adds or delets a ICA session."   mecho "  Adds or delets a ICA session."
# Line 166  set_citrix_session() Line 175  set_citrix_session()
175    
176  get_citrix_session()  get_citrix_session()
177  {  {
178   list_files_in_directory ${MROOT}/${MCORE_CONFIG_PATH}/citrix/ica   local action="$1"
179     local server="$2"
180     local sessionlist
181     local sessioncount
182     local i
183     local exclude
184    
185     [[ -z ${action} ]] && help_citrix_serverlist && return 1
186    
187     case "${action}" in
188     print) list_files_in_directory ${MROOT}/${MCORE_CONFIG_PATH}/citrix/ica ;;
189     query)
190     [[ -n ${PNABROWSE_EXECUTABLE} ]] || eecho "\$PNABROWSE_EXECUTABLE not defined"
191     [[ -n ${PNABROWSE_CITRIX_BROWSER} ]] || eecho "\$PNABROWSE_CITRIX_BROWSER not defined"
192     if [ -x ${MROOT}/${PNABROWSE_EXECUTABLE} ]
193     then
194     if [[ -n ${PNABROWSE_SESSION_EXCLUDE} ]]
195     then
196     exclude="| grep -v '${PNABROWSE_SESSION_EXCLUDE}'"
197     fi
198     sessionlist=( $(${MROOT}/${PNABROWSE_EXECUTABLE} -A "${PNABROWSE_CITRIX_BROWSER}" ${exclude}) )
199     sessioncount="${#sessionlist[*]}"
200     for (( i=0; i<sessioncount; i++))
201     do
202     rvecho -n "${sessionlist[${i}]} "
203     done
204     rvecho
205     else
206     eecho "'${MROOT}/${PNABROWSE_EXECUTABLE}' executable not found."
207     fi
208     ;;
209     *) help_citrix_session && return 1 ;;
210     esac
211  }  }
212    
213  set_citrix_serverlist()  set_citrix_serverlist()
# Line 174  set_citrix_serverlist() Line 215  set_citrix_serverlist()
215   local action="$1"   local action="$1"
216   local server="$2"   local server="$2"
217   local CONFIG   local CONFIG
218     local serverlist
219     local servercount
220     local i
221     local exclude
222    
223   [[ -z ${action} ]] && help_citrix_serverlist && return 1   [[ -z ${action} ]] && help_citrix_serverlist && return 1
224    
# Line 186  set_citrix_serverlist() Line 231  set_citrix_serverlist()
231   ;;   ;;
232    
233   del)   del)
234   if [[ -f ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist/${server} ]]   if [ ! -d ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist ]
235     then
236     eecho "'${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist' directory not found."
237     elif [ -f ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist/${server} ]
238   then   then
239   rm ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist/"${server}"   rm ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist/"${server}"
240   elif [[ -z ${server} ]]   elif [[ -z ${server} ]]
# Line 196  set_citrix_serverlist() Line 244  set_citrix_serverlist()
244   fi   fi
245   ;;   ;;
246    
247     auto)
248     if [ -x ${MROOT}/${PNABROWSE_EXECUTABLE} ]
249     then
250     if [[ -n ${PNABROWSE_SERVER_EXCLUDE} ]]
251     then
252     exclude="| grep -v '${PNABROWSE_SERVER_EXCLUDE}'"
253     fi
254     serverlist=( $(${MROOT}/${PNABROWSE_EXECUTABLE} -S ${PNABROWSE_CITRIX_BROWSER} ${exclude}) )
255     servercount="${#serverlist[*]}"
256     for (( i=0; i<servercount; i++))
257     do
258     server="${serverlist[${i}]}"
259     CONFIG="${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist/${server}"
260     clearconfig
261     addconfig "${server}"
262     done
263     else
264     eecho "'${MROOT}/${PNABROWSE_SERVER_EXCLUDE}' executable not found."
265     fi
266     ;;
267    
268   *) help_citrix_serverlist && return 1 ;;   *) help_citrix_serverlist && return 1 ;;
269   esac   esac
270  }  }
271    
272  get_citrix_serverlist()  get_citrix_serverlist()
273  {  {
274   list_files_in_directory ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist   local action="$1"
275     local server="$2"
276     local serverlist
277     local servercount
278     local i
279     local exclude
280    
281     [[ -z ${action} ]] && help_citrix_serverlist && return 1
282    
283     case "${action}" in
284     print)
285     list_files_in_directory ${MROOT}/${MCORE_CONFIG_PATH}/citrix/serverlist ;;
286     query)
287     [[ -n ${PNABROWSE_EXECUTABLE} ]] || eecho "\$PNABROWSE_EXECUTABLE not defined"
288     [[ -n ${PNABROWSE_CITRIX_BROWSER} ]] || eecho "\$PNABROWSE_CITRIX_BROWSER not defined"
289     if [ -x ${MROOT}/${PNABROWSE_EXECUTABLE} ]
290     then
291     serverlist=( $(${MROOT}/${PNABROWSE_EXECUTABLE} -S ${PNABROWSE_CITRIX_BROWSER}) )
292     servercount="${#serverlist[*]}"
293     for (( i=0; i<servercount; i++))
294     do
295     rvecho -n "${serverlist[${i}]} "
296     done
297     rvecho
298     else
299     eecho "'${MROOT}/${PNABROWSE_EXECUTABLE}' executable not found."
300     fi
301     ;;
302     *) help_citrix_session && return 1 ;;
303     esac
304  }  }

Legend:
Removed from v.2038  
changed lines
  Added in v.2263