#!/bin/sh SKINFNAME="Capri" SKINDIRNAME="capri" SOURCEPATH="https://raw.githubusercontent.com/cmsnegar/Capri/master/" DATADIR="/usr/local/directadmin/data/skin_data" PLUGINPATH="/usr/local/directadmin/data/skin_data/$SKINDIRNAME" THISPATH=$PWD LICENSE=CS_a1234567890b # install the skin doInstall() { echo "" echo -e "\e[1;37mThis script will install and setup $SKINFNAME Skin for DirectAdmin Control panel." echo -e "\e[40;37m\e[0m" echo "" if [ "$SKNAME" = "" ]; then echo -n "Please choose a skin name or press enter to use default [$SKINFNAME]: " read SKNAME fi if [ "$SKNAME" = "" ]; then SKNAME="$SKINFNAME" fi SKINPATH="/usr/local/directadmin/data/skins/$SKNAME" echo -e "Skin name will be:\e[1;37m $SKNAME \e[40;37m\e[0m" echo "" echo -n "Please choose a color set (1: blue, 2: grey) [1]: " read SKCOLOR echo -n "Would you like to install the login page skin? (y/n) [y]: " read SKLOGIN echo "" echo "Capri skin also have a email-only version for users who have a email services." echo -n "Would you like to install a second email-only skin (will be called $SKNAME-mail)? (y/n) [n]: " read SKMAILONLY echo "" if [ -n $ARG1 ]; then LICENSE="$ARG1" fi echo $1 if [ ! -d "$DATADIR" ]; then mkdir $DATADIR fi chmod 777 $DATADIR chown diradmin:diradmin $DATADIR if [ ! -d "$PLUGINPATH" ]; then mkdir $PLUGINPATH fi chmod 777 $PLUGINPATH chown diradmin:diradmin $PLUGINPATH if [ "$OVERWRITE" = "" ]; then if [ -d "$SKINPATH" ]; then echo -n "Directory $SKINPATH already exists. Do you want to delete it? (y/n) [y]: " read ACT1 echo if [ "$ACT1" = "n" ]; then echo "Instalation aborted by user."; exit 0; else rm -fr $SKINPATH/* rmdir $SKINPATH fi fi fi if [ ! -d "$SKINPATH" ]; then mkdir $SKINPATH fi chmod 755 $SKINPATH chown diradmin:diradmin $SKINPATH cd $SKINPATH echo -n "Downloading skin files... " if [ "$SKCOLOR" = "2" ]; then wget -q -O $SKINPATH/$SKINDIRNAME.tar.gz $SOURCEPATH/capri_grey.tar.gz else wget -q -O $SKINPATH/$SKINDIRNAME.tar.gz $SOURCEPATH/capri.tar.gz fi # aca chequeo si el archivo se descargo if [ ! -f "$SKINPATH/$SKINDIRNAME.tar.gz" ]; then echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while downloading files. Please try again or contact support." echo "" cd $THISPATH exit 0; fi # aca chequeo si pesa menos de 150k if [ `du -k $SKINPATH/$SKINDIRNAME.tar.gz |awk '{print $1}'` -lt 200 ]; then # Si pesa menos lo abro a ver que contiene if [ `du -b $SKINPATH/$SKINDIRNAME.tar.gz |awk '{print $1}'` -lt 10 ]; then FILEDATA=`cat $SKINPATH/$SKINDIRNAME.tar.gz` fi # Si contiene la palabra "license" es por que es una licencia incorrecta if [ "$FILEDATA" = "license" ]; then rm -f $SKINPATH/$SKINDIRNAME.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** The license key entered is not active or it is invalid." echo "" cd $THISPATH exit 0; fi # Si se descargo otra cosa, borro y termino rm -f $SKINPATH/$SKINDIRNAME.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while downloading files. Cannot reach source download URL. Please try again or contact support." echo "" cd $THISPATH exit 0; fi echo -e "\e[1;32m Done \e[40;37m\e[0m " echo -n "Decompressing skin files... " tar xfz $SKINPATH/$SKINDIRNAME.tar.gz if [ ! -f "$SKINPATH/files_admin.conf" ]; then echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while decompressing files. Please try again or contact support." echo "" rm -fr $SKINPATH/* rm -fr $PLUGINPATH/* rmdir $SKINPATH rmdir $PLUGINPATH cd $THISPATH exit 0; fi echo -e "\e[1;32m Done \e[40;37m\e[0m " # instalo mail only skin if [ "$SKMAILONLY" = "y" ]; then if [ ! -d "$SKINPATH-mail" ]; then mkdir $SKINPATH-mail fi chmod 755 $SKINPATH-mail chown diradmin:diradmin $SKINPATH-mail cd $SKINPATH-mail echo -n "Installing email-only skin... " wget -q -O $SKINPATH-mail/$SKINDIRNAME-mail.tar.gz $SOURCEPATH/capri_mail.tar.gz if [ ! -f "$SKINPATH-mail/$SKINDIRNAME-mail.tar.gz" ]; then echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while downloading files. Please try again or contact support." echo "" cd $THISPATH else if [ `du -k $SKINPATH-mail/$SKINDIRNAME-mail.tar.gz |awk '{print $1}'` -lt 50 ]; then rm -f $SKINPATH-mail/$SKINDIRNAME-mail.tar.gz rm -f $SKINPATH-mail/* rmdir $SKINPATH-mail echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo -e "*** An error occur while downloading email-only skin files. Mail-only skin not installed." cd $THISPATH else tar xfz $SKINPATH-mail/$SKINDIRNAME-mail.tar.gz echo -n "1" > $PLUGINPATH/emailonly echo -e "\e[1;32m Done \e[40;37m\e[0m " cd $THISPATH fi fi fi # instalo login page if [ "$SKLOGIN" != "n" ]; then echo -n "Installing login page skin... " if [ "$SKCOLOR" = "2" ]; then wget -q -O /usr/local/directadmin/data/templates/capri_login.tar.gz $SOURCEPATH/capri_login_grey.tar.gz else wget -q -O /usr/local/directadmin/data/templates/capri_login.tar.gz $SOURCEPATH/capri_login.tar.gz fi if [ -f "/usr/local/directadmin/data/templates/capri_login.tar.gz" ]; then if [ `du -b /usr/local/directadmin/data/templates/capri_login.tar.gz |awk '{print $1}'` -lt 3000 ]; then rm -f /usr/local/directadmin/data/templates/capri_login.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo -e "*** An error occur while downloading login page files. Login page not installed." else cd /usr/local/directadmin/data/templates/ tar xfz capri_login.tar.gz chmod 755 /usr/local/directadmin/data/templates/login_images chown diradmin:diradmin /usr/local/directadmin/data/templates/login_images chown diradmin:diradmin /usr/local/directadmin/data/templates/login_images/* chown diradmin:diradmin /usr/local/directadmin/data/templates/login.html rm -f capri_login.tar.gz echo -n "1" > $PLUGINPATH/loginpage echo -e "\e[1;32m Done \e[40;37m\e[0m " fi else rm -f /usr/local/directadmin/data/templates/capri_login.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo -e "*** An error occur while downloading login page files. Login page not installed." fi fi echo -n "Setting permissions... " chown -R diradmin:diradmin $SKINPATH/* find $SKINPATH/ -type f -exec chmod 755 {} \; chmod 777 $SKINPATH/inc chown diradmin:diradmin $SKINPATH mv $SKINPATH/skin_data/cron.sh $PLUGINPATH/cron.sh rm -f $SKINPATH/skin_data/* rmdir $SKINPATH/skin_data chmod 666 $PLUGINPATH/* chmod 755 $PLUGINPATH/cron.sh chmod 777 $PLUGINPATH if [ -f "$SKINPATH-mail/header.html" ]; then find $SKINPATH-mail/ -type f -exec chmod 755 {} \; chown -R diradmin:diradmin $SKINPATH-mail/* chown diradmin:diradmin $SKINPATH-mail fi echo -n "$LICENSE" > $PLUGINPATH/license echo -n "$SKNAME" > $PLUGINPATH/name echo -n "$SKCOLOR" > $PLUGINPATH/color chmod 777 $PLUGINPATH/license # seteo cron perl -ni -e 'unless (m/Added by $SKINFNAME/) { print }' /etc/crontab 2>&1 perl -ni -e 'unless (m/Added by $SKINFNAME/) { print }' /etc/crontab 2>&1 echo "* * * * * root $PLUGINPATH/cron.sh > /dev/null 2>&1 # Added by $SKINFNAME" >> /etc/crontab echo -e "\e[1;32m Done \e[40;37m\e[0m " # finalizo la instalacion echo "";echo "" echo -e "\e[1;37mCongratulations! $SKINFNAME has been installed. Log in you control panel and switch to $SKNAME skin.\e[40;37m\e[0m" echo "" exit 0; } #################################################################################################################################################### doUpdate() { echo "" echo -e "Updating $SKINFNAME." SKINPATH="/usr/local/directadmin/data/skins/$OLDSKINNAME" if [ -f "$PLUGINPATH/color" ]; then SKCOLOR=`cat $PLUGINPATH/color` fi if [ ! -f "$PLUGINPATH/color" ]; then echo -n "Please choose a color set (1: blue, 2: grey) [1]: " read SKCOLOR fi if [ -f "$PLUGINPATH/license" ]; then LICENSE=`cat $PLUGINPATH/license` else if [ -f "$SKINPATH/inc/license" ]; then LICENSE=`cat $PLUGINPATH/license` fi fi if [ "$LICENSE" = "" ]; then echo "" echo -n "We can't find you license key. Please insert your license key: " read LICENSE echo "" fi if [ ! -d "$DATADIR" ]; then mkdir $DATADIR fi chmod 777 $DATADIR chown diradmin:diradmin $DATADIR if [ ! -d "$PLUGINPATH" ]; then mkdir $PLUGINPATH fi chmod 777 $PLUGINPATH chown -R diradmin:diradmin $PLUGINPATH if [ ! -d "$SKINPATH" ]; then mkdir $SKINPATH fi chmod 755 $SKINPATH chown -R diradmin:diradmin $SKINPATH cd $SKINPATH echo -n "Downloading skin files... " if [ "$SKCOLOR" = "2" ]; then wget -q -O $SKINPATH/$SKINDIRNAME.tar.gz $SOURCEPATH/capri_grey.tar.gz else wget -q -O $SKINPATH/$SKINDIRNAME.tar.gz $SOURCEPATH/capri.tar.gz fi # aca chequeo si el archivo se descargo if [ ! -f "$SKINPATH/$SKINDIRNAME.tar.gz" ]; then echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while downloading files. Please try again or contact support." echo "" cd $THISPATH exit 0; fi # aca chequeo si pesa menos de 150k if [ `du -k $SKINPATH/$SKINDIRNAME.tar.gz |awk '{print $1}'` -lt 200 ]; then # Si pesa menos lo abro a ver que contiene if [ `du -b $SKINPATH/$SKINDIRNAME.tar.gz |awk '{print $1}'` -lt 10 ]; then FILEDATA=`cat $SKINPATH/$SKINDIRNAME.tar.gz` fi # Si contiene la palabra "license" es por que es una licencia incorrecta if [ "$FILEDATA" = "license" ]; then rm -f $SKINPATH/$SKINDIRNAME.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** The license key entered is not active or it is invalid." echo "" cd $THISPATH exit 0; fi # Si se descargo otra cosa, borro y termino rm -f $SKINPATH/$SKINDIRNAME.tar.gz echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while downloading files. Cannot reach source download URL. Please try again or contact support." echo "" cd $THISPATH exit 0; fi echo -e "\e[1;32m Done \e[40;37m\e[0m " echo -n "Decompressing skin files... " tar xfz $SKINPATH/$SKINDIRNAME.tar.gz if [ ! -f "$SKINPATH/files_admin.conf" ]; then echo -e "\e[1;31m Failed \e[40;37m\e[0m"; echo"" echo -e "*** An error occur while decompressing files. Please try again or contact support." echo "" cd $THISPATH exit 0; fi echo -e "\e[1;32m Done \e[40;37m\e[0m " if [ -f "$PLUGINPATH/loginpage" ]; then echo -n "Installing login page skin... " if [ "$SKCOLOR" = "2" ]; then wget -q -O /usr/local/directadmin/data/templates/capri_login.tar.gz $SOURCEPATH/capri_login_grey.tar.gz else wget -q -O /usr/local/directadmin/data/templates/capri_login.tar.gz $SOURCEPATH/capri_login.tar.gz fi cd /usr/local/directadmin/data/templates/ tar xfz capri_login.tar.gz chmod 755 /usr/local/directadmin/data/templates/login_images chown diradmin:diradmin /usr/local/directadmin/data/templates/login_images chown diradmin:diradmin /usr/local/directadmin/data/templates/login_images/* chown diradmin:diradmin /usr/local/directadmin/data/templates/login.html rm -f capri_login.tar.gz echo -n "1" > $PLUGINPATH/loginpage echo -e "\e[1;32m Done \e[40;37m\e[0m " fi echo -n "Setting permissions... " mv $SKINPATH/skin_data/cron.sh $PLUGINPATH/cron.sh rm -f $SKINPATH/skin_data/* rmdir $SKINPATH/skin_data chmod 666 $PLUGINPATH/* chmod 755 $PLUGINPATH/cron.sh chmod 777 $PLUGINPATH chown diradmin:diradmin $SKINPATH/* find $SKINPATH/ -type f -exec chmod 755 {} \; chmod 777 $SKINPATH/inc if [ ! -f "$PLUGINPATH/name" ]; then echo -n "$OLDSKINNAME" > $PLUGINPATH/name fi echo -n "$LICENSE" > $PLUGINPATH/license echo -n "$SKCOLOR" > $PLUGINPATH/color chmod 666 $PLUGINPATH/license # seteo cron perl -ni -e 'unless (m/Added by $SKINFNAME/) { print }' /etc/crontab 2>&1 perl -ni -e 'unless (m/Added by $SKINFNAME/) { print }' /etc/crontab 2>&1 echo "* * * * * root $PLUGINPATH/cron.sh > /dev/null 2>&1 # Added by $SKINFNAME" >> /etc/crontab echo -e "\e[1;32m Done \e[40;37m\e[0m " if [ -f "$PLUGINPATH/imagelogo" ]; then mv $SKINPATH/images/logo.gif $SKINPATH/images/logo.gif.bak cp $PLUGINPATH/imagelogo $SKINPATH/images/logo.gif chown diradmin:diradmin $SKINPATH/images/logo.gif fi # custom logo if [ -d "$PLUGINPATH/logos" ]; then cd $PLUGINPATH/logos for file in *; do { if [ -f "$PLUGINPATH/logos/$file" ] && [ ! -f "$SKINPATH/images/custom/$file.gif" ]; then cp $PLUGINPATH/logos/$file $SKINPATH/images/custom/$file.gif fi } done; chmod 666 $SKINPATH/images/custom/* chown diradmin:diradmin $SKINPATH/images/custom/* chmod 666 $PLUGINPATH/logos/* if [ -f "/usr/local/directadmin/data/admin/reseller.list" ]; then RESELLERS=`cat /usr/local/directadmin/data/admin/reseller.list` echo -n "" > $SKINPATH/files_custom.conf for LINE in $RESELLERS; do { echo "IMG_RESLOGO_$LINE=images/custom/$LINE.gif" >> $SKINPATH/files_custom.conf } done; fi fi # finalizo la instalacion echo "";echo "" echo -e "\e[1;37mCongratulations! $SKINFNAME has been updated.\e[40;37m\e[0m" echo "" exit 0; } #################################################################################################################################################### echo "" echo "" echo "________________________________________________________________________________________" echo "" echo "" if [ "$1" = "--license" ] && [ "$2" != "" ]; then ARG1=$2 fi if [ -f "/usr/local/directadmin/data/skin_data/$SKINDIRNAME/name" ]; then if [ -f "/usr/local/directadmin/data/skin_data/$SKINDIRNAME/name" ]; then OLDSKINNAME=`cat /usr/local/directadmin/data/skin_data/$SKINDIRNAME/name` fi if [ "$OLDSKINNAME" != "" ]; then echo -n "$SKINFNAME skin, named $OLDSKINNAME was found in the server. Do you want to update this skin? (y/n) [y]: " read UPDATE echo if [ "$UPDATE" != "n" ]; then doUpdate else echo -n "Do you want to make a fresh install? (y/n) [y]: " read FRESHINSTALL echo if [ "$FRESHINSTALL" != "n" ]; then doInstall else echo "Nothing to do. Good bye!" fi fi else echo "$SKINFNAME skin was found in the server, but we can't determine the name." echo -n "Please enter the skin name o press RETURN to a fresh install: "; read OLDSKINNAME echo if [ "$OLDSKINNAME" = "" ]; then doInstall else if [ -d "/usr/local/directadmin/data/skins/$OLDSKINNAME" ]; then doUpdate else echo -n "We cannot found $OLDSKINNAME location. Do you want to make a fresh install? (y/n) [y]: " read FRESHINSTALL echo if [ "$FRESHINSTALL" != "n" ]; then doInstall else echo "Nothing to do. Good bye!" fi fi fi fi else cd /usr/local/directadmin/data/skins for dir in *; do { if [ -f "/usr/local/directadmin/data/skins/$dir/inc/data" ]; then OLDSKINNAME="$dir" fi } done; if [ -z "$OLDSKINNAME" ]; then doInstall else echo -n "Is $OLDSKINNAME the name of your actual installation of $SKINFNAME skin? (y/n) [y]: " read ISM fi if [ "$ISM" = "n" ]; then doInstall else SKNAME="$OLDSKINNAME" OVERWRITE="1" OLDLICENSE=`cat /usr/local/directadmin/data/skins/$OLDSKINNAME/inc/license` if [ "$OLDLICENSE" != "" ]; then echo -n "Is $OLDLICENSE the license key of you Marina skin= (y/n) [y]: " read ISL if [ "$ISM" = "n" ]; then doInstall else LICENSE="$OLDLICENSE" doInstall fi fi fi fi exit 0;