protected function loadPage()
 {
     $task_table = new PhabricatorWorkerTrigger();
     $conn_r = $task_table->establishConnection('r');
     $rows = queryfx_all($conn_r, 'SELECT t.* FROM %T t %Q %Q %Q %Q', $task_table->getTableName(), $this->buildJoinClause($conn_r), $this->buildWhereClause($conn_r), $this->buildOrderClause($conn_r), $this->buildLimitClause($conn_r));
     $triggers = $task_table->loadAllFromArray($rows);
     if ($triggers) {
         if ($this->needEvents) {
             $ids = mpull($triggers, 'getID');
             $events = id(new PhabricatorWorkerTriggerEvent())->loadAllWhere('triggerID IN (%Ld)', $ids);
             $events = mpull($events, null, 'getTriggerID');
             foreach ($triggers as $key => $trigger) {
                 $event = idx($events, $trigger->getID());
                 $trigger->attachEvent($event);
             }
         }
         foreach ($triggers as $key => $trigger) {
             $clock_class = $trigger->getClockClass();
             if (!is_subclass_of($clock_class, 'PhabricatorTriggerClock')) {
                 unset($triggers[$key]);
                 continue;
             }
             try {
                 $argv = array($trigger->getClockProperties());
                 $clock = newv($clock_class, $argv);
             } catch (Exception $ex) {
                 unset($triggers[$key]);
                 continue;
             }
             $trigger->attachClock($clock);
         }
         foreach ($triggers as $key => $trigger) {
             $action_class = $trigger->getActionClass();
             if (!is_subclass_of($action_class, 'PhabricatorTriggerAction')) {
                 unset($triggers[$key]);
                 continue;
             }
             try {
                 $argv = array($trigger->getActionProperties());
                 $action = newv($action_class, $argv);
             } catch (Exception $ex) {
                 unset($triggers[$key]);
                 continue;
             }
             $trigger->attachAction($action);
         }
     }
     return $triggers;
 }
 public static function initializeNewEvent(PhabricatorWorkerTrigger $trigger)
 {
     $event = new PhabricatorWorkerTriggerEvent();
     $event->setTriggerID($trigger->getID());
     return $event;
 }
 protected function describeTrigger(PhabricatorWorkerTrigger $trigger)
 {
     return pht('Trigger %d', $trigger->getID());
 }