src/CIC/EventSubscriber/cicLegacyTrackerStudentPortalChangeSchoolEventSubscriber.php line 44

Open in your IDE?
  1. <?php
  2. namespace App\CIC\EventSubscriber;
  3. use App\CIC\Service\cicApplyOnlineApiService;
  4. use App\Event\Residence\BookingResidenceUpdatedEvent;
  5. use App\Event\School\Student\StudentProfilePortalLoginChangeEvent;
  6. use App\Message\Cic\StudentProfilePortalApplicantUpdateMessage;
  7. use CIC\DB\envLoader\db;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  10. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  11. use Symfony\Component\Messenger\MessageBusInterface;
  12. class cicLegacyTrackerStudentPortalChangeSchoolEventSubscriber implements EventSubscriberInterface
  13. {
  14.     private ParameterBagInterface $params;
  15.     private $exporter;
  16.     private $sync false;
  17.     private EntityManagerInterface $em;
  18.     private MessageBusInterface $bus;
  19.     private db $db;
  20.     /**
  21.      * DepartmentChangeSubscriber constructor.
  22.      */
  23.     public function __construct(db $db)
  24.     {
  25.         $this->db $db;
  26.     }
  27.     public static function getSubscribedEvents()
  28.     {
  29.         return [
  30.             StudentProfilePortalLoginChangeEvent::class => [
  31.                 ['onChange'],
  32.             ],
  33.         ];
  34.     }
  35.     public function onChange(StudentProfilePortalLoginChangeEvent $event)
  36.     {
  37.         if($event->getStudent()->getStudentPortalUser()) {
  38.             //Update SINFO record
  39.             $this->db->update(
  40.                 'cssc_mysql',
  41.                 [
  42.                     'E_RPT_ID'=>$event->getStudent()->getStudentPortalUser(),
  43.                     'E_RPT_PW'=>$event->getStudent()->getStudentPortalKey(),
  44.                 ],
  45.                 'uuid=?',
  46.                 [
  47.                     $event->getStudent()->getUuid()->toBase32()]
  48.             );
  49.             //Insert erepAccount Record
  50.             $date=new \DateTime();
  51.             $this->db->insert('erep_accounts',[
  52.                 'usr'=>$event->getStudent()->getStudentPortalUser(),
  53.                 'pass'=>md5($event->getStudent()->getStudentPortalKey()),
  54.                 'dt'=>$date->format("Y-m-d H:i:s"),
  55.                 'STATUS'=>'created'
  56.             ]);
  57.         }
  58.         return;
  59.     }
  60. }