function sms_command_handle($sms_datetime, $sms_sender, $command_keyword, $command_param = '') { global $datetime_now, $plugin_config; $ok = false; $db_query = "SELECT command_exec,uid,command_return_as_reply FROM " . _DB_PREF_ . "_featureCommand WHERE command_keyword='{$command_keyword}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $command_exec = $db_row['command_exec']; $sms_datetime = core_display_datetime($sms_datetime); $command_exec = str_replace("{SMSDATETIME}", "\"{$sms_datetime}\"", $command_exec); $command_exec = str_replace("{SMSSENDER}", "\"{$sms_sender}\"", $command_exec); $command_exec = str_replace("{COMMANDKEYWORD}", "\"{$command_keyword}\"", $command_exec); $command_exec = str_replace("{COMMANDPARAM}", "\"{$command_param}\"", $command_exec); $command_exec = $plugin_config['feature']['sms_command']['bin'] . "/" . $command_exec; $command_output = shell_exec(stripslashes($command_exec)); $username = uid2username($db_row['uid']); if ($db_row['command_return_as_reply'] == 1) { sendsms_pv($username, $sms_sender, $command_output, 'text', 0); } $db_query = "\n\tINSERT INTO " . _DB_PREF_ . "_featureCommand_log\n\t(sms_sender,command_log_datetime,command_log_keyword,command_log_exec) \n\tVALUES\n\t('{$sms_sender}','{$datetime_now}','{$command_keyword}','{$command_exec}')\n "; if ($new_id = @dba_insert_id($db_query)) { $ok = true; } return $ok; }
function webservices_pv($c_username, $to, $msg, $type = 'text', $unicode = 0) { $ret = ''; $arr_to = explode(',', $to); if ($c_username && $arr_to[1] && $msg) { // multiple destination list($ok, $to, $smslog_id) = sendsms_pv($c_username, $arr_to, $msg, $type, $unicode); for ($i = 0; $i < count($arr_to); $i++) { if ($ok[$i] && $to[$i] && $smslog_id[$i]) { $ret .= "OK " . $to[$i] . "," . $smslog_id[$i] . "\n"; } else { $ret .= "OK " . $arr_to[$i] . "\n"; } } } elseif ($c_username && $to && $msg) { // single destination list($ok, $to, $smslog_id) = sendsms_pv($c_username, $to, $msg, $type, $unicode); if ($ok[0] && $smslog_id[0]) { $ret = "OK " . $smslog_id[0]; } else { $ret = "ERR 200"; } } else { $ret = "ERR 201"; } return $ret; }
function sms_autosend_hook_playsmsd() { global $core_config; $timenow = mktime(); $db_query = "SELECT uid,time_id," . _DB_PREF_ . "_featureAutosend.autosend_id, autosend_message,autosend_number,autosend_time\n\t\t\t\t\t\t\tFROM " . _DB_PREF_ . "_featureAutosend\n\t\t\t\t\t\t\tINNER JOIN " . _DB_PREF_ . "_featureAutosend_time\n\t\t\t\t\t\t\tON " . _DB_PREF_ . "_featureAutosend.autosend_id = " . _DB_PREF_ . "_featureAutosend_time.autosend_id\n\t\t\t\t\t\t\tWHERE UNIX_TIMESTAMP(" . _DB_PREF_ . "_featureAutosend_time.autosend_time) <= '{$timenow}'\n\t\t\t\t\t\t\tAND " . _DB_PREF_ . "_featureAutosend_time.sent='0'\n\t\t\t\t\t\t\tAND autosend_time != ''\n\t\t\t\t\t\t\tAND " . _DB_PREF_ . "_featureAutosend.autosend_enable='1'"; $db_result = dba_query($db_query); while ($db_row = dba_fetch_array($db_result)) { $message = $db_row['autosend_message']; $c_uid = $db_row['uid']; $username = uid2username($c_uid); $sms_to = $db_row['autosend_number']; // we are sending to this number $autosend_id = $db_row['autosend_id']; $time_id = $db_row['time_id']; $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($message, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } list($ok, $to, $smslog_id) = sendsms_pv($username, $sms_to, $message, 'text', $unicode); if ($ok[0]) { $db_query = "UPDATE " . _DB_PREF_ . "_featureAutosend_time SET sent='1' WHERE time_id = '{$time_id}'"; $db_result = @dba_affected_rows($db_query); } } }
function myauto_hook_interceptincomingsms($sms_datetime, $sms_sender, $message, $sms_receiver) { global $core_config; // reply message $reply = 'Thank you for your message'; // detect reply message, set unicode if not ASCII $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($reply, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } // send reply list($ok, $to, $smslog_id) = sendsms_pv('admin', $sms_sender, $reply, 'text', $unicode); // log it $sms_datetime = core_display_datetime($sms_datetime); logger_print("dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " autorespon:" . $reply, 3, "myauto"); }
function sms_quiz_handle($c_uid, $sms_datetime, $sms_sender, $quiz_keyword, $quiz_param = '') { global $core_config, $datetime_now; $ok = false; $username = uid2username($c_uid); $sms_to = $sms_sender; // we are replying to this sender $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureQuiz WHERE quiz_keyword='{$quiz_keyword}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); if ($db_row['quiz_enable'] == 1) { if ($db_row['quiz_answer'] == strtoupper($quiz_param)) { $message = $db_row['quiz_msg_correct']; } else { $message = $db_row['quiz_msg_incorrect']; } $quiz_id = $db_row['quiz_id']; $answer = strtoupper($quiz_param); $db_query = "INSERT INTO " . _DB_PREF_ . "_featureQuiz_log (quiz_id,quiz_answer,quiz_sender,in_datetime) VALUES ('{$quiz_id}','{$answer}','{$sms_to}','{$datetime_now}')"; if ($logged = @dba_insert_id($db_query)) { //list($ok,$to,$smslog_id) = sendsms_pv($username, $sms_to, $message); $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($message, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } list($ok, $to, $smslog_id) = sendsms_pv($username, $sms_to, $message, 'text', $unicode); $ok = $ok[0]; } } else { if ($db_row['quiz_keyword'] == $quiz_keyword) { // returns true even if its logged as correct/incorrect answer // this situation happens when user answers a disabled quiz // returning false will make this SMS as unhandled SMS $ok = true; } } return $ok; }
function sms_custom_handle($sms_datetime, $sms_sender, $custom_keyword, $custom_param = '') { global $datetime_now; $ok = false; $db_query = "SELECT custom_url,uid,custom_return_as_reply FROM " . _DB_PREF_ . "_featureCustom WHERE custom_keyword='{$custom_keyword}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $custom_url = $db_row['custom_url']; $sms_datetime = core_display_datetime($sms_datetime); $custom_url = str_replace("{SMSDATETIME}", urlencode($sms_datetime), $custom_url); $custom_url = str_replace("{SMSSENDER}", urlencode($sms_sender), $custom_url); $custom_url = str_replace("{CUSTOMKEYWORD}", urlencode($custom_keyword), $custom_url); $custom_url = str_replace("{CUSTOMPARAM}", urlencode($custom_param), $custom_url); $username = uid2username($db_row['uid']); $debug = dba_query("INSERT INTO " . _DB_PREF_ . "_toolsDebug (value)VALUES('{$username}')"); $url = parse_url($custom_url); if (!$url['port']) { $url['port'] = 80; } // fixme anton -deprecated when using PHP5 //$connection = fsockopen($url['host'],$url['port'],&$error_number,&$error_description,60); //fixme Edward, change to file_get_contents $returns = file_get_contents($custom_url); if ($returns) { //fixme Edward, change to file_get_contents //socket_set_blocking($connection, false); //fputs($connection, "GET $custom_url HTTP/1.0\r\n\r\n"); $username = uid2username($db_row['uid']); if ($db_row['custom_return_as_reply'] == 1) { sendsms_pv($username, $sms_sender, $returns, 'text', 0); } $db_query = "\n\t INSERT INTO " . _DB_PREF_ . "_featureCustom_log\n\t (sms_sender,custom_log_datetime,custom_log_keyword,custom_log_url) \n\t VALUES\n\t ('{$sms_sender}','{$datetime_now}','{$custom_keyword}','{$custom_url}')\n\t"; if ($new_id = @dba_insert_id($db_query)) { $ok = true; } } return $ok; }
$p_num = $_POST['p_num_text']; } $sms_to = $p_num; $msg_flash = $_POST['msg_flash']; $msg_unicode = $_POST['msg_unicode']; $message = $_POST['message']; if (($p_num || $sms_to) && $message) { $sms_type = "text"; if ($msg_flash == "on") { $sms_type = "flash"; } $unicode = "0"; if ($msg_unicode == "on") { $unicode = "1"; } list($ok, $to, $smslog_id) = sendsms_pv($username, $sms_to, $message, $sms_type, $unicode); if (count($ok) <= 5) { for ($i = 0; $i < count($ok); $i++) { if ($ok[$i]) { $error_string .= _('Your SMS has been delivered to queue') . " (" . _('to') . ": " . $to[$i] . ")<br>"; } else { $error_string .= _('Fail to sent SMS') . " (" . _('to') . ": `" . $to[$i] . "`)<br>"; } } } else { // minimize delivery reports on web, actual status can be seen from outgoing SMS menu (emmanuel) $sms_sent = 0; $sms_failed = 0; for ($i = 0; $i < count($ok); $i++) { if ($ok[$i]) { // $error_string .= _('Your SMS has been delivered to queue')." ("._('to').": `".$to[$i]."`)<br>";
function sms_autoreply_handle($sms_datetime, $sms_sender, $c_uid, $autoreply_id, $autoreply_keyword, $autoreply_param = '') { global $datetime_now; $ok = false; $autoreply_request = $autoreply_keyword . " " . $autoreply_param; $array_autoreply_request = explode(" ", $autoreply_request); for ($i = 0; $i < count($array_autoreply_request); $i++) { $autoreply_part[$i] = trim($array_autoreply_request[$i]); $tmp_autoreply_request .= trim($array_autoreply_request[$i]) . " "; } $autoreply_request = trim($tmp_autoreply_request); for ($i = 1; $i < 7; $i++) { $autoreply_scenario_param_list .= "autoreply_scenario_param{$i}='" . $autoreply_part[$i] . "' AND "; } $db_query = "\n\tSELECT autoreply_scenario_result FROM " . _DB_PREF_ . "_featureAutoreply_scenario \n\tWHERE autoreply_id='{$autoreply_id}' AND {$autoreply_scenario_param_list} 1=1\n "; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); if ($autoreply_scenario_result = $db_row['autoreply_scenario_result']) { $db_query = "\n\t INSERT INTO " . _DB_PREF_ . "_featureAutoreply_log\n\t (sms_sender,autoreply_log_datetime,autoreply_log_keyword,autoreply_log_request) \n\t VALUES\n\t ('{$sms_sender}','{$datetime_now}','{$autoreply_keyword}','{$autoreply_request}')\n\t"; if ($new_id = @dba_insert_id($db_query)) { $ok = true; } } if ($ok) { $ok = false; $c_username = uid2username($c_uid); //list($ok,$to,$smslog_id) = sendsms_pv($c_username,$sms_sender,$autoreply_scenario_result); //$ok = $ok[0]; $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($message, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } list($ok, $to, $smslog_id) = sendsms_pv($c_username, $sms_sender, $autoreply_scenario_result, 'text', $unicode); $ok = $ok[0]; } return $ok; }
function insertsmstoinbox($sms_datetime, $sms_sender, $target_user, $message, $sms_receiver = "") { global $core_config, $web_title, $email_service, $email_footer; // sms to inbox will be handled by plugin/tools/* first $ret_intercept = interceptsmstoinbox($sms_datetime, $sms_sender, $target_user, $message, $sms_receiver); if ($ret_intercept['param_modified']) { $sms_datetime = $ret_intercept['param']['sms_datetime'] ? $ret_intercept['param']['sms_datetime'] : $sms_datetime; $sms_sender = $ret_intercept['param']['sms_sender'] ? $ret_intercept['param']['sms_sender'] : $sms_sender; $target_user = $ret_intercept['param']['target_user'] ? $ret_intercept['param']['target_user'] : $target_user; $message = $ret_intercept['param']['message'] ? $ret_intercept['param']['message'] : $message; $sms_receiver = $ret_intercept['param']['sms_receiver'] ? $ret_intercept['param']['sms_receiver'] : $sms_receiver; } $ok = false; if ($sms_sender && $target_user && $message) { $user = user_getdatabyusername($target_user); if ($uid = $user['uid']) { // forward to Inbox if ($fwd_to_inbox = $user['fwd_to_inbox']) { $db_query = "\n\t\t INSERT INTO " . _DB_PREF_ . "_tblUserInbox\n\t\t (in_sender,in_receiver,in_uid,in_msg,in_datetime) \n\t\t VALUES ('{$sms_sender}','{$sms_receiver}','{$uid}','{$message}','{$sms_datetime}')\n\t\t"; logger_print("saving sender:" . $sms_sender . " receiver:" . $sms_receiver . " target:" . $target_user, 3, "insertsmstoinbox"); if ($cek_ok = @dba_insert_id($db_query)) { logger_print("saved sender:" . $sms_sender . " receiver:" . $sms_receiver . " target:" . $target_user, 3, "insertsmstoinbox"); } } // forward to email if ($fwd_to_email = $user['fwd_to_email']) { if ($email = $user['email']) { // make sure sms_datetime is in supported format and in user's timezone $sms_datetime = core_display_datetime($sms_datetime); // get name from target_user's phonebook $c_name = phonebook_number2name($sms_sender, $target_user); $sender = $c_name ? $c_name . ' <' . $sms_sender . '>' : $sms_sender; // fixme anton - slash maddess $message = stripslashes($message); $subject = "[SMSGW-PV] " . _('from') . " {$sms_sender}"; $body = _('Forward Private WebSMS') . " ({$web_title})\n\n"; $body .= _('Date time') . ": {$sms_datetime}\n"; $body .= _('Sender') . ": {$sender}\n"; $body .= _('Receiver') . ": {$sms_receiver}\n\n"; $body .= _('Message') . ":\n{$message}\n\n"; $body .= $email_footer . "\n\n"; logger_print("send email from:" . $email_service . " to:" . $email, 3, "insertsmstoinbox"); sendmail($email_service, $email, $subject, $body); logger_print("sent email from:" . $email_service . " to:" . $email, 3, "insertsmstoinbox"); } $ok = true; } // forward to mobile if ($fwd_to_mobile = $user['fwd_to_mobile']) { if ($mobile = $user['mobile']) { $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($message, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } $message = $sender . ' ' . $message; logger_print("send to mobile:" . $mobile . " from:" . $sender . " user:"******"insertsmstoinbox"); list($ok, $to, $smslog_id) = sendsms_pv($target_user, $mobile, $message, 'text', $unicode); if ($ok[0]) { logger_print("sent to mobile:" . $mobile . " from:" . $sender . " user:"******"insertsmstoinbox"); } } } } } return $ok; }
function xlate_hook_interceptincomingsms($sms_datetime, $sms_sender, $message, $sms_receiver) { global $core_config; $msg = explode(" ", $message); $ret = array(); if (count($msg) > 1) { $keyword = trim($msg[0]); if (substr($keyword, 0, 1) == '@') { $xlate = substr($keyword, 1); $xlate = explode('2', $xlate); $xlate_from = $xlate[0]; $xlate_to = $xlate[1]; if ($xlate_from && $xlate_to && strlen($xlate_from) == 2 && strlen($xlate_to) == 2) { for ($i = 1; $i < count($msg); $i++) { $words .= $msg[$i] . " "; } $words = trim($words); // contact google $lib = $core_config['apps_path']['plug'] . '/tools/xlate/lib/GoogleTranslate'; // load JSON.php for PHP version lower than 5.2.x require_once $lib . '/JSON.php'; require_once $lib . '/googleTranslate.class.php'; if ($gt = new GoogleTranslateWrapper()) { /* Translate */ $xlate_words = $gt->translate($words, $xlate_to, $xlate_from); // incoming sms is handled $ret['hooked'] = true; /* Was translation successful */ $sms_datetime = core_display_datetime($sms_datetime); if ($gt->isSuccess()) { $reply = '@' . $xlate_from . '2' . $xlate_to . ' ' . $words . ' => ' . $xlate_words; logger_print("success dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " w:" . $words . " from:" . $xlate_from . " to:" . $xlate_to . " xlate:" . $xlate_words, 3, "xlate"); } else { $reply = '@' . $xlate_from . '2' . $xlate_to . ' ' . _("unable to translate") . ': ' . $words; logger_print("failed dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " w:" . $words . " from:" . $xlate_from . " to:" . $xlate_to, 3, "xlate"); } // detect reply message, set unicode if not ASCII $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($reply, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } // send reply SMS using admin account // should add a web menu in xlate.php to choose which account will be used to send reply SMS // usualy we inspect the result of sendsms_pv, but not this time logger_print("send reply encoding:" . $encoding, 3, "xlate"); list($ok, $to, $smslog_id) = sendsms_pv('admin', $sms_sender, $reply, 'text', $unicode); // do not forget to tell parent that this SMS has been hooked $ret['hooked'] = true; } else { // unable to load the class, set incoming sms unhandled $ret['hooked'] = false; logger_print("class not exists or fail to load", 3, "xlate"); } } } } return $ret; }
function sms_survey_handle($c_uid, $sms_datetime, $sms_sender, $sms_receiver, $survey_keyword, $survey_param = '') { global $core_config; $ok = false; // get survey data by keyword $data = sms_survey_getdatabykeyword($survey_keyword); if ($data['status'] == 1) { // survey enabled, accept incoming answers $session = $data['session']; $sid = $data['id']; $m = sms_survey_getmemberbymobile($sid, $sms_sender); // link_id is used to link each questions and answers if ($link_id = sms_survey_getlinkid($session, $sid, $m['id'])) { // get last question data from log $l = sms_survey_getoutlogs($link_id); $outlogs = $l[count($l) - 1]; $qn = $outlogs['question_number']; $next_qn = $qn + 1; // save answer in log $log = ""; $log['incoming'] = 1; $log['question_number'] = $qn; $log['link_id'] = $link_id; $log['in_datetime'] = $sms_datetime; $log['in_sender'] = $sms_sender; $log['in_receiver'] = $sms_receiver; $log['answer'] = $survey_param; $log['session'] = $session; if (sms_survey_savelog($log)) { // get next question $q = sms_survey_getquestions($sid); // stop when ran out questions if ($qn < count($q)) { $c_message = $q[$qn]['question']; // yes, not $next_qn, array questions start from 0 $c_username = uid2username($c_uid); $c_keyword = $survey_keyword; $c_sms_msg = $c_keyword . " " . $c_message; $c_sms_to = $sms_sender; logger_print("playsmsd send start next qn:" . $next_qn . " sid:" . $c_sid . " username:"******" to:" . $c_sms_to . " msg:" . $c_sms_msg, 3, "sms_survey"); // if member's mobile, question and username owned the survey exists if ($c_sms_to && $c_sms_msg && $c_username) { $type = 'text'; $unicode = '0'; // send next question to member list($ok, $to, $smslog_id) = sendsms_pv($c_username, $c_sms_to, $c_sms_msg, $type, $unicode); $ok = $ok[0] ? "true" : "false"; logger_print("playsmsd send finish sid:" . $c_sid . " smslog_id:" . $smslog_id[0] . " ok:" . $ok, 3, "sms_survey"); // save the log $log = ""; $log['survey_id'] = $sid; $log['question_id'] = $q[$qn]['id']; $log['member_id'] = $m['id']; $log['link_id'] = $link_id; $log['smslog_id'] = $smslog_id[0]; $log['name'] = $m['name']; $log['mobile'] = $m['mobile']; $log['question'] = $q[$qn]['question']; $log['question_number'] = $next_qn; $log['creation_datetime'] = $core_config['datetime']['now']; $log['session'] = $session; sms_survey_savelog($log); } } // set handled $ok = true; } } } else { // returns true even if its not handled since survey is disabled // returning false will make this SMS as unhandled SMS $ok = true; } return $ok; }
$p_num = $_POST['p_num_text']; } $sms_to = $p_num; $msg_flash = $_POST['msg_flash']; $msg_unicode = $_POST['msg_unicode']; $message = $_POST['message']; if (($p_num || $sms_to) && $message) { $sms_type = "text"; if ($msg_flash == "on") { $sms_type = "flash"; } $unicode = "0"; if ($msg_unicode == "on") { $unicode = "1"; } list($ok, $to, $queue) = sendsms_pv($username, $sms_to, $message, $sms_type, $unicode); $error_string = _('Your SMS has been delivered to queue'); /* if (count($ok) <= 5) { for ($i=0;$i<count($ok);$i++) { if ($ok[$i]) { $error_string .= _('Your SMS has been delivered to queue')." ("._('to').": ".$to[$i].")<br>"; } else { $error_string .= _('Fail to sent SMS')." ("._('to').": `".$to[$i]."`)<br>"; } } } else { // minimize delivery reports on web, actual status can be seen from outgoing SMS menu (emmanuel) $sms_sent = 0; $sms_failed = 0; for ($i=0;$i<count($ok);$i++) {
function sms_subscribe_handle($c_uid, $sms_datetime, $sms_sender, $subscribe_keyword, $subscribe_param = '') { global $core_config; $ok = false; $subscribe_param = strtoupper($subscribe_param); $subscribe_keyword = strtoupper($subscribe_keyword); $username = uid2username($c_uid); $sms_to = $sms_sender; // we are replying to this sender $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSubscribe WHERE subscribe_keyword='{$subscribe_keyword}'"; $db_result = dba_query($db_query); if ($db_row = dba_fetch_array($db_result)) { if (!$db_row['subscribe_enable']) { $message = _('Subscribe service inactive'); //list($ok,$to,$smslog_id) = sendsms_pv($username, $sms_to, $message); //$ok = $ok[0]; $unicode = 0; if (function_exists('mb_detect_encoding')) { $encoding = mb_detect_encoding($message, 'auto'); if ($encoding != 'ASCII') { $unicode = 1; } } $ret = sendsms($core_config['main']['cfg_gateway_number'], '', $sms_to, $message, $c_uid, 0, 'text', $unicode); $ok = $ret['status']; return $ok; } } $c_uid = $db_row['uid']; $subscribe_id = $db_row['subscribe_id']; $num_rows = dba_num_rows($db_query); if ($num_rows) { $msg1 = $db_row['subscribe_msg']; $msg2 = $db_row['unsubscribe_msg']; $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSubscribe_member WHERE member_number='{$sms_to}' AND subscribe_id='{$subscribe_id}'"; $db_result = dba_query($db_query); $db_row = dba_fetch_array($db_result); $num_rows = dba_num_rows($db_query); if ($num_rows == 0) { $member = false; $db_query = "INSERT INTO " . _DB_PREF_ . "_featureSubscribe_member (subscribe_id,member_number,member_since) VALUES ('{$subscribe_id}','{$sms_to}',now())"; switch ($subscribe_param) { case "ON": $message = $msg1; $logged = dba_query($db_query); $ok = true; break; case "IN": $message = $msg1; $logged = dba_query($db_query); $ok = true; break; case "REG": $message = $msg1; $logged = dba_query($db_query); $ok = true; break; case "OFF": $message = _('You are not a member'); $ok = true; break; case "OUT": $message = _('You are not a member'); $ok = true; break; case "UNREG": $message = _('You are not a member'); $ok = true; break; default: $message = _('Unknown SMS format'); $ok = true; break; } } else { $member = true; $db_query = "DELETE FROM " . _DB_PREF_ . "_featureSubscribe_member WHERE member_number='{$sms_to}' AND subscribe_id='{$subscribe_id}'"; switch ($subscribe_param) { case "OFF": $message = $msg2; $deleted = dba_query($db_query); if ($deleted) { $ok = true; } break; case "OUT": $message = $msg2; $deleted = dba_query($db_query); if ($deleted) { $ok = true; } break; case "UNREG": $message = $msg2; $deleted = dba_query($db_query); if ($deleted) { $ok = true; } break; case "ON": $message = _('You already a member'); $ok = true; break; case "IN": $message = _('You already a member'); $ok = true; break; case "REG": $message = _('You already a member'); $ok = true; break; default: $message = _('Unknown sms format'); $ok = true; break; } } list($ok, $to, $smslog_id) = sendsms_pv($username, $sms_to, $message); $ok = $ok[0]; } else { $ok = false; } return $ok; }
} } else { $error_string = _('Invalid session ID'); } $errid = logger_set_error_string($error_string); header("Location: index.php?app=menu&inc=tools_sendfromfile&op=list&errid=" . $errid); break; case 'upload_process': if ($sid = $_REQUEST['sid']) { $db_query = "SELECT * FROM " . _DB_PREF_ . "_toolsSendfromfile WHERE sid='{$sid}'"; $db_result = dba_query($db_query); while ($db_row = dba_fetch_array($db_result)) { $c_sms_to = $db_row['sms_to']; $c_sms_msg = $db_row['sms_msg']; $c_username = $db_row['sms_username']; if ($c_sms_to && $c_sms_msg && $c_username) { $type = 'text'; $unicode = '0'; list($ok, $to, $smslog_id) = sendsms_pv($c_username, $c_sms_to, $c_sms_msg, $type, $unicode); } } $db_query = "DELETE FROM " . _DB_PREF_ . "_toolsSendfromfile WHERE sid='{$sid}'"; $db_result = dba_affected_rows($db_query); $error_string = _('SMS has been set to destination in uploaded file'); } else { $error_string = _('Invalid session ID'); } $errid = logger_set_error_string($error_string); header("Location: index.php?app=menu&inc=tools_sendfromfile&op=list&errid=" . $errid); break; }