コード例 #1
0
ファイル: script-1.php プロジェクト: Tipkin-Commons/tipkin
function lauchScript1()
{
    $managers = new Managers('pdo', PDOFactory::getMysqlConnexion());
    $reservationManager = $managers->getManagerOf('announcementreservations');
    $announcementManager = $managers->getManagerOf('announcements');
    $userManager = $managers->getManagerOf('users');
    //On supprime les réservations non-payée
    $reservationManager->deletePassedWaitingPaiement();
    $listOfReservationPassed = $reservationManager->getListOfPassed();
    $messageMail = new Mail();
    $countRervation = 0;
    foreach ($listOfReservationPassed as $reservation) {
        $reservation->setStateId(PaiementStates::CANCELED);
        $reservation->setUpdatedTime(time());
        $reservation->setKeyCheck(null);
        $reservationManager->save($reservation);
        $announce = $announcementManager->get($reservation->getAnnouncementId());
        $userOwner = $userManager->get($reservation->getUserOwnerId());
        $userSubscriber = $userManager->get($reservation->getUserSubscriberId());
        $messageMail->sendReservationSubscriberCanceled($userOwner, $userSubscriber, $announce);
        $messageMail->sendAdminReservationSubscriberCanceled($userOwner, $userSubscriber, $announce, $reservation);
        $countRervation++;
    }
    if ($countRervation > 0) {
        echo $countRervation . ' mail(s) d\'annulation de réservation envoyé(s) !';
    }
}
コード例 #2
0
 public function __construct($api, $app)
 {
     $this->api = $api;
     $this->dao = PDOFactory::getMysqlConnexion($app);
     $this->dal_folder_path = $app->config()->get("DalFolderPath");
     $this->core_dal_folder_path = "\\Library\\DAL\\Modules\\";
 }
コード例 #3
0
 public function __construct(Application $app, $module, $action = '')
 {
     parent::__construct($app);
     $this->managers = new Managers('PDO', PDOFactory::getMysqlConnexion());
     $this->page = new Page($app);
     $this->setModule($module);
     $this->setAction($action);
     $this->setView($action);
 }
コード例 #4
0
 public function __construct(Application $app, $module, $action)
 {
     parent::__construct($app);
     $this->managers = new Managers('PDO', PDOFactory::getMysqlConnexion());
     $this->page = new Page($app);
     $this->cache = new Cache(__DIR__ . '/../../tmp/cache/datas', __DIR__ . '/../../tmp/cache/views');
     $this->setModule($module);
     $this->setAction($action);
     $this->setView($action);
 }
コード例 #5
0
 public function __construct(Application $app, $module, $action)
 {
     parent::__construct($app);
     $this->managers = new Managers('pdo', PDOFactory::getMysqlConnexion());
     $this->page = new Page($app);
     $this->setModule($module);
     $this->setAction($action);
     $this->setView($action);
     if ($this->app->name() == 'frontend') {
         $this->initUser();
     } else {
         $this->initAdmin();
     }
 }
