From b573abf6378e6d1b5c3df37c5aed40e5a2d49fc6 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 10 Aug 2012 20:17:08 +0200 Subject: [PATCH] notify user with notify-send --- src/callnotifier/Logger/CallNotifySend.php | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/callnotifier/Logger/CallNotifySend.php diff --git a/src/callnotifier/Logger/CallNotifySend.php b/src/callnotifier/Logger/CallNotifySend.php new file mode 100644 index 0000000..d5cb9dd --- /dev/null +++ b/src/callnotifier/Logger/CallNotifySend.php @@ -0,0 +1,65 @@ +displayStart($arData['call']); + break; + case 'finishedCall': + $this->displayFinished($arData['call']); + break; + } + } + + + protected function displayStart(CallMonitor_Call $call) + { + $this->addUnsetVars($call); + if ($call->type == CallMonitor_Call::INCOMING) { + $this->notify( + trim($this->getNumberString($call, 'from')), + 'Incoming call' + ); + } else { + $this->notify( + trim($this->getNumberString($call, 'to')), + 'Outgoing call' + ); + } + } + + protected function displayFinished(CallMonitor_Call $call) + { + $this->addUnsetVars($call); + if ($call->type == CallMonitor_Call::INCOMING) { + $title = trim($this->getNumberString($call, 'from')); + $msg = 'End of incoming call'; + } else { + $title = trim($this->getNumberString($call, 'to')); + $msg = 'End of outgoing call'; + } + $this->notify( + $title, + $msg + . ', length ' . date('H:i:s', $call->end - $call->start - 3600) + ); + } + + protected function notify($title, $msg) + { + exec( + 'notify-send' + . ' -u low' + . ' --expire-time=1000' + . ' -i phone' + . ' -c callmonitor' + . ' ' . escapeshellarg($title) + . ' ' . escapeshellarg($msg) + ); + } +} +?> -- 2.30.2