query($query); $query = "CREATE TRIGGER `$data_base_name`.`id_create` BEFORE INSERT ON `$data_base_name`.`cdr` FOR EACH ROW SET NEW.id = UUID() ;"; $result1 = $GLOBALS['db']->query($query); $query = "DROP TRIGGER IF EXISTS `$data_base_name`.`ecmcalls_assign`;"; $result = $GLOBALS['db']->query($query); $query = "CREATE TRIGGER `$data_base_name`.`ecmcalls_assign` AFTER INSERT ON `$data_base_name`.`cdr` FOR EACH ROW BEGIN INSERT INTO `ecmcalls_beans` (`id`, `ecmcall_id`, `bean_id`, `bean_module`, `src`, `date_modified`, `deleted`) SELECT UUID() as `id`, NEW.id as `ecmcall_id`, `ecp`.`bean_id` as `bean_id`, `ecp`.`bean_module` as `bean_module`, `ecp`.`phone` as `src`, NEW.calldate as `date_modified`, '0' as `deleted` FROM `ecmcallsphones` as `ecp` WHERE `ecp`.`bean_module` <> 'EcmCalls' AND ((LPAD(NEW.dst,50,'0') = LPAD(`ecp`.`phone`,50,'0')) OR ((LPAD(NEW.src,50,'0') = LPAD(`ecp`.`phone`,50,'0')) OR (LPAD(NEW.dcontext,50,'0') = LPAD(`ecp`.`phone`,50,'0')))); END ;"; $result2 = $GLOBALS['db']->query($query); if(!$result1 || !$result2) echo "Cannnot create triggers to table \"cdr\". The database user must have super privileges to do this!
\n"; else echo "Triggers to table \"cd\" are created.
\n"; $query = "DROP TABLE IF EXISTS `ecmcallsphones`;"; $result = $GLOBALS['db']->query($query); echo "Creating a table \"EcmCallsPhones\"...
\n"; $query = "CREATE TABLE IF NOT EXISTS `ecmcallsphones` ( `id` char(36) NOT NULL, `bean_module` varchar(25) NOT NULL, `bean_id` char(36) NOT NULL, `phone` varchar(25) NOT NULL, `note` varchar(50) NOT NULL, `index` int(4) default NULL, PRIMARY KEY (`id`), KEY `idx_ecmcallsphones_bean_id` (`bean_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; $result = $GLOBALS['db']->query($query); if($result) { echo "Table \"EcmCallsPhones\" is created.
\n"; $result = true; } else { echo "Error with creating table EcmCallsPhones! Contact with admin for username and password to database!
\n"; } if($result) { echo "Table \"EcmCallsPhones\" exists.
\n"; echo "Updating data from Contacts, Accounts, Users to EcmCallsPhones...
\n"; echo "Updating data successfull end!
\n"; echo "
"; echo "Creating unique id to \"cdr\" table records if some exists...
\n"; function getTableEcmCallsCount() { $query = "SELECT COUNT(*) FROM `cdr` WHERE `id` IS NULL OR `id`=''"; $result = $GLOBALS['db']->query($query); if($result) { $result = $GLOBALS['db']->fetchByAssoc($result); if($result) return intval($result['COUNT(*)']); else return 0; } } $query = "UPDATE `cdr` SET `id` = '".create_guid()."' WHERE `id` IS NULL OR `id`='' LIMIT 1"; while(getTableEcmCallsCount()) { echo $query.'
'; $result = $GLOBALS['db']->query($query); $count++; }; if($count == 0) echo "Table \"cdr\" is empty or all records have set unique id.
\n"; else echo "Unique id is set for $count records.
\n"; echo "
"; echo "Assigning Users, Contacts and Accounts phones to central calls records if some records exists...
\n"; $file = "modules/EcmCalls/EcmCall.php"; require_once($file); if(EcmCall::autoAssigning()) echo "Assigning successfull!"; else echo "Assigning fail!"; echo "

Module EcmCalls is succesfully installed!!!"; } ?>