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);
                    }
                }
            }
        }
    }
}
//***********************************************************
Пример #3
0
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;
}