Пример #1
0
<?php

/**
 * Created by PhpStorm.
 * User: Ken
 * Date: 10/06/14
 * Time: 15:02
 * Permet la désactivation d'un Plan
 */
$projectRoot = $_SERVER['DOCUMENT_ROOT'] . '/OwlEyes';
require_once $projectRoot . '/required.php';
$id = $_GET['id'];
var_dump($id);
$accountManager = new AccountPdoManager();
$userManager = new UserPdoManager();
$account = $accountManager->findById($id);
$user = $accountManager->findById($id);
//Critère de recherche pour le compte
$criteriaAccount = array('_id' => new MongoId($account->getId()));
//Critère de recherche pour le user
$criteriaUser = array('_id' => new MongoId($account->getUser()));
$updateCriteria = array('$set' => array('state' => new MongoInt32(0)));
var_dump($criteriaUser);
var_dump($updateCriteria);
$disableUserAccount = $accountManager->findAndModify($criteriaAccount, $updateCriteria, NULL, array('new' => TRUE));
$disableUser = $userManager->findAndModify($criteriaUser, $updateCriteria, NULL, array('new' => TRUE));
header('Location: ../pages/users.php');
Пример #2
0
echo 'Utilisation du findById avec une string en parametre';
$userFoundById = $userPdoManager->findById('53388c1d09413a282e00002a');
var_dump($userFoundById);
echo '----------------------------------------<br />';
echo 'Recuperer tous les utilisateurs';
$allUsers = $userPdoManager->findAll();
var_dump($allUsers);
echo '----------------------------------------<br />';
echo 'Utilisation du findAndModify puis create<br />';
$searchQuery = array('lastName' => 'Truc', 'firstName' => 'Alban');
$updateCriteria = array('$set' => array('isAdmin' => true));
$fields = array('state' => 1);
$options = array('new' => true);
//pour récupérer l'user après modification
echo '____recupere l\'user AVANT modification';
$user = $userPdoManager->findAndModify($searchQuery, $updateCriteria);
var_dump($user);
echo '____------<br />';
echo '____recupere uniquement le champ state (et id qui est obligatoire) APRES modification';
$updatedUser = $userPdoManager->findAndModify($searchQuery, $updateCriteria, $fields, $options);
var_dump($updatedUser);
echo '____------<br />';
$fields = NULL;
$options = array('remove' => true);
//supprimera au lieu de faire un update
echo '____user que l\'on supprime';
$result = $userPdoManager->findAndModify($searchQuery, $updateCriteria, $fields, $options);
var_dump($result);
echo '____---------------------<br />';
$user->setState(0);
echo '____Reinsertion de l\'objet precedemment supprime';
Пример #3
0
 //    $sDate = $userManager->formatMongoDate($startDate);
 //    $eDate = $userManager->formatMongoDate($endDate);
 $account = $accountManager->findById($id);
 //récupère l'idAccount
 $user = $account->getUser();
 //récupère l'idUser
 $user = $userManager->findById($user);
 //récupère ensuite les infos user byId
 $criteriaAccount = array('_id' => new MongoId($account->getId()));
 $criteriaUser = array('_id' => new MongoId($user->getId()));
 $updateFieldAccount = array('$set' => array('startDate' => new MongoDate($startDate), 'endDate' => new MongoDate($endDate), 'idRefPlan' => new MongoId(_sanitize($plan)), 'state' => new MongoInt32(1)));
 $updateFieldUser = array('$set' => array('firstName' => _sanitize($firstname), 'lastName' => _sanitize($lastname), 'password' => _sanitize($password), 'email' => _sanitize($email), 'geo' => _sanitize($geo), 'state' => new MongoInt32(1)));
 $options = array('new' => true);
 //    var_dump($updateFieldAccount);
 $editAccount = $accountManager->findAndModify($criteriaAccount, $updateFieldAccount, NULL, $options);
 $editUser = $userManager->findAndModify($criteriaUser, $updateFieldUser, NULL, $options);
 //    var_dump($criteriaAccount);
 //    var_dump($criteriaUser);
 //    echo '</br>';
 //    echo '----------';
 //    var_dump($updateFieldAccount);
 //    var_dump($updateFieldUser);
 // exit();
 if ($editAccount && $editUser == TRUE) {
     if (!array_key_exists('error', $editAccount)) {
         $message = 'User' . ' <strong>' . $firstname . '</strong> ' . 'has been successfully modified';
         $_SESSION['editUserMessage'] = $message;
         header('Location: ../pages/users.php');
         die;
     } else {
         $message = 'An error was encountered during update of' . $firstname;
Пример #4
0
             if ($account instanceof Account) {
                 $time = time();
                 $end = $time + 30 * 24 * 60 * 60;
                 // + 30 jours
                 //Récupère l'id de l'user qui vient d'acheter, le plan qu'il vient d'acheter, son espace
                 //de stockage, son ratio. Met à jour sa date d'achat et de fin d'abonnement
                 $newAccount = array('_id' => new MongoId(), 'state' => (int) 1, 'idUser' => new MongoId($custom[0]), 'idRefPlan' => new MongoId($custom[1]), 'storage' => $account->getStorage(), 'ratio' => $account->getRatio(), 'startDate' => new MongoDate($time), 'endDate' => new MongoDate($end));
                 $accountPdoManager->create($newAccount);
                 //critères de recherche
                 $searchQuery = array('_id' => new MongoId($custom[0]));
                 //les modifications à réaliser
                 //en mettant un $set, on change uniquement le champ voulu
                 // sans le $set, on ferais un delete puis un insert
                 $updateCriteria = array('$set' => array('idCurrentAccount' => $newAccount['_id']));
                 //mise a jour de l'idCurrentAccount de l'user qui vient d'acheter
                 $updateUser = $userPdoManager->findAndModify($searchQuery, $updateCriteria, NULL, array('new' => TRUE));
             }
             // 1 FindAndModify pour récup le compte actuel: state à 0 + option récup la version modifiée    OK
             // 2 Insére un nouveau compte avec storage et ratio de l'ancien compte et Id du nouveau refPlan OK
             // 3 Update de l'idCurrentAccount du user                                                       OK
             // SI marche, affiche de message, sinon contacter le service technique
         }
     }
 } else {
     // Statut de paiement: Echec
     $payment = array('state' => (int) 2, 'payment_status' => $payment_status, 'idUser' => new MongoId($custom[0]), 'amount' => $payment_amount, 'date' => new MongoDate(), 'paypalReturn' => $_POST);
     $paymentPdoManager->create($payment);
     //                $payment = array(
     //                    'paymentStatus' => $payment_status,
     //                    'paypalReturn' => $_POST
     //                );