Changeset 9fc4d8797d8b9f3e36c7d5871eda34d7fa44f1f4

Show
Ignore:
Timestamp:
05/12/08 16:18:28 (2 months ago)
Author:
Christopher Jung <bktheg@web.de>
git-committer:
Christopher Jung <bktheg@web.de> 1210601908 +0200
git-parent:

[5dc487d6f8fa08760e5156f406bf9475a1f8ce56]

git-author:
Christopher Jung <bktheg@web.de> 1210601908 +0200
Message:

[feature] Es wird nun eine Java-Session aufgebaut und ueber Requests hinweg erhalten

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/net/driftingsouls/ds2/server/framework/pipeline/HttpRequest.java

    r2b804ab r9fc4d87  
    5454        public HttpRequest(HttpServletRequest request) { 
    5555                this.request = request; 
     56                 
     57                if( request.getSession(false) == null ) { 
     58                        request.getSession(true); 
     59                } 
    5660                 
    5761                // Standard-Encoding ist UTF-8 
  • src/net/driftingsouls/ds2/server/framework/pipeline/HttpResponse.java

    rf0273db r9fc4d87  
    2222import java.io.OutputStream; 
    2323import java.io.OutputStreamWriter; 
     24import java.util.regex.Matcher; 
     25import java.util.regex.Pattern; 
    2426 
    2527import javax.servlet.http.HttpServletResponse; 
     
    118120                                        OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream(), charSet); 
    119121                                        if( content.length() > 0 ) { 
    120                                                 writer.append(content.toString()); 
     122                                                writer.append(prepareContentForSend()); 
    121123                                        } 
    122124                                        writer.flush(); 
     
    136138                } 
    137139        } 
     140         
     141        private static final Pattern[] URL_PATTERNS = new Pattern[] { 
     142                Pattern.compile("href\\=\"([^\"]*)\""), 
     143                Pattern.compile("src\\=\"([^\"]*)\""), 
     144                Pattern.compile("action\\=\"([^\"]*)\"") 
     145        }; 
     146         
     147        private String prepareContentForSend() { 
     148                String str = this.content.toString(); 
     149                 
     150                for( int i=0; i < URL_PATTERNS.length; i++ ) { 
     151                        str = encodeUrlsWithPattern(str, URL_PATTERNS[i]); 
     152                } 
     153                 
     154                return str; 
     155        } 
     156 
     157        private String encodeUrlsWithPattern(String str, Pattern pattern) { 
     158                Matcher matcher = pattern.matcher(str); 
     159                 
     160                int offset = 0; 
     161                while( matcher.find() ) { 
     162                        String group = matcher.group(1); 
     163                         
     164                        if( !group.equals("#") && !group.startsWith("http://") &&  
     165                                        !group.startsWith("javascript") && !group.contains("(") &&  
     166                                        !group.contains(")") ) { 
     167                                int oldlength = str.length(); 
     168                                str = str.substring(0,matcher.start(1)+offset)+ 
     169                                        this.response.encodeURL(group)+ 
     170                                        str.substring(matcher.end(1)+offset); 
     171                                 
     172                                offset += str.length() - oldlength; 
     173                        } 
     174                } 
     175                return str; 
     176        } 
    138177 
    139178        public void setContent(String content) { 
  • templates/comm.html

    r4f9d99f r9fc4d87  
    208208                        $("inbox_waiter").style.display = "block"; 
    209209                         
    210                         var url = './ajax'
     210                        var url = location.href
    211211                        // Oh ich liebe das toooolle caching vom *piep* ie 
    212212                        var params = 'module={global.module}&sess={global.sess}&action=move&ordner={ordner.parent}&moveto='+ordnerid+"&pm_"+pmid+"="+pmid+"&antiiecachingtimestamp="+(new Date().getTime()); 
  • templates/links.html

    r0a26521 r9fc4d87  
    7575 
    7676        function checkPMStatus() { 
    77                 var url = './ajax'
     77                var url = location.href
    7878                var params = 'module={global.module}&sess={global.sess}&action=hasNewPm'; 
    7979                 
  • templates/main.html

    r07ac587 r9fc4d87  
    2121 
    2222        function checkPMStatus() { 
    23                 var url = './ajax'
     23                var url = location.href
    2424                var params = 'module={global.module}&sess={global.sess}&action=hasNewPm'; 
    25                  
     25 
    2626                var myAjax = new Ajax.Request( url, { 
    2727                                method: 'get',  
     
    7575                        $('helpboxtext').innerHTML = ''; 
    7676                         
    77                         var myAjax = new Ajax.Request( "./ajax",  { 
     77                        var myAjax = new Ajax.Request( location.href,  { 
    7878                                method: 'get',  
    7979                                parameters: 'module={global.module}&sess={global.sess}&action=getHelpText&page='+currentModule,  
     
    9696                        var cmd = $('adminConsoleCommand').value; 
    9797                        $('adminConsoleResponse').innerHTML = ''; 
    98                         var myAjax = new Ajax.Request( "./ajax",  { 
     98                        var myAjax = new Ajax.Request( location.href,  { 
    9999                                method: 'get',  
    100100                                parameters: 'module=admin&sess={global.sess}&action=ajax&namedplugin=net.driftingsouls.ds2.server.modules.admin.AdminConsole&responseOnly=1&cmd='+encodeURIComponent(cmd),