Example #1
0
     }
 }
 $option_language_module .= "<option value=\"\">" . _('Default') . "</option>";
 if (is_array($lang_list)) {
     foreach ($lang_list as $key => $val) {
         if ($val == $user_config['language_module']) {
             $selected = "selected";
         }
         $option_language_module .= "<option value=\"" . $val . "\" {$selected}>" . $key . "</option>";
         $selected = "";
     }
 }
 // get sender ID
 $c_sms_from = sender_id_default_get($user_edited['uid']);
 $option_sender_id = "<option value=\"\">" . _('None') . "</option>";
 foreach (sender_id_getall($user_edited['username']) as $sender_id) {
     $selected = '';
     if (strtoupper($c_sms_from) == strtoupper($sender_id)) {
         $selected = 'selected';
     }
     $option_sender_id .= "<option value=\"" . $sender_id . "\" title=\"" . $sender_id . "\" " . $selected . ">" . $sender_id . "</option>";
 }
 // admin or users
 if ($uname && (auth_isadmin() || $is_parent)) {
     $form_title = _('Manage account');
     // fixme anton - now disabled since plugin/feature/credit exists
     // $option_credit = "<tr><td>" . _('Credit') . "</td><td><input type=text maxlength=14 name=up_credit value=\"$credit\"></td></tr>";
     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 {
Example #2
0
/**
 * Intercept on after-process stage for incoming SMS and forward it to selected user's inbox
 *
 * @param $sms_datetime incoming
 *        SMS date/time
 * @param $sms_sender incoming
 *        SMS sender
 * @param $message incoming
 *        SMS message before interepted
 * @param $sms_receiver receiver
 *        number that is receiving incoming SMS
 * @param $feature feature
 *        managed to hook current incoming SMS
 * @param $status recvsms()
 *        status, 0 or FALSE for unhandled
 * @param $uid keyword
 *        owner
 * @return array $ret
 */
function incoming_hook_recvsms_intercept_after($sms_datetime, $sms_sender, $message, $sms_receiver, $feature, $status, $uid, $smsc)
{
    global $core_config;
    $ret = array();
    $users = array();
    $is_routed = FALSE;
    // continue only if its sandbox
    if ($status) {
        return $ret;
    }
    // get settings
    $settings = incoming_settings_get();
    // get post rules
    $post_rules = incoming_post_rules_get();
    // sandbox match receiver number and sender ID
    if (!$is_routed) {
        // route sandbox if receiver number matched with default sender ID of users
        if ($post_rules['match_sender_id']) {
            $s = array();
            if ($settings['match_all_sender_id']) {
                // get all approved sender ID
                $s = sender_id_getall();
            } else {
                $data = user_search($sms_receiver, 'sender');
                foreach ($data as $user) {
                    // get default sender ID
                    if ($user['sender']) {
                        $s[] = $user['sender'];
                        // in case an error occured where multiple users own the same sender ID
                        break;
                    }
                }
            }
            // start matching
            foreach ($s as $sender_id) {
                if ($sender_id && $sms_receiver && $sender_id == $sms_receiver) {
                    unset($usernames);
                    unset($username);
                    if ($settings['match_all_sender_id']) {
                        // get $username who owns $sender_id
                        $uids = sender_id_owner($sender_id);
                        foreach ($uids as $uid) {
                            $usernames[] = user_uid2username($uid);
                        }
                    } else {
                        $usernames[] = $user['username'];
                    }
                    $usernames = array_unique($usernames);
                    foreach ($usernames as $username) {
                        if ($username) {
                            _log("sandbox match sender start u:" . $username . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:[" . $message . "]", 3, 'incoming recvsms_intercept_after');
                            recvsms_inbox_add($sms_datetime, $sms_sender, $username, $message, $sms_receiver);
                            _log("sandbox match sender end u:" . $username, 3, 'incoming recvsms_intercept_after');
                            $is_routed = TRUE;
                            // single match only
                            // break;
                        }
                    }
                }
            }
        }
        // sandbox prefix
        if (!$is_routed) {
            // route sandbox by adding a prefix to message and re-enter it to recvsms()
            //if ($post_rules['insert_prefix'] && trim($message)) {
            //	$message = $post_rules['insert_prefix'] . ' ' . trim($message);
            //	_log("sandbox add prefix start keyword:" . $post_rules['insert_prefix'] . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:" . $message, 3, 'incoming recvsms_intercept_after');
            //	recvsms($sms_datetime, $sms_sender, $message, $sms_receiver, $smsc);
            //	_log("sandbox add prefix end keyword:" . $post_rules['insert_prefix'], 3, 'incoming recvsms_intercept_after');
            //	$is_routed = TRUE;
            //}
        }
        // sandbox forward to users
        if (!$is_routed) {
            foreach ($post_rules['forward_to'] as $uid) {
                $c_username = user_uid2username($uid);
                if ($c_username) {
                    $users[] = $c_username;
                }
            }
            // route sandbox to users inbox
            foreach ($users as $username) {
                _log("sandbox to user start u:" . $username . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:[" . $message . "]", 3, 'incoming recvsms_intercept_after');
                recvsms_inbox_add($sms_datetime, $sms_sender, $username, $message, $sms_receiver);
                _log("sandbox to user end u:" . $username, 3, 'incoming recvsms_intercept_after');
                $is_routed = TRUE;
            }
        }
        // sandbox forward to URL
        if ($url = trim($post_rules['forward_to_url'])) {
            $payload = array('datetime' => core_get_datetime(), 'sms_datetime' => $sms_datetime, 'sms_sender' => $sms_sender, 'message' => $message, 'sms_receiver' => $sms_receiver, 'smsc' => $smsc);
            $json = json_encode($payload);
            $url = str_replace('{SANDBOX_PAYLOAD}', urlencode($json), $url);
            $url = str_replace('{SANDBOX_DATETIME}', urlencode($sms_datetime), $url);
            $url = str_replace('{SANDBOX_SENDER}', urlencode($sms_sender), $url);
            $url = str_replace('{SANDBOX_MESSAGE}', urlencode($message), $url);
            $url = str_replace('{SANDBOX_RECEIVER}', urlencode($sms_receiver), $url);
            $url = str_replace('{SANDBOX_SMSC}', urlencode($smsc), $url);
            _log("sandbox forward to URL start url:[" . $url . "]", 3, 'incoming recvsms_intercept_after');
            $response = @file_get_contents($url);
            _log("sandbox forward to URL end response:[" . $response . "]", 3, 'incoming recvsms_intercept_after');
        }
    }
    // flag the hook if is_routed
    if ($is_routed) {
        $ret['param']['feature'] = 'incoming';
        if ($settings['leave_copy_sandbox']) {
            $ret['param']['status'] = 0;
        } else {
            $ret['param']['status'] = 1;
        }
        $ret['param']['uid'] = 1;
        $ret['modified'] = TRUE;
    }
    return $ret;
}
Example #3
0
 * 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 "sendsms":
        // get $to and $message from session or query string
        $to = stripslashes($_REQUEST['to']);
        $message = stripslashes($_REQUEST['message']) ? stripslashes($_REQUEST['message']) : trim(stripslashes($_SESSION['tmp']['message']));
        // sender ID
        $sms_from = sendsms_get_sender($user_config['username']);
        $ismatched = FALSE;
        foreach (sender_id_getall($user_config['username']) as $sender_id) {
            $selected = '';
            if (strtoupper($sms_from) == strtoupper($sender_id)) {
                $selected = 'selected';
                $ismatched = TRUE;
            }
            $option_values .= "<option value=\"" . $sender_id . "\" title=\"" . $sender_id . "\" " . $selected . ">" . $sender_id . "</option>";
        }
        $sms_sender_id = "<select name=sms_sender style='width: 100%'>" . $option_values . "</select>";
        if (!$ismatched) {
            $sms_sender_id = "<input type='text' style='width: 100%' name='sms_sender' value='" . $sms_from . "' readonly>";
        }
        // SMS footer
        $sms_footer = $user_config['footer'];
        // message template
        $option_values = "<option value=\"\" default>--" . _('Please select template') . "--</option>";
Example #4
0
/**
 * Intercept on after-process stage for incoming SMS and forward it to selected user's inbox
 *
 * @param $sms_datetime incoming
 *        SMS date/time
 * @param $sms_sender incoming
 *        SMS sender
 * @param $message incoming
 *        SMS message before interepted
 * @param $sms_receiver receiver
 *        number that is receiving incoming SMS
 * @param $feature feature
 *        managed to hook current incoming SMS
 * @param $status recvsms()
 *        status, 0 or FALSE for unhandled
 * @param $uid keyword
 *        owner
 * @return array $ret
 */
function incoming_hook_recvsms_intercept_after($sms_datetime, $sms_sender, $message, $sms_receiver, $feature, $status, $uid, $smsc)
{
    global $core_config;
    $ret = array();
    $users = array();
    $is_routed = FALSE;
    if (!$status) {
        // get settings
        $settings = incoming_settings_get();
        // get post rules
        $post_rules = incoming_post_rules_get();
        // sandbox match receiver number and sender ID
        if (!$is_routed) {
            // route sandbox if receiver number matched with default sender ID of users
            if ($post_rules['match_sender_id']) {
                $s = array();
                if ($settings['match_all_sender_id']) {
                    // get all approved sender ID
                    $s = sender_id_getall();
                } else {
                    $data = user_search($sms_receiver, 'sender');
                    foreach ($data as $user) {
                        // get default sender ID
                        if ($user['sender']) {
                            $s[] = $user['sender'];
                            // in case an error occured where multiple users own the same sender ID
                            break;
                        }
                    }
                }
                // start matching
                foreach ($s as $sender_id) {
                    if ($sender_id && $sms_receiver && $sender_id == $sms_receiver) {
                        unset($usernames);
                        unset($username);
                        if ($settings['match_all_sender_id']) {
                            // get $username who owns $sender_id
                            $uids = sender_id_owner($sender_id);
                            foreach ($uids as $uid) {
                                $usernames[] = user_uid2username($uid);
                            }
                        } else {
                            $usernames[] = $user['username'];
                        }
                        array_unique($usernames);
                        foreach ($usernames as $username) {
                            if ($username) {
                                _log("sandbox match sender start u:" . $username . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:[" . $message . "]", 3, 'incoming recvsms_intercept_after');
                                recvsms_inbox_add($sms_datetime, $sms_sender, $username, $message, $sms_receiver);
                                _log("sandbox match sender end u:" . $username, 3, 'incoming recvsms_intercept_after');
                                $is_routed = TRUE;
                                // single match only
                                // break;
                            }
                        }
                    }
                }
            }
        }
        // sandbox prefix
        if (!$is_routed) {
            // route sandbox by adding a prefix to message and re-enter it to recvsms()
            /**
             * if ($post_rules['insert_prefix'] && trim($message)) {
             * $message = $post_rules['insert_prefix'] .
             *
             *
             * ' ' . trim($message);
             * _log("sandbox add prefix start keyword:" . $post_rules['insert_prefix'] . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:" . $message, 3, 'incoming recvsms_intercept_after');
             * recvsms($sms_datetime, $sms_sender, $message, $sms_receiver, $smsc);
             * _log("sandbox add prefix end keyword:" . $post_rules['insert_prefix'], 3, 'incoming recvsms_intercept_after');
             * $is_routed = TRUE;
             * }
             */
        }
        // sandbox forward to users
        if (!$is_routed) {
            foreach ($post_rules['forward_to'] as $uid) {
                $c_username = user_uid2username($uid);
                if ($c_username) {
                    $users[] = $c_username;
                }
            }
            // route sandbox to users inbox
            foreach ($users as $username) {
                _log("sandbox to user start u:" . $username . " dt:" . $sms_datetime . " s:" . $sms_sender . " r:" . $sms_receiver . " m:[" . $message . "]", 3, 'incoming recvsms_intercept_after');
                recvsms_inbox_add($sms_datetime, $sms_sender, $username, $message, $sms_receiver);
                _log("sandbox to user end u:" . $username, 3, 'incoming recvsms_intercept_after');
                $is_routed = TRUE;
            }
        }
        // flag the hook if is_routed
        if ($is_routed) {
            $ret['param']['feature'] = 'incoming';
            if ($settings['leave_copy_sandbox']) {
                $ret['param']['status'] = 0;
            } else {
                $ret['param']['status'] = 1;
            }
            $ret['param']['uid'] = 1;
            $ret['modified'] = TRUE;
        }
    }
    return $ret;
}