9 |
|
|
10 |
die() { echo "ERROR: $@"; exit 1; } |
die() { echo "ERROR: $@"; exit 1; } |
11 |
|
|
12 |
|
print_storefront_session_list() |
13 |
|
{ |
14 |
|
local counter |
15 |
|
|
16 |
|
declare -i counter=0 |
17 |
|
x11runas "${MCORE_LIBDIR}/storefront-resolver --enumerate --user '${user}' --password '${password}' --domain '${domain}'" | while read line |
18 |
|
do |
19 |
|
[[ ${counter} -gt 0 ]] && echo "${line}" | cut -d"'" -f1-3 |
20 |
|
((counter++)) |
21 |
|
done |
22 |
|
} |
23 |
|
|
24 |
# very basic getops |
# very basic getops |
25 |
for argv in $* |
for argv in $* |
26 |
do |
do |
31 |
--user) shift; user="$1" ;; |
--user) shift; user="$1" ;; |
32 |
--domain) shift; domain="$1" ;; |
--domain) shift; domain="$1" ;; |
33 |
--password) shift; password="$1" ;; |
--password) shift; password="$1" ;; |
34 |
|
--store) shift; store="$1" ;; |
35 |
esac |
esac |
36 |
shift |
shift |
37 |
done |
done |
45 |
# and session |
# and session |
46 |
[[ -n ${session} ]] || die "No session given" |
[[ -n ${session} ]] || die "No session given" |
47 |
|
|
48 |
|
# add store and regen user xml |
49 |
|
if [[ -n ${store} ]] |
50 |
|
then |
51 |
|
${MCORE_LIBDIR}/storefront-store --add --store "${store}" |
52 |
|
${MCORE_LIBDIR}/storefront-store --regen |
53 |
|
fi |
54 |
|
|
55 |
storefront_starter="${STOREFRONTDIR}/${name}.sh" |
storefront_starter="${STOREFRONTDIR}/${name}.sh" |
56 |
CONFIG="${MROOT}/${storefront_starter}" |
CONFIG="${MROOT}/${storefront_starter}" |
57 |
clearconfig |
clearconfig |
58 |
|
|
59 |
addconfig '#!/bin/bash' |
addconfig '#!/bin/bash' |
60 |
addconfig "${MCORE_LIBDIR}/storefront-resolver launch '${user}' '${password}' '${domain}' '${session}'" |
addconfig "${MCORE_LIBDIR}/storefront-resolver --launch --user '${user}' --password '${password}' --domain '${domain}' --app '${session}' --store '${store}'" |
61 |
|
chmod +x "${storefront_starter}" |
62 |
|
|
63 |
if is_provided fluxbox |
if is_provided fluxbox |
64 |
then |
then |
65 |
# generate fluxbox menu entry |
# generate fluxbox menu entry |
66 |
${MCORE_LIBDIR}/fluxbox-menuitem --add --name "${name}" --exec "bash ${storefront_starter}" && |
${MCORE_LIBDIR}/fluxbox-menuitem --add --name "${name}" --exec "${storefront_starter}" && |
67 |
${MCORE_LIBDIR}/fluxbox-rebuild-menu |
${MCORE_LIBDIR}/fluxbox-rebuild-menu |
68 |
fi |
fi |
69 |
|
if is_provided idesk |
70 |
|
then |
71 |
|
# generate idesk desktop icon |
72 |
|
${MCORE_LIBDIR}/idesk-generate-icon-info --add --name "${name}" --command "${storefront_starter}" --icon default.png && |
73 |
|
${MCORE_LIBDIR}/idesk-generate-all-desktop-icons |
74 |
|
fi |
75 |
;; |
;; |
76 |
|
|
77 |
del) |
del) |
84 |
${MCORE_LIBDIR}/fluxbox-menuitem --del --name "${name}" && |
${MCORE_LIBDIR}/fluxbox-menuitem --del --name "${name}" && |
85 |
${MCORE_LIBDIR}/fluxbox-rebuild-menu |
${MCORE_LIBDIR}/fluxbox-rebuild-menu |
86 |
fi |
fi |
87 |
|
if is_provided idesk |
88 |
|
then |
89 |
|
${MCORE_LIBDIR}/idesk-generate-icon-info --del --name "${name}" && |
90 |
|
${MCORE_LIBDIR}/idesk-generate-all-desktop-icons |
91 |
|
fi |
92 |
else |
else |
93 |
eecho "No configured session named '${name}' exists." |
eecho "No configured session named '${name}' exists." |
94 |
fi |
fi |
95 |
;; |
;; |
96 |
|
|
97 |
print) |
print) |
98 |
list_files_in_directory ${MROOT}/${STOREFRONTDIR} |
list_files_in_directory ${MROOT}/${STOREFRONTDIR} | sed 's:\.sh::g' |
99 |
;; |
;; |
100 |
|
|
101 |
query) |
query) |
102 |
eval sessionlist=( $(su - "${MCORE_UNPRIV_USER}" -c "${MCORE_LIBDIR}/storefront-resolver enumerate '${user}' '${password}' '${domain}'") ) |
eval sessionlist=( $(print_storefront_session_list) ) |
103 |
sessioncount="${#sessionlist[*]}" |
sessioncount="${#sessionlist[*]}" |
104 |
for (( i=0; i<sessioncount; i++)) |
for (( i=0; i<sessioncount; i++)) |
105 |
do |
do |