original_string: public function execute() {
          global $CFG, $DB;
  
          $sql = "SELECT w.*
                    FROM {workshopallocation_scheduled} a
                    JOIN {workshop} w ON a.workshopid = w.id
                   WHERE a.enabled = 1
                     AND w.phase = 20
                     AND w.submissionend > 0
                     AND w.submissionend < ?
                     AND (a.timeallocated IS NULL OR a.timeallocated < w.submissionend)";
          $workshops = $DB->get_records_sql($sql, array(time()));
  
          if (empty($workshops)) {
              mtrace('... no workshops awaiting scheduled allocation. ', '');
              return;
          }
  
          mtrace('... executing scheduled allocation in ' . count($workshops) . ' workshop(s) ... ', '');
  
          require_once($CFG->dirroot . '/mod/workshop/locallib.php');
  
          foreach ($workshops as $workshop) {
              $cm = get_coursemodule_from_instance('workshop', $workshop->id, $workshop->course, false, MUST_EXIST);
              $course = $DB->get_record('course', ['id' => $cm->course], '*', MUST_EXIST);
              $workshop = new \workshop($workshop, $cm, $course);
              $allocator = $workshop->allocator_instance('scheduled');
              $allocator->execute();
          }
      }
code: public function execute() {
          global $CFG, $DB;
  
          $sql = "SELECT w.*
                    FROM {workshopallocation_scheduled} a
                    JOIN {workshop} w ON a.workshopid = w.id
                   WHERE a.enabled = 1
                     AND w.phase = 20
                     AND w.submissionend > 0
                     AND w.submissionend < ?
                     AND (a.timeallocated IS NULL OR a.timeallocated < w.submissionend)";
          $workshops = $DB->get_records_sql($sql, array(time()));
  
          if (empty($workshops)) {
              mtrace('... no workshops awaiting scheduled allocation. ', '');
              return;
          }
  
          mtrace('... executing scheduled allocation in ' . count($workshops) . ' workshop(s) ... ', '');
  
          require_once($CFG->dirroot . '/mod/workshop/locallib.php');
  
          foreach ($workshops as $workshop) {
              $cm = get_coursemodule_from_instance('workshop', $workshop->id, $workshop->course, false, MUST_EXIST);
              $course = $DB->get_record('course', ['id' => $cm->course], '*', MUST_EXIST);
              $workshop = new \workshop($workshop, $cm, $course);
              $allocator = $workshop->allocator_instance('scheduled');
              $allocator->execute();
          }
      }
code_tokens: public function execute ( ) { global $ CFG , $ DB ; $ sql = "SELECT w.*
                    FROM {workshopallocation_scheduled} a
                    JOIN {workshop} w ON a.workshopid = w.id
                   WHERE a.enabled = 1
                     AND w.phase = 20
                     AND w.submissionend > 0
                     AND w.submissionend < ?
                     AND (a.timeallocated IS NULL OR a.timeallocated < w.submissionend)" ; $ workshops = $ DB -> get_records_sql ( $ sql , array ( time ( ) ) ) ; if ( empty ( $ workshops ) ) { mtrace ( '... no workshops awaiting scheduled allocation. ' , '' ) ; return ; } mtrace ( '... executing scheduled allocation in ' . count ( $ workshops ) . ' workshop(s) ... ' , '' ) ; require_once ( $ CFG -> dirroot . '/mod/workshop/locallib.php' ) ; foreach ( $ workshops as $ workshop ) { $ cm = get_coursemodule_from_instance ( 'workshop' , $ workshop -> id , $ workshop -> course , false , MUST_EXIST ) ; $ course = $ DB -> get_record ( 'course' , [ 'id' => $ cm -> course ] , '*' , MUST_EXIST ) ; $ workshop = new \ workshop ( $ workshop , $ cm , $ course ) ; $ allocator = $ workshop -> allocator_instance ( 'scheduled' ) ; $ allocator -> execute ( ) ; } }
docstring: Run scheduled allocation cron.
docstring_tokens: Run scheduled allocation cron .