function objects() { if (isset($_POST["Token"]) && isset($_POST["ObjectId"]) && $_POST["Token"] != null) { $userId = Users::getUserIdByMobileToken($_POST["Token"]); if ($userId != -1) { if ($_POST["ObjectId"] == null) { $object = new stdClass(); $object->CurrentObject = null; $object->ParentObject = null; $object->ChildObjects = Objects::getAllVisibleObjectsInContainer(null, $userId); echo JSON_ENCODE($object); } else { $object = new stdClass(); $object->CurrentObject = Objects::getObject($_POST["ObjectId"]); $object->ParentObject = $object->CurrentObject["ObjectContainer"] == null ? null : Objects::getObject($object->CurrentObject["ObjectContainer"]); $object->ChildObjects = Objects::getAllVisibleObjectsInContainer($_POST["ObjectId"], $userId); echo JSON_ENCODE($object); } } } }
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); }