use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Network\HTTPException;
use Friendica\Protocol\Activity;
use Friendica\Protocol\Diaspora;
use Friendica\Util\DateTimeFormat;
* the theme is chosen before the _init() function of a theme is run, which will usually
* load a lot of theme-specific content
*
- * @param App $a
- * @param string $nickname string
- *
+ * @param App $a
+ * @param string $nickname string
+ * @param bool $show_contacts
* @return array Profile
- * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ *
+ * @throws HTTPException\NotFoundException
+ * @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
public static function load(App $a, string $nickname, bool $show_contacts = true)
return [];
}
+ // System user, aborting
+ if ($profile['uid'] === 0) {
+ DI::logger()->warning('System user found in Profile::load', ['nickname' => $nickname, 'callstack' => System::callstack(20)]);
+ throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
+ }
+
$a->setProfileOwner($profile['uid']);
DI::page()['title'] = $profile['name'] . ' @ ' . DI::config()->get('config', 'sitename');