Magellan Linux

Annotation of /mcore-src/trunk/mcore-tools/src/modules/rdesktop/rdesktop.control.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2741 - (hide annotations) (download)
Thu Jan 28 15:25:13 2016 UTC (8 years, 3 months ago) by niro
File size: 3503 byte(s)
-fixed a typo
1 niro 2726 # $Id$
2    
3     push_config 80_rdesktop_session
4    
5     help_rdesktop_session()
6     {
7     local serial="${CLASS_ARGV[0]}"
8     control_client "${serial}" help rdesktop.session
9     }
10    
11     set_rdesktop_session()
12     {
13     local serial="${CLASS_ARGV[0]}"
14     local action="${CLASS_ARGV[1]}"
15     local name="${CLASS_ARGV[2]}"
16     local session="${CLASS_ARGV[3]}"
17     local mode="${CLASS_ARGV[4]}"
18     local user="${CLASS_ARGV[5]}"
19     local domain="${CLASS_ARGV[6]}"
20     local password="${CLASS_ARGV[7]}"
21     local serverlist="${CLASS_ARGV[8]}"
22     local autostart="${CLASS_ARGV[9]}"
23     local id
24     local enabled
25    
26     case "${action}" in
27     add) enabled=1 ;;
28     del) enabled=0 ;;
29     *)
30     eecho "Unknown action '${action}'"
31     return 1
32     ;;
33     esac
34    
35     if [[ -z ${name} ]]
36     then
37     eecho "No name given"
38     return 1
39     fi
40    
41     [[ -z ${autostart} ]] && autostart=0
42    
43     id=$(mysqldo "select id from cfg_sessions_rdesktop where serial='${serial}' and name='${name}';")
44     if [[ -n ${id} ]]
45     then
46 niro 2736 mysqldo "update cfg_sessions_rdesktop set name='${name}', server='${server}', filename='${filename}', username='${username}', domain='${domain}', password='${password}', shell='${shell}', autostart='${autostart}', enabled='${enabled}' where id=${id};"
47 niro 2726 else
48 niro 2736 mysqldo "insert into cfg_sessions_rdesktop(serial, name, server, filename, username, domain, password, shell, autostart, enabled) values('${serial}', '${name}', '${server}', '${filename}', '${domain}', '${password}', '${shell}', '${autostart}', '${enabled}');"
49 niro 2726 fi
50     }
51    
52     control_rdesktop_session()
53     {
54     local serial="${CLASS_ARGV[0]}"
55     push_config_80_rdesktop_session "${serial}"
56     }
57    
58     push_config_80_rdesktop_session()
59     {
60     local serial="$1"
61     local values
62     local id
63    
64 niro 2735 values=$(mysqldo "select id from cfg_sessions_rdesktop where serial='${serial}';")
65 niro 2726 for id in ${values}
66     do
67     evaluate_table_xml cfg_sessions_rdesktop "where serial='${serial}'"
68     if [[ -z ${cfg_sessions_rdesktop_server} ]]
69     then
70     eecho "Server must not be empty id->'${id}'"
71     continue
72     fi
73     if [[ -z ${cfg_sessions_rdesktop_enabled} ]]
74     then
75     eecho "Enabled must not be empty id->'${id}'"
76     continue
77     fi
78     if [[ ${cfg_sessions_rdesktop_enabled} = 1 ]]
79     then
80 niro 2739 [[ -z ${cfg_sessions_rdesktop_username} ]] && cfg_sessions_rdesktop_username="NULL"
81     [[ -z ${cfg_sessions_rdesktop_domain} ]] && cfg_sessions_rdesktop_domain="NULL"
82     [[ -z ${cfg_sessions_rdesktop_password} ]] && cfg_sessions_rdesktop_password="NULL"
83 niro 2741 [[ -z cfg_sessions_rdesktop_shell ]] && cfg_sessions_rdesktop_shell="NULL"
84 niro 2740
85     decho "cfg_sessions_rdesktop_username='${cfg_sessions_rdesktop_username}'"
86     decho "cfg_sessions_rdesktop_domain='${cfg_sessions_rdesktop_domain}'"
87     decho "cfg_sessions_rdesktop_password='${cfg_sessions_rdesktop_password}'"
88     decho "cfg_sessions_rdesktop_shell='${cfg_sessions_rdesktop_shell}'"
89     decho "cfg_sessions_rdesktop_autostart='${cfg_sessions_rdesktop_autostart}'"
90    
91 niro 2736 control_client "${serial}" set rdesktop.session add "${cfg_sessions_rdesktop_name}" "${cfg_sessions_rdesktop_server}" "fullscreen" "${cfg_sessions_rdesktop_username}" "${cfg_sessions_rdesktop_domain}" "${cfg_sessions_rdesktop_password}" "${cfg_sessions_rdesktop_shell}" "${cfg_sessions_rdesktop_autostart}"
92 niro 2726 elif [[ ${cfg_sessions_rdesktop_enabled} = 0 ]]
93     then
94     control_client "${serial}" set rdesktop.session del "${cfg_sessions_rdesktop_name}"
95     # remove from database too
96     mysqldo "delete from cfg_sessions_rdesktop where id='${id}';"
97     else
98     eecho "unknown enabled value id->'${id}', cfg_sessions_rdesktop_enabled -> '${cfg_sessions_rdesktop_enabled}'"
99     return 1
100     fi
101     done
102     }