function ws_isResourceAvailable($itemId, $qty) { session_start(); $userId = $_SESSION["userid"]; $item = db_getItem($itemId); $result = true; if ($item->type == "PACKAGE") { $packageItems = db_getPackageItem($item->id); foreach ($packageItems as $packageItem) { $item = db_getItem($id); if (!ws_isResourceAvailable($item->id, $packageItem->quantity * $qty)) { return false; } } } else { $timeZoneId = db_getUserTimeZone($userId)->data; $item = db_getItem($itemId); $creditType = ws_getCreditTypeById($item->referenceid); $course = db_getCourseById($creditType->courseId); $policy = ws_getPolicyById($creditType->policyId, $timeZoneId); $dates = ws_getItemStartAndEndDates($policy, $timeZoneId); $startDate = $dates['startDate']; $endDate = $dates['endDate']; $quota = $policy->quotaInPeriod * $qty; try { $params = array('course' => $course->fullname, 'resourceType' => $creditType->resource, 'start' => $startDate, 'end' => $endDate, 'quota' => $quota); $client = new SoapClient(WSDL_VL, array('location' => LOCATION_VL)); $response = $client->isResourceAvailable($params); $result = $response->success; } catch (Exception $e) { $result = false; } catch (SoapFault $soapfault) { $result = false; } } return $result; }
} $policy = array('id' => $id, 'name' => $name, 'description' => $description, 'policyType' => $type, 'absolute' => $absolute, 'startDate' => $startDate, 'daysToRelStart' => $daysToRelStart, 'daysInPeriod' => $noDaysInPeriod, 'numberOfPeriods' => $noPeriods, 'active' => $active, 'assignable' => $assignable, 'maximum' => $maxQuota, 'minimum' => $minQuota, 'quotaInPeriod' => $quotaInPeriod); } } } } session_start(); $userId = $_SESSION["userid"]; $timeZoneId = db_getUserTimeZone($userId)->data; $response = pol_modifyPolicy($policy, $timeZoneId); echo json_encode($response); } else { if ($action == "getPolicy") { session_start(); $userId = $_SESSION["userid"]; $timeZoneId = db_getUserTimeZone($userId)->data; $id = isset($_POST['id']) ? $_POST['id'] : ""; $response = pol_getPolicy($id, $timeZoneId); echo json_encode($response); } else { if ($action == "deletePolicy") { $id = isset($_POST['id']) ? $_POST['id'] : ""; $response = pol_deletePolicy($id); echo json_encode($response); } } } } } } //***********************************************************
function sto_getItemDescription($itemid) { session_start(); $userId = $_SESSION["userid"]; $item = db_getItem($itemid); $timeZoneId = db_getUserTimeZone($userId)->data; $description = ""; if ($item->type == "PACKAGE") { $items = array(); $packageItems = db_getPackageItems($item->id); foreach ($packageItems as $packageItem) { $item = db_getItem($packageItem->itemid); $item->quantity = $packageItem->quantity; array_push($items, $item); } $description .= "<ul>"; foreach ($items as $item) { $creditType = ws_getCreditTypeById($item->referenceid); $course = db_getCourseById($creditType->courseId); $description .= "<li>"; $description .= "<strong>" . $item->name . "(" . $item->quantity . "):</strong> "; $description .= "This item allows students enrolled in the course " . $course->shortname . " to use the resource " . $creditType->resource . " for "; $description .= sto_getPolicyDescription($creditType->policyId, $timeZoneId); $description .= "</li>"; } $description .= "</ul>"; } else { $creditType = ws_getCreditTypeById($item->referenceid); $course = db_getCourseById($creditType->courseId); $description .= "This item allows students enrolled in the course " . $course->shortname . " to use the resource " . $creditType->resource . " for "; $description .= sto_getPolicyDescription($creditType->policyId, $timeZoneId); } return $description; }