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;
}
예제 #2
0
                 }
             }
         }
     }
 }
 $items = explode(',', $newcart);
 $newcart = '';
 $contents = array();
 foreach ($items as $item) {
     $contents[$item] = isset($contents[$item]) ? $contents[$item] + 1 : 1;
 }
 $formattedShopCartItems = array();
 $result = array();
 foreach ($contents as $i => $qty) {
     $id = substr($i, 2);
     if (ws_isResourceAvailable($id, $qty)) {
         $item = refactored_db_getItem($id);
         $prefix = "i-";
         if ($item['type'] == "PACKAGE") {
             $prefix = "p-";
         }
         for ($i = 0; $i < $qty; $i++) {
             if ($newcart) {
                 $newcart .= ',' . $prefix . $id;
             } else {
                 $newcart = $prefix . $id;
             }
         }
     }
 }
 $_SESSION[$user . 'cart'] = $newcart;