Errores solucionados
This commit is contained in:
parent
2cd108ea3a
commit
5a1ef1a0a6
|
@ -32,7 +32,7 @@ if ($db->getValue ('SELECT COUNT(*) > 0 FROM blacklist WHERE phone = #', [$calle
|
||||||
|
|
||||||
$sundayFestive = $db->getValue ('SELECT sunday_festive FROM config');
|
$sundayFestive = $db->getValue ('SELECT sunday_festive FROM config');
|
||||||
|
|
||||||
if (date ('N') == 6 && $sundayFestive)
|
if (date ('N') == 7 && $sundayFestive)
|
||||||
{
|
{
|
||||||
Agi::exec ('SET VARIABLE MACRO playback');
|
Agi::exec ('SET VARIABLE MACRO playback');
|
||||||
Agi::exec ('SET VARIABLE ARG1 out-of-ours');
|
Agi::exec ('SET VARIABLE ARG1 out-of-ours');
|
||||||
|
@ -65,8 +65,6 @@ if ($customer)
|
||||||
Agi::exec ('SET VARIABLE MACRO playback');
|
Agi::exec ('SET VARIABLE MACRO playback');
|
||||||
Agi::exec ('SET VARIABLE ARG1 busy');
|
Agi::exec ('SET VARIABLE ARG1 busy');
|
||||||
}
|
}
|
||||||
|
|
||||||
exit ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
vn-asterisk (1.004-deb7) stable; urgency=low
|
vn-asterisk (1.005-deb7) stable; urgency=low
|
||||||
|
|
||||||
* Initial Release.
|
* Initial Release.
|
||||||
|
|
||||||
|
|
|
@ -4,17 +4,18 @@
|
||||||
* @param v_phone The caller phone number
|
* @param v_phone The caller phone number
|
||||||
* @return The customer id or %NULL if customer not exists or is inactive
|
* @return The customer id or %NULL if customer not exists or is inactive
|
||||||
**/
|
**/
|
||||||
DROP FUNCTION IF EXISTS pbx.customer_from_phone;
|
USE pbx;
|
||||||
|
DROP FUNCTION IF EXISTS customer_from_phone;
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE FUNCTION pbx.customer_from_phone (v_phone VARCHAR(255))
|
CREATE FUNCTION customer_from_phone (v_phone VARCHAR(255))
|
||||||
RETURNS INT
|
RETURNS INT
|
||||||
DETERMINISTIC
|
DETERMINISTIC
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE v_customer INT DEFAULT NULL;
|
DECLARE v_customer INT DEFAULT NULL;
|
||||||
|
|
||||||
SET @phone = v_phone COLLATE 'utf8_unicode_ci';
|
SET @phone = v_phone COLLATE 'utf8_unicode_ci';
|
||||||
|
|
||||||
-- Searchs a customer associated to the phone number
|
-- Searchs a customer associated to the phone number
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tmp.customer;
|
DROP TEMPORARY TABLE IF EXISTS tmp.customer;
|
||||||
CREATE TEMPORARY TABLE tmp.customer
|
CREATE TEMPORARY TABLE tmp.customer
|
||||||
|
@ -37,9 +38,9 @@ BEGIN
|
||||||
|
|
||||||
SELECT t.customer INTO v_customer
|
SELECT t.customer INTO v_customer
|
||||||
FROM tmp.customer t
|
FROM tmp.customer t
|
||||||
JOIN vn2008.Clientes c
|
JOIN vn2008.Clientes c ON c.id_cliente = t.customer
|
||||||
WHERE c.activo
|
WHERE c.activo
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tmp.customer;
|
DROP TEMPORARY TABLE tmp.customer;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
* Checks whether a passed extension number has valid sintax
|
||||||
|
*
|
||||||
|
* @param v_extension The extension to check format
|
||||||
|
* @return %TRUE if it's well formated
|
||||||
|
**/
|
||||||
|
USE pbx;
|
||||||
|
DROP PROCEDURE IF EXISTS extension_is_valid;
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE PROCEDURE extension_is_valid (v_extension VARCHAR(255))
|
||||||
|
BEGIN
|
||||||
|
DECLARE v_is_valid BOOLEAN;
|
||||||
|
|
||||||
|
SET v_is_valid = v_extension IS NULL
|
||||||
|
OR (v_extension REGEXP '^[0-9]{4}$'
|
||||||
|
AND MOD(v_extension, 100) != 0);
|
||||||
|
|
||||||
|
IF NOT v_is_valid
|
||||||
|
THEN
|
||||||
|
SIGNAL SQLSTATE '45000'
|
||||||
|
SET MESSAGE_TEXT = 'EXTENSION_INVALID_FORMAT';
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -4,9 +4,10 @@
|
||||||
* @param v_phone The phone to format
|
* @param v_phone The phone to format
|
||||||
* @return The formated phone or %NULL if bad sintax
|
* @return The formated phone or %NULL if bad sintax
|
||||||
**/
|
**/
|
||||||
DROP FUNCTION IF EXISTS pbx.phone_format;
|
USE pbx;
|
||||||
|
DROP FUNCTION IF EXISTS phone_format;
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE FUNCTION pbx.phone_format (phone VARCHAR(255))
|
CREATE FUNCTION phone_format (phone VARCHAR(255))
|
||||||
RETURNS VARCHAR(255)
|
RETURNS VARCHAR(255)
|
||||||
DETERMINISTIC
|
DETERMINISTIC
|
||||||
BEGIN
|
BEGIN
|
||||||
|
@ -16,19 +17,19 @@ BEGIN
|
||||||
DECLARE newPhone VARCHAR(255) DEFAULT '';
|
DECLARE newPhone VARCHAR(255) DEFAULT '';
|
||||||
|
|
||||||
WHILE i < len
|
WHILE i < len
|
||||||
DO
|
DO
|
||||||
SET chr = SUBSTR(phone, i+1, 1);
|
SET chr = SUBSTR(phone, i+1, 1);
|
||||||
|
|
||||||
IF chr REGEXP '^[0-9]$'
|
IF chr REGEXP '^[0-9]$'
|
||||||
THEN
|
THEN
|
||||||
SET newPhone = CONCAT(newPhone, chr);
|
SET newPhone = CONCAT(newPhone, chr);
|
||||||
ELSEIF chr = '+' AND i = 0
|
ELSEIF chr = '+' AND i = 0
|
||||||
THEN
|
THEN
|
||||||
SET newPhone = CONCAT(newPhone, '00');
|
SET newPhone = CONCAT(newPhone, '00');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
SET i = i + 1;
|
SET i = i + 1;
|
||||||
END WHILE;
|
END WHILE;
|
||||||
|
|
||||||
IF newPhone REGEXP '^0+$' OR newPhone = '' THEN
|
IF newPhone REGEXP '^0+$' OR newPhone = '' THEN
|
||||||
RETURN NULL;
|
RETURN NULL;
|
||||||
|
|
|
@ -4,21 +4,22 @@
|
||||||
* @param v_phone The phone to check format
|
* @param v_phone The phone to check format
|
||||||
* @return %TRUE if it's well formated
|
* @return %TRUE if it's well formated
|
||||||
**/
|
**/
|
||||||
DROP PROCEDURE IF EXISTS pbx.phone_is_valid;
|
USE pbx;
|
||||||
|
DROP PROCEDURE IF EXISTS phone_is_valid;
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE PROCEDURE pbx.phone_is_valid (v_phone VARCHAR(255))
|
CREATE PROCEDURE phone_is_valid (v_phone VARCHAR(255))
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE v_is_valid BOOLEAN;
|
DECLARE v_is_valid BOOLEAN;
|
||||||
|
|
||||||
SET v_is_valid = v_phone IS NULL
|
SET v_is_valid = v_phone IS NULL
|
||||||
OR (v_phone REGEXP '^[0-9]+$'
|
OR (v_phone REGEXP '^[0-9]+$'
|
||||||
AND v_phone NOT REGEXP '^0+$'
|
AND v_phone NOT REGEXP '^0+$'
|
||||||
AND v_phone NOT REGEXP '^0034');
|
AND v_phone NOT REGEXP '^0034');
|
||||||
|
|
||||||
IF NOT v_is_valid
|
IF NOT v_is_valid
|
||||||
THEN
|
THEN
|
||||||
SIGNAL SQLSTATE '45000'
|
SIGNAL SQLSTATE '45000'
|
||||||
SET MESSAGE_TEXT = 'PHONE_INVALID_FORMAT';
|
SET MESSAGE_TEXT = 'PHONE_INVALID_FORMAT';
|
||||||
END IF;
|
END IF;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/**
|
||||||
|
* Checks whether a passed queue number has valid sintax
|
||||||
|
*
|
||||||
|
* @param v_queue The queue to check format
|
||||||
|
* @return %TRUE if it's well formated
|
||||||
|
**/
|
||||||
|
USE pbx;
|
||||||
|
DROP PROCEDURE IF EXISTS queue_is_valid;
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE PROCEDURE queue_is_valid (v_queue VARCHAR(255))
|
||||||
|
BEGIN
|
||||||
|
DECLARE v_is_valid BOOLEAN;
|
||||||
|
|
||||||
|
SET v_is_valid = v_queue IS NULL
|
||||||
|
OR v_queue REGEXP '^[1-9][0-9]00$';
|
||||||
|
|
||||||
|
IF NOT v_is_valid
|
||||||
|
THEN
|
||||||
|
SIGNAL SQLSTATE '45000'
|
||||||
|
SET MESSAGE_TEXT = 'QUEUE_INVALID_FORMAT';
|
||||||
|
END IF;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,42 +1,44 @@
|
||||||
|
|
||||||
|
USE vn2008;
|
||||||
|
|
||||||
-- Updates the bad formated phones
|
-- Updates the bad formated phones
|
||||||
|
|
||||||
UPDATE vn2008.Clientes
|
UPDATE Clientes
|
||||||
SET telefono = pbx.phone_format (telefono),
|
SET telefono = pbx.phone_format (telefono),
|
||||||
fax = pbx.phone_format (fax),
|
fax = pbx.phone_format (fax),
|
||||||
movil = pbx.phone_format (movil);
|
movil = pbx.phone_format (movil);
|
||||||
|
|
||||||
UPDATE vn2008.Consignatarios
|
UPDATE Consignatarios
|
||||||
SET telefono = pbx.phone_format (telefono),
|
SET telefono = pbx.phone_format (telefono),
|
||||||
movil = pbx.phone_format (movil);
|
movil = pbx.phone_format (movil);
|
||||||
|
|
||||||
UPDATE vn2008.Contactos
|
UPDATE Contactos
|
||||||
SET telefono = pbx.phone_format (telefono),
|
SET telefono = pbx.phone_format (telefono),
|
||||||
fax = pbx.phone_format (fax),
|
fax = pbx.phone_format (fax),
|
||||||
movil = pbx.phone_format (movil);
|
movil = pbx.phone_format (movil);
|
||||||
|
|
||||||
-- Indexes the phone columns
|
-- Indexes the phone columns
|
||||||
|
|
||||||
ALTER TABLE vn2008.`Clientes` ADD INDEX(`Telefono`);
|
ALTER TABLE Clientes ADD INDEX(Telefono);
|
||||||
ALTER TABLE vn2008.`Clientes` ADD INDEX(`movil`);
|
ALTER TABLE Clientes ADD INDEX(movil);
|
||||||
|
|
||||||
ALTER TABLE vn2008.`Consignatarios` ADD INDEX(`telefono`);
|
ALTER TABLE Consignatarios ADD INDEX(telefono);
|
||||||
ALTER TABLE vn2008.`Consignatarios` ADD INDEX(`movil`);
|
ALTER TABLE Consignatarios ADD INDEX(movil);
|
||||||
|
|
||||||
ALTER TABLE vn2008.`Contactos` ADD INDEX(`Telefono`);
|
ALTER TABLE Contactos ADD INDEX(Telefono);
|
||||||
ALTER TABLE vn2008.`Contactos` ADD INDEX(`Movil`);
|
ALTER TABLE Contactos ADD INDEX(Movil);
|
||||||
|
|
||||||
-- Returns all bad formated phones
|
-- Returns all bad formated phones
|
||||||
|
|
||||||
SELECT telefono, movil c FROM vn2008.Clientes
|
SELECT telefono, movil c FROM Clientes
|
||||||
WHERE telefono NOT REGEXP '^[0-9]+$'
|
WHERE telefono NOT REGEXP '^[0-9]+$'
|
||||||
OR movil NOT REGEXP '^[0-9]+$'
|
OR movil NOT REGEXP '^[0-9]+$'
|
||||||
UNION
|
UNION
|
||||||
SELECT telefono, movil FROM vn2008.Consignatarios
|
SELECT telefono, movil FROM Consignatarios
|
||||||
WHERE telefono NOT REGEXP '^[0-9]+$'
|
WHERE telefono NOT REGEXP '^[0-9]+$'
|
||||||
OR movil NOT REGEXP '^[0-9]+$'
|
OR movil NOT REGEXP '^[0-9]+$'
|
||||||
UNION
|
UNION
|
||||||
SELECT telefono, movil FROM vn2008.Contactos
|
SELECT telefono, movil FROM Contactos
|
||||||
WHERE telefono NOT REGEXP '^[0-9]+$'
|
WHERE telefono NOT REGEXP '^[0-9]+$'
|
||||||
OR movil NOT REGEXP '^[0-9]+$';
|
OR movil NOT REGEXP '^[0-9]+$';
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue