123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- class tsms extends SendDogProto {
- /**
- * Contains system alter.ini as key=>value
- *
- * @var array
- */
- protected $altCfg = array();
- /**
- * Return set of inputs, required for TurboSMS service configuration
- *
- * @return string
- */
- public function renderTsmsConfigInputs() {
- $inputs = wf_tag('h2') . __('TurboSMS') . ' ' . wf_Link(self::URL_ME . '&showmisc=tsms', wf_img('skins/icon_sms_micro.gif', __('View SMS sending queue')), true) . wf_tag('h2', true);
- $inputs .= wf_HiddenInput('editconfig', 'true');
- $inputs .= wf_TextInput('edittsmsgateway', __('TurboSMS gateway address'), $this->settings['TSMS_GATEWAY'], true, 30);
- $inputs .= wf_TextInput('edittsmslogin', __('User login to access TurboSMS gateway'), $this->settings['TSMS_LOGIN'], true, 20);
- $inputs .= wf_TextInput('edittsmspassword', __('User password for access TurboSMS gateway'), $this->settings['TSMS_PASSWORD'], true, 20);
- $inputs .= wf_TextInput('edittsmssign', __('TurboSMS') . ' ' . __('Sign'), $this->settings['TSMS_SIGN'], true, 20);
- $smsServiceFlag = ($this->settings['SMS_SERVICE'] == 'tsms') ? true : false;
- $inputs .= wf_RadioInput('defaultsmsservice', __('Use TurboSMS as default SMS service'), 'tsms', true, $smsServiceFlag);
- return ($inputs);
- }
- /**
- * Render TurboSMS server-side queue
- *
- * @return string
- */
- public function renderTurboSMSQueue() {
- $result = '';
- $tsms_host = $this->settings['TSMS_GATEWAY'];
- $tsms_db = 'users';
- $tsms_login = $this->settings['TSMS_LOGIN'];
- $tsms_password = $this->settings['TSMS_PASSWORD'];
- $tsms_table = $this->settings['TSMS_LOGIN'];
- $smsArray = array();
- $total = 0;
- $TsmsDB = new DbConnect($tsms_host, $tsms_login, $tsms_password, $tsms_db, $error_reporting = true, $persistent = false);
- $TsmsDB->open() or die($TsmsDB->error());
- $TsmsDB->query('SET NAMES utf8;');
- if (wf_CheckPost(array('showdate'))) {
- $date = mysql_real_escape_string($_POST['showdate']);
- } else {
- $date = '';
- }
- if (!empty($date)) {
- $where = " WHERE `send_time` LIKE '" . $date . "%' ORDER BY `id` DESC;";
- } else {
- $where = ' ORDER BY `id` DESC LIMIT 50;';
- }
- $query = "SELECT * from `" . $tsms_table . "`" . $where;
- $TsmsDB->query($query);
- while ($row = $TsmsDB->fetchassoc()) {
- $smsArray[] = $row;
- }
- //close old datalink
- $TsmsDB->close();
- //rendering result
- $inputs = wf_DatePickerPreset('showdate', curdate());
- $inputs .= wf_Submit(__('Show'));
- $dateform = wf_Form("", 'POST', $inputs, 'glamour');
- $cells = wf_TableCell(__('ID'));
- $cells .= wf_TableCell(__('Msg ID'));
- $cells .= wf_TableCell(__('Mobile'));
- $cells .= wf_TableCell(__('Sign'));
- $cells .= wf_TableCell(__('Message'));
- $cells .= wf_TableCell(__('Balance'));
- $cells .= wf_TableCell(__('Cost'));
- $cells .= wf_TableCell(__('Send time'));
- $cells .= wf_TableCell(__('Sended'));
- $cells .= wf_TableCell(__('Status'));
- $rows = wf_TableRow($cells, 'row1');
- if (!empty($smsArray)) {
- foreach ($smsArray as $io => $each) {
- $cells = wf_TableCell($each['id']);
- $cells .= wf_TableCell($each['msg_id']);
- $cells .= wf_TableCell($each['number']);
- $cells .= wf_TableCell($each['sign']);
- $msg = wf_modal(__('Show'), __('SMS'), $each['message'], '', '300', '200');
- $cells .= wf_TableCell($msg);
- $cells .= wf_TableCell($each['balance']);
- $cells .= wf_TableCell($each['cost']);
- $cells .= wf_TableCell($each['send_time']);
- $cells .= wf_TableCell($each['sended']);
- $cells .= wf_TableCell($each['status']);
- $rows .= wf_TableRow($cells, 'row5');
- $total++;
- }
- }
- $result .= wf_BackLink(self::URL_ME, '', true);
- $result .= $dateform;
- $result .= wf_TableBody($rows, '100%', '0', 'sortable');
- $result .= __('Total') . ': ' . $total;
- return ($result);
- }
- /**
- * Loads TurboSMS config
- *
- * @return void
- */
- public function loadTurbosmsConfig() {
- global $ubillingConfig;
- $this->altCfg = $ubillingConfig->getAlter();
- $smsgateway = zb_StorageGet('SENDDOG_TSMS_GATEWAY');
- if (empty($smsgateway)) {
- $smsgateway = $this->altCfg['TSMS_GATEWAY'];
- zb_StorageSet('SENDDOG_TSMS_GATEWAY', $smsgateway);
- }
- $smslogin = zb_StorageGet('SENDDOG_TSMS_LOGIN');
- if (empty($smslogin)) {
- $smslogin = $this->altCfg['TSMS_LOGIN'];
- zb_StorageSet('SENDDOG_TSMS_LOGIN', $smslogin);
- }
- $smspassword = zb_StorageGet('SENDDOG_TSMS_PASSWORD');
- if (empty($smspassword)) {
- $smspassword = $this->altCfg['TSMS_PASSWORD'];
- zb_StorageSet('SENDDOG_TSMS_PASSWORD', $smspassword);
- }
- $smssign = zb_StorageGet('SENDDOG_TSMS_SIGN');
- if (empty($smssign)) {
- $smssign = 'Ubilling';
- zb_StorageSet('SENDDOG_TSMS_SIGN', $smssign);
- }
- $this->settings['TSMS_GATEWAY'] = $smsgateway;
- $this->settings['TSMS_LOGIN'] = $smslogin;
- $this->settings['TSMS_PASSWORD'] = $smspassword;
- $this->settings['TSMS_SIGN'] = $smssign;
- }
- /**
- * Sends all sms storage via TurboSMS service
- *
- * @return void
- */
- public function turbosmsPushMessages() {
- $sign = $this->safeEscapeString($this->settings['TSMS_SIGN']);
- $date = date("Y-m-d H:i:s");
- $allSmsQueue = $this->smsQueue->getQueueData();
- if (!empty($allSmsQueue)) {
- //open new database connection
- $TsmsDB = new DbConnect($this->settings['TSMS_GATEWAY'], $this->settings['TSMS_LOGIN'], $this->settings['TSMS_PASSWORD'], 'users', $error_reporting = true, $persistent = false);
- $TsmsDB->open() or die($TsmsDB->error());
- $TsmsDB->query('SET NAMES utf8;');
- foreach ($allSmsQueue as $eachsms) {
- if ((isset($eachsms['number'])) AND ( isset($eachsms['message']))) {
- $query = "INSERT INTO `" . $this->settings['TSMS_LOGIN'] . "` ( `number`, `sign`, `message`, `wappush`, `send_time`) VALUES
- ('" . $eachsms['number'] . "', '" . $sign . "', '" . $eachsms['message'] . "', '', '" . $date . "');
- ";
- //push new sms to database
- $TsmsDB->query($query);
- }
- //remove old sent message
- $this->smsQueue->deleteSms($eachsms['filename']);
- }
- //close old datalink
- $TsmsDB->close();
- }
- }
- /**
- * Saves service settings to database
- *
- * @return void
- */
- public function saveSettings() {
- //TurboSMS configuration
- if ($_POST['edittsmsgateway'] != $this->settings['TSMS_GATEWAY']) {
- zb_StorageSet('SENDDOG_TSMS_GATEWAY', $_POST['edittsmsgateway']);
- log_register('SENDDOG CONFIG SET TSMSGATEWAY `' . $_POST['edittsmsgateway'] . '`');
- }
- if ($_POST['edittsmslogin'] != $this->settings['TSMS_LOGIN']) {
- zb_StorageSet('SENDDOG_TSMS_LOGIN', $_POST['edittsmslogin']);
- log_register('SENDDOG CONFIG SET TSMSLOGIN `' . $_POST['edittsmslogin'] . '`');
- }
- if ($_POST['edittsmspassword'] != $this->settings['TSMS_PASSWORD']) {
- zb_StorageSet('SENDDOG_TSMS_PASSWORD', $_POST['edittsmspassword']);
- log_register('SENDDOG CONFIG SET TSMSPASSWORD `' . $_POST['edittsmspassword'] . '`');
- }
- if ($_POST['edittsmssign'] != $this->settings['TSMS_SIGN']) {
- zb_StorageSet('SENDDOG_TSMS_SIGN', $_POST['edittsmssign']);
- log_register('SENDDOG CONFIG SET TSMSSIGN `' . $_POST['edittsmssign'] . '`');
- }
- }
- }
|