	private static function notifyAction()
	{
		if (! wCMS::$loggedIn) {
			return;
		}
		if (! wCMS::$currentPageExists) {
			wCMS::alert('info', '<b>This page (' . wCMS::$currentPage . ') doesn\'t exist.</b> Click inside the content below to create it.');
		}
		if (wCMS::get('config', 'login') === 'loginURL') {
			wCMS::alert('warning', 'Change the default admin login URL. (<i>Settings -> Security</i>)', true);
		}
		if (password_verify('admin', wCMS::get('config', 'password'))) {
			wCMS::alert('danger', 'Change the default password. (<i>Settings -> Security</i>)', true);
		}
		$repoVersion = wCMS::getOfficialVersion();
		if ($repoVersion != version) {
			wCMS::alert('info', '<b>New WonderCMS update available.</b><p>- Backup your website and check <a href="https://wondercms.com/whatsnew" target="_blank">what\'s new</a> before updating.</p><form action="' . wCMS::url(wCMS::$currentPage) . '" method="post" class="marginTop5"><button type="submit" class="btn btn-info" name="backup">Create backup</button><input type="hidden" name="token" value="' . wCMS::generateToken() . '"></form><form action="" method="post" class="marginTop5"><button class="btn btn-info" name="upgrade">Update WonderCMS</button><input type="hidden" name="token" value="' . wCMS::generateToken() . '"></form>', true);
		}
	}

The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.