SleepEffect.class.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /*
  3. Effet de workflow
  4. Fait une pause de x secondes
  5. */
  6. class SleepEffect{
  7. //Descriptif du type d'effet
  8. public static function manifest($key = null){
  9. $manifest = array(
  10. 'slug' => 'sleep',
  11. 'label' => 'Faire une pause',
  12. 'class' => get_called_class(),
  13. 'path' => __FILE__,
  14. 'icon' => 'fas fa-stopwatch',
  15. 'color' => '#ff9f43',
  16. );
  17. if(!isset($key)) return $manifest;
  18. return isset($manifest[$key]) ? $manifest[$key] : '' ;
  19. }
  20. //méthode d'affichage de l'effet
  21. public static function form($item){
  22. $html = '';
  23. $class = get_called_class();
  24. ob_start();
  25. ?>
  26. <div class="input-group">
  27. <div class="input-group-text input-group-prepend">
  28. Pause de :
  29. </div>
  30. <input type="text" data-id="time" class="form-control" value="<?php echo isset($item['time']) ? $item['time'] : '' ?>" placeholder="10">
  31. <div class="input-group-text input-group-prepend">
  32. secondes
  33. </div>
  34. </div>
  35. <?php
  36. $html = ob_get_clean();
  37. return $html;
  38. }
  39. public static function run($effect,$parameters = array()){
  40. global $conf;
  41. try{
  42. sleep($effect->values['time']);
  43. $logs = 'Attente pendant : "'.$effect->values['time'].'" secondes ';
  44. }catch(Exception $e){
  45. $logs .= '<span class="text-danger"><br>Erreur : '.$e->getMessage().'</span>';
  46. }
  47. return $logs;
  48. }
  49. }
  50. ?>