requestDir = __DIR__ . $dirName; } public function generateRequest($owner, $key) { if(!isset($owner) || !isset($key)) return ['error'=>'Request could not be processed', 'status'=> 400]; $requester = $_SERVER['PHP_AUTH_USER']; if($owner == $requester) return ['error'=>'You do not need to request access to your own keys', 'status'=> 400]; $requestFileName = $this->requestDir . '/' . $owner . '.json'; $openRequests = new stdClass(); if(file_exists($requestFileName)) $openRequests = json_decode(file_get_contents($requestFileName)); foreach($openRequests->{$requester} as $request) { if($request->requested_key == $key) return ['error'=>'You already requested that key', 'status'=>400]; } $newData = new StdClass(); $newData->requested_key = $key; $newData->created = new DateTime()->format('c'); if(!isset($openRequests->{$requester})); $openRequests->{$requester} = array(); $dataIndex = count($openRequests->{$requester}); $openRequests->{$requester}[$dataIndex] = $newData; if(!file_put_contents($requestFileName, json_encode($openRequests, JSON_PRETTY_PRINT))) return['error'=>'request cannot be stored on the server', 'status'=>400]; return ['success'=>'Your request was registered successfully', 'status'=>200]; } }