original_string: public static function raise($newlimit = 0) {
          global $CFG;
  
          // Special behaviour in unit tests so that we can check the value.
          if (PHPUNIT_TEST) {
              self::$unittestdata[] = $newlimit;
          }
  
          // If the time limit has already been set to 'infinite', ignore. Also do
          // nothing in CLI scripts (including unit testing) which are set to
          // infinite by default.
          if (self::$currentend === 0 || CLI_SCRIPT) {
              return;
          }
  
          // Maximum time limit can be set in config. This can be useful for front-end
          // server systems; if the front-end server has a timeout without receiving
          // data, it's helpful to set this timeout lower to ensure that a suitable
          // error gets logged.
          if (!empty($CFG->maxtimelimit)) {
              $realtimeout = max(1, $CFG->maxtimelimit);
              if ($newlimit === 0) {
                  $newlimit = $realtimeout;
              } else {
                  $newlimit = min($newlimit, $realtimeout);
              }
          }
  
          // If new time limit is infinite, just set that.
          if ($newlimit === 0) {
              self::$currentend = 0;
              @set_time_limit(0);
              return;
          }
  
          // Calculate time limits to make sure it's longer than previous.
          $now = time();
          $newend = $now + $newlimit;
          if (self::$currentend !== -1 && self::$currentend > $newend) {
              // Existing time limit is already longer, so do nothing.
              return;
          }
  
          // Set time limit and update current value.
          @set_time_limit($newlimit);
          self::$currentend = $newend;
      }
code: public static function raise($newlimit = 0) {
          global $CFG;
  
          // Special behaviour in unit tests so that we can check the value.
          if (PHPUNIT_TEST) {
              self::$unittestdata[] = $newlimit;
          }
  
          // If the time limit has already been set to 'infinite', ignore. Also do
          // nothing in CLI scripts (including unit testing) which are set to
          // infinite by default.
          if (self::$currentend === 0 || CLI_SCRIPT) {
              return;
          }
  
          // Maximum time limit can be set in config. This can be useful for front-end
          // server systems; if the front-end server has a timeout without receiving
          // data, it's helpful to set this timeout lower to ensure that a suitable
          // error gets logged.
          if (!empty($CFG->maxtimelimit)) {
              $realtimeout = max(1, $CFG->maxtimelimit);
              if ($newlimit === 0) {
                  $newlimit = $realtimeout;
              } else {
                  $newlimit = min($newlimit, $realtimeout);
              }
          }
  
          // If new time limit is infinite, just set that.
          if ($newlimit === 0) {
              self::$currentend = 0;
              @set_time_limit(0);
              return;
          }
  
          // Calculate time limits to make sure it's longer than previous.
          $now = time();
          $newend = $now + $newlimit;
          if (self::$currentend !== -1 && self::$currentend > $newend) {
              // Existing time limit is already longer, so do nothing.
              return;
          }
  
          // Set time limit and update current value.
          @set_time_limit($newlimit);
          self::$currentend = $newend;
      }
code_tokens: public static function raise ( $ newlimit = 0 ) { global $ CFG ; // Special behaviour in unit tests so that we can check the value. if ( PHPUNIT_TEST ) { self :: $ unittestdata [ ] = $ newlimit ; } // If the time limit has already been set to 'infinite', ignore. Also do // nothing in CLI scripts (including unit testing) which are set to // infinite by default. if ( self :: $ currentend === 0 || CLI_SCRIPT ) { return ; } // Maximum time limit can be set in config. This can be useful for front-end // server systems; if the front-end server has a timeout without receiving // data, it's helpful to set this timeout lower to ensure that a suitable // error gets logged. if ( ! empty ( $ CFG -> maxtimelimit ) ) { $ realtimeout = max ( 1 , $ CFG -> maxtimelimit ) ; if ( $ newlimit === 0 ) { $ newlimit = $ realtimeout ; } else { $ newlimit = min ( $ newlimit , $ realtimeout ) ; } } // If new time limit is infinite, just set that. if ( $ newlimit === 0 ) { self :: $ currentend = 0 ; @ set_time_limit ( 0 ) ; return ; } // Calculate time limits to make sure it's longer than previous. $ now = time ( ) ; $ newend = $ now + $ newlimit ; if ( self :: $ currentend !== - 1 && self :: $ currentend > $ newend ) { // Existing time limit is already longer, so do nothing. return ; } // Set time limit and update current value. @ set_time_limit ( $ newlimit ) ; self :: $ currentend = $ newend ; }
docstring: Sets the PHP time limit to a number of seconds from now.
  
  This function will always extend the time limit (in other words, if the time
  limit has already been set further in the future, it will do nothing).
  
  In order to support front-end servers which may time out silently if no
  output is displayed, you should ideally only call this function if you expect
  some output to be displayed at the same time. (I.e. if you call this function
  each time around a loop, also display some output each time around the loop,
  such as a progress bar update.)
  
  @param int $newlimit Limit in seconds from now (0 = infinite)
docstring_tokens: Sets the PHP time limit to a number of seconds from now .