92 private ?
string $id = null;
114 $this->resourceLinkId = $resourceLink->
getRecordId();
123 $this->length = null;
125 $this->autoApprove =
false;
126 $this->expires = null;
146 if (empty($this->life)) {
147 $this->life = self::DEFAULT_SHARE_KEY_LIFE;
149 $this->life = max(min($this->life, self::MAX_SHARE_KEY_LIFE), 0);
151 $this->expires = time() + ($this->life * 60 * 60);
152 if (empty($this->
id)) {
153 if (empty($this->length) || !is_numeric($this->length)) {
154 $this->length = self::MAX_SHARE_KEY_LENGTH;
156 $this->length = max(min($this->length, self::MAX_SHARE_KEY_LENGTH), self::MIN_SHARE_KEY_LENGTH);
161 return $this->dataConnector->saveResourceLinkShareKey($this);
169 public function delete():
bool 171 return $this->dataConnector->deleteResourceLinkShareKey($this);
194 $this->dataConnector->loadResourceLinkShareKey($this);
195 if (!is_null($this->
id)) {
196 $this->length = strlen(strval($this->
id));
198 if (!is_null($this->expires)) {
199 $this->life = ($this->expires - time()) / 60 / 60;