# $Id$ # install plugins is_installed() { local i local item="$1" for i in ${SETTINGSPATH}/plugins/* do [[ $(basename ${i}) = ${item} ]] && return 1 done return 0 } config_plugins() { local all_ids local installed_plugins # install needed directories [[ ! -d ${SETTINGSPATH}/plugins ]] && install -d ${SETTINGSPATH}/plugins # get all ids all_ids=$(mysqldo "select id from cfg_plugins where serial='${ALX_SERIAL}'") # install for i in ${all_ids} do evaluate_table cfg_plugins "where serial='${ALX_SERIAL}' and id='${i}'" # already installed ? [[ -f ${SETTINGSPATH}/plugins/${cfg_plugins_plugin} ]] && continue if [[ -x ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh ]] then echo " Installing plugin '${cfg_plugins_plugin} ..." ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh install touch ${SETTINGSPATH}/plugins/${cfg_plugins_plugin} fi done # uninstall for i in ${all_ids} do evaluate_table cfg_plugins "where serial='${ALX_SERIAL}' and id='${i}'" if is_installed ${cfg_plugins_plugin} then echo " Uninstalling plugin '${cfg_plugins_plugin} ..." ${ALX_PLUGINS}/${cfg_plugins_plugin}/plugin.sh uninstall rm -f ${SETTINGSPATH}/plugins/${cfg_plugins_plugin} fi done }