Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/citrix/storefront-session.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2387 - (show annotations) (download)
Wed Aug 26 12:18:33 2015 UTC (8 years, 8 months ago) by niro
File size: 2384 byte(s)
-fixed a typo -add -> --add
1 #!/bin/bash
2
3 MCORE_LIBDIR="@@MCORE_LIBDIR@@"
4 source @@SYSCONFDIR@@/mcore/mcore.conf
5 source ${MCORE_LIBDIR}/include/common.global.class
6 source ${MCORE_LIBDIR}/include/daemon.global.class
7
8 STOREFRONTDIR="${MCORE_CONFIG_PATH}/citrix/storefront"
9
10 die() { echo "ERROR: $@"; exit 1; }
11
12 # very basic getops
13 for argv in $*
14 do
15 case $1 in
16 --add|--del|--print|--query) method="${1//--}" ;;
17 --name) shift; name="$1" ;;
18 --session) shift; session="$1" ;;
19 --user) shift; user="$1" ;;
20 --domain) shift; domain="$1" ;;
21 --password) shift; password="$1" ;;
22 esac
23 shift
24 done
25
26 [[ -n ${method} ]] || die "No method given"
27
28 case "${method}" in
29 add)
30 # requires name
31 [[ -n ${name} ]] || die "No name given"
32 # and session
33 [[ -n ${session} ]] || die "No session given"
34
35 storefront_starter="${STOREFRONTDIR}/${name}.sh"
36 CONFIG="${MROOT}/${storefront_starter}"
37 clearconfig
38
39 addconfig '#!/bin/bash'
40 addconfig "${MCORE_LIBDIR}/storefront-resolver launch '${user}' '${password}' '${domain}' '${session}'"
41 chmod +x "${storefront_starter}"
42
43 if is_provided fluxbox
44 then
45 # generate fluxbox menu entry
46 ${MCORE_LIBDIR}/fluxbox-menuitem --add --name "${name}" --exec "${storefront_starter}" &&
47 ${MCORE_LIBDIR}/fluxbox-rebuild-menu
48 fi
49 if is_provided idesk
50 then
51 # generate idesk desktop icon
52 ${MCORE_LIBDIR}/idesk-generate-icon-info --add --name "{name}" --command "${storefront_starter}" --icon default.png &&
53 ${MCORE_LIBDIR}/idesk-generate-all-desktop-icons
54 fi
55 ;;
56
57 del)
58 [[ -n ${name} ]] || die "No name given"
59 if [ -f ${MROOT}/${STOREFRONTDIR}/"${name}".sh ]
60 then
61 rm ${MROOT}/${STOREFRONTDIR}/"${name}".sh
62 if is_provided fluxbox
63 then
64 ${MCORE_LIBDIR}/fluxbox-menuitem --del --name "${name}" &&
65 ${MCORE_LIBDIR}/fluxbox-rebuild-menu
66 fi
67 if is_provided idesk
68 then
69 ${MCORE_LIBDIR}/idesk-generate-icon-info --del --name "${name}" &&
70 ${MCORE_LIBDIR}/idesk-generate-all-desktop-icons
71 fi
72 else
73 eecho "No configured session named '${name}' exists."
74 fi
75 ;;
76
77 print)
78 list_files_in_directory ${MROOT}/${STOREFRONTDIR}
79 ;;
80
81 query)
82 eval sessionlist=( $(su - "${MCORE_UNPRIV_USER}" -c "${MCORE_LIBDIR}/storefront-resolver enumerate '${user}' '${password}' '${domain}'") )
83 sessioncount="${#sessionlist[*]}"
84 for (( i=0; i<sessioncount; i++))
85 do
86 rvecho -n "${sessionlist[${i}]};"
87 done
88 rvecho
89 ;;
90 esac