Main = new Main(); } /** Método trata campo key */ public function setKey(string $key) : void { $this->key = !empty($key) ? $this->Main->antiInjection($key) : null; /** Verifica se a chave foi informada */ if(!empty($key)) { // Verifica se a senha tem pelo menos 8 caracteres if (strlen($this->key) < 8) { array_push($this->errors, 'A senha deve ter pelo menos 8 caracteres.'); } // Verifica se a senha contém pelo menos uma letra maiúscula if (!preg_match('/[A-Z]/', $this->key)) { array_push($this->errors, 'A senha deve conter pelo menos uma letra maiúscula.'); } // Verifica se a senha contém pelo menos uma letra minúscula if (!preg_match('/[a-z]/', $this->key)) { array_push($this->errors, 'A senha deve conter pelo menos uma letra minúscula.'); } // Verifica se a senha contém pelo menos um número if (!preg_match('/\d/', $this->key)) { array_push($this->errors, 'A senha deve conter pelo menos um número.'); } // Verifica se a senha contém pelo menos um caractere especial if (!preg_match('/[\W_]/', $this->key)) { array_push($this->errors, 'A senha deve conter pelo menos um caractere especial.'); } } else { /** Adição de elemento */ array_push($this->errors, 'É preciso informar uma chave válida'); } } /** Método trata campo log_id */ public function setLogId(int $logId) : void { /** Trata a entrada da informação */ $this->logId = isset($logId) ? $this->Main->antiInjection($logId) : null; /** Verifica se a informação foi informada */ if(empty($this->logId)) { /** Adição de elemento */ array_push($this->errors, 'O campo "log_id", deve ser informado'); } } /** Método trata campo client_id */ public function setClientId(int $clientId) : void { /** Trata a entrada da informação */ $this->clientId = isset($clientId) ? $this->Main->antiInjection($clientId) : null; /** Verifica se a informação foi informada */ if(empty($this->clientId)) { /** Adição de elemento */ array_push($this->errors, 'O campo "client_id", deve ser informado'); } } /** Método trata campo date_post */ public function setDatePost(string $datePost) : void { /** Trata a entrada da informação */ $this->datePost = isset($datePost) ? $this->Main->antiInjection($datePost) : null; /** Verifica se a informação foi informada */ if(empty($this->datePost)) { /** Adição de elemento */ array_push($this->errors, 'O campo "date_post", deve ser informado'); } } /** Método trata campo file */ public function setFile(string $file) : void { /** Trata a entrada da informação */ $this->file = isset($file) ? base64_decode($this->Main->antiInjection($file)) : null; /** Verifica se a informação foi informada */ if(empty($this->file)) { /** Adição de elemento */ array_push($this->errors, 'O campo "file", deve ser informado'); } } /** Método retorna campo log_id */ public function getLogId() : ? int { /** Retorno da informação */ return (int)$this->logId; } /** Método retorna campo client_id */ public function getClientId() : ? int { /** Retorno da informação */ return (int)$this->clientId; } /** Método retorna campo date_post */ public function getDatePost() : ? string { /** Retorno da informação */ return (string)$this->datePost; } /** Método retorna campo file */ public function getFile() : ? string { /** Retorno da informação */ return (string)$this->file; } public function getErrors(): ? string { /** Verifico se deve informar os erros */ if (count($this->errors)) { /** Verifica a quantidade de erros para informar a legenda */ $this->info = count($this->errors) > 1 ? '
Os seguintes erros foram encontrados
' : '
O seguinte erro foi encontrado
'; /** Lista os erros */ foreach ($this->errors as $keyError => $error) { /** Monto a mensagem de erro */ $this->info .= '
' . ($keyError + 1) . ' - ' . $error; } /** Retorno os erros encontrados */ return (string)$this->info; } else { return false; } } function __destruct(){} }