Esempio n. 1
0
 function generateFullReport()
 {
     $objectId = $_POST["object"];
     $objects = Objects::getAllVisibleObjectsInContainer($objectId, $_SESSION["id"]);
     $toRender = array();
     $done = false;
     $level = 0;
     $levelstack = array(count($objects));
     $sum = Objects::getObjectValue($objectId);
     while (!$done) {
         if (count($objects) > 0) {
             $levelstack[$level]--;
             $object = array_pop($objects);
             /*$object["ObjectContentValue"] = Objects::getVisibleObjectContentValue($object["ObjectId"],$_SESSION["id"]);
               $object["ObjectTotalValue"] = ($object["ObjectInitialValue"]+$object["ObjectContentValue"]) * $object["ObjectQuantity"];*/
             $object["ObjectTotalValue"] = $object["ObjectInitialValue"] * $object["ObjectQuantity"];
             if (isset($object["quantity"])) {
                 $object["quantity"] = $object["ObjectQuantity"] * $object["quantity"];
             } else {
                 $object["quantity"] = $object["ObjectQuantity"];
             }
             $object["level"] = $level * 25;
             //Effectuer l'opération sur l'objet en cours
             array_push($toRender, $object);
             $sum += $object["ObjectInitialValue"] * $object["quantity"];
             //Charger l'objet suivant
             if (Objects::isObjectContainer($object["ObjectId"])) {
                 $level++;
                 $objectsInContainer = Objects::getAllVisibleObjectsInContainer($object["ObjectId"], $_SESSION["id"]);
                 foreach ($objectsInContainer as $objectToAdd) {
                     $objectToAdd["quantity"] = $object["quantity"];
                     array_push($objects, $objectToAdd);
                 }
                 $levelstack[$level] = count($objectsInContainer);
             }
             while ($levelstack[$level] == 0 && $level > 0) {
                 $level--;
             }
         } else {
             $done = true;
         }
     }
     $container = Objects::getObject($objectId);
     $user = Users::getUser($_SESSION["id"]);
     $data = array("containerValue" => Objects::getObjectValue($objectId), "name" => $user["UserInfoFirstName"] . " " . $user["UserInfoLastName"], "date" => date("Y-m-j"), "objects" => $toRender, "total" => (Objects::getVisibleObjectContentValue($objectId, $_SESSION["id"]) + Objects::getObjectValue($objectId)) * Objects::getObjectQuantity($objectId), "container" => $container["ObjectName"], "containerId" => $container["ObjectId"], "containerQuantity" => $container["ObjectQuantity"]);
     $this->renderTemplate(file_get_contents("public/html/fullreport.html"), $data);
 }