Merge branch '2013.03' into 2013.10
authorPhilipp Schüle <p.schuele@metaways.de>
Tue, 28 Jan 2014 11:53:41 +0000 (12:53 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Tue, 28 Jan 2014 11:53:41 +0000 (12:53 +0100)
Conflicts:
tine20/Tinebase/Helper.php

1  2 
tests/setup/Setup/AllTests.php
tine20/Setup/Frontend/Cli.php
tine20/Tinebase/Helper.php
tine20/Tinebase/js/ExceptionHandler.js

Simple merge
Simple merge
@@@ -260,29 -245,3 +260,29 @@@ function is_json($string
      // check if error occured (only if json_last_error() exists)
      return (! function_exists('json_last_error') || json_last_error() == JSON_ERROR_NONE);
  }
- }
 +
 +/**
 + * formats a microtime diff to an appropriate string containing time unit based on the value range
 + * 
 + * value ranges
 + * below 1s return ms
 + * below 1m return s
 + * below 1h return m
 + * as of 1h return h
 + * 
 + * @param float $timediff
 + * @return string
 + */
 +function formatMicrotimeDiff($timediff)
 +{
 +    $ms = (int)($timediff * 1000);
 +    if ($ms>=3600000) {
 +        return (((int)($ms / 3600000 * 100.0)) / 100.0).'h';
 +    } elseif ($ms>=60000) {
 +        return (((int)($ms / 60000 * 100.0)) / 100.0).'m';
 +    } elseif ($ms>=1000) {
 +        return (((int)($ms / 1000 * 100.0)) / 100.0).'s';
 +    } else {
 +        return $ms.'ms';
 +    }
++}
@@@ -149,9 -138,17 +149,17 @@@ Tine.Tinebase.ExceptionHandler = functi
          
          Tine.log.debug('Tine.Tinebase.ExceptionHandler::handleRequestException -> Exception:');
          Tine.log.debug(exception);
+         
+         // TODO find a generic way for this, some kind of registry for each app to register sensitive information
+         var request = (exception.request && Ext.isString(exception.request)) ? Ext.util.JSON.decode(exception.request) : null;
+         if (request && request.method === 'Felamimail.saveMessage') {
+             request.params.recordData.body = null;
+             exception.request =  Ext.util.JSON.encode(request);
+             Tine.log.debug(exception);
+         }
      
 -        if (!callback) callback = Ext.emptyFn;
 -        if (!callbackScope) callbackScope = this;
 +        if (! callback) callback = Ext.emptyFn;
 +        if (! callbackScope) callbackScope = this;
          
          switch (exception.code) {
              // not authorised