Пример #1
0
 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;
 }
Пример #2
0
/**
 * 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">
Пример #3
0
 $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);
 }
 ?>
Пример #4
0
 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);
Пример #5
0
 */
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;
Пример #6
0
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
Пример #7
0
<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">