public function findSharedElements($idUser = NULL, $path = 'all', $options = array()) { $criteria = array('state' => (int) 1); if ($idUser != NULL) { $criteria['idUser'] = new MongoId($idUser); } //récupération des droits sur les éléments $rightPdoManager = new RightPdoManager(); $rights = $rightPdoManager->find($criteria); $sharedElements = array(); //pour chaque droit if (is_array($rights) && !array_key_exists('error', $rights)) { foreach ($rights as $key => $right) { $owner = NULL; $refRight = NULL; //Récupération de l'élément $elementCriteria = array('_id' => new MongoId($right->getElement()), 'state' => (int) 1); if ($path != 'all') { if (isset($options['recursivePath']) && $options['recursivePath'] == TRUE) { $elementCriteria['serverPath'] = new MongoRegex("/^{$path}/i"); } else { $elementCriteria['serverPath'] = $path; } } $element = self::findOne($elementCriteria); if ($element instanceof Element) { /* * Nécessaire si on veut lier un right à un element. On le fait même dans le cas où le retour * du right n'est pas demandé; afin de limiter les traitements du retour de cette fonction (ne pas * avoir à distinguer un cas retour de listes d'objets et retour de liste de tableaux). */ $element = self::dismount($element); if (!in_array($element, $sharedElements)) { if (!empty($options)) { if (isset($options['returnUserInfo']) && $options['returnUserInfo'] == TRUE) { $userPdoManager = new UserPdoManager(); $userFieldsToReturn = array('state' => TRUE, 'lastName' => TRUE, 'firstName' => TRUE, 'email' => TRUE); $owner = $userPdoManager->findById($element['idOwner'], $userFieldsToReturn); if (!array_key_exists('error', $owner)) { $element['idOwner'] = $owner; } } if (isset($options['returnRefElementInfo']) && $options['returnRefElementInfo'] == TRUE) { $refElementPdoManager = new RefElementPdoManager(); $refElement = $refElementPdoManager->findById($element['idRefElement']); if (!array_key_exists('error', $refElement)) { $refElement = self::dismount($refElement); $element['idRefElement'] = $refElement; } } if (isset($options['returnRefRightInfo']) && $options['returnRefRightInfo'] == TRUE) { $options['returnRightInfo'] = TRUE; } if (isset($options['returnRightInfo']) && $options['returnRightInfo'] == TRUE) { $element['right'] = self::dismount($right); } if (isset($options['returnRefRightInfo']) && $options['returnRefRightInfo'] == TRUE && isset($element['right'])) { $refRightPdoManager = new RefRightPdoManager(); $refRight = $refRightPdoManager->findById($element['right']['idRefRight']); if (!array_key_exists('error', $refRight)) { $refRight = self::dismount($refRight); $element['right']['idRefRight'] = $refRight; } } } $sharedElements[] = $element; } } } if (empty($sharedElements)) { return array('error' => 'No match found.'); } } return $sharedElements; }
/** * Created by PhpStorm. * User: Ken * Date: 12/06/14 * Time: 09:53 */ $projectRoot = $_SERVER['DOCUMENT_ROOT'] . '/OwlEyes'; require_once $projectRoot . '/required.php'; session_start(); $userManager = new UserPdoManager(); $planManager = new RefPlanPdoManager(); $accountManager = new AccountPdoManager(); if (isset($_SESSION['owleyesOK'])) { $userSession = unserialize($_SESSION['owleyesOK']); $user = $userManager->findById($userSession->getId()); //retrouve l'user connecté grâce à l'id en session $userAccount = $accountManager->findById($user->getCurrentAccount()); //retrouve le compte user $userPlan = $planManager->findById($userAccount->getRefPlan()); //retrouve le plan user $startDateArray = $accountManager->formatMongoDate($userAccount->getStartDate()); $endDateArray = $accountManager->formatMongoDate($userAccount->getEndDate()); } else { header('Location:/OwlEyes/pages/login.php'); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8">
$userManager = new UserPdoManager(); $refElementEmptyDirectory = $refElementManager->findOne(array('code' => '4002', 'state' => 1)); if ($refElementEmptyDirectory instanceof RefElement) { $idRefElementEmptyDirectory = $refElementEmptyDirectory->getId(); } else { return $refElementEmptyDirectory; } $refElementNotEmptyDirectory = $refElementManager->findOne(array('code' => '4003', 'state' => 1)); if ($refElementNotEmptyDirectory instanceof RefElement) { $idRefElementNotEmptyDirectory = $refElementNotEmptyDirectory->getId(); } else { return $refElementNotEmptyDirectory; } $element = $elementManager->findById($_GET['id']); $refElement = $refElementManager->findById($element->getRefElement()); $user = $userManager->findById($element->getOwner()); echo '<div id="elementInformations"> <label name="validationMove">Are you sure you want to move this element ?</label> <ul> <li>Element name : ' . $element->getName() . '</li> <li>Current directory : ' . $element->getServerPath() . '</li> <li>Type : ' . $refElement->getDescription() . '</li> <li>Size : ' . $element->getSize() . ' KB</li> <li>Owner : ' . $user->getFirstName() . ' ' . $user->getLastName() . '</li> </ul> </div>'; function cmp($a, $b) { return strcmp($a, $b); } ?>
if ($startDate == FALSE || $endDate == FALSE) { $message = 'Invalid date. It may be because you are not using the YYYY-MM-DD format or your date is after Tuesday, 19th January 2038, date that is not handled'; $_SESSION['editUserInvalidMessage'] = $message; header('Location: ../pages/users.php'); die; } $userManager = new UserPdoManager(); $accountManager = new AccountPdoManager(); $planManager = new RefPlanPdoManager(); // $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);
*/ include '../header/header.php'; if (isset($_GET['id'])) { $id = $_GET['id']; } $userManager = new UserPdoManager(); $planManager = new RefPlanPdoManager(); $accountManager = new AccountPdoManager(); $allplan = $planManager->findAll(); $account = $accountManager->findById($id); //id account $accountUser = $account->getUser(); //id user $currentPlan = $planManager->findById($account->getRefPlan()); //id du plan $user = $userManager->findById($accountUser); //récupère la collection user via id /*********************************/ $criteria2014 = array('idUser' => $accountUser, 'startDate' => array('$gt' => new MongoDate(strtotime("2014-01-01 00:00:00")), '$lte' => new MongoDate(strtotime("2014-12-30 23:59:59")))); $filterDate = $accountManager->find($criteria2014); //foreach($filterDate as $thisAccount) //{ // // var_dump($thisAccount->getStorage()); // echo 'getUser'; // var_dump($thisAccount->getUser()); // var_dump($thisAccount->getRatio()); //} // //exit(); $total = 100;
echo '____Retourne uniquement le champ state'; $userFind = $userPdoManager->find(array('state' => 1), array('state' => 0)); var_dump($userFind); echo '____Retourne en objet'; $userFind = $userPdoManager->find(array('state' => 1)); var_dump($userFind); echo '----------------------------------------<br />'; echo 'Utilisation du findOne'; $userFindOne = $userPdoManager->findOne($userFind[0], array('_id')); var_dump($userFindOne); echo '____equivalent du findById'; $userFindOne = $userPdoManager->findOne(array('_id' => $userFind[0]->getId())); var_dump($userFindOne); echo '----------------------------------------<br />'; echo 'Utilisation du findById avec un MongoId en parametre'; $userFoundById = $userPdoManager->findById(new MongoId('53388c1d09413a282e00002a')); var_dump($userFoundById); 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
<div id="utils_fancybox"> <div id="imageClose"> <img src="./content/img/icon_close_box.png" onclick="closeBoxAndReload();"/> </div> </div> <?php if (isset($_POST['var']) && !empty($_POST['var'])) { $elementManager = new ElementPdoManager(); $refElementManager = new RefElementPdoManager(); $userManager = new UserPdoManager(); $refRightManager = new RefRightPdoManager(); $rightManager = new RightPdoManager(); $element = $elementManager->findById($_GET['id']); $refElement = $refElementManager->findById($element->getRefElement()); $user = $userManager->findById($element->getOwner()); $refRightList = $refRightManager->findAll(); $rightCriteria = array('idElement' => $element->getId(), 'state' => 1); $usersSharedElementList = $rightManager->find($rightCriteria); if (is_array($usersSharedElementList) && !array_key_exists('error', $usersSharedElementList)) { ?> <form id="modifyShare" method="POST"> <?php echo '<p><label name="nameRename">List of users who you shared this element:</label></p>'; echo '<input type="hidden" name="idElement" id="idElement" value="' . $_GET['id'] . '" read-only>'; foreach ($usersSharedElementList as $userSharedElement) { $user = $userManager->findById($userSharedElement->getUser()); $refRight = $refRightManager->findById($userSharedElement->getRefRight()); $codeRight = $refRight->getCode(); $descriptionRefRight = $refRight->getDescription(); echo '<div id="shareInformation">