/** * Will start a ks (always a regular one with view and edit privileges * verification will be done according to the version */ public static function startKSessionFromLks($partner_id, $lks, $puser_id, $version, &$ks_str, &$ks, $desired_expiry_in_seconds = 86400) { $ks_max_expiry_in_seconds = ""; // see if we want to use the generic setting of the partner $result = myPartnerUtils::isValidLks($partner_id, $lks, $puser_id, $version, $ks_max_expiry_in_seconds); if ($result >= 0) { if ($ks_max_expiry_in_seconds && $ks_max_expiry_in_seconds < $desired_expiry_in_seconds) { $desired_expiry_in_seconds = $ks_max_expiry_in_seconds; } $ks = new ks(); $ks->valid_until = time() + $desired_expiry_in_seconds; // store in milliseconds to make comparison easier at validation time $ks->type = ks::TYPE_KS; $ks->partner_id = $partner_id; $ks->partner_pattern = $partner_id; $ks->error = 0; $ks->rand = microtime(true); $ks->user = $puser_id; $ks->privileges = "view:*,edit:*"; // give privileges for view & edit $ks_str = $ks->toSecureString(); return 0; } else { return $result; } }