Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- *
- * @ This file is created by http://DeZender.Net
- * @ deZender (PHP7 Decoder for ionCube Encoder)
- *
- * @ Version : 5.0.1.0
- * @ Author : DeZender
- * @ Release on : 22.04.2022
- * @ Official site : http://DeZender.Net
- *
- */
- function wachat_config()
- {
- $configarray = ['name' => 'WaChat WhatsApp', 'description' => 'WaChat - WHMCS WhatsApp Notifications Addon. Send whatsapp notifications to your clients and admin. Find more @ <a href="https://wachat.net/" target=\'_blank\'>www.wachat.net</a>', 'version' => '2.1.1', 'author' => 'WaChat', 'language' => 'english'];
- return $configarray;
- }
- function wachat_activate()
- {
- $query = 'CREATE TABLE IF NOT EXISTS `mod_wachat_messages` (`id` int(11) NOT NULL AUTO_INCREMENT,`group_id` varchar(40) NOT NULL,`to` varchar(15) DEFAULT NULL,`text` text,`uid` varchar(50) DEFAULT NULL,`status` varchar(10) DEFAULT NULL,`errors` text,`logs` text,`user` int(11) DEFAULT NULL,`datetime` datetime NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;';
- mysql_query($query);
- $query = 'CREATE TABLE IF NOT EXISTS `mod_wachat_settings` (`id` int(11) NOT NULL AUTO_INCREMENT,`api_key` varchar(100) CHARACTER SET utf8 NOT NULL,`api_token` varchar(500) CHARACTER SET utf8 NULL,`wantwhatsappfield` int(11) DEFAULT NULL,`gsmnumberfield` int(11) DEFAULT NULL,`dateformat` varchar(12) CHARACTER SET utf8 DEFAULT NULL,`version` varchar(6) CHARACTER SET utf8 DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;';
- mysql_query($query);
- $query = 'INSERT INTO `mod_wachat_settings` (`api_key`, `api_token`, `wantwhatsappfield`, `gsmnumberfield`,`dateformat`, `version`) VALUES (\'none\', \'none\', 0, 0,\'%d.%m.%y\',\'1.0.0\');';
- mysql_query($query);
- $query = 'CREATE TABLE IF NOT EXISTS `mod_wachat_templates` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) CHARACTER SET utf8 NOT NULL,`type` enum(\'client\',\'admin\') CHARACTER SET utf8 NOT NULL,`admingsm` varchar(255) CHARACTER SET utf8 NOT NULL,`template` varchar(1500) CHARACTER SET utf8 NOT NULL,`variables` varchar(1000) CHARACTER SET utf8 NOT NULL,`active` tinyint(1) NOT NULL,`extra` varchar(3) CHARACTER SET utf8 NOT NULL,`attachment` tinyint(1) NOT NULL,`description` text CHARACTER SET utf8,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;';
- mysql_query($query);
- $query = 'CREATE TABLE IF NOT EXISTS `mod_wachat_otp` (`id` int(11) NOT NULL AUTO_INCREMENT,`otp` varchar(50) CHARACTER SET utf8 NOT NULL,`type` enum(\'client\',\'admin\') CHARACTER SET utf8 DEFAULT \'client\',`relid` int(10) DEFAULT 0,`request` varchar(50) CHARACTER SET utf8 NOT NULL,`text` text,`status` tinyint(1) DEFAULT 0, `datetime` datetime NOT NULL, `phonenumber` text, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;';
- mysql_query($query);
- require_once 'api.php';
- require_once 'lib/wachat.php';
- $api = new wachat();
- $api->checkLists();
- return ['status' => 'success', 'description' => 'WaChat WhatsApp Notifications Addon successfully activated'];
- }
- function wachat_deactivate()
- {
- $query = 'DROP TABLE `mod_wachat_templates`';
- mysql_query($query);
- $query = 'DROP TABLE `mod_wachat_settings`';
- mysql_query($query);
- $query = 'DROP TABLE `mod_wachat_messages`';
- mysql_query($query);
- $query = 'DROP TABLE `mod_wachat_otp`';
- mysql_query($query);
- return ['status' => 'success', 'description' => 'WaChat WhatsApp Notifications Addon successfully deactivated'];
- }
- function Newsletters_upgrade($vars)
- {
- $version = $vars['version'];
- switch ($version) {
- case '1':
- break;
- }
- $api = new wachat();
- $api->checkLists();
- }
- function wachat_output($vars)
- {
- $modulelink = $vars['modulelink'];
- $version = $vars['version'];
- $LANG = $vars['_lang'];
- putenv('TZ=Asia/Colombo');
- $api = new wachat();
- $tab = $_GET['tab'];
- echo '<div id="newsletters_sms_system">' . "\n\n" . ' ' . "\n\n" . ' <style>' . "\n" . ' ' . "\n" . ' table.form {' . "\n" . ' padding: 20px !important;' . "\n" . ' border: 1px solid #DDD !important;' . "\n" . ' border-radius: 0 !important;' . "\n" . ' }' . "\n\n" . ' .card {' . "\n" . ' background:#F0FFF0;' . "\n" . ' transition: 0.3s;' . "\n" . ' padding:20px;' . "\n" . ' width: 100%;' . "\n" . ' border: 1px solid #ddd;' . "\n" . ' }' . "\n\n" . ' ' . "\n" . ' .contentarea{' . "\n\n" . ' background: #F8F8FF !important;' . "\n\n" . ' }' . "\n\n" . ' #clienttabs *{' . "\n\n" . ' margin: inherit;' . "\n\n" . ' padding: inherit;' . "\n\n" . ' border: inherit;' . "\n\n" . ' color: inherit;' . "\n\n" . ' background: inherit;' . "\n\n" . ' background-color: inherit;' . "\n\n" . ' }' . "\n\n" . ' ' . "\n\n\n\n" . ' #clienttabs{position: relative; z-index: 99;}' . "\n\n" . ' #clienttabs ul li {' . "\n\n" . ' display: inline-block;' . "\n\n" . ' margin-right: 3px;' . "\n\n" . ' border: 1px solid #ddd;' . "\n\n" . ' border-bottom:0px;' . "\n\n" . ' padding: 12px;' . "\n\n" . ' margin-bottom: -1px;' . "\n\n" . ' }' . "\n\n" . ' #clienttabs ul a {' . "\n\n" . ' border: 0px;;' . "\n\n" . ' }' . "\n\n" . ' #clienttabs ul {' . "\n\n" . ' float:left;' . "\n\n" . ' margin-bottom:0px;' . "\n\n" . ' }' . "\n\n" . ' #clienttabs{' . "\n\n" . ' float:left;' . "\n\n" . ' }' . "\n\n" . ' ' . "\n\n\n\n" . ' </style>' . "\n\n" . ' ' . "\n\n\n\n" . ' ' . "\n\n" . ' <div id="clienttabs">' . "\n\n" . ' <ul>' . "\n\n" . ' <li class="' . (($tab == 'settings') || ((@$_GET['type'] == '') && ($tab == '')) ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=settings">' . $LANG['settings'] . '</a></li>' . "\n\n" . ' <li class="' . (@$_GET['type'] == 'client' ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=templates&type=client">' . $LANG['clientsmstemplates'] . '</a></li>' . "\n\n" . ' <li class="' . (@$_GET['type'] == 'admin' ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=templates&type=admin">' . $LANG['adminsmstemplates'] . '</a></li>' . "\n\n" . ' <li class="' . ($tab == 'sendtoclients' ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=sendtoclients">' . $LANG['sendsms'] . '</a></li>' . "\n\n" . ' <li class="' . ($tab == 'messages' ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=messages">' . $LANG['messages'] . '</a></li>' . "\n\n" . ' <li class="' . ($tab == 'c' ? 'tabselected' : 'tab') . '"><a href="addonmodules.php?module=wachat&tab=support">' . $LANG['support'] . '</a></li>' . "\n\n" . ' </ul>' . "\n\n" . ' </div>' . "\n\n" . ' <div style="clear:both;"></div>' . "\n\n" . ' ';
- if (!isset($tab) || ($tab == 'settings')) {
- if (isset($_POST['params'])) {
- $update = ['api_key' => $_POST['api_key'], 'api_token' => $_POST['api_token'], 'wantwhatsappfield' => $_POST['wantwhatsappfield'], 'gsmnumberfield' => $_POST['gsmnumberfield'], 'dateformat' => $_POST['dateformat']];
- update_query('mod_wachat_settings', $update, '');
- }
- $settings = $api->apiSettings();
- $api_key = $settings['api_key'];
- $api_token = $settings['api_token'];
- $result = WHMCS\Database\Capsule::table('tblcustomfields')->where([
- ['fieldtype', '=', 'text'],
- ['type', '=', 'client']
- ])->get();
- $gsmnumber = '<option value="0" selected >' . $LANG['defaultmobile'] . '</option>';
- foreach ($result as $customfield) {
- if ($customfield->id == $settings['gsmnumberfield']) {
- $selected = 'selected="selected"';
- }
- else {
- $selected = '';
- }
- $gsmnumber .= '<option value="' . $customfield->id . '" ' . $selected . '>Custom Field : ' . $customfield->fieldname . '</option>';
- }
- $checker = new wachatAPI();
- $checker->setUser($api_key, $api_token);
- $checker->CheckBalance();
- if ($checker == 'balance') {
- echo "\n\n" . ' <style>' . "\n\n\n" . '.container {' . "\n\n" . ' padding: 20px 16px;' . "\n\n" . ' display: flex;' . "\n\n" . ' justify-content: center;' . "\n\n" . ' flex-direction: row;' . "\n\n" . '}' . "\n\n" . '</style>' . "\n\n" . '<br><br>' . "\n\n" . ' <div class="card">' . "\n\n" . ' <div class="container">' . "\n\n" . ' <form action="" method="post" id="form">' . "\n\n" . ' <input type="hidden" name="action" value="save" />' . "\n\n" . ' <div class="internalDiv">' . "\n\n" . ' <span id="responsemsg"></span>' . "\n\n\t\t\t" . '<input type="hidden" name="params" value="0"/>' . "\n\n" . ' ' . "\n\n" . ' <div class="btn-container"><a class="btn btn-primary btn-block" href="https://app.wachat.net/" target="_blank">Get Instance ID and Access Token</a></div><p></p>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['accesstoken'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="api_key" class="form-control" size="40" value="' . $settings['api_key'] . '">' . "\n\n" . ' </div><p></p>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['instanceid'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="api_token" class="form-control" size="40" value="' . $settings['api_token'] . '">' . "\n\n" . ' </div><p></p>' . "\n\n" . ' ' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['gsmnumberfield'] . '</td>' . "\n\n" . ' <select name="gsmnumberfield" class="form-control">' . "\n" . ' ' . $gsmnumber . "\n" . ' </select>' . "\n\n" . ' <div class="btn-container"><a class="" href="configcustomfields.php">' . $LANG['addgsmnumberfield'] . '</a></div>' . "\n\n" . ' </tr>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['dateformat'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="dateformat" class="form-control" size="40" value="' . $settings['dateformat'] . '"> </div> e.g: %d.%m.%y (27.01.2023)' . "\n\n" . ' ' . "\n\n" . ' </div>' . "\n\n" . ' <div class="btn-container">' . "\n\n" . ' <input type="submit" value="' . $LANG['save'] . '" class="btn btn-primary btn-block" />' . "\n\n" . ' </div>' . "\n\n" . ' </form>' . "\n\n" . ' </div>' . "\n\n" . ' </div>' . "\n\n" . ' ';
- }
- else {
- echo "\n\n" . ' <style>' . "\n\n\n\n\n\n" . '.container {' . "\n\n" . ' padding: 20px 16px;' . "\n\n" . ' display: flex;' . "\n\n" . ' justify-content: center;' . "\n\n" . ' flex-direction: row;' . "\n\n" . '}' . "\n\n" . '</style>' . "\n\n" . ' <div class="card">' . "\n\n" . ' <div class="container">' . "\n\n" . ' <form action="" method="post" id="form">' . "\n\n" . ' <input type="hidden" name="action" value="save" />' . "\n\n" . ' <div class="internalDiv">' . "\n\n" . ' <span id="responsemsg"></span>' . "\n\n\t\t\t" . '<input type="hidden" name="params" value="0"/>' . "\n\n" . ' <div class="btn-container"><a class="btn btn-primary btn-block" href="https://app.wachat.net/" target="_blank">Get Instance ID and Access Token</a></div><p></p>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['accesstoken'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="api_key" class="form-control" size="40" value="' . $settings['api_key'] . '">' . "\n\n" . ' </div><p></p>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['instanceid'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="api_token" class="form-control" size="40" value="' . $settings['api_token'] . '">' . "\n\n" . ' </div><p></p>' . "\n\n" . ' ' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['gsmnumberfield'] . '</td>' . "\n\n" . ' <select name="gsmnumberfield" class="form-control">' . "\n" . ' ' . $gsmnumber . "\n" . ' </select>' . "\n\n" . ' <div class="btn-container"><a class="" href="configcustomfields.php">' . $LANG['addgsmnumberfield'] . '</a></div>' . "\n\n" . ' </tr>' . "\n\n" . ' <td class="fieldlabel" width="30%">' . $LANG['dateformat'] . '</td>' . "\n\n" . ' <div class="">' . "\n\n" . ' <input type="text" name="dateformat" class="form-control" size="40" value="' . $settings['dateformat'] . '"> </div> e.g: %d.%m.%y (27.01.2023)' . "\n\n" . ' ' . "\n\n" . ' </div>' . "\n\n" . ' <div class="btn-container">' . "\n\n" . ' <input type="submit" value="' . $LANG['save'] . '" class="btn btn-primary btn-block" />' . "\n\n" . ' </div>' . "\n\n" . ' </form>' . "\n\n" . ' </div>' . "\n\n" . ' </div>' . "\n\n" . ' ';
- }
- }
- else if ($tab == 'templates') {
- if (isset($_POST['params'])) {
- $where = [
- 'type' => ['sqltype' => 'LIKE', 'value' => $_GET['type']]
- ];
- $result = select_query('mod_wachat_templates', '*', $where);
- while ($data = mysql_fetch_array($result)) {
- ..................................................................
- ...................................
- ..............
Advertisement
Add Comment
Please, Sign In to add comment