format
[PHP-P10.git] / Tools / timer.inc.php
index 57c63188f210c1729ea19d75dc2cbb7f42270064..1ba5cd7488f9e14b9158e4ab2375c77d3139d860 100644 (file)
@@ -1,51 +1,76 @@
 <?php
+/******************************* PHP-P10 v2 *****************************
+ * Copyright (C) 2011-2012  Philipp Kreil (pk910)                       *
+ *                                                                      *
+ * This program is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation, either version 3 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
+ *                                                                      *
+ ************************************************************************
+ *
+ * Tools/timer.inc.php
+ *
+ *  timer functions
+ */
 $timers['id']=0;
 
 function timer_loop() {
- global $timers;
- $mtime = microtime(true);
- $ret = false;
- foreach ($timers as $id => $timer) {
-  if(($timer['expire'] - 0.00019) <= $mtime) { //we expire a timer 0,19 ms before (to reduce timer desyncs)
-   if((is_array($timer['function']) && method_exists($timer['function'][0],$timer['function'][1])) || (!is_array($timer['function']) && function_exists($timer['function']))) {
-    call_user_func_array($timer['function'],$timer['params']);
-   }
-   $ret = true;
-   unset($timers[$id]);
-  }
- }
- return $ret;
      global $timers;
      $mtime = microtime(true);
      $ret = false;
      foreach ($timers as $id => $timer) {
+               if(($timer['expire'] - 0.00019) <= $mtime) { //we expire a timer 0,19 ms before (to reduce timer desyncs)
+                       if((is_array($timer['function']) && method_exists($timer['function'][0],$timer['function'][1])) || (!is_array($timer['function']) && function_exists($timer['function']))) {
+                               call_user_func_array($timer['function'],$timer['params']);
+                       }
+                       $ret = true;
+                       unset($timers[$id]);
+               }
      }
      return $ret;
 }
 
 function timer($seconds,$command,$parameter) {
- global $timers;
- $new['expire'] = microtime(true) + $seconds;
- $new['function'] = $command;
- $new['params'] = $parameter;
- while(isset($timers[$timers['id']])|| !isset($timers['id'])) {
-  $timers['id']++;
-  if($timers['id'] > 9999999) $timers['id'] = 0;
- }
- $timers[$timers['id']] = $new;
- return $timers['id'];
+       global $timers;
+       $new['expire'] = microtime(true) + $seconds;
+       $new['function'] = $command;
+       $new['params'] = $parameter;
+       if(!array_key_exists('id', $timers)) {
+               $timers['id'] = 0;
+       }
+       while(isset($timers[$timers['id']])|| !isset($timers['id'])) {
+               $timers['id']++;
+               if($timers['id'] > 9999999) $timers['id'] = 0;
+       }
+       $timers[$timers['id']] = $new;
+       return $timers['id'];
 }
 
 function utimer($seconds,$command,$parameter) {
- global $timers;
- $new['expire'] = microtime(true) + ($seconds / 1000);
- $new['function'] = $command;
- $new['params'] = $parameter;
- while($timers[$timers['id']] || !$timers['id']) {
-  $timers['id']++;
-  if($timers['id'] > 9999999) $timers['id'] = 0;
- }
- $timers[$timers['id']] = $new;
- return $timers['id'];
      global $timers;
      $new['expire'] = microtime(true) + ($seconds / 1000);
      $new['function'] = $command;
      $new['params'] = $parameter;
      while($timers[$timers['id']] || !$timers['id']) {
+               $timers['id']++;
+               if($timers['id'] > 9999999) $timers['id'] = 0;
      }
      $timers[$timers['id']] = $new;
      return $timers['id'];
 }
 
 function kill_timer($id) {
- global $timers;
- unset($timers[$id]);
      global $timers;
      unset($timers[$id]);
 }
 
 $timers['id']=0;