# $Id$ push_config 80_rdesktop_session help_rdesktop_session() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help rdesktop.session } set_rdesktop_session() { local serial="${CLASS_ARGV[0]}" local action="${CLASS_ARGV[1]}" local name="${CLASS_ARGV[2]}" local session="${CLASS_ARGV[3]}" local mode="${CLASS_ARGV[4]}" local user="${CLASS_ARGV[5]}" local domain="${CLASS_ARGV[6]}" local password="${CLASS_ARGV[7]}" local serverlist="${CLASS_ARGV[8]}" local autostart="${CLASS_ARGV[9]}" local id local enabled case "${action}" in add) enabled=1 ;; del) enabled=0 ;; *) eecho "Unknown action '${action}'" return 1 ;; esac if [[ -z ${name} ]] then eecho "No name given" return 1 fi [[ -z ${autostart} ]] && autostart=0 id=$(mysqldo "select id from cfg_sessions_rdesktop where serial='${serial}' and name='${name}';") if [[ -n ${id} ]] then mysqldo "update cfg_sessions_rdesktop set name='${name}', session='${session}', filename='${filename}', username='${username}', domain='${domain}', password='${password}', serverlist='${serverlist}', autostart='${autostart}', enabled='${enabled}' where id=${id};" else mysqldo "insert into cfg_sessions_rdesktop(serial, name, session, filename, username, domain, password, serverlist, autostart, enabled) values('${serial}', '${name}', '${session}', ${store}', '${filename}', '${domain}', '${password}', '${serverlist}', '${autostart}', '${enabled}');" fi } control_rdesktop_session() { local serial="${CLASS_ARGV[0]}" push_config_80_rdesktop_session "${serial}" } push_config_80_rdesktop_session() { local serial="$1" local values local id values=$(mysqldo "select id from cfg_sessions_rdesktop where serial='${serial}';") for id in ${values} do evaluate_table_xml cfg_sessions_rdesktop "where serial='${serial}'" if [[ -z ${cfg_sessions_rdesktop_server} ]] then eecho "Server must not be empty id->'${id}'" continue fi if [[ -z ${cfg_sessions_rdesktop_enabled} ]] then eecho "Enabled must not be empty id->'${id}'" continue fi if [[ ${cfg_sessions_rdesktop_enabled} = 1 ]] then 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_password_shell}" "${cfg_sessions_rdesktop_autostart}" elif [[ ${cfg_sessions_rdesktop_enabled} = 0 ]] then control_client "${serial}" set rdesktop.session del "${cfg_sessions_rdesktop_name}" # remove from database too mysqldo "delete from cfg_sessions_rdesktop where id='${id}';" else eecho "unknown enabled value id->'${id}', cfg_sessions_rdesktop_enabled -> '${cfg_sessions_rdesktop_enabled}'" return 1 fi done }