function GetReturnLink($s_this_script, $i_form_index)
{
    if (!CheckValidURL($s_this_script)) {
        Error("not_valid_url", GetMessage(MSG_RETURN_URL_INVALID, array("URL" => $s_this_script)), false, false);
    }
    $a_params = array();
    $a_params[] = "return={$i_form_index}";
    if (isset($aServerVars["QUERY_STRING"])) {
        $a_params[] = $aServerVars["QUERY_STRING"];
    }
    $a_params[] = session_name() . "=" . session_id();
    return AddURLParams($s_this_script, $a_params);
}
示例#2
0
function GetCRMURL($spec, $vars, $url)
{
    $bad = false;
    $list = TrimArray(explode(",", $spec));
    $map = array();
    for ($ii = 0; $ii < count($list); $ii++) {
        $name = $list[$ii];
        if ($name) {
            //
            // the specification must be in this format:
            //      form-field-name:CRM-field-name
            //
            if (($i_crm_name_pos = strpos($name, ":")) > 0) {
                $s_crm_name = substr($name, $i_crm_name_pos + 1);
                $name = substr($name, 0, $i_crm_name_pos);
                if (isset($vars[$name])) {
                    $map[] = $s_crm_name . "=" . urlencode($vars[$name]);
                    $map[] = "Orig_" . $s_crm_name . "=" . urlencode($name);
                }
            } else {
                //
                // not the right format, so just include as a parameter
                // check for name=value format to choose encoding
                //
                $a_values = explode("=", $name);
                if (count($a_values) > 1) {
                    $map[] = urlencode($a_values[0]) . "=" . urlencode($a_values[1]);
                } else {
                    $map[] = urlencode($a_values[0]);
                }
            }
        }
    }
    if (count($map) == 0) {
        return "";
    }
    return AddURLParams($url, $map, false);
}