Magellan Linux

Diff of /alx-src/branches/alxconf-060/functions/config_sessions.sh

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

revision 272 by niro, Thu Apr 28 22:45:05 2005 UTC revision 291 by niro, Thu Aug 18 02:51:16 2005 UTC
# Line 1  Line 1 
1  # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.7 2005-04-28 22:45:05 niro Exp $  # $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_sessions.sh,v 1.10 2005-08-18 02:51:16 niro Exp $
2  # configures ica-sessions on the host via mysql db settings  # configures ica-sessions on the host via mysql db settings
3    
4  get_sessions_settings()  get_sessions_settings()
5  {  {
6   local x i all count   local x i all count
7    
8   #all arrays:   # all arrays:
9   # ->  session1 session2 ... sessionN   # ->  session1 session2 ... sessionN
10    
11   #get settings from database   # get settings from database
12   all=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \   all=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
13   "select filename from cfg_sessions where serial='${ALX_SERIAL}'")   "select filename from cfg_sessions where serial='${ALX_SERIAL}'")
14    
15   #split'em up and put in an array (only if $all not zero)   # split'em up and put in an array (only if $all not zero)
16   declare -i i=0   declare -i i=0
17   if [ -n "${all}" ]   if [ -n "${all}" ]
18   then   then
# Line 31  get_sessions_settings() Line 31  get_sessions_settings()
31    
32  get_autostart_settings()  get_autostart_settings()
33  {  {
34   #get settings from database   # get settings from database
35   ALX_AUTOSTART=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \   ALX_AUTOSTART=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
36   "select session from cfg_autostart where serial='${ALX_SERIAL}'")   "select session from cfg_autostart where serial='${ALX_SERIAL}'")
37    
# Line 52  generate_ica_session_files() Line 52  generate_ica_session_files()
52   local ses_browseradrs   local ses_browseradrs
53   local ses_colors   local ses_colors
54    
55   #get settings from database   # get settings from database
56   all_ids=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \   all_ids=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
57   "select id from cfg_sessions where serial='${ALX_SERIAL}'")   "select id from cfg_sessions where serial='${ALX_SERIAL}'")
58    
# Line 110  generate_ica_session_files() Line 110  generate_ica_session_files()
110   echo "[${ses_session}]" >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo "[${ses_session}]" >> ${ALX_ICA_SESSIONS}/${ses_filename}
111   echo "Address=${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo "Address=${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
112   echo "InitialProgram=#${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo "InitialProgram=#${ses_session}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
113   echo 'DesiredColor=${ses_colors}' >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo "DesiredColor=${ses_colors}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
114   echo 'TransportDriver=TCP/IP' >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo 'TransportDriver=TCP/IP' >> ${ALX_ICA_SESSIONS}/${ses_filename}
115   echo 'WinStationDriver=ICA 3.0' >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo 'WinStationDriver=ICA 3.0' >> ${ALX_ICA_SESSIONS}/${ses_filename}
116   echo "ClearPassword=${ses_password}" >> ${ALX_ICA_SESSIONS}/${ses_filename}   echo "ClearPassword=${ses_password}" >> ${ALX_ICA_SESSIONS}/${ses_filename}
# Line 121  generate_ica_session_files() Line 121  generate_ica_session_files()
121   done   done
122  }  }
123    
124    get_other_menuitems()
125    {
126     local x i count name exec icon workdir
127    
128     # all arrays:
129     # ->  session1 session2 ... sessionN
130    
131     # get settings from database
132     count=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
133     "select name from cfg_other_menuitems where serial='${ALX_SERIAL}'")
134    
135     # get all instances and put them into an array
136     if [ -n "${count}" ]
137     then
138     for x in ${count}
139     do
140     # to be sure
141     unset name
142     unset exec
143     unset workdir
144     unset icon
145    
146     name=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
147     "select name from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'")
148    
149     exec=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
150     "select exec from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'")
151    
152     workdir=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
153     "select workdir from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'")
154    
155     icon=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \
156     "select icon from cfg_other_menuitems where serial='${ALX_SERIAL}' and name='${x}'")
157    
158     # debug only
159     #echo "DEBUG: ${x}: name:'${name}' exec:'${exec}' workdir:'${workdir}' ic$
160    
161     # now echo config line for fluxbox-menu
162     # make it "configureable" :P
163     [ -n "${workdir}" ] && workdir="cd ${workdir};"
164     [ -n "${icon}" ] && icon="[${icon}]"
165     echo "[exec] (${name}) {${workdir}${exec}} ${icon}"
166     done
167     fi
168    }
169    
170  config_sessions()  config_sessions()
171  {  {
172   # generate ica session files   # generate ica session files
173   generate_ica_session_files   generate_ica_session_files
174    
175   #first of all get the vars   # first of all get the vars
176   get_sessions_settings   get_sessions_settings
177   get_autostart_settings   get_autostart_settings
178    
# Line 174  config_sessions() Line 220  config_sessions()
220   cat ${ALX_SKELETONS}/fluxbox/menu.header \   cat ${ALX_SKELETONS}/fluxbox/menu.header \
221   > ${ALX_UNPRIV_HOME}/.fluxbox/menu   > ${ALX_UNPRIV_HOME}/.fluxbox/menu
222    
223     # now fix it with proper messages :P
224     local ver="$(< /etc/mageversion)"
225     sed -i "s:@CHANGEME@:alx-${ver}  #${ALX_SERIAL}:g" \
226     ${ALX_UNPRIV_HOME}/.fluxbox/menu
227    
228   # add a newline (maybe there is no crlf in the header)   # add a newline (maybe there is no crlf in the header)
229   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   echo >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
230    
231   # fluxbox menu sessions   # fluxbox menu sessions
232   for (( i=0; i < count; i++ ))   for (( i=0; i < count; i++ ))
233   do   do
234   echo "[exec] ($(basename ${ALX_SESSIONS[${i}]} .ica)) {wfica ${ALX_ICA_SESSIONS}/${ALX_SESSIONS[${i}]}}" \   [ -n "${ALX_SESSIONS[${i}]}" ] && \
235   >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   echo "[exec] ($(basename ${ALX_SESSIONS[${i}]} .ica)) {wfica ${ALX_ICA_SESSIONS}/${ALX_SESSIONS[${i}]}}" \
236     >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
237   done   done
238    
239     # add other menuitems
240     get_other_menuitems >> ${ALX_UNPRIV_HOME}/.fluxbox/menu
241    
242   # fluxbox menu footer   # fluxbox menu footer
243   cat ${ALX_SKELETONS}/fluxbox/menu.footer \   cat ${ALX_SKELETONS}/fluxbox/menu.footer \
244   >> ${ALX_UNPRIV_HOME}/.fluxbox/menu   >> ${ALX_UNPRIV_HOME}/.fluxbox/menu

Legend:
Removed from v.272  
changed lines
  Added in v.291