コード例 #6
0
ファイル: script-2.php プロジェクト: Tipkin-Commons/tipkin
function lauchScript2()
{
    $managers = new Managers('pdo', PDOFactory::getMysqlConnexion());
    $reservationManager = $managers->getManagerOf('announcementreservations');
    $feedbacksManager = $managers->getManagerOf('feedbacks');
    $feedbackRequestsManager = $managers->getManagerOf('feedbackrequests');
    $contactsManager = $managers->getManagerOf('contacts');
    $contactRequestsManager = $managers->getManagerOf('contactrequests');
    $usersManager = $managers->getManagerOf('users');
    $listOfPassedReservation = $reservationManager->getListOfPassedValidated();
    $messageMail = new Mail();
    foreach ($listOfPassedReservation as $reservation) {
        $listOfFeddbackRequest = $feedbackRequestsManager->getByReservationId($reservation->id());
        $listOfFeddback = $feedbacksManager->getByReservationId($reservation->id());
        if (count($listOfFeddback) + count($listOfFeddbackRequest) == 0) {
            $feedbackRequest = new FeedbackRequest();
            $feedbackRequest->setAnnounceId($reservation->getAnnouncementId());
            $feedbackRequest->setReservationId($reservation->id());
            $feedbackRequest->setUserOwnerId($reservation->getUserOwnerId());
            $feedbackRequest->setUserSubscriberId($reservation->getUserSubscriberId());
            //ENVOI POUR LE PRETEUR
            $feedbackRequest->setId(null);
            $feedbackRequest->setUserAuthorId($feedbackRequest->getUserOwnerId());
            $feedbackRequestsManager->save($feedbackRequest);
            //Envoyer un mail pour le preteur ICI
            $messageMail->sendFeedbackRequest($usersManager->get($feedbackRequest->getUserOwnerId()), $usersManager->get($feedbackRequest->getUserSubscriberId()));
            //ENVOI POUR L'EMPRUNTEUR
            $feedbackRequest->setId(null);
            $feedbackRequest->setUserAuthorId($feedbackRequest->getUserSubscriberId());
            $feedbackRequestsManager->save($feedbackRequest);
            //Envoyer un mail pour l'emprunteur ICI
            $messageMail->sendFeedbackRequest($usersManager->get($feedbackRequest->getUserSubscriberId()), $usersManager->get($feedbackRequest->getUserOwnerId()));
            //On effectue la création d'un ajout de contact s'ils ne le sont pas déjà ou qu'aucune demande n'est en attente
            $contactRequest = new ContactRequest();
            $contactRequest->setContactGroupId(ContactGroups::TIPPEURS);
            $contactRequest->setUserIdFrom($reservation->getUserSubscriberId());
            $contactRequest->setUserIdTo($reservation->getUserOwnerId());
            if (!$contactRequestsManager->isContactRequestExist($contactRequest) && !$contactsManager->isContactExistById($contactRequest->getUserIdFrom(), $contactRequest->getUserIdTo())) {
                $contactRequestsManager->save($contactRequest);
                $userFrom = $usersManager->get($contactRequest->getUserIdFrom());
                $userTo = $usersManager->get($contactRequest->getUserIdTo());
                $messageMail->sendContactRequest($userFrom, $userTo);
            }
        }
    }
}
コード例 #7
0
 public function redirect404()
 {
     $this->page = new Page($this->app);
     $this->page->smarty()->force_compile = true;
     $this->addHeader('HTTP/1.0 404 Not Found');
     $this->page->addTemplateDir(dirname(__FILE__) . '/../apps/' . $this->app->name() . '/templates/');
     $this->page->addTemplateDir(dirname(__FILE__) . '/../errors/');
     if ($this->app->name() == 'backend') {
         $this->page->smarty()->assign('isAdminAuthenticate', 'false');
         if ($this->app()->user()->isAdminAuthenticated()) {
             $this->page->smarty()->assign('isAdminAuthenticate', 'true');
         }
     } else {
         $this->page->smarty()->assign('isAuthenticate', 'false');
         if ($this->app()->user()->isAuthenticated()) {
             $userManager = new UsersManager_PDO(PDOFactory::getMysqlConnexion());
             $user = $userManager->get($this->app->user()->getAttribute('id'));
             $this->page->smarty()->assign('isAuthenticate', 'true');
             $this->page->smarty()->assign('currentUser', $user);
         }
     }
     $this->page->smarty()->assign('title', 'Erreur 404');
     $this->page->smarty()->display('404.tpl');
 }
コード例 #8
0
    protected $db;
    public function __construct(PDO $db)
    {
        $this->db = $db;
    }
    public function update(SplSubject $obj)
    {
        $q = $this->db->prepare('INSERT INTO erreurs SET erreur = :erreur');
        $q->bindValue(':erreur', $obj->getFormatedError());
        $q->execute();
    }
}
// Tester le code
$o = new ErrorHandler();
// Nous créons un nouveau gestionnaire d'erreur.
$db = PDOFactory::getMysqlConnexion();
$o->attach(new MailSender('*****@*****.**'))->attach(new BDDWriter($db));
set_error_handler([$o, 'error']);
// Ce sera par la méthode error() de la classe ErrorHandler que les erreurs doivent être traitées.
5 / 0;
// Générons une erreur
?>
                </p>
                
                
                <!-- Pattern Strategy
                ================================================== -->
                <h2>Le pattern Strategy</h2>
                <p>Séparer les algorithmes</p>
                <p class="col-sm-12">
                    <?php