<?php defined('_SECURE_') or die('Forbidden'); if (!auth_isadmin()) { auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/msgtoolbox/config.php"; switch (_OP_) { case "manage": if ($err = $_SESSION['error_string']) { $content = "<div class=error_string>{$err}</div>"; } $content .= "\n\t\t\t<h2>" . _('Manage msgtoolbox') . "</h2>\n\t\t\t<form action=index.php?app=main&inc=gateway_msgtoolbox&op=manage_save method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>msgtoolbox</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('msgtoolbox URL') . "</td><td><input type=text maxlength=250 name=up_url value=\"" . $plugin_config['msgtoolbox']['url'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Route') . "</td><td><input type=text size=5 maxlength=5 name=up_route value=\"" . $plugin_config['msgtoolbox']['route'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<td>" . _('Username') . "</td><td><input type=text maxlength=30 name=up_username value=\"" . $plugin_config['msgtoolbox']['username'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Password') . "</td><td><input type=password maxlength=30 name=up_password value=\"\"> " . _hint(_('Fill to change the password')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module sender ID') . "</td><td><input type=text maxlength=16 name=up_module_sender value=\"" . $plugin_config['msgtoolbox']['module_sender'] . "\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module timezone') . "</td><td><input type=text size=5 maxlength=5 name=up_global_timezone value=\"" . $plugin_config['msgtoolbox']['datetime_timezone'] . "\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>"; $content .= _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $up_url = $_POST['up_url']; $up_route = $_POST['up_route']; $up_username = $_POST['up_username']; $up_password = $_POST['up_password']; $up_module_sender = $_POST['up_module_sender']; $up_global_timezone = $_POST['up_global_timezone']; $_SESSION['error_string'] = _('No changes have been made'); if ($up_url && $up_username) { if ($up_password) { $password_change = "cfg_password='******',"; } $db_query = "\n\t\t\t\tUPDATE " . _DB_PREF_ . "_gatewayMsgtoolbox_config\n\t\t\t\tSET c_timestamp='" . mktime() . "',\n\t\t\t\tcfg_url='{$up_url}',\n\t\t\t\tcfg_route='{$up_route}',\n\t\t\t\tcfg_username='******',\n\t\t\t\t" . $password_change . "\n\t\t\t\tcfg_module_sender='{$up_module_sender}',\n\t\t\t\tcfg_datetime_timezone='{$up_global_timezone}'\n\t\t\t"; if (@dba_affected_rows($db_query)) { $_SESSION['error_string'] = _('Gateway module configurations has been saved');
if (!auth_isadmin()) { auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/telerivet/config.php"; $gw = core_gateway_get(); if ($gw == $plugin_config['telerivet']['name']) { $status_active = "<span class=status_active />"; } else { $status_active = "<span class=status_inactive />"; } switch (_OP_) { case "manage": if ($err = TRUE) { $content = _dialog(); } $tpl = array('name' => 'telerivet', 'vars' => array('DIALOG_DISPLAY' => $error_content, 'Manage telerivet' => _('Manage telerivet'), 'Gateway name' => _('Gateway name'), 'Project ID' => _('Project ID'), 'Telerivet URL' => _('Telerivet URL'), 'API key' => _('API key'), 'Callback URL' => _('Callback URL'), 'Callback Secret' => _('Callback Secret'), 'Save' => _('Save'), 'HINT_FILL_KEY' => _hint(_('Fill to change the API key')), 'BUTTON_BACK' => _back('index.php?app=main&inc=core_gateway&op=gateway_list'), 'status_active' => $status_active, 'telerivet_param_url' => $plugin_config['telerivet']['url'], 'telerivet_param_project_id' => $plugin_config['telerivet']['project_id'], 'telerivet_param_api_key' => $plugin_config['telerivet']['api_key'], 'telerivet_param_status_url' => $plugin_config['telerivet']['status_url'], 'telerivet_param_status_secret' => $plugin_config['telerivet']['status_secret'])); _p(tpl_apply($tpl)); break; case "manage_save": $up_url = $_POST['up_url']; $up_project_id = $_POST['up_project_id']; $up_api_key = $_POST['up_api_key']; $up_status_url = $_POST['up_status_url']; $up_status_secret = $_POST['up_status_secret']; $_SESSION['dialog']['info'][] = _('No changes has been made'); if ($up_url && $up_project_id) { if ($up_api_key) { $api_key_change = "cfg_api_key='{$up_api_key}',"; } $db_query = "\n UPDATE " . _DB_PREF_ . "_gatewayTelerivet_config\n SET c_timestamp='" . mktime() . "',\n cfg_url='{$up_url}',\n " . $api_key_change . "\n cfg_project_id='{$up_project_id}',\n cfg_status_url='{$up_status_url}',\n cfg_status_secret='{$up_status_secret}'"; _log('query:' . $db_query, 2, 'config telerivet');
* You should have received a copy of the GNU General Public License * along with playSMS. If not, see <http://www.gnu.org/licenses/>. */ defined('_SECURE_') or die('Forbidden'); if (!auth_isvalid()) { auth_block(); } switch (_OP_) { case "sms_sync_list": $list = registry_search($user_config['uid'], 'feature', 'sms_sync'); $sms_sync_secret = $list['feature']['sms_sync']['secret']; if ($list['feature']['sms_sync']['enable']) { $option_enable = 'checked'; } $sync_url = $core_config['http_path']['base'] . '/plugin/feature/sms_sync/sync.php?uid=' . $user_config['uid']; unset($tpl); $tpl = array('name' => 'sms_sync', 'vars' => array('DIALOG_DISPLAY' => _dialog(), 'HINT_SECRET' => _hint(_('Secret key is used in SMSSync app')), 'HINT_ENABLE' => _hint(_('Check to enable receiving push messages from SMSSync app')), 'SECRET' => $sms_sync_secret, 'CHECKED' => $option_enable, 'SYNC_URL' => $sync_url, 'Manage sync' => _('Manage sync'), 'Secret key' => _('Secret key'), 'Enable SMS Sync' => _('Enable SMS Sync'), 'Sync URL' => _('Sync URL'), 'Notes' => _('Notes'), 'Download SMSSync app for Android from' => _('Download SMSSync app for Android from'), 'Save' => _('Save'))); _p(tpl_apply($tpl)); break; case "sms_sync_save": $items['secret'] = $_POST['sms_sync_secret']; $items['enable'] = trim($_POST['sms_sync_enable']) ? 1 : 0; if (registry_update($user_config['uid'], 'feature', 'sms_sync', $items)) { $_SESSION['dialog']['info'][] = _('SMS Sync configuration has been saved'); } else { $_SESSION['dialog']['info'][] = _('Fail to save SMS Sync configuration'); } header("Location: " . _u('index.php?app=main&inc=feature_sms_sync&op=sms_sync_list')); exit; break; }
$schedule_id = $_REQUEST['schedule_id']; // schedule ID $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSchedule WHERE uid='" . $user_config['uid'] . "' AND id='{$schedule_id}' AND flag_deleted='0'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $schedule_name = $db_row['name']; $schedule_message = $db_row['message']; if ($id && $schedule_id && $schedule_name && $schedule_message) { $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSchedule_dst WHERE schedule_id='{$schedule_id}' AND id='{$id}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $schedule = $db_row['schedule']; $schedule = $schedule ? core_display_datetime($schedule) : '0000-00-00 00:00:00'; $name = $db_row['name']; $destination = $db_row['destination']; $content = _dialog() . "\n\t\t\t\t<h2>" . _('Schedule messages') . "</h2>\n\t\t\t\t<h3>" . _('Manage schedule') . "</h3>\n\t\t\t\t<h4>" . _('Edit destination') . "</h4>\n\t\t\t\t<form action=index.php?app=main&inc=feature_schedule&route=manage&op=dst_edit_yes method=post>\n\t\t\t\t" . _CSRF_FORM_ . "\n\t\t\t\t<input type=hidden name=schedule_id value='" . $schedule_id . "'>\n\t\t\t\t<input type=hidden name=id value='" . $id . "'>\n\t\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('Schedule name') . "</td><td>" . $schedule_name . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Scheduled message') . "</td><td>" . $schedule_message . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('Name')) . "</td><td><input type=text maxlength=250 name=name value='" . $name . "'></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('Destination')) . "</td><td><input type=text maxlength=20 name=destination value='" . $destination . "'> " . _hint(_('Separate by comma for multiple destinations')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('Schedule')) . "</td><td><input type=text maxlength=19 name=schedule value='" . $schedule . "'> " . _hint(_('Format YYYY-MM-DD hh:mm')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t\t</form>\n\t\t\t\t" . _back('index.php?app=main&inc=feature_schedule&route=manage&op=list&id=' . $schedule_id); } else { auth_block(); } _p($content); break; case "dst_edit_yes": $id = $_REQUEST['id']; // destination ID $schedule_id = $_REQUEST['schedule_id']; // schedule ID $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSchedule WHERE uid='" . $user_config['uid'] . "' AND id='{$schedule_id}' AND flag_deleted='0'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $schedule_name = $db_row['name']; $schedule_message = $db_row['message'];
$_SESSION['dialog']['info'][] = _('New ACL been added'); } else { $_SESSION['dialog']['info'][] = _('Fail to add new ACL'); } } else { $_SESSION['dialog']['info'][] = _('Mandatory fields must not be empty'); } header("Location: " . _u('index.php?app=main&inc=core_acl&op=add')); exit; break; case "edit": $id = (int) $_REQUEST['id']; $db_query = "SELECT * FROM " . _DB_PREF_ . "_tblACL WHERE flag_deleted='0' AND id='" . $id . "'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $content = _dialog() . "\n\t\t\t<h2>" . _('Manage ACL') . "</h2>\n\t\t\t<h3>" . _('Edit ACL') . "</h3>\n\t\t\t<form action=index.php?app=main&inc=core_acl&op=edit_yes method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=id value='" . $id . "'>\n\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('ACL ID') . "</td><td>" . $id . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Name') . "</td><td>" . strtoupper($db_row['name']) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Subuser ACL') . "</td><td><input type=text name=acl_subuser value='" . strtoupper($db_row['acl_subuser']) . "'> " . _hint(_('Comma separated for multiple entries')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Disallowed URLs') . "</td><td>" . _yesno('acl_disallowed', $db_row['flag_disallowed']) . " " . _hint(_('Decide if this ACL is containing disallowed URLs rather than allowed URLs')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('URLs') . "</td><td><textarea rows=5 name=url>" . $db_row['url'] . "</textarea><br />" . _hint(_('Comma separated for multiple entries')) . "</td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=core_acl&op=acl_list'); _p($content); break; case "edit_yes": $id = (int) $_POST['id']; $name = trim(strtoupper($_POST['name'])); $acl_subusers = explode(',', trim(strtoupper($_POST['acl_subuser']))); foreach ($acl_subusers as $item) { $acl_subuser .= ' ' . trim(strtoupper($item)) . ','; } $acl_subuser = trim(substr($acl_subuser, 0, -1)); $acl_disallowed = (int) $_REQUEST['acl_disallowed']; $url = trim($_POST['url']); if ($id) { $db_query = "\n\t\t\t\tUPDATE " . _DB_PREF_ . "_tblACL SET c_timestamp='" . mktime() . "',acl_subuser='******',url='" . $url . "',flag_disallowed='" . $acl_disallowed . "'\n\t\t\t\tWHERE id='" . $id . "'"; if ($new_id = @dba_affected_rows($db_query)) {
$form_title = _('Manage account'); if ($is_parent) { $button_delete = "<input type=button class=button value='" . _('Delete') . "' onClick=\"javascript: ConfirmURL('" . _('Are you sure you want to delete subuser ?') . " (" . _('username') . ": " . $c_username . ")','index.php?app=main&inc=core_user&route=subuser_mgmnt&op=subuser_del" . $url_uname . "')\">"; $button_back = _back('index.php?app=main&inc=core_user&route=subuser_mgmnt&op=subuser_list'); } else { $button_delete = "<input type=button class=button value='" . _('Delete') . "' onClick=\"javascript: ConfirmURL('" . _('Are you sure you want to delete user ?') . " (" . _('username') . ": " . $c_username . ")','index.php?app=main&inc=core_user&route=user_mgmnt&op=user_del" . $url_uname . "&view=" . $view . "')\">"; $button_back = _back('index.php?app=main&inc=core_user&route=user_mgmnt&op=user_list&view=' . $view); } } else { $form_title = _('Preferences'); } // error string if ($err = TRUE) { $error_content = _dialog(); } $tpl = array('name' => 'user_pref', 'vars' => array('Account status' => _('Account status'), 'Parent account' => _('Parent account') . " (" . _('for subuser only') . ")", 'Login information' => _('Login information'), 'Username' => _('Username'), 'Password' => _('Password'), 'Re-type password' => _('Re-type password'), 'Personal information' => _('Personal information'), 'Name' => _mandatory(_('Name')), 'Email' => _mandatory(_('Email')), 'Mobile' => _('Mobile'), 'Address' => _('Address'), 'City' => _('City'), 'State or Province' => _('State or Province'), 'Country' => _('Country'), 'Zipcode' => _('Zipcode'), 'Save' => _('Save'), 'HINT_STATUS' => _hint(_('Cannot change status when user have subusers')), 'HINT_PARENT' => _hint(_('Parent account is mandatory for subusers only. If no value is given then the subuser will be automatically assigned to user admin')), 'STATUS' => _('User'), 'DIALOG_DISPLAY' => $error_content, 'FORM_TITLE' => $form_title, 'BUTTON_DELETE' => $button_delete, 'BUTTON_BACK' => $button_back, 'URL_UNAME' => $url_uname, 'VIEW' => $view, 'select_status' => $select_status, 'select_parents' => $select_parents, 'c_username' => $c_username, 'name' => $name, 'email' => $email, 'mobile' => $mobile, 'address' => $address, 'city' => $city, 'state' => $state, 'option_country' => $option_country, 'zipcode' => $zipcode), 'ifs' => array('edit_status' => $allow_edit_status, 'edit_parent' => $allow_edit_parent, 'edit_status_hint' => $show_status_hint, 'show_personal_information' => $show_personal_information)); _p(tpl_apply($tpl)); break; case "user_pref_save": $continue = TRUE; $fields = array('name', 'email', 'mobile', 'address', 'city', 'state', 'country', 'password', 'zipcode'); if ($allow_edit_status) { _log('saving username:'******' status:' . $_POST['up_status'], 3, 'user_pref'); $fields[] = 'status'; } if ($allow_edit_parent) { _log('saving username:'******' parent_uid:' . $_POST['up_parent_uid'], 3, 'user_pref'); $fields[] = 'parent_uid'; } for ($i = 0; $i < count($fields); $i++) { if ($c_data = trim($_POST['up_' . $fields[$i]])) {
$db_query = "SELECT custom_keyword FROM " . _DB_PREF_ . "_featureCustom WHERE custom_id='{$custom_id}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); if ($db_row['custom_keyword']) { $db_query = "DELETE FROM " . _DB_PREF_ . "_featureCustom WHERE custom_id='{$custom_id}'"; if (@dba_affected_rows($db_query)) { $_SESSION['dialog']['info'][] = _('SMS custom has been deleted'); } else { $_SESSION['dialog']['danger'][] = _('Fail to delete SMS custom'); } } header("Location: " . _u('index.php?app=main&inc=feature_sms_custom&op=sms_custom_list')); exit; break; case "sms_custom_add": $content .= _dialog() . "\n\t\t\t<h2>" . _('Manage custom') . "</h2>\n\t\t\t<h3>" . _('Add SMS custom') . "</h3>\n\t\t\t<form action=index.php?app=main&inc=feature_sms_custom&op=sms_custom_add_yes method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _mandatory(_('Service name')) . "</td><td><input type=text size=30 maxlength=255 name=add_service_name value=\"" . _lastpost('add_service_name') . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('SMS custom keywords')) . "</td><td><input type=text size=30 maxlength=255 name=add_custom_keyword value=\"" . _lastpost('add_custom_keyword') . "\"> " . _hint('Multiple keywords seperated by space') . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Receiver number') . "</td><td><input type=text size=30 maxlength=20 name=add_sms_receiver value=\"" . _lastpost('add_sms_receiver') . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=2>" . _('Pass these parameters to custom URL field') . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=2>\n\t\t\t\t\t\t" . _('Pass these parameters to custom URL field') . "\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>{SERVICENAME} " . _('will be replaced by service name') . "</li>\n\t\t\t\t\t\t\t<li>{SMSDATETIME} " . _('will be replaced by SMS incoming date/time') . "</li>\n\t\t\t\t\t\t\t<li>{SMSSENDER} " . _('will be replaced by sender number') . "</li>\n\t\t\t\t\t\t\t<li>{SMSRECEIVER} " . _('will be replaced by receiver number') . "</li>\n\t\t\t\t\t\t\t<li>{CUSTOMKEYWORD} " . _('will be replaced by custom keyword') . "</li>\n\t\t\t\t\t\t\t<li>{CUSTOMPARAM} " . _('will be replaced by custom parameter passed to server from SMS') . "</li>\n\t\t\t\t\t\t\t<li>{CUSTOMRAW} " . _('will be replaced by SMS raw message') . "</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t" . _('Example of SMS custom URL') . "\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li>" . htmlspecialchars('http://someserver.somedomain/handler.php?service={SERVICENAME}&datetime={SMSDATETIME}&sender={SMSSENDER}&receiver={SMSRECEIVER}&keyword={CUSTOMKEYWORD}¶m={CUSTOMPARAM}&raw={CUSTOMRAW}') . "</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('SMS custom URL')) . "</td><td><input type=text maxlength=255 name=add_custom_url value=\"" . _lastpost('add_custom_url') . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Make return as reply') . "</td><td><input type=checkbox name=add_custom_return_as_reply></td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_sms_custom&op=sms_custom_list'); _p($content); break; case "sms_custom_add_yes": $add_service_name = trim($_POST['add_service_name']); $add_sms_receiver = trim($_POST['add_sms_receiver']); $add_custom_return_as_reply = $_POST['add_custom_return_as_reply'] == 'on' ? '1' : '0'; $add_custom_url = $_POST['add_custom_url']; $add_custom_keyword = strtoupper($_POST['add_custom_keyword']); $c_keywords = explode(' ', $add_custom_keyword); foreach ($c_keywords as $keyword) { if ($keyword) { if (keyword_isavail($keyword, $add_sms_receiver)) { $keywords .= core_sanitize_alphanumeric($keyword) . ' '; } else { $_SESSION['dialog']['danger'][] = sprintf(_('Keyword %s is not available'), $keyword);
auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/uplink/config.php"; switch (_OP_) { case "manage": if ($plugin_config['uplink']['try_disable_footer']) { $selected['yes'] = 'selected'; } else { $selected['no'] = 'selected'; } $option_try_disable_footer = "<option value=\"1\" " . $selected['yes'] . ">" . _('yes') . "</option>"; $option_try_disable_footer .= "<option value=\"0\" " . $selected['no'] . ">" . _('no') . "</option>"; if ($err = $_SESSION['error_string']) { $error_content = "<div class=error_string>{$err}</div>"; } $content = "\n\t\t\t" . $error_content . "\n\t\t\t<h2>" . _('Manage uplink') . "</h2>\n\t\t\t<form action=index.php?app=main&inc=gateway_uplink&op=manage_save method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>uplink</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Master URL') . "</td><td><input type=text maxlength=250 name=up_master value=\"" . $plugin_config['uplink']['master'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Additional URL parameter') . "</td><td><input type=text maxlength=250 name=up_additional_param value=\"" . $plugin_config['uplink']['additional_param'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Webservice username') . "</td><td><input type=text maxlength=30 name=up_username value=\"" . $plugin_config['uplink']['username'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Webservice token') . "</td><td><input type=text maxlength=32 name=up_token value=\"\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module sender ID') . "</td><td><input type=text maxlength=16 name=up_module_sender value=\"" . $plugin_config['uplink']['module_sender'] . "\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Try to disable SMS footer on master') . "</td><td><select name=up_try_disable_footer>" . $option_try_disable_footer . "</select></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module timezone') . "</td><td><input type=text size=5 maxlength=5 name=up_global_timezone value=\"" . $plugin_config['uplink']['datetime_timezone'] . "\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>"; $content .= _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $up_master = $_POST['up_master']; $up_additional_param = $_POST['up_additional_param']; $up_username = $_POST['up_username']; if ($up_token = $_POST['up_token']) { $update_token = "cfg_token='" . $up_token . "',"; } $up_module_sender = $_POST['up_module_sender']; $up_global_timezone = $_POST['up_global_timezone']; $up_try_disable_footer = $_POST['up_try_disable_footer']; $_SESSION['error_string'] = _('No changes have been made'); if ($up_master && $up_username) {
$db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $edit_poll_title = $db_row['poll_title']; $edit_poll_keyword = $db_row['poll_keyword']; $edit_poll_access_code = $db_row['poll_access_code']; $edit_poll_option_vote = (int) $db_row['poll_option_vote']; $edit_poll_message_option = $db_row['poll_message_option']; $edit_poll_message_valid = $db_row['poll_message_valid']; $edit_poll_message_invalid = $db_row['poll_message_invalid']; if (auth_isadmin()) { $select_reply_smsc = "<tr><td>" . _('SMSC') . "</td><td>" . gateway_select_smsc('edit_smsc', $db_row['smsc']) . "</td></tr>"; } if ($err = $_SESSION['error_string']) { $content = "<div class=error_string>{$err}</div>"; } $content .= "\n\t\t\t<h2>" . _('Manage poll') . "</h2>\n\t\t\t<h3>" . _('Edit SMS poll') . "</h3>\n\t\t\t<form action=index.php?app=main&inc=feature_sms_poll&op=sms_poll_edit_yes method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=poll_id value=\"{$poll_id}\">\n\t\t\t<input type=hidden name=edit_poll_keyword value=\"{$edit_poll_keyword}\">\n\t\t\t<table class=playsms-table>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('SMS poll keyword') . "</td><td>{$edit_poll_keyword}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('SMS poll title') . "</td><td><input type=text maxlength=100 name=edit_poll_title value=\"{$edit_poll_title}\"></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('SMS poll access code') . "</td><td><input type=text maxlength=100 name=edit_poll_access_code value=\"{$edit_poll_access_code}\"> " . _hint(_('SMS poll access code used mainly by webservices')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Vote option') . "</td><td>" . _select('edit_poll_option_vote', $option_vote, $edit_poll_option_vote) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Reply message on out of vote option') . "</td><td><textarea maxlength=160 name=\"edit_poll_message_option\">{$edit_poll_message_option}</textarea></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Reply message on valid vote') . "</td><td><textarea maxlength=160 name=\"edit_poll_message_valid\">{$edit_poll_message_valid}</textarea></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Reply message on invalid vote') . "</td><td><textarea maxlength=160 name=\"edit_poll_message_invalid\">{$edit_poll_message_invalid}</textarea></td>\n\t\t\t</tr>\n\t\t\t" . $select_reply_smsc . "\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>\n\t\t\t<br />\n\t\t\t<h3>" . _('Edit SMS poll choices') . "</h3>"; $db_query = "SELECT choice_id,choice_title,choice_keyword FROM " . _DB_PREF_ . "_featurePoll_choice WHERE poll_id='{$poll_id}' ORDER BY choice_keyword"; $db_result = dba_query($db_query); $content .= "\n\t\t\t<div class=table-responsive>\n\t\t\t<table class=playsms-table-list>\n\t\t\t<thead><tr>\n\t\t\t\t<th width=20%>" . _('Choice keyword') . "</th>\n\t\t\t\t<th width=70%>" . _('Description') . "</th>\n\t\t\t\t<th width=10%>" . _('Action') . "</th>\n\t\t\t</tr></thead>\n\t\t\t<tbody>"; $i = 0; while ($db_row = dba_fetch_array($db_result)) { $choice_id = $db_row['choice_id']; $choice_keyword = $db_row['choice_keyword']; $choice_title = $db_row['choice_title']; $i++; $content .= "\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{$choice_keyword}</td>\n\t\t\t\t\t<td>{$choice_title}</td>\n\t\t\t\t\t<td><a href=\"javascript:ConfirmURL('" . _('Are you sure you want to delete choice ?') . " (" . _('title') . ": " . addslashes($choice_title) . ", " . _('keyword') . ": " . $choice_keyword . ")','" . _u('index.php?app=main&inc=feature_sms_poll&op=sms_poll_choice_del&poll_id=' . $poll_id . '&choice_id=' . $choice_id) . "');\">" . $icon_config['delete'] . "</a></td>\n\t\t\t\t</tr>"; } $content .= "\n\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t</div>\n\t\t\t<br />\n\t\t\t<p>" . _('Add choice to this poll') . "\n\t\t\t<form action=\"index.php?app=main&inc=feature_sms_poll&op=sms_poll_choice_add\" method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=poll_id value=\"{$poll_id}\">\n\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('Choice keyword') . "</td><td><input type=text size=3 maxlength=10 name=add_choice_keyword></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Choice description') . "</td><td><input type=text maxlength=250 name=add_choice_title></td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Add') . "\">\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_sms_poll&op=sms_poll_list'); _p($content); break; case "sms_poll_edit_yes":
auth_block(); } switch (_OP_) { case "email2sms": $items = registry_search($user_config['uid'], 'features', 'email2sms'); // option enable $option_enable = _options(array(_('yes') => 1, _('no') => 0), $items['features']['email2sms']['enable']); // option check email sender $option_check_sender = _options(array(_('yes') => 1, _('no') => 0), $items['features']['email2sms']['check_sender']); // option protocol $option_protocol = _options(array('IMAP' => 'imap', 'POP3' => 'pop3'), $items['features']['email2sms']['protocol']); // option ssl $option_ssl = _options(array(_('yes') => 1, _('no') => 0), $items['features']['email2sms']['ssl']); // option cert $option_novalidate_cert = _options(array(_('yes') => 1, _('no') => 0), $items['features']['email2sms']['novalidate_cert']); $tpl = array('name' => 'email2sms', 'vars' => array('DIALOG_DISPLAY' => _dialog(), 'FORM_TITLE' => _('Manage email to SMS'), 'ACTION_URL' => _u('index.php?app=main&inc=feature_email2sms&op=email2sms_save'), 'HTTP_PATH_THEMES' => _HTTP_PATH_THEMES_, 'HINT_PASSWORD' => _hint(_('Fill the password field to change password')), 'PIN for email to SMS' => _mandatory(_('PIN for email to SMS')), 'Enable email to SMS' => _('Enable email to SMS'), 'Check email sender' => _('Check email sender'), 'Email protocol' => _('Email protocol'), 'Use SSL' => _('Use SSL'), 'No validate cert option' => _('No validate cert option'), 'Mail server address' => _('Mail server address'), 'Mail server port' => _('Mail server port'), 'Mailbox username' => _('Mailbox username'), 'Mailbox password' => _('Mailbox password'), 'PORT_DEFAULT' => '443', 'PORT_DEFAULT_SSL' => '993'), 'injects' => array('select_users', 'option_enable', 'option_check_sender', 'option_protocol', 'option_ssl', 'option_novalidate_cert', 'items')); _p(tpl_apply($tpl)); break; case "email2sms_save": $continue = FALSE; $pin = core_sanitize_alphanumeric(substr($_REQUEST['pin'], 0, 40)); if ($pin) { $continue = TRUE; } else { $_SESSION['dialog']['info'][] = _('PIN is empty'); $_SESSION['dialog']['info'][] = _('Fail to save email to SMS configuration'); } if ($continue) { $items = array('pin' => $pin, 'enable' => $_REQUEST['enable'], 'check_sender' => $_REQUEST['check_sender'], 'protocol' => $_REQUEST['protocol'], 'ssl' => $_REQUEST['ssl'], 'novalidate_cert' => $_REQUEST['novalidate_cert'], 'port' => $_REQUEST['port'], 'server' => $_REQUEST['server'], 'username' => $_REQUEST['username'], 'hash' => md5($_REQUEST['username'] . $_REQUEST['server'] . $_REQUEST['port'])); if ($_REQUEST['password']) { $items['password'] = $_REQUEST['password'];
$options['logo_replace_title'] = _options(array(_('yes') => 1, _('no') => 0), $site_config['logo_replace_title']); // get themes options $options['themes_module'] = _options($core_config['plugins']['list']['themes'], $site_config['themes_module']); // get language options $lang_list = ''; for ($i = 0; $i < count($core_config['plugins']['list']['language']); $i++) { $language = $core_config['plugins']['list']['language'][$i]; $c_language_title = $plugin_config[$language]['title']; if ($c_language_title) { $lang_list[$c_language_title] = $language; } } if (is_array($lang_list)) { $options['language_module'] = _options($lang_list, $site_config['language_module']); } $tpl = array('name' => 'site', 'vars' => array('ACTION_URL' => _u('index.php?app=main&inc=core_site&op=site_config_save'), 'HINT_ENABLE_LOGO' => _hint(_('Logo by default will be displayed at login, register and forgot password page')), 'HINT_DOMAIN' => _hint('Put your domain name here and then set your domain DNS A record to this server IP address'), 'DIALOG_DISPLAY' => _dialog(), 'Manage site' => _('Manage site'), 'Site configuration' => _('Site configuration'), 'Configuration' => _('Configuration'), 'Information page' => _('Information page'), 'Buy credit page' => _('Buy credit page'), 'Page title' => _('Page title'), 'Page content' => _('Page content'), 'Domain' => _('Domain'), 'Website title' => _('Website title'), 'Email service' => _('Email service'), 'Email footer' => _('Email footer'), 'Main website name' => _('Main website name'), 'Main website URL' => _('Main website URL'), 'Enable logo' => _('Enable logo'), 'Logo URL' => _('Logo URL'), 'Replace website title with logo' => _('Replace website title with logo'), 'Enable public registration' => _('Enable public registration'), 'Enable forgot password' => _('Enable forgot password'), 'Active themes' => _('Active themes'), 'Default language' => _('Default language'), 'Default credit upon registration' => _('Default credit upon registration'), 'Layout footer' => _('Layout footer'), 'Save' => _('Save')), 'injects' => array('core_config', 'site_config', 'options')); _p(tpl_apply($tpl)); break; case "site_config_save": foreach ($_POST['up'] as $key => $val) { $up[$key] = $val; } $site = site_config_getbydomain($up['domain']); if ($up['domain'] && $site[0]['uid'] && $site[0]['uid'] != $user_config['uid']) { $_SESSION['dialog']['info'][] = _('The domain is already configured by other user') . ' (' . _('domain') . ':' . $up['domain'] . ')'; } else { site_config_set($up); $_SESSION['dialog']['info'][] = _('Site configuration has been saved'); } _log('site configuration saved. uid:' . $user_config['uid'] . ' domain:' . $up['domain'], 3, 'site'); header('Location:' . _u('index.php?app=main&inc=core_site&op=site_config'));
if ($plugin_config['kannel']['local_time']) { $selected1 = 'selected'; } else { $selected2 = 'selected'; } $option_local_time = "\n\t\t\t<option value=1 {$selected1}>" . _('Yes') . "</option>\n\t\t\t<option value=0 {$selected2}>" . _('No') . "</option>\n\t\t\t"; $admin_port = $plugin_config['kannel']['admin_port']; $admin_host = $plugin_config['kannel']['sendsms_host']; $admin_host = $admin_port ? $admin_host . ':' . $admin_port : $admin_host; $admin_password = $plugin_config['kannel']['admin_password']; $url = 'http://' . $admin_host . '/status?password='******'Unable to access Kannel admin commands'; } $content .= _dialog() . "\n\t\t\t<h2>" . _('Manage kannel') . "</h2>\n\t\t\t<ul class='nav nav-tabs nav-justified' id='playsms-tab'>\n\t\t\t\t<li class=active><a href='#tabs-configuration' data-toggle=tab>" . _('Configuration') . "</a></li>\n\t\t\t\t<li><a href='#tabs-operational' data-toggle=tab>" . _('Operational') . "</a></li>\n\t\t\t</ul>\n\t\t\t<div class=tab-content>\n\t\t\t\t<div id='tabs-configuration' class='tab-pane fade in active'>\n\t\t\t\t\t<form action=index.php?app=main&inc=gateway_kannel&op=manage_save method=post>\n\t\t\t\t\t" . _CSRF_FORM_ . "\n\t\t\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>kannel</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Username') . "</td><td><input type=text maxlength=30 name=up_username value=\"" . $plugin_config['kannel']['username'] . "\"></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Password') . "</td><td><input type=password maxlength=30 name=up_password value=\"\"> " . _hint(_('Fill to change the password')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Module sender ID') . "</td><td><input type=text maxlength=16 name=up_module_sender value=\"" . $plugin_config['kannel']['module_sender'] . "\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Module timezone') . "</td><td><input type=text size=5 maxlength=5 name=up_module_timezone value=\"" . $plugin_config['kannel']['module_timezone'] . "\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Bearerbox hostname or IP') . "</td><td><input type=text maxlength=250 name=up_bearerbox_host value=\"" . $plugin_config['kannel']['bearerbox_host'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Send SMS hostname or IP') . "</td><td><input type=text maxlength=250 name=up_sendsms_host value=\"" . $plugin_config['kannel']['sendsms_host'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Send SMS port') . "</td><td><input type=text maxlength=10 name=up_sendsms_port value=\"" . $plugin_config['kannel']['sendsms_port'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('DLR mask') . "</td><td><input type=text maxlength=2 name=up_dlr_mask value=\"" . $plugin_config['kannel']['dlr_mask'] . "\"> " . _hint(_('Kannel dlr-mask option')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Additional URL parameter') . "</td><td><input type=text maxlength=250 name=up_additional_param value=\"" . $plugin_config['kannel']['additional_param'] . "\"></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('playSMS web URL') . "</td><td><input type=text maxlength=250 name=up_playsms_web value=\"" . $plugin_config['kannel']['playsms_web'] . "\"> " . _hint(_('URL to playSMS, empty it to set it to base URL')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Incoming SMS time is in local time') . "</td><td><select name=up_local_time>" . $option_local_time . "</select> " . _hint(_('Select no if the incoming SMS time is in UTC')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t\t</div>\n\t\t\t\t<div id='tabs-operational' class='tab-pane fade'>\n\t\t\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Kannel admin host') . "</td><td><input type=text maxlength=250 name=up_admin_host value=\"" . $plugin_config['kannel']['admin_host'] . " \"> " . _hint(_('HTTP Kannel admin host')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Kannel admin port') . "</td><td><input type=text maxlength=250 name=up_admin_port value=\"" . $plugin_config['kannel']['admin_port'] . "\"> " . _hint(_('HTTP Kannel admin port')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Kannel admin password') . "</td><td><input type=password maxlength=250 name=up_admin_password value=\"\"> " . _hint(_('HTTP Kannel admin password')) . "</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>" . _('Kannel status') . "</td><td><textarea rows='20' style='height: 25em; width: 100%' disabled>" . $kannel_status . "</textarea></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t<input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t\t\t\t<input type='button' value=\"" . _('Update status') . "\" class='button' onClick=\"parent.location.href='index.php?app=main&inc=gateway_kannel&op=manage_update'\">\n\t\t\t\t\t\t<input type='button' value=\"" . _('Restart Kannel') . "\" class='button' onClick=\"parent.location.href='index.php?app=main&inc=gateway_kannel&op=manage_restart'\">\n\t\t\t\t\t</p>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t\t<script type=\"text/javascript\" src=\"" . $core_config['http_path']['plug'] . "/themes/common/jscss/jquery.cookie.js\"></script>\n\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\$(document).ready(function() {\n\t\t\t\t\t\t\$('a[data-toggle=\"tab\"]').on('shown.bs.tab', function(e){\n\t\t\t\t\t\t\t//save the latest tab using a cookie:\n\t\t\t\t\t\t\t\$.cookie('gateway_kannel_last_tab', \$(e.target).attr('href'));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\t//activate latest tab, if it exists:\n\t\t\t\t\t\tvar lastTab = \$.cookie('gateway_kannel_last_tab');\n\t\t\t\t\t\tif (lastTab) {\n\t\t\t\t\t\t\t\$('ul.nav-tabs').children().removeClass('active');\n\t\t\t\t\t\t\t\$('a[href='+ lastTab +']').parents('li:first').addClass('active');\n\t\t\t\t\t\t\t\$('div.tab-content').children().removeClass('in active');\n\t\t\t\t\t\t\t\$(lastTab).addClass('in active');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t</script>\n\t\t\t</div>" . _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $items = array('username' => $_POST['up_username'], 'module_sender' => $_POST['up_module_sender'], 'module_timezone' => $_POST['up_module_timezone'], 'bearerbox_host' => $_POST['up_bearerbox_host'], 'sendsms_host' => $_POST['up_sendsms_host'], 'sendsms_port' => $_POST['up_sendsms_port'], 'playsms_web' => $_POST['up_playsms_web'], 'additional_param' => $_POST['up_additional_param'], 'dlr_mask' => $_POST['up_dlr_mask'], 'admin_host' => $_POST['up_admin_host'], 'admin_port' => $_POST['up_admin_port'], 'local_time' => $_POST['up_local_time']); if ($_POST['up_password']) { $items['password'] = $_POST['up_password']; } if ($_POST['up_admin_password']) { $items['admin_password'] = $_POST['up_admin_password']; } registry_update(1, 'gateway', 'kannel', $items); $_SESSION['dialog']['info'][] = _('Changes have been made'); header("Location: " . _u('index.php?app=main&inc=gateway_kannel&op=manage')); exit; break;
break; case "sms_autoreply_scenario_edit": $autoreply_scenario_id = $_REQUEST['autoreply_scenario_id']; $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureAutoreply WHERE autoreply_id='{$autoreply_id}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $autoreply_keyword = $db_row['autoreply_keyword']; $content .= "\n\t\t\t<h2>" . _('Manage autoreply') . "</h2>\n\t\t\t<h3>" . _('Edit SMS autoreply scenario') . "</h3>\n\t\t\t<form action=index.php?app=main&inc=feature_sms_autoreply&op=sms_autoreply_scenario_edit_yes method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=autoreply_id value=\"{$autoreply_id}\">\n\t\t\t<input type=hidden name=autoreply_scenario_id value=\"{$autoreply_scenario_id}\">\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('SMS autoreply keyword') . "</td><td>" . $autoreply_keyword . "</td>\n\t\t\t\t</tr>"; $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureAutoreply_scenario WHERE autoreply_id='{$autoreply_id}' AND autoreply_scenario_id='{$autoreply_scenario_id}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); for ($i = 1; $i <= 7; $i++) { ${"edit_autoreply_scenario_param" . $i} = $db_row['autoreply_scenario_param' . $i]; } for ($i = 1; $i <= 7; $i++) { $content .= "\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('SMS autoreply scenario parameter') . " {$i}</td><td><input type=text size=10 maxlength=20 name=edit_autoreply_scenario_param{$i} value=\"" . ${"edit_autoreply_scenario_param" . $i} . "\"> " . _hint(_('This field is not mandatory')) . "</td>\n\t\t\t\t</tr>"; } $edit_autoreply_scenario_result = $db_row['autoreply_scenario_result']; $content .= "\n\t\t\t<tr>\n\t\t\t\t<td>" . _mandatory(_('SMS autoreply scenario reply')) . "</td><td><input type=text name=edit_autoreply_scenario_result value=\"{$edit_autoreply_scenario_result}\"></td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\"></p>\n\t\t\t</form>\n\t\t\t<p>" . _back('index.php?app=main&inc=feature_sms_autoreply&op=sms_autoreply_manage&autoreply_id=' . $autoreply_id); if ($err = TRUE) { _p(_dialog()); } _p($content); break; case "sms_autoreply_scenario_edit_yes": $autoreply_scenario_id = $_POST['autoreply_scenario_id']; $edit_autoreply_scenario_result = $_POST['edit_autoreply_scenario_result']; for ($i = 1; $i <= 7; $i++) { ${"edit_autoreply_scenario_param" . $i} = trim(strtoupper($_POST['edit_autoreply_scenario_param' . $i])); } if ($edit_autoreply_scenario_result) {
<?php defined('_SECURE_') or die('Forbidden'); if (!auth_isadmin()) { auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/gnokii/config.php"; switch (_OP_) { case "manage": if ($err = TRUE) { $content = _dialog(); } $content .= "\n\t\t\t<h2>" . _('Manage gnokii') . "</h2>\n\t\t\t<form action=index.php?app=main&inc=gateway_gnokii&op=manage_save method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>gnokii</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Gnokii installation path') . "</td><td><input type=text maxlength=250 name=up_path value=\"" . $plugin_config['gnokii']['path'] . "\"> " . _hint(_('No trailing slash') . " \"/\"") . "</td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>"; $content .= _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $up_path = $_POST['up_path']; $_SESSION['dialog']['info'][] = _('No changes have been made'); if ($up_path) { $db_query = "\n\t\t\t\tUPDATE " . _DB_PREF_ . "_gatewayGnokii_config\n\t\t\t\tSET c_timestamp='" . mktime() . "',cfg_path='{$up_path}'"; if (@dba_affected_rows($db_query)) { $_SESSION['dialog']['info'][] = _('Gateway module configurations has been saved'); } } header("Location: " . _u('index.php?app=main&inc=gateway_gnokii&op=manage')); exit; break; }
* * You should have received a copy of the GNU General Public License * along with playSMS. If not, see <http://www.gnu.org/licenses/>. */ defined('_SECURE_') or die('Forbidden'); if (!auth_isadmin()) { auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/openvox/config.php"; $callback_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/plugin/gateway/openvox/callback.php"; $callback_url = str_replace("//", "/", $callback_url); $callback_url = "http://" . $callback_url; switch (_OP_) { case "manage": if ($err = TRUE) { $error_content = _dialog(); } $tpl = array('name' => 'openvox', 'vars' => array('DIALOG_DISPLAY' => $error_content, 'Manage OpenVox' => _('Manage OpenVox'), 'Gateway name' => _('Gateway name'), 'Gateway host' => _('Gateway host'), 'Gateway port' => _('Gateway port'), 'Username' => _('Username'), 'Password' => _('Password'), 'Module sender ID' => _('Module sender ID'), 'Module timezone' => _('Module timezone'), 'Save' => _('Save'), 'Notes' => _('Notes'), 'HINT_FILL_SECRET' => _hint(_('Fill to change the password')), 'CALLBACK_URL_IS' => _('Your callback URL is'), 'CALLBACK_URL_ACCESSIBLE' => _('Your callback URL should be accessible from OpenVox'), 'BUTTON_BACK' => _back('index.php?app=main&inc=core_gateway&op=gateway_list'), 'openvox_param_gateway_host' => $plugin_config['openvox']['gateway_host'], 'openvox_param_gateway_port' => $plugin_config['openvox']['gateway_port'], 'openvox_param_username' => $plugin_config['openvox']['username'], 'callback_url' => $callback_url)); _p(tpl_apply($tpl)); break; case "manage_save": $_SESSION['dialog']['info'][] = _('Changes have been made'); $items = array('gateway_host' => $_POST['up_gateway_host'], 'gateway_port' => $_POST['up_gateway_port'], 'username' => $_POST['up_username'], 'password' => $_POST['up_password']); if ($_POST['up_password']) { $items['password'] = $_POST['up_password']; } registry_update(1, 'gateway', 'openvox', $items); header("Location: " . _u('index.php?app=main&inc=gateway_openvox&op=manage')); exit; break; }
$select_parents = themes_select_account_level_single(3, 'add_parent_uid', $default_parent_uid); if ($view == 'admin') { $selected_admin = 'selected'; } else { if ($view == 'users') { $selected_users = 'selected'; } else { if ($view == 'subusers') { $selected_subusers = 'selected'; } } } $option_status = "\n\t\t\t<option value='2' " . $selected_admin . ">" . _('Administrator') . "</option>\n\t\t\t<option value='3' " . $selected_users . ">" . _('User') . "</option>\n\t\t\t<option value='4' " . $selected_subusers . ">" . _('Subuser') . "</option>\n\t\t"; // get access control list $option_acl = _select('add_acl_id', array_flip(acl_getall())); $content .= "\n\t\t<h2>" . _('Manage account') . "</h2>\n\t\t<h3>" . _('Add account') . "</h3>\n\t\t<form action='index.php?app=main&inc=core_user&route=user_mgmnt&op=user_add_yes&view=" . $view . "' method=POST>\n\t\t" . _CSRF_FORM_ . "\n\t\t<table class=playsms-table>\n\t\t<tbody>\n\t\t<tr>\n\t\t\t<td class=label-sizer>" . _('Account status') . "</td><td><select name='add_status'>{$option_status}</select></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('Access Control List') . "</td><td>" . $option_acl . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('Parent account') . " (" . _('for subuser only') . ") </td><td>" . $select_parents . " " . _hint(_('Parent account is mandatory for subusers only. If no value is given then the subuser will be automatically assigned to user admin')) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _mandatory(_('Username')) . "</td><td><input type='text' maxlength='30' name='add_username' value=\"{$add_username}\"></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _mandatory(_('Password')) . "</td><td><input type='password' maxlength='30' name='add_password' value=\"{$add_password}\"></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _mandatory(_('Full name')) . "</td><td><input type='text' maxlength='100' name='add_name' value=\"{$add_name}\"></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _mandatory(_('Email')) . "</td><td><input type='text' maxlength='250' name='add_email' value=\"{$add_email}\"></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('Mobile') . "</td><td><input type='text' size='16' maxlength='16' name='add_mobile' value=\"{$add_mobile}\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric characters')) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('SMS footer') . "</td><td><input type='text' maxlength='30' name='add_footer' value=\"{$add_footer}\"> " . _hint(_('Max. 30 alphanumeric characters')) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('Timezone') . "</td><td><input type='text' size='5' maxlength='5' name='add_datetime_timezone' value=\"{$add_datetime_timezone}\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>" . _('Active language') . "</td><td><select name='add_language_module'>{$option_language_module}</select></td>\n\t\t</tr>\n\t\t</tbody>\n\t\t</table>\n\t\t<p><input type='submit' class='button' value='" . _('Save') . "'></p>\n\t\t</form>\n\t\t" . _back('index.php?app=main&inc=core_user&route=user_mgmnt&op=user_list&view=' . $view); _p($content); break; case "user_add_yes": $add['email'] = $_POST['add_email']; $add['status'] = $_POST['add_status']; $add['acl_id'] = (int) $_POST['add_acl_id']; $add['username'] = $_POST['add_username']; $add['password'] = $_POST['add_password']; $add['mobile'] = $_POST['add_mobile']; $add['name'] = $_POST['add_name']; $add['footer'] = $_POST['add_footer']; $add['datetime_timezone'] = $_POST['add_datetime_timezone']; $add['language_module'] = $_POST['add_language_module']; // subuser's parent uid, by default its uid=1 if ($_POST['add_parent_uid']) {
$_SESSION['dialog']['danger'][] = _('Fail to recover password'); } } else { $_SESSION['dialog']['danger'][] = _('Recover password disabled'); } } else { $_SESSION['dialog']['danger'][] = _('Please type the displayed captcha phrase correctly'); } } if ($ok) { header("Location: " . _u($core_config['http_path']['base'])); } else { header("Location: " . _u('index.php?app=main&inc=core_auth&route=forgot')); } exit; } else { $enable_logo = FALSE; $show_web_title = TRUE; if ($core_config['main']['enable_logo'] && $core_config['main']['logo_url']) { $enable_logo = TRUE; if ($core_config['main']['logo_replace_title']) { $show_web_title = FALSE; } } // captcha $captcha = new CaptchaBuilder(); $captcha->build(); $_SESSION['tmp']['captcha'] = $captcha->getPhrase(); $tpl = array('name' => 'auth_forgot', 'vars' => array('HTTP_PATH_BASE' => $core_config['http_path']['base'], 'WEB_TITLE' => $core_config['main']['web_title'], 'DIALOG_DISPLAY' => _dialog(), 'URL_ACTION' => _u('index.php?app=main&inc=core_auth&route=forgot&op=forgot'), 'URL_REGISTER' => _u('index.php?app=main&inc=core_auth&route=register'), 'URL_LOGIN' => _u('index.php?app=main&inc=core_auth&route=login'), 'CAPTCHA_IMAGE' => $captcha->inline(), 'HINT_CAPTCHA' => _hint(_('Read and type the captcha phrase on verify captcha field. If you cannot read them please contact administrator.')), 'Username' => _('Username'), 'Email' => _('Email'), 'Recover password' => _('Recover password'), 'Login' => _('Login'), 'Submit' => _('Submit'), 'Register an account' => _('Register an account'), 'Verify captcha' => _('Verify captcha'), 'logo_url' => $core_config['main']['logo_url']), 'ifs' => array('enable_register' => $core_config['main']['enable_register'], 'enable_logo' => $enable_logo, 'show_web_title' => $show_web_title)); _p(tpl_apply($tpl)); }
$up_dlr_box .= "<input type='checkbox' name='dlr_box[]' value='8' " . $checked[3] . "> " . _('Delivered to SMSC') . "<br />"; $up_dlr_box .= "<input type='checkbox' name='dlr_box[]' value='16' " . $checked[4] . "> " . _('Non-Delivered to SMSC') . "<br />"; // end of Handle DLR options config (emmanuel) if ($plugin_config['kannel']['local_time']) { $selected1 = 'selected'; } else { $selected2 = 'selected'; } $option_local_time = "\n\t\t\t<option value=1 {$selected1}>" . _('Yes') . "</option>\n\t\t\t<option value=0 {$selected2}>" . _('No') . "</option>\n\t\t\t"; $admin_port = $plugin_config['kannel']['admin_port']; $admin_host = $plugin_config['kannel']['sendsms_host']; $admin_host = $admin_port ? $admin_host . ':' . $admin_port : $admin_host; $admin_password = $plugin_config['kannel']['admin_password']; $url = 'http://' . $admin_host . '/status?password='******'Manage kannel') . "</h2>\n\t\t\t<form action=index.php?app=main&inc=gateway_kannel&op=manage_save method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table cellpadding=1 cellspacing=2 border=0>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>kannel</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Username') . "</td><td><input type=text maxlength=30 name=up_username value=\"" . $plugin_config['kannel']['username'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Password') . "</td><td><input type=password maxlength=30 name=up_password value=\"\"> " . _hint(_('Fill to change the password')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module sender ID') . "</td><td><input type=text maxlength=16 name=up_module_sender value=\"" . $plugin_config['kannel']['module_sender'] . "\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Module timezone') . "</td><td><input type=text size=5 maxlength=5 name=up_module_timezone value=\"" . $plugin_config['kannel']['module_timezone'] . "\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Incoming SMS time is in local time') . "</td><td><select name=up_local_time>" . $option_local_time . "</select> " . _hint(_('Select no if the incoming SMS time is in UTC')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Bearerbox hostname or IP') . "</td><td><input type=text maxlength=250 name=up_bearerbox_host value=\"" . $plugin_config['kannel']['bearerbox_host'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Send SMS hostname or IP') . "</td><td><input type=text maxlength=250 name=up_sendsms_host value=\"" . $plugin_config['kannel']['sendsms_host'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Send SMS port') . "</td><td><input type=text maxlength=10 name=up_sendsms_port value=\"" . $plugin_config['kannel']['sendsms_port'] . "\"> " . _hint(_('Kannel specific')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<!-- Handle DLR config (emmanuel) -->\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Delivery Report') . "</td><td>{$up_dlr_box}</td>\n\t\t\t\t</tr>\n\t\t\t\t<!-- end of Handle DLR config (emmanuel) -->\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Additional URL parameter') . "</td><td><input type=text maxlength=250 name=up_additional_param value=\"" . $plugin_config['kannel']['additional_param'] . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('playSMS web URL') . "</td><td><input type=text maxlength=250 name=up_playsms_web value=\"" . $plugin_config['kannel']['playsms_web'] . "\"> " . _hint(_('URL to playSMS, empty it to set it to base URL')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<!-- Fixme Edward Added Kanel HTTP Admin Parameter-->\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Kannel admin host') . "</td><td><input type=text maxlength=250 name=up_admin_host value=\"" . $plugin_config['kannel']['admin_host'] . " \"> " . _hint(_('HTTP Kannel admin host')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Kannel admin port') . "</td><td><input type=text maxlength=250 name=up_admin_port value=\"" . $plugin_config['kannel']['admin_port'] . "\"> " . _hint(_('HTTP Kannel admin port')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Kannel admin password') . "</td><td><input type=password maxlength=250 name=up_admin_password value=\"\"> " . _hint(_('HTTP Kannel admin password')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Kannel status') . "</td><td><textarea rows='20' style='height: 20em; width: 100%' disabled>" . $kannel_status . "</textarea></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td> </td>\n\t\t\t\t\t<td><input type='button' value=\"" . _('Restart Kannel') . "\" class='button' onClick=\"parent.location.href='index.php?app=main&inc=gateway_kannel&op=manage_restart'\"></td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody>\n\t\t\t\t<!-- End Of Fixme Edward Added Kanel HTTP Admin Parameter-->\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>"; $content .= _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $_SESSION['error_string'] = _('Changes have been made'); // Handle DLR config (emmanuel) if (isset($_POST['dlr_box'])) { for ($i = 0, $c = count($_POST['dlr_box']); $i < $c; $i++) { $up_playsms_dlr += intval($_POST['dlr_box'][$i]); } } // end of Handle DLR config (emmanuel) $items = array('username' => $_POST['up_username'], 'module_sender' => $_POST['up_module_sender'], 'module_timezone' => $_POST['up_module_timezone'], 'bearerbox_host' => $_POST['up_bearerbox_host'], 'sendsms_host' => $_POST['up_sendsms_host'], 'sendsms_port' => $_POST['up_sendsms_port'], 'playsms_web' => $_POST['up_playsms_web'], 'additional_param' => $_POST['up_additional_param'], 'dlr' => $up_playsms_dlr, 'admin_host' => $_POST['up_admin_host'], 'admin_port' => $_POST['up_admin_port'], 'local_time' => $_POST['up_local_time']); if ($_POST['up_password']) { $items['password'] = $_POST['up_password'];
if ($nav['url']) { $ref = $nav['url'] . '&search_keyword=' . $search['keyword'] . '&page=' . $nav['page'] . '&nav=' . $nav['nav']; } else { $ref = 'index.php?app=main&inc=core_sender_id&op=sender_id_list'; } $items['id'] = $_REQUEST['id']; $items['uid'] = $uid; $items['sender_id'] = $data_sender_id[0]['registry_key']; $items['description'] = sender_id_description($uid, $data_sender_id[0]['registry_key']); if (auth_isadmin()) { $select_approve = _yesno('approved', $data_sender_id[0]['registry_value']); $select_users = user_getfieldbyuid($uid, 'name') . ' (' . user_uid2username($uid) . ')'; } $default_sender_id = sender_id_default_get($uid); $select_default = _yesno('default', strtoupper($data_sender_id[0]['registry_key']) == strtoupper($default_sender_id) ? 1 : 0); $tpl = array('name' => 'sender_id_add', 'vars' => array('DIALOG_DISPLAY' => _dialog(), 'FORM_TITLE' => _('Manage sender ID'), 'FORM_SUBTITLE' => _('Edit sender ID'), 'ACTION_URL' => _u('index.php?app=main&inc=core_sender_id&op=sender_id_edit_yes'), 'BUTTON_BACK' => _back($ref), 'HTTP_PATH_THEMES' => _HTTP_PATH_THEMES_, 'HINT_DEFAULT' => _hint(_('Only when the sender ID is approved')), 'input_tag' => 'readonly', 'Sender ID' => _mandatory(_('Sender ID')), 'Description' => _('Description'), 'User' => _('User'), 'Approve sender ID' => _('Approve sender ID'), 'Set as default' => _('Set as default')), 'ifs' => array('isadmin' => auth_isadmin()), 'injects' => array('select_default', 'select_approve', 'select_users', 'items', 'icon_config', 'core_config')); _p(tpl_apply($tpl)); break; case "sender_id_edit_yes": if (sender_id_update($uid, $c_sender_id, $c_sender_id_description, $_REQUEST['default'], $_REQUEST['approved'])) { $_SESSION['dialog']['info'][] = _('Sender ID description has been updated') . ' (' . _('Sender ID') . ': ' . $c_sender_id . ')'; } else { $_SESSION['dialog']['info'][] = _('Fail to update due to invalid sender ID') . ' (' . _('Sender ID') . ': ' . $c_sender_id . ')'; } header("Location: " . _u('index.php?app=main&inc=core_sender_id&op=sender_id_edit&id=' . $_REQUEST['id'])); exit; break; case "toggle_status": $search = array('id' => $_REQUEST['id'], 'registry_family' => 'sender_id'); foreach (registry_search_record($search) as $row) { $status = $row['registry_value'] == 0 ? 1 : 0;
case "outgoing_add": if ($err = $_SESSION['error_string']) { $content = "<div class=error_string>{$err}</div>"; } $select_users = themes_select_users_single('add_uid'); $select_smsc = "<select name=add_smsc>"; unset($smsc_list); $list = gateway_getall_smsc(); foreach ($list as $c_smsc) { $smsc_list[] = $c_smsc['name']; } foreach ($smsc_list as $smsc_name) { $select_smsc .= "<option>" . $smsc_name . "</option>"; } $select_smsc .= "</select>"; $content .= "\n\t\t\t<h2>" . _('Route outgoing SMS') . "</h2>\n\t\t\t<h3>" . _('Add route') . "</h3>\n\t\t\t<form action='index.php?app=main&inc=feature_outgoing&op=outgoing_add_yes' method='post'>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('User') . "</td><td>" . $select_users . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _mandatory(_('Destination name')) . "</td><td><input type='text' maxlength='30' name='add_dst' value=\"{$add_dst}\" required></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _mandatory(_('Prefix')) . "</td><td><input type='text' maxlength=8 name='add_prefix' value=\"{$add_prefix}\" required> " . _hint(_('Maximum 8 digits numeric only')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('SMSC') . "</td><td>" . $select_smsc . "</td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<input type='submit' class='button' value='" . _('Save') . "'>\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_outgoing&op=outgoing_list'); _p($content); break; case "outgoing_add_yes": $add_uid = $_REQUEST['add_uid']; if ($add_uid) { $add_username = user_uid2username($add_uid); if (!$add_username) { $add_uid = 0; } } $add_dst = $_POST['add_dst']; $add_prefix = $_POST['add_prefix']; $add_prefix = core_sanitize_numeric($add_prefix); $add_prefix = (string) substr($add_prefix, 0, 8); $add_smsc = $_POST['add_smsc'] ? $_POST['add_smsc'] : 'blocked';
* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with playSMS. If not, see <http://www.gnu.org/licenses/>. */ defined('_SECURE_') or die('Forbidden'); if (!auth_isadmin()) { auth_block(); } include $core_config['apps_path']['plug'] . "/gateway/generic/config.php"; switch (_OP_) { case "manage": if ($err = TRUE) { $error_content = _dialog(); } $tpl = array('name' => 'generic', 'vars' => array('DIALOG_DISPLAY' => $error_content, 'Manage generic' => _('Manage generic'), 'Gateway name' => _('Gateway name'), 'Generic send SMS URL' => _mandatory(_('Generic send SMS URL')), 'Callback URL' => _('Callback URL'), 'API username' => _mandatory(_('API username')), 'API password' => _('API password'), 'Module sender ID' => _('Module sender ID'), 'Module timezone' => _('Module timezone'), 'Save' => _('Save'), 'Notes' => _('Notes'), 'HINT_CALLBACK_URL' => _hint(_('Empty callback URL to set default')), 'HINT_FILL_PASSWORD' => _hint(_('Fill to change the API password')), 'HINT_MODULE_SENDER' => _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')), 'HINT_TIMEZONE' => _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')), 'CALLBACK_URL_IS' => _('Your current callback URL is'), 'CALLBACK_URL_ACCESSIBLE' => _('Your callback URL should be accessible from Generic'), 'GENERIC_PUSH_DLR' => _('Generic will push DLR and incoming SMS to your callback URL'), 'BUTTON_BACK' => _back('index.php?app=main&inc=core_gateway&op=gateway_list'), 'status_active' => $status_active, 'generic_param_url' => $plugin_config['generic']['url'], 'generic_param_callback_url' => $plugin_config['generic']['callback_url'], 'generic_param_api_username' => $plugin_config['generic']['api_username'], 'generic_param_module_sender' => $plugin_config['generic']['module_sender'], 'generic_param_datetime_timezone' => $plugin_config['generic']['datetime_timezone'])); _p(tpl_apply($tpl)); break; case "manage_save": $up_url = $_REQUEST['up_url'] ? $_REQUEST['up_url'] : $plugin_config['generic']['default_url']; $up_callback_url = $_REQUEST['up_callback_url'] ? $_REQUEST['up_callback_url'] : $plugin_config['generic']['default_callback_url']; $up_api_username = $_REQUEST['up_api_username']; $up_api_password = $_REQUEST['up_api_password']; $up_module_sender = $_REQUEST['up_module_sender']; $up_datetime_timezone = $_REQUEST['up_datetime_timezone']; if ($up_url && $up_api_username) { $items = array('url' => $up_url, 'callback_url' => $up_callback_url, 'api_username' => $up_api_username, 'module_sender' => $up_module_sender, 'datetime_timezone' => $up_datetime_timezone); if ($up_api_password) { $items['api_password'] = $up_api_password; } if (registry_update(0, 'gateway', 'generic', $items)) {
if (!auth_isadmin()) { auth_block(); } $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureAutorespond WHERE id='{$id}' AND flag_deleted='0'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $edit_service_name = _lastpost('edit_service_name') ? _lastpost('edit_service_name') : $db_row['service_name']; $edit_regex = _lastpost('edit_regex') ? _lastpost('edit_regex') : $db_row['regex']; $edit_message = _lastpost('edit_message') ? _lastpost('edit_message') : $db_row['message']; $edit_uid = $db_row['uid']; $edit_sms_receiver = $db_row['sms_receiver']; $edit_smsc = $db_row['smsc']; if (auth_isadmin()) { $select_reply_smsc = "<tr><td>" . _('SMSC') . "</td><td>" . gateway_select_smsc('edit_smsc', $edit_smsc) . "</td></tr>"; } $content .= _dialog() . "\n\t\t\t<h2>" . _('Manage autorespond') . "</h2>\n\t\t\t<h3>" . _('Edit SMS autorespond') . "</h3>\n\t\t\t<form action=index.php?app=main&inc=feature_autorespond&op=autorespond_edit_yes method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=id value={$id}>\n\t\t\t<table class=playsms-table>\n\t\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=label-sizer>" . _mandatory(_('Service')) . "</td><td><input type=text size=30 maxlength=255 name=edit_service_name value=\"" . $edit_service_name . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('Regex')) . "</td><td><input type=text size=140 maxlength=140 name=edit_regex value=\"" . $edit_regex . "\"> " . _hint(_('Regular expression to match with incoming SMS')) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('Respond message')) . "</td><td><input type=text name=edit_message value=\"" . $edit_message . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _mandatory(_('User')) . "</td><td>" . themes_select_users_single('edit_uid', $edit_uid) . "</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . _('Receiver number') . "</td><td><input type=text size=30 maxlength=20 name=edit_sms_receiver value=\"" . $edit_sms_receiver . "\"></td>\n\t\t\t\t</tr>\n\t\t\t\t" . $select_reply_smsc . "\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_autorespond&op=autorespond_list'); _p($content); break; case "autorespond_edit_yes": if (!auth_isadmin()) { auth_block(); } $edit_service_name = trim($_POST['edit_service_name']); $edit_regex = trim($_POST['edit_regex']); $edit_message = trim($_POST['edit_message']); $edit_uid = (int) $_POST['edit_uid']; $edit_sms_receiver = trim($_POST['edit_sms_receiver']); $edit_smsc = trim($_POST['edit_smsc']); if ($id && $edit_service_name && $edit_regex && $edit_message && $edit_uid) { $db_query = "UPDATE " . _DB_PREF_ . "_featureAutorespond SET last_update='" . core_get_datetime() . "',service_name='{$edit_service_name}',regex='{$edit_regex}',message='{$edit_message}',uid='{$edit_uid}',sms_receiver='{$edit_sms_receiver}',smsc='{$edit_smsc}' WHERE id='{$id}' AND flag_deleted='0'"; if (@dba_affected_rows($db_query)) {
auth_block(); } switch (_OP_) { case "mailsms": $items_global = registry_search(0, 'features', 'mailsms'); // option enable fetch $option_enable_fetch = _options(array(_('yes') => 1, _('no') => 0), $items_global['features']['mailsms']['enable_fetch']); // option check email sender $option_check_sender = _options(array(_('yes') => 1, _('no') => 0), $items_global['features']['mailsms']['check_sender']); // option protocol $option_protocol = _options(array('IMAP' => 'imap', 'POP3' => 'pop3'), $items_global['features']['mailsms']['protocol']); // option ssl $option_ssl = _options(array(_('yes') => 1, _('no') => 0), $items_global['features']['mailsms']['ssl']); // option cert $option_novalidate_cert = _options(array(_('yes') => 1, _('no') => 0), $items_global['features']['mailsms']['novalidate_cert']); $tpl = array('name' => 'mailsms', 'vars' => array('ERROR' => _err_display(), 'FORM_TITLE' => _('Manage email to SMS'), 'ACTION_URL' => _u('index.php?app=main&inc=feature_mailsms&op=mailsms_save'), 'HTTP_PATH_THEMES' => _HTTP_PATH_THEMES_, 'HINT_PASSWORD' => _hint(_('Fill the password field to change password')), 'Email to SMS address' => _('Email to SMS address'), 'Enable fetch new emails' => _('Enable fetch new emails'), 'Check email sender' => _('Check email sender'), 'Email protocol' => _('Email protocol'), 'Use SSL' => _('Use SSL'), 'No validate cert option' => _('No validate cert option'), 'Mail server address' => _('Mail server address'), 'Mail server port' => _('Mail server port'), 'Mailbox username' => _('Mailbox username'), 'Mailbox password' => _('Mailbox password'), 'PORT_DEFAULT' => '443', 'PORT_DEFAULT_SSL' => '993'), 'injects' => array('option_enable_fetch', 'option_check_sender', 'option_protocol', 'option_ssl', 'option_novalidate_cert', 'items_global')); _p(tpl_apply($tpl)); break; case "mailsms_save": $items_global = array('email' => $_REQUEST['email'], 'enable_fetch' => $_REQUEST['enable_fetch'], 'check_sender' => $_REQUEST['check_sender'], 'protocol' => $_REQUEST['protocol'], 'ssl' => $_REQUEST['ssl'], 'novalidate_cert' => $_REQUEST['novalidate_cert'], 'port' => $_REQUEST['port'], 'server' => $_REQUEST['server'], 'username' => $_REQUEST['username'], 'hash' => md5($_REQUEST['username'] . $_REQUEST['server'] . $_REQUEST['port'])); if ($_REQUEST['password']) { $items_global['password'] = $_REQUEST['password']; } registry_update(0, 'features', 'mailsms', $items_global); if ($_REQUEST['enable_fetch']) { $enabled = 'enabled'; $_SESSION['error_string'] = _('Email to SMS configuration has been saved and service enabled'); } else { $enabled = 'disabled'; $_SESSION['error_string'] = _('Email to SMS configuration has been saved and service disabled'); }
unset($params); $params = array('width' => '100%', 'placeholder' => _('Select users')); $select_users = themes_select_users_multi('uids', $post_rules['forward_to'], $params, 'playsms-route-to-users'); // sandbox forward to URL unset($params); $params = array('size' => '100%', 'maxlength' => 255, 'placeholder' => _('URL')); $input_url = _input('text', 'forward_to_url', $post_rules['forward_to_url'], $params, 'playsms-forward-to-url', 'form-control'); $form_post_rules = array(array('id' => 'playsms-sandbox-match-sender-id', 'label' => _('Route all sandbox SMS with matched sender ID'), 'input' => $select_match_sender_id, 'help' => _('Route to user inbox if receiver number matched with user sender ID')), array('id' => 'playsms-route-to-users', 'label' => _('Route all sandbox SMS to users'), 'input' => $select_users, 'help' => _('Route all sandbox SMS to one or more users')), array('id' => 'playsms-forward-to-url', 'label' => _('Forward all sandbox SMS to a URL'), 'input' => $input_url, 'help' => _('Example') . ': <br />http://external.app/handler.php?json={SANDBOX_PAYLOAD}&dt={SANDBOX_DATETIME}&s={SANDBOX_SENDER}&m={SANDBOX_MESSAGE}&r={SANDBOX_RECEIVER}&smsc={SANDBOX_SMSC}')); // form settings $settings = incoming_settings_get(); // settings to leave copy on sandbox $settings_leave_copy_sandbox = _yesno('settings_leave_copy_sandbox', $settings['leave_copy_sandbox'], '', '', '', 'settings_leave_copy_sandbox', 'form-control'); // settings to match with all approved sender ID $settings_match_all_sender_id = _yesno('settings_match_all_sender_id', $settings['match_all_sender_id'], '', '', '', 'settings_match_all_sender_id', 'form-control'); $form_settings = array(array('id' => 'playsms-settings-leave-copy', 'label' => _('Leave a copy in sandbox SMS page'), 'input' => $settings_leave_copy_sandbox, 'help' => _('Leaving a copy in sandbox SMS page may be useful for audit or reviews')), array('id' => 'playsms-settings-match-all', 'label' => _('Match with all approved sender ID'), 'input' => $settings_match_all_sender_id, 'help' => _('Receiver number can be matched with default sender ID or with all approved sender ID'))); $tpl = array('name' => 'incoming', 'vars' => array('DIALOG_DISPLAY' => _dialog(), 'PAGE_TITLE' => _('Route incoming SMS'), 'ACTION_URL' => _u('index.php?app=main&inc=feature_incoming&op=incoming_save'), 'HTTP_PATH_THEMES' => _HTTP_PATH_THEMES_, 'HINT_PRE_RULES' => _hint(_('Rules applied before incoming SMS processed')), 'HINT_POST_RULES' => _hint(_('Rules applied after incoming SMS processed')), 'Pre rules' => _('Pre rules'), 'Post rules' => _('Post rules'), 'Settings' => _('Settings'), 'Save' => _('Save')), 'loops' => array('form_pre_rules' => $form_pre_rules, 'form_post_rules' => $form_post_rules, 'form_settings' => $form_settings), 'injects' => array('core_config')); _p(tpl_apply($tpl)); break; case "incoming_save": // form pre rules // scan message for @username $pre_rules['match_username'] = (int) $_REQUEST['incoming_match_username']; $items['incoming_match_username'] = $pre_rules['match_username']; // scan message for #groupcode $pre_rules['match_groupcode'] = (int) $_REQUEST['incoming_match_groupcode']; $items['incoming_match_groupcode'] = $pre_rules['match_groupcode']; // form post rules // sandbox match receiver number and sender ID $post_rules['match_sender_id'] = (int) $_REQUEST['sandbox_match_sender_id']; $items['sandbox_match_sender_id'] = $post_rules['match_sender_id']; // sandbox prefix
case 'edit': $rid = $_REQUEST['rid']; $data = inboxgroup_getdatabyid($rid); $in_receiver = $data['in_receiver']; $keywords = $data['keywords']; $description = $data['description']; $selected_1 = $data['exclusive'] ? 'selected' : ''; if (!$selected_1) { $selected_0 = 'selected'; } $option_exclusive = "<option value='1' " . $selected_1 . ">" . _('yes') . "</option><option value='0' " . $selected_0 . ">" . _('no') . "</option>"; if ($error_content) { $content .= $error_content; } unset($tpl); $tpl = array('name' => 'inboxgroup_edit', 'vars' => array('DIALOG_DISPLAY' => $error_content, 'Group inbox' => _('Group inbox'), 'Edit group inbox' => _('Edit group inbox'), 'RID' => $rid, 'Receiver number' => _('Receiver number'), 'IN_RECEIVER' => $in_receiver, 'Keywords' => _('Keywords'), 'Description' => _('Description'), 'Exclusive' => _('Exclusive'), 'KEYWORDS' => $keywords, 'DESCRIPTION' => $description, 'OPTION_EXCLUSIVE' => $option_exclusive, 'HINT_KEYWORDS' => _hint(_('Separate with comma for multiple items')), 'HINT_EXCLUSIVE' => _hint(_('Restrict sender to regular members or catch-all members only')), 'Save' => _('Save'), 'BACK' => _back('index.php?app=main&inc=feature_inboxgroup&op=list'))); _p(tpl_apply($tpl)); break; case 'edit_submit': $rid = $_REQUEST['rid']; $keywords = $_REQUEST['keywords']; $description = $_REQUEST['description']; $exclusive = $_REQUEST['exclusive']; $data = inboxgroup_getdatabyid($rid); $in_receiver = $data['in_receiver']; if ($rid && $in_receiver && $keywords && $description) { if (inboxgroup_dataedit($rid, $keywords, $description, $exclusive)) { $_SESSION['dialog']['info'][] = _('Group inbox has been edited') . " (" . _('Number') . ": " . $in_receiver . ")"; } else { $_SESSION['dialog']['info'][] = _('Fail to edit group inbox') . " (" . _('Number') . ": " . $in_receiver . ")"; }
$removed = TRUE; } } break; } $search = themes_search_session(); $nav = themes_nav_session(); if ($removed) { $_SESSION['dialog']['info'][] = _('Mobile numbers have been deleted'); } $ref = $search['url'] . '&search_keyword=' . $search['keyword'] . '&search_category=' . $search['category'] . '&page=' . $nav['page'] . '&nav=' . $nav['nav']; header("Location: " . _u($ref)); exit; break; case "stoplist_add": $content = _dialog() . "\n\t\t\t<h2>" . _('Manage stoplist') . "</h2>\n\t\t\t<h3>" . _('Add blocked mobile numbers') . " " . _hint(_('Multiple mobile numbers must be comma-separated')) . "</h3>\n\t\t\t<form action='index.php?app=main&inc=feature_stoplist&op=stoplist_add_yes' method='post'>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _mandatory(_('Mobile numbers')) . "</td>\n\t\t\t\t<td><input type=text name='add_mobile' required> " . _hint(_('Comma separated values for multiple mobile numbers')) . "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p><input type='submit' class='button' value='" . _('Save') . "'></p>\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_stoplist&op=stoplist_list'); _p($content); break; case "stoplist_add_yes": $add_mobile = $_POST['add_mobile']; if ($add_mobile) { $mobiles = explode(',', str_replace(' ', '', $add_mobile)); foreach ($mobiles as $mobile) { blacklist_mobile_add($user_config['uid'], $mobile); } $_SESSION['dialog']['info'][] = _('Mobile numbers have been blocked'); } else { $_SESSION['dialog']['danger'][] = _('You must fill all fields'); } header("Location: " . _u('index.php?app=main&inc=feature_stoplist&op=stoplist_add')); exit;
} } // additional user's config available on registry $data = registry_search($c_uid, 'core', 'user_config'); // credit unicodes messages as single message $option_enable_credit_unicode = _options(array(_('yes') => 1, _('no') => 0), $data['core']['user_config']['enable_credit_unicode']); if (auth_isadmin()) { $option_enable_credit_unicode = "<select name='edit_enable_credit_unicode'>" . $option_enable_credit_unicode . "</select>"; } else { $option_enable_credit_unicode = $user_config['opt']['enable_credit_unicode'] ? _('yes') : _('no'); } // error string if ($err = TRUE) { $error_content = _dialog(); } $tpl = array('name' => 'user_config', 'vars' => array('Application options' => _('Application options'), 'Username' => _('Username'), 'Access Control List' => _('Access Control List'), 'Effective SMS sender ID' => _('Effective SMS sender ID'), 'Default sender ID' => _('Default sender ID'), 'Default message footer' => _('Default message footer'), 'Webservices username' => _('Webservices username'), 'Webservices token' => _('Webservices token'), 'Renew webservices token' => _('Renew webservices token'), 'Enable webservices' => _('Enable webservices'), 'Webservices IP range' => _('Webservices IP range'), 'Active language' => _('Active language'), 'Timezone' => _('Timezone'), 'Credit' => _('Credit'), 'Enable credit unicode SMS as normal SMS' => _('Enable credit unicode SMS as normal SMS'), 'Forward message to inbox' => _('Forward message to inbox'), 'Forward message to email' => _('Forward message to email'), 'Forward message to mobile' => _('Forward message to mobile'), 'Local number length' => _('Local number length'), 'Prefix or country code' => _('Prefix or country code'), 'Always choose to send as unicode' => _('Always choose to send as unicode'), 'Save' => _('Save'), 'DIALOG_DISPLAY' => $error_content, 'FORM_TITLE' => $form_title, 'BUTTON_DELETE' => $button_delete, 'BUTTON_BACK' => $button_back, 'URL_UNAME' => $url_uname, 'VIEW' => $view, 'HINT_MAX_CHARS' => _hint(_('Max. 16 numeric or 11 alphanumeric characters')), 'HINT_MAX_ALPHANUMERIC' => _hint(_('Max. 30 alphanumeric characters')), 'HINT_COMMA_SEPARATED' => _hint(_('Comma separated')), 'HINT_TIMEZONE' => _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')), 'HINT_LOCAL_LENGTH' => _hint(_('Min length to detect missing country code')), 'HINT_REPLACE_ZERO' => _hint(_('Replace prefix 0 or padding local numbers')), 'HINT_MANAGE_CREDIT' => _hint(_('Add or reduce credit from manage credit menu')), 'HINT_ACL' => _hint(_('ACL DEFAULT will not restrict access to menus')), 'option_new_token' => $option_new_token, 'option_enable_webservices' => $option_enable_webservices, 'option_language_module' => $option_language_module, 'option_fwd_to_inbox' => $option_fwd_to_inbox, 'option_fwd_to_email' => $option_fwd_to_email, 'option_fwd_to_mobile' => $option_fwd_to_mobile, 'option_acl' => $option_acl, 'option_sender_id' => $option_sender_id, 'c_username' => $c_username, 'effective_sender_id' => sendsms_get_sender($c_username), 'sender' => $sender, 'footer' => $footer, 'token' => $token, 'webservices_ip' => $webservices_ip, 'datetime_timezone' => $datetime_timezone, 'local_length' => $local_length, 'replace_zero' => $replace_zero, 'credit' => $credit, 'option_enable_credit_unicode' => $option_enable_credit_unicode)); _p(tpl_apply($tpl)); break; case "user_config_save": $fields = array('footer', 'datetime_timezone', 'language_module', 'fwd_to_inbox', 'fwd_to_email', 'fwd_to_mobile', 'local_length', 'replace_zero', 'new_token', 'enable_webservices', 'webservices_ip', 'sender', 'acl_id'); $up = array(); foreach ($fields as $field) { if (strlen($_POST['up_' . $field])) { $up[$field] = trim($_POST['up_' . $field]); } } $ret = user_edit_conf($c_uid, $up); $items['enable_credit_unicode'] = (int) $_POST['edit_enable_credit_unicode']; registry_update($c_uid, 'core', 'user_config', $items); $_SESSION['dialog']['info'][] = $ret['error_string']; _log('saving username:'******' error_string:[' . $ret['error_string'] . ']', 2, 'user_config');
* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with playSMS. If not, see <http://www.gnu.org/licenses/>. */ defined('_SECURE_') or die('Forbidden'); if (!auth_isvalid()) { auth_block(); } switch (_OP_) { case "mailsms_user": $items_global = registry_search(0, 'features', 'mailsms'); $items = registry_search($user_config['uid'], 'features', 'mailsms_user'); // option enable $option_enable = _options(array(_('yes') => 1, _('no') => 0), $items['features']['mailsms_user']['enable']); $tpl = array('name' => 'mailsms_user', 'vars' => array('DIALOG_DISPLAY' => _dialog(), 'FORM_TITLE' => _('My email to SMS'), 'ACTION_URL' => _u('index.php?app=main&inc=feature_mailsms&route=mailsms_user&op=mailsms_user_save'), 'HTTP_PATH_THEMES' => _HTTP_PATH_THEMES_, 'HINT_PASSWORD' => _hint(_('Fill the password field to change password')), 'Email to SMS address' => _('Email to SMS address'), 'PIN for email to SMS' => _mandatory(_('PIN for email to SMS'))), 'injects' => array('option_enable', 'items_global', 'items')); _p(tpl_apply($tpl)); break; case "mailsms_user_save": $continue = FALSE; $pin = core_sanitize_alphanumeric(substr(trim($_REQUEST['pin']), 0, 40)); if ($pin) { $continue = TRUE; } else { $_SESSION['dialog']['info'][] = _('PIN is empty'); $_SESSION['dialog']['info'][] = _('Fail to save email to SMS PIN'); } if ($continue) { $items = array('pin' => $pin); registry_update($user_config['uid'], 'features', 'mailsms_user', $items); $items_global = registry_search(0, 'features', 'mailsms');
<?php defined('_SECURE_') or die('Forbidden'); if (!auth_isadmin()) { auth_block(); } $callback_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/plugin/gateway/bulksms/callback.php"; $callback_url = str_replace("//", "/", $callback_url); $callback_url = "http://" . $callback_url; switch (_OP_) { case "manage": if ($err = TRUE) { $content = _dialog(); } $content .= "\n\t\t\t<h2>" . _('Manage bulksms') . "</h2>\n\t\t\t<form action=index.php?app=main&inc=gateway_bulksms&op=manage_save method=post>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<table class=playsms-table>\n\t\t\t<tr>\n\t\t\t\t<td class=label-sizer>" . _('Gateway name') . "</td><td>bulksms</td>\n\t\t\t</tr>\n\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Username') . "</td><td><input type=text maxlength=30 name=up_username value=\"" . $plugin_config['bulksms']['username'] . "\"></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Password') . "</td><td><input type=password maxlength=30 name=up_password value=\"\"> " . _hint(_('Fill to change the password')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Module sender ID') . "</td><td><input type=text maxlength=16 name=up_module_sender value=\"" . $plugin_config['bulksms']['module_sender'] . "\"> " . _hint(_('Max. 16 numeric or 11 alphanumeric char. empty to disable')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Module timezone') . "</td><td><input type=text size=5 maxlength=5 name=up_global_timezone value=\"" . $plugin_config['bulksms']['datetime_timezone'] . "\"> " . _hint(_('Eg: +0700 for Jakarta/Bangkok timezone')) . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Bulksms API URL') . "</td><td><input type=text maxlength=250 name=up_send_url value=\"" . $plugin_config['bulksms']['send_url'] . "\"> " . _hint(_('No trailing slash') . " \"/\"") . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . _('Additional URL parameter') . "</td><td><input type=text maxlength=250 name=up_additional_param value=\"" . $plugin_config['bulksms']['additional_param'] . "\"></td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\">\n\t\t\t</form>\n\t\t\t<br />\n\t\t\t" . _('Notes') . ":<br />\n\t\t\t- " . _('Your callback URL is') . " " . $callback_url . "<br />\n\t\t\t- " . _('Your callback URL should be accessible from Bulksms') . "<br />\n\t\t\t- " . _('Bulksms will push DLR and incoming SMS to your callback URL') . "<br />\n\t\t\t- " . _('Bulksms is a bulk SMS provider') . ", <a href=\"https://www2.bulksms.com/register/\" target=\"_blank\">" . _('free credits are available for testing purposes') . "</a><br />"; $content .= _back('index.php?app=main&inc=core_gateway&op=gateway_list'); _p($content); break; case "manage_save": $up_username = $_POST['up_username']; $up_password = $_POST['up_password']; $up_module_sender = $_POST['up_module_sender']; $up_global_timezone = $_POST['up_global_timezone']; $up_send_url = $_POST['up_send_url']; $up_incoming_path = $_POST['up_incoming_path']; $up_additional_param = $_POST['up_additional_param'] ? $_POST['up_additional_param'] : "deliv_ack=1&callback=3"; $_SESSION['dialog']['info'][] = _('No changes have been made'); if ($up_username && $up_send_url) { if ($up_password) { $password_change = "cfg_password='******',"; }
if (!auth_isvalid()) { auth_block(); } switch (_OP_) { case "credit_list": $db_table = $plugin_config['credit']['db_table']; $search_category = array(_('Transaction datetime') => 'create_datetime'); $base_url = 'index.php?app=main&inc=feature_report&route=credit&op=credit_list'; $search = themes_search($search_category, $base_url); $conditions = array('uid' => $user_config['uid'], 'flag_deleted' => 0); $keywords = $search['dba_keywords']; $count = dba_count($db_table, $conditions, $keywords); $nav = themes_nav($count, $search['url']); $extras = array('ORDER BY' => 'id DESC', 'LIMIT' => $nav['limit'], 'OFFSET' => $nav['offset']); $list = dba_search($db_table, '*', $conditions, $keywords, $extras); $content = "\n\t\t\t<h2>" . _('Report') . "</h2>\n\t\t\t<h3>" . _('List of my credit transactions') . "</h3>\n\t\t\t<p>" . $search['form'] . "</p>\n\t\t\t<form id=fm_feature_credit name=fm_feature_credit action=\"" . _u('index.php?app=main&inc=feature_report&route=credit&op=actions') . "\" method=POST>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=go value=delete>\n\t\t\t<div class=actions_box>\n\t\t\t\t<div class=pull-left>\n\t\t\t\t\t<a href=\"" . _u('index.php?app=main&inc=feature_report&route=credit&op=actions&go=export') . "\">" . $icon_config['export'] . "</a>\n\t\t\t\t</div>\n\t\t\t\t<div class=pull-right>\n\t\t\t\t\t<a href='#' onClick=\"return SubmitConfirm('" . _('Are you sure you want to delete these transactions ?') . "', 'fm_feature_credit');\">" . $icon_config['delete'] . "</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=table-responsive>\n\t\t\t<table class=playsms-table-list>\n\t\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th width=35%>" . _('Transaction datetime') . "</th>\n\t\t\t\t<th width=30%>" . _('Amount') . "</th>\n\t\t\t\t<th width=30%>" . _('Balance') . " " . _hint(_('Balance recorded on transaction')) . "</th>\n\t\t\t\t<th width=5% class=\"sorttable_nosort\"><input type=checkbox onclick=CheckUncheckAll(document.fm_feature_credit)></th>\n\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>"; $j = 0; foreach ($list as $row) { $row = core_display_data($row); $content .= "\n\t\t\t\t<tr>\n\t\t\t\t\t<td>" . core_display_datetime($row['create_datetime']) . "</td>\n\t\t\t\t\t<td>" . $row['amount'] . "</td>\n\t\t\t\t\t<td>" . $row['balance'] . "</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<input type=hidden name=itemid" . $j . " value=\"" . $row['id'] . "\">\n\t\t\t\t\t\t<input type=checkbox name=checkid" . $j . ">\n\t\t\t\t\t</td>\n\t\t\t\t</tr>"; $j++; } $content .= "\n\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t</div>\n\t\t\t<div class=pull-right>" . $nav['form'] . "</div>\n\t\t\t</form>"; if ($err = $_SESSION['error_string']) { _p("<div class=error_string>{$err}</div>"); } _p($content); break; case "actions": $db_table = $plugin_config['credit']['db_table']; $nav = themes_nav_session();