HEX
Server: CentOS WebPanel: Protected by Mod Security
System: Linux sites.annaiservers.com 3.10.0-1160.118.1.el7.x86_64 #1 SMP Wed Apr 24 16:01:50 UTC 2024 x86_64
User: freeval (1012)
PHP: 8.1.10
Disabled: NONE
Upload Files
File: //scripts/mail_roundcube_update
#!/bin/bash
#yum install wget curl -y
yum -y update curl
echo
current_version=`cat /usr/local/cwpsrv/var/services/roundcube/index.php | grep Version | cut -d " " -f 4`

if [[ "$current_version" = "1.5.0" ]];then
    sed -i "s/1.5.0/1.4.10/g" /usr/local/cwpsrv/var/services/roundcube/program/include/iniset.php
    current_version="1.4.10"
fi

#url=`curl -sS https://roundcube.net/download/ | grep complete |  sed -n 1,1p|awk -F\"  {'print $4'}`
url=`curl -sS http://static.cdn-cwp.com/files/mail/rc.txt`
echo
new_version=`echo $url`
Date=`date "+%d-%m-%Y"`

if [[ "$current_version" == "$url" ]]; then
    echo "###############################"
    echo "Roundcube is already up-to-date"
    echo "###############################"
else
    echo "Updating Roundcube to version $new_version"
    cp -R /usr/local/cwpsrv/var/services/roundcube /usr/local/cwpsrv/var/services/roundcube_$Date.bak
    cd /usr/local/cwpsrv/var/services/
    wget "http://static.cdn-cwp.com/files/mail/roundcubemail-$url-complete.tar.gz"
    tar -xvzf roundcubemail-$url-complete.tar.gz
    rm -rf roundcubemail-$url-complete.tar.gz

    # version  0.9.8.764 fix for new roundcube update if user has disabled system in default server php
    sed -i "s@\/usr\/bin\/env php@\/usr\/bin\/env \/usr\/local\/cwp\/php71\/bin\/php@g" /usr/local/cwpsrv/var/services/roundcubemail-$url/bin/installto.sh
    
    echo Y | /usr/local/cwpsrv/var/services/roundcubemail-$url/bin/installto.sh /usr/local/cwpsrv/var/services/roundcube

    if [ -e "/usr/local/cwpsrv/var/services/roundcube/rc_plugins.zip" ];then
        rm -f /usr/local/cwpsrv/var/services/roundcube/rc_plugins.zip
    fi
    wget -P /usr/local/cwpsrv/var/services/roundcube http://static.cdn-cwp.com/files/mail/rc_plugins.zip
    cd /usr/local/cwpsrv/var/services/roundcube; unzip -o rc_plugins.zip; rm -f rc_plugins.zip

    curl -sS 'http://static.cdn-cwp.com/files/mail/mysql.initial.calender.sql'|mysql --defaults-extra-file=/root/.my.cnf roundcube
    curl -sS 'http://static.cdn-cwp.com/files/mail/mysql.initial.tasklist.sql'|mysql --defaults-extra-file=/root/.my.cnf roundcube

    grep "'calendar'" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php || sed -i "s/'managesieve',/'managesieve',\n    'calendar',/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php
    grep "'tasklist'" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php || sed -i "s/'managesieve',/'managesieve',\n    'tasklist',/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php
    grep "'carddav'" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php || sed -i "s/'managesieve',/'managesieve',\n    'carddav',/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php

    # CWP Plugins
    if  [ ! -e "/usr/local/cwpsrv/var/services/roundcube/plugins/cwpautologon/cwpautologon.php" ];then
        mkdir -p /usr/local/cwpsrv/var/services/roundcube/plugins/cwpautologon 2> /dev/null
        wget -q static.cdn-cwp.com/files/mail/cwpautologon.txt -O /usr/local/cwpsrv/var/services/roundcube/plugins/cwpautologon/cwpautologon.php
        chown -R cwpsvc.cwpsvc /usr/local/cwpsrv/var/services/roundcube/plugins/cwpautologon
        grep "'cwpautologon'" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php || sed -i "s/'managesieve',/'managesieve',\n    'cwpautologon',/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php
        if [ -e "/usr/local/cwpsrv/var/services/roundcube/skins/elastic" ];then
            sed -i "s/'larry'/'elastic'/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php
        fi  
    fi

    chown -R cwpsvc:cwpsvc /usr/local/cwpsrv/var/services/roundcube 
    rm -rf /usr/local/cwpsrv/var/services/roundcube/installer

    # elastic skin setup
    if [ -e "/usr/local/cwpsrv/var/services/roundcube/skins/elastic" ];then
        sed -i "s/larry/elastic/g" /usr/local/cwpsrv/var/services/roundcube/config/config.inc.php
    fi
    
    #service httpd restart
    echo "###################################"
    echo "Roundcube is updated to new version"
    echo "###################################"
fi