Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 2599 → Rev 2600

/CHANGELOG
13,6 → 13,7
 
 
CHANGES
- Save SMS status and number in ALCASAR configuration file (persistent to updates)..
 
 
BUGS
/alcasar.sh
1977,6 → 1977,8
echo "LDAP_FILTER=" >> $CONF_FILE
echo "LDAP_USER=alcasar" >> $CONF_FILE
echo "LDAP_PASSWORD=" >> $CONF_FILE
echo "SMS=off" >> $CONF_FILE
echo "SMS_NUM=" >> $CONF_FILE
echo "MULTIWAN=off" >> $CONF_FILE
echo "FAILOVER=30" >> $CONF_FILE
echo "## WANx=active,@IPx/mask,GWx,Weight,MTUx" >> $CONF_FILE
/scripts/alcasar-conf.sh
158,6 → 158,20
## lighttpd need a .pem certificate (aggregation with private key & server crt)
(cat $DIR_UPDATE/alcasar.key; echo; cat $DIR_UPDATE/alcasar.crt) > $DIR_UPDATE/alcasar.pem
fi
## since v3.3.1:
# add "SMS=off" in conf file
if [ $(grep -c '^SMS=' $CONF_FILE) -eq 0 ]; then
if [ $(grep -c '^\$service_SMS_status = true;' /var/www/html/autoregistrationinfo.php) -ne 0 ]; then
echo "SMS=on" >> $CONF_FILE
else
echo "SMS=off" >> $CONF_FILE
fi
fi
if [ $(grep -c '^SMS_NUM=' $CONF_FILE) -eq 0 ]; then
num=$(grep "^\\\$current_num\s\?=\s\?'.\+';\$" /var/www/html/autoregistrationinfo.php | sed "s@^\\\$current_num\s\?=\s\?'\(.\+\)';\$@\1@")
[ "$num" == 'XXXXXXXXXX' ] && num=''
echo "SMS_NUM=$num" >> $CONF_FILE
fi
###################### End of modifications between versions #######################
# Retrieve the logo
[ -e $DIR_UPDATE/organisme.png ] && cp -f $DIR_UPDATE/organisme.png $DIR_WEB/images/
/scripts/alcasar-sms.sh
8,6 → 8,8
# This script manages the 'gammu-smsd' service when a GSM adapter is detected
# Ce script gère le service 'gammu-smsd' quand un adaptateur GSM est détecté
 
CONF_FILE='/usr/local/etc/alcasar.conf'
 
#########################################
####### VARIABLES ########
nb_essais=3
35,9 → 37,6
config2="/etc/gammurc"
logfile="/var/log/gammu-smsd/gammu-smsd.log"
script="/usr/local/bin/alcasar-sms.sh"
public_page="/var/www/html/autoregistrationinfo.php"
index_page="/var/www/html/index.php"
intercept_page="/var/www/html/intercept.php"
separator="########## START ##########"
end="%%%%%%%%%% STOP %%%%%%%%%%"
 
66,24 → 65,22
}
 
