0) { $salt .= substr( sha1(dcCore::app()->getNonce() . date('U')), 2, $saltlen - strlen($salt) ); $secret = crypt($secret, $salt); } return($secret); } /** * Setting: active */ public static function isActive(): bool { return (bool) dcCore::app()->blog->settings->get(My::id())->get('active'); } /** * Setting: crypt */ public static function cryptMethod(): string { return (string) dcCore::app()->blog->settings->get(My::id())->get('crypt'); } /** * Setting: message */ public static function httpMessage(): string { return (string) dcCore::app()->blog->settings->get(My::id())->get('message'); } /** * Get passwords file path */ public static function passwordFile(): string { return dcCore::app()->blog->public_path . DIRECTORY_SEPARATOR . My::FILE_PASSWORD; } /** * Check passwords file */ public static function isWritable(): bool { if (false === ($fp = fopen(self::passwordFile(), 'a+'))) { return false; } fclose($fp); return true; } /** * Send HTTP message */ public static function sendHttp401(): void { header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="' . utf8_decode(htmlspecialchars_decode(self::httpMessage())) . '"'); exit(0); } }