function start_gammu() {
# Check phone number is set
if [ -z "$(grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-)" ]; then
echo 'The phone number is not set.'
# exit 2
fi
 
#On truncate la table phones (informations signal / IMEI / batterie / sms recu et envoyé)
sql_trunc_phones="connect gammu; TRUNCATE phones;"
result=$(mysql --user=$u_db --password=$p_db -B -se "$sql_trunc_phones")
mysql --user=$u_db --password=$p_db --database=gammu -Bs -e 'TRUNCATE phones;'
 
 
#On verifie que le groupe sms est créé
sql_check_gp="connect radius; SELECT * FROM $radgp WHERE username='sms' AND groupname='sms';"
result=$(mysql --user=$u_db --password=$p_db -B -se "$sql_check_gp")
if [ $(mysql --user=$u_db --password=$p_db --database=radius -Bs -e "SELECT COUNT(*) FROM $radgp WHERE username='sms' AND groupname='sms';") -eq 0 ]; then
sql_add_gp="INSERT INTO $radgp (username,groupname) VALUES ('sms','sms'); INSERT INTO $radgpck (groupname,attribute,op,value) VALUES ('sms','Simultaneous-Use',':=',1);"
mysql --user=$u_db --password=$p_db --database=radius -Bs -e "$sql_add_gp"
fi
 
if test -z "$result"
then
sql_add_gp="connect radius; INSERT INTO $radgp (username,groupname) VALUES ('sms','sms');"
sql_add_gp_att="connect radius; INSERT INTO $radgpck (groupname,attribute,op,value) VALUES ('sms','Simultaneous-Use',':=',1);"
 
mysql --user=$u_db --password=$p_db -B -se "$sql_add_gp"
mysql --user=$u_db --password=$p_db -B -se "$sql_add_gp_att"
fi
 
#Start gammu
echo $separator >> $logfile
sudo gammu-smsd --config $config --pid /var/run/gammu-smsd.pid --daemon
343,10 → 340,8
echo "gammu is already started"
else
start_gammu
sed -i "s/\$service_SMS_status = false;/\$service_SMS_status = true;/g" $index_page
sed -i "s/\$service_SMS_status = false;/\$service_SMS_status = true;/g" $public_page
sed -i "s/\$service_SMS_status = false;/\$service_SMS_status = true;/g" $intercept_page
fi
sed -i "s/^SMS=.*/SMS=on/" $CONF_FILE
exit 0
;;
--stop)
354,12 → 349,10
if [ $gammu_pid != "0" ]
then
stop_gammu
sed -i "s/\$service_SMS_status = true;/\$service_SMS_status = false;/g" $index_page
sed -i "s/\$service_SMS_status = true;/\$service_SMS_status = false;/g" $public_page
sed -i "s/\$service_SMS_status = true;/\$service_SMS_status = false;/g" $intercept_page
else
echo "gammu is already stopped"
fi
sed -i "s/^SMS=.*/SMS=off/" $CONF_FILE
exit 0
;;
--pidof)
522,12 → 515,12
;;
--numero_alcasar)
# Récupère le numero de la clé 3g (téléphone)
grep "\$current_num=" $public_page | head -n 1 | cut -d"'" -f2
grep '^SMS_NUM=' $CONF_FILE | cut -d'=' -f2-
exit 0
;;
--replace_numero_alcasar)
# Edition du numero de la clé 3g (téléphone)
sed -i "s/\$current_num=.*/\$current_num='$2';/g" $public_page
sed -i "s/^SMS_NUM=.*/SMS_NUM=$2/" $CONF_FILE
exit 0
;;
--mode)
/web/autoregistrationinfo.php
1,15 → 1,6
<?php
# $Id$
 
// CHECK IF the SMS service is enable
$service_SMS_status = false;
 
if (!$service_SMS_status) {
header('Location: /');
exit();
}
 
 
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
 
// Read CONF_FILE
26,10 → 17,16
}
fclose($file_conf);
 
$organisme = trim($conf["ORGANISM"]);
$current_num='XXXXXXXXXX';
// Check if the SMS service is enable
if ($conf['SMS'] !== 'on') {
header('Location: /');
exit();
}
 
$organisme = $conf['ORGANISM'];
$current_num = $conf['SMS_NUM'];
 
 
// Choice of language
$Language = 'en';
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
/web/index.php
58,7 → 58,7
$redirect_link = 'www.euronews.com'; // Default redirection for HTTPS interception (beware, this website must run in HTTP)
 
// Check if the SMS service is enable
$service_SMS_status = false;
$service_SMS_status = ($conf['SMS'] === 'on');
 
// Retrieve the user info behind the remote ip
$output = [];
/web/intercept.php
64,7 → 64,7
$adminurl = "";
 
// Check if the SMS service is enable
$service_SMS_status = false;
$service_SMS_status = ($conf['SMS'] === 'on');
 
// Our own path
$loginpath = htmlspecialchars($_SERVER['PHP_SELF']);