help/de/developer/addons/index.html
Friendica Robot db3e579467 d58f62838e
2022-07-27 21:01:35 +00:00

4591 lines
No EOL
111 KiB
HTML

<!doctype html>
<html lang="de" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.">
<meta name="author" content="The Friendica project">
<link rel="canonical" href="https://friendi.ca/de/developer/addons/">
<link rel="icon" href="../../../assets/images/friendica-32.png">
<meta name="generator" content="mkdocs-1.3.0, mkdocs-material-8.3.8">
<title>Addons - Friendica Dokumentation</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.1d29e8d0.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.cbb835fc.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../../assets/stylesheets/friendica.css">
<script>__md_scope=new URL("../../..",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="" data-md-color-primary="none" data-md-color-accent="none">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#friendica-addon-entwicklung" class="md-skip">
Zum Inhalt
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://friendi.ca" title="Friendica Dokumentation" class="md-header__button md-logo" aria-label="Friendica Dokumentation" data-md-component="logo">
<img src="../../../assets/images/friendica.svg" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Friendica Dokumentation
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Addons
</span>
</div>
</div>
</div>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Sprache wechseln">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="../../../developer/addons/" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="./" hreflang="de" class="md-select__link">
Deutsch
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Suche" placeholder="Suche" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Suche">
<a href="javascript:void(0)" class="md-search__icon md-icon" aria-label="Teilen" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" aria-label="Zurücksetzen" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Suche wird initialisiert
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/friendica/friendica" title="Quellcode" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
friendica/friendica
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../" class="md-tabs__link">
Start
</a>
</li>
<li class="md-tabs__item">
<a href="../../user/account-basics/" class="md-tabs__link">
Benutzer
</a>
</li>
<li class="md-tabs__item">
<a href="../../admin/install/" class="md-tabs__link">
Admin
</a>
</li>
<li class="md-tabs__item">
<a href="../" class="md-tabs__link md-tabs__link--active">
Developer
</a>
</li>
<li class="md-tabs__item">
<a href="../../bugs-and-issues/" class="md-tabs__link">
Bugs und Probleme
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://friendi.ca" title="Friendica Dokumentation" class="md-nav__button md-logo" aria-label="Friendica Dokumentation" data-md-component="logo">
<img src="../../../assets/images/friendica.svg" alt="logo">
</a>
Friendica Dokumentation
</label>
<div class="md-nav__source">
<a href="https://github.com/friendica/friendica" title="Quellcode" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
friendica/friendica
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../" class="md-nav__link">
Start
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2">
Benutzer
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Benutzer" data-md-level="1">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Benutzer
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1" type="checkbox" id="__nav_2_1" >
<label class="md-nav__link" for="__nav_2_1">
Erste Schritte
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Erste Schritte" data-md-level="2">
<label class="md-nav__title" for="__nav_2_1">
<span class="md-nav__icon md-icon"></span>
Erste Schritte
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user/account-basics/" class="md-nav__link">
Grundlagen
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1_2" type="checkbox" id="__nav_2_1_2" >
<label class="md-nav__link" for="__nav_2_1_2">
Schnellstart
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Schnellstart" data-md-level="3">
<label class="md-nav__title" for="__nav_2_1_2">
<span class="md-nav__icon md-icon"></span>
Schnellstart
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user/quick-start/guide/" class="md-nav__link">
Start
</a>
</li>
<li class="md-nav__item">
<a href="../../user/quick-start/network/" class="md-nav__link">
Netzwerk
</a>
</li>
<li class="md-nav__item">
<a href="../../user/quick-start/groups-and-pages/" class="md-nav__link">
Gruppen & Seiten
</a>
</li>
<li class="md-nav__item">
<a href="../../user/quick-start/making-new-friends/" class="md-nav__link">
Neue Freunde
</a>
</li>
<li class="md-nav__item">
<a href="../../user/quick-start/finally/" class="md-nav__link">
Zuletzt
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../user/text-editor/" class="md-nav__link">
Beiträge erstellen
</a>
</li>
<li class="md-nav__item">
<a href="../../user/bbcode/" class="md-nav__link">
BBCode
</a>
</li>
<li class="md-nav__item">
<a href="../../user/text-comment/" class="md-nav__link">
Kommentare
</a>
</li>
<li class="md-nav__item">
<a href="../../user/accesskeys/" class="md-nav__link">
Accesskeys
</a>
</li>
<li class="md-nav__item">
<a href="../../user/events/" class="md-nav__link">
Veranstaltungen
</a>
</li>
<li class="md-nav__item">
<a href="../../user/keyboard-shortcuts/" class="md-nav__link">
Shortcuts
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_2" type="checkbox" id="__nav_2_2" >
<label class="md-nav__link" for="__nav_2_2">
Du mit anderen Nutzer
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Du mit anderen Nutzer" data-md-level="2">
<label class="md-nav__title" for="__nav_2_2">
<span class="md-nav__icon md-icon"></span>
Du mit anderen Nutzer
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user/connectors/" class="md-nav__link">
Konnektoren
</a>
</li>
<li class="md-nav__item">
<a href="../../user/making-friends/" class="md-nav__link">
Freunde finden
</a>
</li>
<li class="md-nav__item">
<a href="../../user/groups-and-privacy/" class="md-nav__link">
Gruppen & Privatsphäre
</a>
</li>
<li class="md-nav__item">
<a href="../../user/tags-and-mentions/" class="md-nav__link">
Tags & Erwähnungen
</a>
</li>
<li class="md-nav__item">
<a href="../../user/forums/" class="md-nav__link">
Foren
</a>
</li>
<li class="md-nav__item">
<a href="../../user/chats/" class="md-nav__link">
Chats
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_3" type="checkbox" id="__nav_2_3" >
<label class="md-nav__link" for="__nav_2_3">
Weiterführende Informationen
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Weiterführende Informationen" data-md-level="2">
<label class="md-nav__title" for="__nav_2_3">
<span class="md-nav__icon md-icon"></span>
Weiterführende Informationen
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../user/move-account/" class="md-nav__link">
Accounts umziehen
</a>
</li>
<li class="md-nav__item">
<a href="../../user/export-import-contacts/" class="md-nav__link">
Import/Export Kontakte
</a>
</li>
<li class="md-nav__item">
<a href="../../user/remove-account/" class="md-nav__link">
Accounts löschen
</a>
</li>
<li class="md-nav__item">
<a href="../../user/two-factor-authentication/" class="md-nav__link">
2FA
</a>
</li>
<li class="md-nav__item">
<a href="../../user/faq/" class="md-nav__link">
FAQ
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3">
Admin
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Admin" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Admin
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_1" type="checkbox" id="__nav_3_1" >
<label class="md-nav__link" for="__nav_3_1">
Installation
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Installation" data-md-level="2">
<label class="md-nav__title" for="__nav_3_1">
<span class="md-nav__icon md-icon"></span>
Installation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../admin/install/" class="md-nav__link">
Installation
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/update/" class="md-nav__link">
Update
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/migrate/" class="md-nav__link">
Migrate
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_2" type="checkbox" id="__nav_3_2" >
<label class="md-nav__link" for="__nav_3_2">
Konfiguration
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Konfiguration" data-md-level="2">
<label class="md-nav__title" for="__nav_3_2">
<span class="md-nav__icon md-icon"></span>
Konfiguration
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../admin/settings/" class="md-nav__link">
Einstellungen
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/config/" class="md-nav__link">
Config Values
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/ssl/" class="md-nav__link">
SSL Einstellungen
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/improve-performance/" class="md-nav__link">
Performance verbessern
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/tools/" class="md-nav__link">
Tools
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_3" type="checkbox" id="__nav_3_3" >
<label class="md-nav__link" for="__nav_3_3">
Dritthersteller
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Dritthersteller" data-md-level="2">
<label class="md-nav__title" for="__nav_3_3">
<span class="md-nav__icon md-icon"></span>
Dritthersteller
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../admin/installing-connectors/" class="md-nav__link">
Connectors
</a>
</li>
<li class="md-nav__item">
<a href="../../admin/install-ejabberd/" class="md-nav__link">
Install ejabberd
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../admin/faq/" class="md-nav__link">
FAQ
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4">
Developer
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Developer" data-md-level="1">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Developer
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../" class="md-nav__link">
Guide
</a>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_2" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_4_2">
Set Up
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Set Up" data-md-level="2">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Set Up
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../github/" class="md-nav__link">
GitHub
</a>
</li>
<li class="md-nav__item">
<a href="../vagrant/" class="md-nav__link">
Vagrant
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" checked>
<label class="md-nav__link" for="__nav_4_3">
Code structure
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Code structure" data-md-level="2">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Code structure
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../domain-driven-design/" class="md-nav__link">
DDD
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Addons
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Addons
</a>
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#argumente" class="md-nav__link">
Argumente
</a>
</li>
<li class="md-nav__item">
<a href="#module" class="md-nav__link">
Module
</a>
</li>
<li class="md-nav__item">
<a href="#derzeitige-hooks" class="md-nav__link">
Derzeitige Hooks
</a>
</li>
<li class="md-nav__item">
<a href="#komplette-liste-der-hook-callbacks" class="md-nav__link">
Komplette Liste der Hook-Callbacks
</a>
<nav class="md-nav" aria-label="Komplette Liste der Hook-Callbacks">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#indexphp" class="md-nav__link">
index.php
</a>
</li>
<li class="md-nav__item">
<a href="#includeapiphp" class="md-nav__link">
include/api.php
</a>
</li>
<li class="md-nav__item">
<a href="#includeenotifyphp" class="md-nav__link">
include/enotify.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentconversationphp" class="md-nav__link">
src/Content/Conversation.php
</a>
</li>
<li class="md-nav__item">
<a href="#moddirectoryphp" class="md-nav__link">
mod/directory.php
</a>
</li>
<li class="md-nav__item">
<a href="#modxrdphp" class="md-nav__link">
mod/xrd.php
</a>
</li>
<li class="md-nav__item">
<a href="#modparse_urlphp" class="md-nav__link">
mod/parse_url.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmoduledelegationphp" class="md-nav__link">
src/Module/Delegation.php
</a>
</li>
<li class="md-nav__item">
<a href="#modaclphp" class="md-nav__link">
mod/acl.php
</a>
</li>
<li class="md-nav__item">
<a href="#modnetworkphp" class="md-nav__link">
mod/network.php
</a>
</li>
<li class="md-nav__item">
<a href="#modfriendicaphp" class="md-nav__link">
mod/friendica.php
</a>
</li>
<li class="md-nav__item">
<a href="#modprofilesphp" class="md-nav__link">
mod/profiles.php
</a>
</li>
<li class="md-nav__item">
<a href="#modsettingsphp" class="md-nav__link">
mod/settings.php
</a>
</li>
<li class="md-nav__item">
<a href="#modphotosphp" class="md-nav__link">
mod/photos.php
</a>
</li>
<li class="md-nav__item">
<a href="#modprofilephp" class="md-nav__link">
mod/profile.php
</a>
</li>
<li class="md-nav__item">
<a href="#modhomephp" class="md-nav__link">
mod/home.php
</a>
</li>
<li class="md-nav__item">
<a href="#modpokephp" class="md-nav__link">
mod/poke.php
</a>
</li>
<li class="md-nav__item">
<a href="#modcontactsphp" class="md-nav__link">
mod/contacts.php
</a>
</li>
<li class="md-nav__item">
<a href="#modtaggerphp" class="md-nav__link">
mod/tagger.php
</a>
</li>
<li class="md-nav__item">
<a href="#moduexportphp" class="md-nav__link">
mod/uexport.php
</a>
</li>
<li class="md-nav__item">
<a href="#modregisterphp" class="md-nav__link">
mod/register.php
</a>
</li>
<li class="md-nav__item">
<a href="#moditemphp" class="md-nav__link">
mod/item.php
</a>
</li>
<li class="md-nav__item">
<a href="#modeditpostphp" class="md-nav__link">
mod/editpost.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcnetworkfkoauth1php" class="md-nav__link">
src/Network/FKOAuth1.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcrenderfriendicasmartyenginephp" class="md-nav__link">
src/Render/FriendicaSmartyEngine.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelitemphp" class="md-nav__link">
src/Model/Item.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelcontactphp" class="md-nav__link">
src/Model/Contact.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelprofilephp" class="md-nav__link">
src/Model/Profile.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodeleventphp" class="md-nav__link">
src/Model/Event.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodeluserphp" class="md-nav__link">
src/Model/User.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentcontactblockphp" class="md-nav__link">
src/Content/ContactBlock.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontenttextbbcodephp" class="md-nav__link">
src/Content/Text/BBCode.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontenttexthtmlphp" class="md-nav__link">
src/Content/Text/HTML.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentsmiliesphp" class="md-nav__link">
src/Content/Smilies.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentfeaturephp" class="md-nav__link">
src/Content/Feature.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentcontactselectorphp" class="md-nav__link">
src/Content/ContactSelector.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentoembedphp" class="md-nav__link">
src/Content/OEmbed.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentnavphp" class="md-nav__link">
src/Content/Nav.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreauthenticationphp" class="md-nav__link">
src/Core/Authentication.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreprotocolphp" class="md-nav__link">
src/Core/Protocol.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorestoragemanager" class="md-nav__link">
src/Core/StorageManager
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulenotificationspingphp" class="md-nav__link">
src/Module/Notifications/Ping.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulepermissiontooltipphp" class="md-nav__link">
src/Module/PermissionTooltip.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcworkerdirectoryphp" class="md-nav__link">
src/Worker/Directory.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcworkernotifierphp" class="md-nav__link">
src/Worker/Notifier.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmoduleloginphp" class="md-nav__link">
src/Module/Login.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulelogoutphp" class="md-nav__link">
src/Module/Logout.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcobjectpostphp" class="md-nav__link">
src/Object/Post.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreaclphp" class="md-nav__link">
src/Core/ACL.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreauthenticationphp_1" class="md-nav__link">
src/Core/Authentication.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorehookphp" class="md-nav__link">
src/Core/Hook.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorel10nl10nphp" class="md-nav__link">
src/Core/L10n/L10n.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreworkerphp" class="md-nav__link">
src/Core/Worker.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilemailerphp" class="md-nav__link">
src/Util/Emailer.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilmapphp" class="md-nav__link">
src/Util/Map.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilnetworkphp" class="md-nav__link">
src/Util/Network.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilparseurlphp" class="md-nav__link">
src/Util/ParseUrl.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcprotocoldfrnphp" class="md-nav__link">
src/Protocol/DFRN.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcprotocolemailphp" class="md-nav__link">
src/Protocol/Email.php
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../themes/" class="md-nav__link">
Themes
</a>
</li>
<li class="md-nav__item">
<a href="../smarty3-templates/" class="md-nav__link">
Smarty3
</a>
</li>
<li class="md-nav__item">
<a href="../addon-storage-backend/" class="md-nav__link">
Addon Storage Backend
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_4" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4">
How To
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="How To" data-md-level="2">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
How To
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../translations/" class="md-nav__link">
Translations
</a>
</li>
<li class="md-nav__item">
<a href="../composer/" class="md-nav__link">
Composer
</a>
</li>
<li class="md-nav__item">
<a href="../how-to-move-classes-to-src/" class="md-nav__link">
src Migration
</a>
</li>
<li class="md-nav__item">
<a href="../tests/" class="md-nav__link">
Tests
</a>
</li>
<li class="md-nav__item">
<a href="../autoloader/" class="md-nav__link">
Autoloader
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_5" type="checkbox" id="__nav_4_5" >
<label class="md-nav__link" for="__nav_4_5">
Specification
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Specification" data-md-level="2">
<label class="md-nav__title" for="__nav_4_5">
<span class="md-nav__icon md-icon"></span>
Specification
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_5_1" type="checkbox" id="__nav_4_5_1" >
<label class="md-nav__link" for="__nav_4_5_1">
API
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="API" data-md-level="3">
<label class="md-nav__title" for="__nav_4_5_1">
<span class="md-nav__icon md-icon"></span>
API
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../spec/api/" class="md-nav__link">
Usage
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/api/entities/" class="md-nav__link">
Entities
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/api/friendica/" class="md-nav__link">
Friendica
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/api/mastodon/" class="md-nav__link">
Mastodon
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/api/twitter/" class="md-nav__link">
Twitter
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/api/gnu-social/" class="md-nav__link">
GNU Social
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_5_2" type="checkbox" id="__nav_4_5_2" >
<label class="md-nav__link" for="__nav_4_5_2">
Database
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Database" data-md-level="3">
<label class="md-nav__title" for="__nav_4_5_2">
<span class="md-nav__icon md-icon"></span>
Database
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../spec/database/" class="md-nav__link">
Database Tables
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_2fa_app_specific_password/" class="md-nav__link">
2fa_app_specific_password
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_2fa_recovery_codes/" class="md-nav__link">
2fa_recovery_codes
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_2fa_trusted_browser/" class="md-nav__link">
2fa_trusted_browser
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_addon/" class="md-nav__link">
addon
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_apcontact/" class="md-nav__link">
apcontact
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_application/" class="md-nav__link">
application
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_application-marker/" class="md-nav__link">
application-marker
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_application-token/" class="md-nav__link">
application-token
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_attach/" class="md-nav__link">
attach
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_cache/" class="md-nav__link">
cache
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_config/" class="md-nav__link">
config
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_contact/" class="md-nav__link">
contact
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_contact-relation/" class="md-nav__link">
contact-relation
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_conv/" class="md-nav__link">
conv
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_conversation/" class="md-nav__link">
conversation
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_delayed-post/" class="md-nav__link">
delayed-post
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_diaspora-interaction/" class="md-nav__link">
diaspora-interaction
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_endpoint/" class="md-nav__link">
endpoint
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_event/" class="md-nav__link">
event
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_fcontact/" class="md-nav__link">
fcontact
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_fsuggest/" class="md-nav__link">
fsuggest
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_group/" class="md-nav__link">
group
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_group_member/" class="md-nav__link">
group_member
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_gserver/" class="md-nav__link">
gserver
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_gserver-tag/" class="md-nav__link">
gserver-tag
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_hook/" class="md-nav__link">
hook
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_inbox-entry/" class="md-nav__link">
inbox-entry
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_inbox-entry-receiver/" class="md-nav__link">
inbox-entry-receiver
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_inbox-status/" class="md-nav__link">
inbox-status
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_intro/" class="md-nav__link">
intro
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_item-uri/" class="md-nav__link">
item-uri
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_locks/" class="md-nav__link">
locks
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_mail/" class="md-nav__link">
mail
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_mailacct/" class="md-nav__link">
mailacct
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_manage/" class="md-nav__link">
manage
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_notification/" class="md-nav__link">
notification
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_notify/" class="md-nav__link">
notify
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_notify-threads/" class="md-nav__link">
notify-threads
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_oembed/" class="md-nav__link">
oembed
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_openwebauth-token/" class="md-nav__link">
openwebauth-token
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_parsed_url/" class="md-nav__link">
parsed_url
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_pconfig/" class="md-nav__link">
pconfig
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_permissionset/" class="md-nav__link">
permissionset
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_photo/" class="md-nav__link">
photo
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post/" class="md-nav__link">
post
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-category/" class="md-nav__link">
post-category
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-collection/" class="md-nav__link">
post-collection
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-content/" class="md-nav__link">
post-content
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-delivery/" class="md-nav__link">
post-delivery
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-delivery-data/" class="md-nav__link">
post-delivery-data
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-history/" class="md-nav__link">
post-history
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-link/" class="md-nav__link">
post-link
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-media/" class="md-nav__link">
post-media
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-question/" class="md-nav__link">
post-question
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-question-option/" class="md-nav__link">
post-question-option
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-tag/" class="md-nav__link">
post-tag
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-thread/" class="md-nav__link">
post-thread
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-thread-user/" class="md-nav__link">
post-thread-user
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-user/" class="md-nav__link">
post-user
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_post-user-notification/" class="md-nav__link">
post-user-notification
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_process/" class="md-nav__link">
process
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_profile/" class="md-nav__link">
profile
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_profile_field/" class="md-nav__link">
profile_field
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_push_subscriber/" class="md-nav__link">
push_subscriber
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_register/" class="md-nav__link">
register
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_search/" class="md-nav__link">
search
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_session/" class="md-nav__link">
session
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_storage/" class="md-nav__link">
storage
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_subscription/" class="md-nav__link">
subscription
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_tag/" class="md-nav__link">
tag
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_user/" class="md-nav__link">
user
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_user-contact/" class="md-nav__link">
user-contact
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_userd/" class="md-nav__link">
userd
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_verb/" class="md-nav__link">
verb
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_worker-ipc/" class="md-nav__link">
worker-ipc
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/database/db_workerqueue/" class="md-nav__link">
workerqueue
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_5_3" type="checkbox" id="__nav_4_5_3" >
<label class="md-nav__link" for="__nav_4_5_3">
Protocol
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Protocol" data-md-level="3">
<label class="md-nav__title" for="__nav_4_5_3">
<span class="md-nav__icon md-icon"></span>
Protocol
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../spec/protocol/protocol/" class="md-nav__link">
Protocols
</a>
</li>
<li class="md-nav__item">
<a href="../../spec/protocol/message-flow/" class="md-nav__link">
Nachrichtenfluss
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../bugs-and-issues/" class="md-nav__link">
Bugs und Probleme
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Inhaltsverzeichnis
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#argumente" class="md-nav__link">
Argumente
</a>
</li>
<li class="md-nav__item">
<a href="#module" class="md-nav__link">
Module
</a>
</li>
<li class="md-nav__item">
<a href="#derzeitige-hooks" class="md-nav__link">
Derzeitige Hooks
</a>
</li>
<li class="md-nav__item">
<a href="#komplette-liste-der-hook-callbacks" class="md-nav__link">
Komplette Liste der Hook-Callbacks
</a>
<nav class="md-nav" aria-label="Komplette Liste der Hook-Callbacks">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#indexphp" class="md-nav__link">
index.php
</a>
</li>
<li class="md-nav__item">
<a href="#includeapiphp" class="md-nav__link">
include/api.php
</a>
</li>
<li class="md-nav__item">
<a href="#includeenotifyphp" class="md-nav__link">
include/enotify.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentconversationphp" class="md-nav__link">
src/Content/Conversation.php
</a>
</li>
<li class="md-nav__item">
<a href="#moddirectoryphp" class="md-nav__link">
mod/directory.php
</a>
</li>
<li class="md-nav__item">
<a href="#modxrdphp" class="md-nav__link">
mod/xrd.php
</a>
</li>
<li class="md-nav__item">
<a href="#modparse_urlphp" class="md-nav__link">
mod/parse_url.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmoduledelegationphp" class="md-nav__link">
src/Module/Delegation.php
</a>
</li>
<li class="md-nav__item">
<a href="#modaclphp" class="md-nav__link">
mod/acl.php
</a>
</li>
<li class="md-nav__item">
<a href="#modnetworkphp" class="md-nav__link">
mod/network.php
</a>
</li>
<li class="md-nav__item">
<a href="#modfriendicaphp" class="md-nav__link">
mod/friendica.php
</a>
</li>
<li class="md-nav__item">
<a href="#modprofilesphp" class="md-nav__link">
mod/profiles.php
</a>
</li>
<li class="md-nav__item">
<a href="#modsettingsphp" class="md-nav__link">
mod/settings.php
</a>
</li>
<li class="md-nav__item">
<a href="#modphotosphp" class="md-nav__link">
mod/photos.php
</a>
</li>
<li class="md-nav__item">
<a href="#modprofilephp" class="md-nav__link">
mod/profile.php
</a>
</li>
<li class="md-nav__item">
<a href="#modhomephp" class="md-nav__link">
mod/home.php
</a>
</li>
<li class="md-nav__item">
<a href="#modpokephp" class="md-nav__link">
mod/poke.php
</a>
</li>
<li class="md-nav__item">
<a href="#modcontactsphp" class="md-nav__link">
mod/contacts.php
</a>
</li>
<li class="md-nav__item">
<a href="#modtaggerphp" class="md-nav__link">
mod/tagger.php
</a>
</li>
<li class="md-nav__item">
<a href="#moduexportphp" class="md-nav__link">
mod/uexport.php
</a>
</li>
<li class="md-nav__item">
<a href="#modregisterphp" class="md-nav__link">
mod/register.php
</a>
</li>
<li class="md-nav__item">
<a href="#moditemphp" class="md-nav__link">
mod/item.php
</a>
</li>
<li class="md-nav__item">
<a href="#modeditpostphp" class="md-nav__link">
mod/editpost.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcnetworkfkoauth1php" class="md-nav__link">
src/Network/FKOAuth1.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcrenderfriendicasmartyenginephp" class="md-nav__link">
src/Render/FriendicaSmartyEngine.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelitemphp" class="md-nav__link">
src/Model/Item.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelcontactphp" class="md-nav__link">
src/Model/Contact.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodelprofilephp" class="md-nav__link">
src/Model/Profile.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodeleventphp" class="md-nav__link">
src/Model/Event.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodeluserphp" class="md-nav__link">
src/Model/User.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentcontactblockphp" class="md-nav__link">
src/Content/ContactBlock.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontenttextbbcodephp" class="md-nav__link">
src/Content/Text/BBCode.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontenttexthtmlphp" class="md-nav__link">
src/Content/Text/HTML.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentsmiliesphp" class="md-nav__link">
src/Content/Smilies.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentfeaturephp" class="md-nav__link">
src/Content/Feature.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentcontactselectorphp" class="md-nav__link">
src/Content/ContactSelector.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentoembedphp" class="md-nav__link">
src/Content/OEmbed.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccontentnavphp" class="md-nav__link">
src/Content/Nav.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreauthenticationphp" class="md-nav__link">
src/Core/Authentication.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreprotocolphp" class="md-nav__link">
src/Core/Protocol.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorestoragemanager" class="md-nav__link">
src/Core/StorageManager
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulenotificationspingphp" class="md-nav__link">
src/Module/Notifications/Ping.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulepermissiontooltipphp" class="md-nav__link">
src/Module/PermissionTooltip.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcworkerdirectoryphp" class="md-nav__link">
src/Worker/Directory.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcworkernotifierphp" class="md-nav__link">
src/Worker/Notifier.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmoduleloginphp" class="md-nav__link">
src/Module/Login.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcmodulelogoutphp" class="md-nav__link">
src/Module/Logout.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcobjectpostphp" class="md-nav__link">
src/Object/Post.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreaclphp" class="md-nav__link">
src/Core/ACL.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreauthenticationphp_1" class="md-nav__link">
src/Core/Authentication.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorehookphp" class="md-nav__link">
src/Core/Hook.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccorel10nl10nphp" class="md-nav__link">
src/Core/L10n/L10n.php
</a>
</li>
<li class="md-nav__item">
<a href="#srccoreworkerphp" class="md-nav__link">
src/Core/Worker.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilemailerphp" class="md-nav__link">
src/Util/Emailer.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilmapphp" class="md-nav__link">
src/Util/Map.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilnetworkphp" class="md-nav__link">
src/Util/Network.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcutilparseurlphp" class="md-nav__link">
src/Util/ParseUrl.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcprotocoldfrnphp" class="md-nav__link">
src/Protocol/DFRN.php
</a>
</li>
<li class="md-nav__item">
<a href="#srcprotocolemailphp" class="md-nav__link">
src/Protocol/Email.php
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/friendica/friendica/edit/develop/doc/de/developer/addons.md" title="Seite editieren" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"/></svg>
</a>
<nav class="md-tags" >
<span class="md-tag">develop</span>
<span class="md-tag">addons</span>
<span class="md-tag">hooks</span>
</nav>
<h1 id="friendica-addon-entwicklung">Friendica Addon Entwicklung<a class="headerlink" href="#friendica-addon-entwicklung" title="Permanent link">#</a></h1>
<p>Bitte schau dir das Beispiel-Addon "randplace" für ein funktionierendes Beispiel für manche der hier aufgeführten Funktionen an.
Das Facebook-Addon bietet ein Beispiel dafür, die "addon"- und "module"-Funktion gemeinsam zu integrieren.
Addons arbeiten, indem sie Event Hooks abfangen.
Module arbeiten, indem bestimmte Seitenanfragen (durch den URL-Pfad) abgefangen werden.</p>
<p>Addon-Namen können keine Leerstellen oder andere Interpunktionen enthalten und werden als Datei- und Funktionsnamen genutzt.
Du kannst einen lesbaren Namen im Kommentarblock eintragen.
Jedes Addon muss beides beinhalten - eine Installations- und eine Deinstallationsfunktion, die auf dem Addon-Namen basieren; z.B. "addon1name_install()".
Diese beiden Funktionen haben keine Argumente und sind dafür verantwortlich, Event Hooks zu registrieren und abzumelden (unregistering), die dein Addon benötigt.
Die Installations- und Deinstallationsfunktionfunktionen werden auch ausgeführt (z.B. neu installiert), wenn sich das Addon nach der Installation ändert - somit sollte deine Deinstallationsfunktion keine Daten zerstört und deine Installationsfunktion sollte bestehende Daten berücksichtigen.
Zukünftige Extensions werden möglicherweise "Setup" und "Entfernen" anbieten.</p>
<p>Addons sollten einen Kommentarblock mit den folgenden vier Parametern enthalten:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="cp">&lt;?</span> <span class="nx">php</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="cm">/*</span>
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="cm"> * Name: My Great Addon</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="cm"> * Description: This is what my addon does. It&#39;s really cool.</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="cm"> * Version: 1.0</span>
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="cm"> * Author: John Q. Public &lt;john@myfriendicasite.com&gt;</span>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="cm"> */</span>
</code></pre></div>
<p>Registriere deine Addon-Hooks während der Installation.</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="cp">&lt;?</span> <span class="nx">php</span>
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="nx">\Friendica\Core\Hook</span><span class="o">::</span><span class="na">register</span><span class="p">(</span><span class="nv">$hookname</span><span class="p">,</span> <span class="nv">$file</span><span class="p">,</span> <span class="nv">$function</span><span class="p">);</span>
</code></pre></div>
<p><code>$hookname</code> ist ein String und entspricht einem bekannten Friendica-Hook.</p>
<p>$file steht für den Pfadnamen, der relativ zum Top-Level-Friendica-Verzeichnis liegt.
Das <em>sollte</em> <code>addon/addon_name/addon_name.php</code> sein.</p>
<p>$function ist ein String und der Name der Funktion, die ausgeführt wird, wenn der Hook aufgerufen wird.</p>
<h2 id="argumente">Argumente<a class="headerlink" href="#argumente" title="Permanent link">#</a></h2>
<p>Deine Hook-Callback-Funktion wird mit mindestens einem und bis zu zwei Argumenten aufgerufen</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="cp">&lt;?</span> <span class="nx">php</span>
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="k">function</span> <span class="nf">myhook_function</span><span class="p">(</span><span class="nx">App</span> <span class="nv">$a</span><span class="p">,</span> <span class="o">&amp;</span><span class="nv">$b</span><span class="p">)</span> <span class="p">{</span>
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a>
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="p">}</span>
</code></pre></div>
<p>Wenn du Änderungen an den aufgerufenen Daten vornehmen willst, musst du diese als Referenzvariable (mit "&amp;") während der Funktionsdeklaration deklarieren.</p>
<p>$a ist die Friendica "App"-Klasse, die eine Menge an Informationen über den aktuellen Friendica-Status beinhaltet, u.a. welche Module genutzt werden, Konfigurationsinformationen, Inhalte der Seite zum Zeitpunkt des Hook-Aufrufs.
Es ist empfohlen, diese Funktion "$a" zu nennen, um seine Nutzung an den Gebrauch an anderer Stelle anzugleichen.</p>
<p>$b kann frei benannt werden.
Diese Information ist speziell auf den Hook bezogen, der aktuell bearbeitet wird, und beinhaltet normalerweise Daten, die du sofort nutzen, anzeigen oder bearbeiten kannst.
Achte darauf, diese mit "&amp;" zu deklarieren, wenn du sie bearbeiten willst.</p>
<h2 id="module">Module<a class="headerlink" href="#module" title="Permanent link">#</a></h2>
<p>Addons können auch als "Module" agieren und alle Seitenanfragen für eine bestimmte URL abfangen.
Um ein Addon als Modul zu nutzen, ist es nötig, die Funktion "addon_name_module()" zu definieren, die keine Argumente benötigt und nichts weiter machen muss.</p>
<p>Wenn diese Funktion existiert, wirst du nun alle Seitenanfragen für "http://example.com/addon_name" erhalten - mit allen URL-Komponenten als zusätzliche Argumente.
Diese werden in das App\Arguments Objekt geparst.
So würde <code>http://example.com/addon/arg1/arg2</code> dies ergeben:
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="cp">&lt;?</span> <span class="nx">php</span>
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="nx">DI</span><span class="o">::</span><span class="na">args</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">getArgc</span><span class="p">();</span> <span class="c1">// = 3</span>
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="nx">DI</span><span class="o">::</span><span class="na">args</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">get</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> <span class="c1">// = &#39;addon&#39;</span>
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="nx">DI</span><span class="o">::</span><span class="na">args</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">get</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="c1">// = &#39;arg1&#39;</span>
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="nx">DI</span><span class="o">::</span><span class="na">args</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">get</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span> <span class="c1">// = &#39;arg2&#39;</span>
</code></pre></div></p>
<p>Deine Modulfunktionen umfassen oft die Funktion addon_name_content(App $a), welche den Seiteninhalt definiert und zurückgibt.
Sie können auch addon_name_post(App $a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt.
Du kannst ebenso addon_name_init(App $a) nutzen, was oft frühzeitig aufgerufen wird und das Modul initialisiert.</p>
<h2 id="derzeitige-hooks">Derzeitige Hooks<a class="headerlink" href="#derzeitige-hooks" title="Permanent link">#</a></h2>
<p><strong>'authenticate'</strong> - wird aufgerufen, wenn sich der User einloggt.
$b ist ein Array
'username' =&gt; der übertragene Nutzername
'password' =&gt; das übertragene Passwort
'authenticated' =&gt; setze das auf einen anderen Wert als "0", damit der User sich authentifiziert
'user_record' =&gt; die erfolgreiche Authentifizierung muss auch einen gültigen Nutzereintrag aus der Datenbank zurückgeben</p>
<p><strong>'logged_in'</strong> - wird aufgerufen, sobald ein Nutzer sich erfolgreich angemeldet hat.
$b beinhaltet den $a-&gt;Nutzer-Array</p>
<p><strong>'display_item'</strong> - wird aufgerufen, wenn ein Beitrag für die Anzeige formatiert wird.
$b ist ein Array
'item' =&gt; Die Item-Details (Array), die von der Datenbank ausgegeben werden
'output' =&gt; Die HTML-Ausgabe (String) des Items, bevor es zur Seite hinzugefügt wird</p>
<p><strong>'post_local'</strong> - wird aufgerufen, wenn der Statusbeitrag oder ein Kommentar im lokalen System eingetragen wird.
$b ist das Item-Array der Information, die in der Datenbank hinterlegt wird.
{Bitte beachte: Der Seiteninhalt ist bbcode - nicht HTML)</p>
<p><strong>'post_local_end'</strong> - wird aufgerufen, wenn ein lokaler Statusbeitrag oder Kommentar im lokalen System gespeichert wird.
$b ist das Item-Array einer Information, die gerade in der Datenbank gespeichert wurden.
{Bitte beachte: Der Seiteninhalt ist bbcode - nicht HTML)</p>
<p><strong>'post_remote'</strong> - wird aufgerufen, wenn ein Beitrag aus einer anderen Quelle empfangen wird. Dies kann auch genutzt werden, um lokale Aktivitäten oder systemgenerierte Nachrichten zu veröffentlichen/posten.
$b ist das Item-Array einer Information, die in der Datenbank und im Item gespeichert ist.
{Bitte beachte: Der Seiteninhalt ist bbcode - nicht HTML)</p>
<p><strong>'addon_settings'</strong> - wird aufgerufen, wenn die HTML-Ausgabe der Addon-Einstellungsseite generiert wird.
$b ist die HTML-Ausgabe (String) der Addon-Einstellungsseite vor dem finalen "</form>"-Tag.</p>
<p><strong>'addon_settings_post'</strong> - wird aufgerufen, wenn die Addon-Einstellungsseite geladen wird.
$b ist der $_POST-Array</p>
<p><strong>'profile_post'</strong> - wird aufgerufen, wenn die Profilseite angezeigt wird.
$b ist der $_POST-Array</p>
<p><strong>'profile_edit'</strong> - wird aufgerufen, bevor die Profil-Bearbeitungsseite angezeigt wird.
$b ist ein Array
'profile' =&gt; Profileintrag (Array) aus der Datenbank
'entry' =&gt; die HTML-Ausgabe (string) des generierten Eintrags</p>
<p><strong>'profile_advanced'</strong> - wird aufgerufen, wenn die HTML-Ausgabe für das "Advanced profile" generiert wird; stimmt mit dem "Profil"-Tab auf der Profilseite der Nutzer überein.
$b ist die HTML-Ausgabe (String) des erstellten Profils
(Die Details des Profil-Arrays sind in $a-&gt;profile)</p>
<p><strong>'directory_item'</strong> - wird von der Verzeichnisseite aufgerufen, wenn ein Item für die Anzeige formatiert wird.
$b ist ein Array
'contact' =&gt; Kontakteintrag (Array) einer Person aus der Datenbank
'entry' =&gt; die HTML-Ausgabe (String) des generierten Eintrags</p>
<p><strong>'profile_sidebar_enter'</strong> - wird aufgerufen, bevor die Sidebar "Kurzprofil" einer Seite erstellt wird.
$b ist der Profil-Array einer Person</p>
<p><strong>'profile_sidebar'</strong> - wird aufgerufen, wenn die Sidebar "Kurzprofil" einer Seite erstellt wird.
$b ist ein Array
'profile' =&gt; Kontakteintrag (Array) einer Person aus der Datenbank
'entry' =&gt; die HTML-Ausgabe (String) des generierten Eintrags</p>
<p><strong>'contact_block_end'</strong> - wird aufgerufen, wenn der Block "Kontakte/Freunde" der Profil-Sidebar komplett formatiert wurde.
$b ist ein Array
'contacts' =&gt; Array von "contacts"
'output' =&gt; die HTML-Ausgabe (String) des Kontaktblocks</p>
<p><strong>'bbcode'</strong> - wird während der Umwandlung von bbcode auf HTML aufgerufen.
$b ist der konvertierte Text (String)</p>
<p><strong>'html2bbcode'</strong> - wird während der Umwandlung von HTML zu bbcode aufgerufen (z.B. bei Nachrichtenbeiträgen).
$b ist der konvertierte Text (String)</p>
<p><strong>'page_header'</strong> - wird aufgerufen, nachdem der Bereich der Seitennavigation geladen wurde.
$b ist die HTML-Ausgabe (String) der "nav"-Region</p>
<p><strong>'personal_xrd'</strong> - wird aufgerufen, bevor die Ausgabe der persönlichen XRD-Datei erzeugt wird.
$b ist ein Array
'user' =&gt; die hinterlegten Einträge der Person
'xml' =&gt; die komplette XML-Datei die ausgegeben wird</p>
<p><strong>'home_content'</strong> - wird aufgerufen, bevor die Ausgabe des Homepage-Inhalts erstellt wird; wird nicht eingeloggten Nutzern angezeigt.
$b ist die HTML-Ausgabe (String) der Auswahlregion</p>
<p><strong>'contact_edit'</strong> - wird aufgerufen, wenn die Kontaktdetails vom Nutzer auf der "Kontakte"-Seite bearbeitet werden.
$b ist ein Array
'contact' =&gt; Kontakteintrag (Array) des abgezielten Kontakts
'output' =&gt; die HTML-Ausgabe (String) der "Kontakt bearbeiten"-Seite</p>
<p><strong>'contact_edit_post'</strong> - wird aufgerufen, wenn die "Kontakt bearbeiten"-Seite ausgegeben wird.
$b ist der $_POST-Array</p>
<p><strong>'init_1'</strong> - wird aufgerufen, kurz nachdem die Datenbank vor Beginn der Sitzung geöffnet wird.
$b wird nicht genutzt</p>
<p><strong>'page_end'</strong> - wird aufgerufen, nachdem die Funktion des HTML-Inhalts komplett abgeschlossen ist.
$b ist die HTML-Ausgabe (String) vom Inhalt-"div"</p>
<p><strong>'avatar_lookup'</strong> - wird aufgerufen, wenn der Avatar geladen wird.
$b ist ein Array
'size' =&gt; Größe des Avatars, der geladen wird
'email' =&gt; Email-Adresse, um nach dem Avatar zu suchen
'url' =&gt; generierte URL (String) des Avatars</p>
<p><strong>'nav_info'</strong>
- wird aufgerufen, nachdem in <code>include/nav.php</code> der Inhalt des Navigationsmenüs erzeugt wurde.
- $b ist ein Array, das $nav widerspiegelt.</p>
<h2 id="komplette-liste-der-hook-callbacks">Komplette Liste der Hook-Callbacks<a class="headerlink" href="#komplette-liste-der-hook-callbacks" title="Permanent link">#</a></h2>
<p>Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Apr-2018 generiert): Bitte schau in die Quellcodes für Details zu Hooks, die oben nicht dokumentiert sind.</p>
<h3 id="indexphp">index.php<a class="headerlink" href="#indexphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;init_1&#39;);
Hook::callAll(&#39;app_menu&#39;, $arr);
Hook::callAll(&#39;page_content_top&#39;, DI::page()[&#39;content&#39;]);
Hook::callAll($a-&gt;module.&#39;_mod_init&#39;, $placeholder);
Hook::callAll($a-&gt;module.&#39;_mod_init&#39;, $placeholder);
Hook::callAll($a-&gt;module.&#39;_mod_post&#39;, $_POST);
Hook::callAll($a-&gt;module.&#39;_mod_content&#39;, $arr);
Hook::callAll($a-&gt;module.&#39;_mod_aftercontent&#39;, $arr);
Hook::callAll(&#39;page_end&#39;, DI::page()[&#39;content&#39;]);
</code></pre></div>
<h3 id="includeapiphp">include/api.php<a class="headerlink" href="#includeapiphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;logged_in&#39;, $a-&gt;user);
Hook::callAll(&#39;authenticate&#39;, $addon_auth);
Hook::callAll(&#39;logged_in&#39;, $a-&gt;user);
</code></pre></div>
<h3 id="includeenotifyphp">include/enotify.php<a class="headerlink" href="#includeenotifyphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;enotify&#39;, $h);
Hook::callAll(&#39;enotify_store&#39;, $datarray);
Hook::callAll(&#39;enotify_mail&#39;, $datarray);
Hook::callAll(&#39;check_item_notification&#39;, $notification_data);
</code></pre></div>
<h3 id="srccontentconversationphp">src/Content/Conversation.php<a class="headerlink" href="#srccontentconversationphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;conversation_start&#39;, $cb);
Hook::callAll(&#39;render_location&#39;, $locate);
Hook::callAll(&#39;display_item&#39;, $arr);
Hook::callAll(&#39;display_item&#39;, $arr);
Hook::callAll(&#39;item_photo_menu&#39;, $args);
Hook::callAll(&#39;jot_tool&#39;, $jotplugins);
</code></pre></div>
<h3 id="moddirectoryphp">mod/directory.php<a class="headerlink" href="#moddirectoryphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;directory_item&#39;, $arr);
</code></pre></div>
<h3 id="modxrdphp">mod/xrd.php<a class="headerlink" href="#modxrdphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;personal_xrd&#39;, $arr);
</code></pre></div>
<h3 id="modparse_urlphp">mod/parse_url.php<a class="headerlink" href="#modparse_urlphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&quot;parse_link&quot;, $arr);
</code></pre></div>
<h3 id="srcmoduledelegationphp">src/Module/Delegation.php<a class="headerlink" href="#srcmoduledelegationphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;home_init&#39;, $ret);
</code></pre></div>
<h3 id="modaclphp">mod/acl.php<a class="headerlink" href="#modaclphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;acl_lookup_end&#39;, $results);
</code></pre></div>
<h3 id="modnetworkphp">mod/network.php<a class="headerlink" href="#modnetworkphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;network_content_init&#39;, $arr);
Hook::callAll(&#39;network_tabs&#39;, $arr);
</code></pre></div>
<h3 id="modfriendicaphp">mod/friendica.php<a class="headerlink" href="#modfriendicaphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;about_hook&#39;, $o);
</code></pre></div>
<h3 id="modprofilesphp">mod/profiles.php<a class="headerlink" href="#modprofilesphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;profile_post&#39;, $_POST);
Hook::callAll(&#39;profile_edit&#39;, $arr);
</code></pre></div>
<h3 id="modsettingsphp">mod/settings.php<a class="headerlink" href="#modsettingsphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;addon_settings_post&#39;, $_POST);
Hook::callAll(&#39;connector_settings_post&#39;, $_POST);
Hook::callAll(&#39;display_settings_post&#39;, $_POST);
Hook::callAll(&#39;addon_settings&#39;, $settings_addons);
Hook::callAll(&#39;connector_settings&#39;, $settings_connectors);
Hook::callAll(&#39;display_settings&#39;, $o);
</code></pre></div>
<h3 id="modphotosphp">mod/photos.php<a class="headerlink" href="#modphotosphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;photo_post_init&#39;, $_POST);
Hook::callAll(&#39;photo_post_file&#39;, $ret);
Hook::callAll(&#39;photo_post_end&#39;, $foo);
Hook::callAll(&#39;photo_post_end&#39;, $foo);
Hook::callAll(&#39;photo_post_end&#39;, $foo);
Hook::callAll(&#39;photo_post_end&#39;, $foo);
Hook::callAll(&#39;photo_post_end&#39;, intval($item_id));
Hook::callAll(&#39;photo_upload_form&#39;, $ret);
</code></pre></div>
<h3 id="modprofilephp">mod/profile.php<a class="headerlink" href="#modprofilephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;profile_advanced&#39;, $o);
</code></pre></div>
<h3 id="modhomephp">mod/home.php<a class="headerlink" href="#modhomephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;home_init&#39;, $ret);
Hook::callAll(&quot;home_content&quot;, $content);
</code></pre></div>
<h3 id="modpokephp">mod/poke.php<a class="headerlink" href="#modpokephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;post_local_end&#39;, $arr);
</code></pre></div>
<h3 id="modcontactsphp">mod/contacts.php<a class="headerlink" href="#modcontactsphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;contact_edit_post&#39;, $_POST);
Hook::callAll(&#39;contact_edit&#39;, $arr);
</code></pre></div>
<h3 id="modtaggerphp">mod/tagger.php<a class="headerlink" href="#modtaggerphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;post_local_end&#39;, $arr);
</code></pre></div>
<h3 id="moduexportphp">mod/uexport.php<a class="headerlink" href="#moduexportphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;uexport_options&#39;, $options);
</code></pre></div>
<h3 id="modregisterphp">mod/register.php<a class="headerlink" href="#modregisterphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;register_post&#39;, $arr);
Hook::callAll(&#39;register_form&#39;, $arr);
</code></pre></div>
<h3 id="moditemphp">mod/item.php<a class="headerlink" href="#moditemphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;post_local_start&#39;, $_REQUEST);
Hook::callAll(&#39;post_local&#39;, $datarray);
Hook::callAll(&#39;post_local_end&#39;, $datarray);
</code></pre></div>
<h3 id="modeditpostphp">mod/editpost.php<a class="headerlink" href="#modeditpostphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;jot_tool&#39;, $jotplugins);
</code></pre></div>
<h3 id="srcnetworkfkoauth1php">src/Network/FKOAuth1.php<a class="headerlink" href="#srcnetworkfkoauth1php" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;logged_in&#39;, $a-&gt;user);
</code></pre></div>
<h3 id="srcrenderfriendicasmartyenginephp">src/Render/FriendicaSmartyEngine.php<a class="headerlink" href="#srcrenderfriendicasmartyenginephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&quot;template_vars&quot;, $arr);
</code></pre></div>
<h3 id="srcmodelitemphp">src/Model/Item.php<a class="headerlink" href="#srcmodelitemphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;post_local&#39;, $item);
Hook::callAll(&#39;post_remote&#39;, $item);
Hook::callAll(&#39;post_local_end&#39;, $posted_item);
Hook::callAll(&#39;post_remote_end&#39;, $posted_item);
Hook::callAll(&#39;tagged&#39;, $arr);
Hook::callAll(&#39;post_local_end&#39;, $new_item);
Hook::callAll(&#39;put_item_in_cache&#39;, $hook_data);
Hook::callAll(&#39;prepare_body_init&#39;, $item);
Hook::callAll(&#39;prepare_body_content_filter&#39;, $hook_data);
Hook::callAll(&#39;prepare_body&#39;, $hook_data);
Hook::callAll(&#39;prepare_body_final&#39;, $hook_data);
</code></pre></div>
<h3 id="srcmodelcontactphp">src/Model/Contact.php<a class="headerlink" href="#srcmodelcontactphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;contact_photo_menu&#39;, $args);
Hook::callAll(&#39;follow&#39;, $arr);
</code></pre></div>
<h3 id="srcmodelprofilephp">src/Model/Profile.php<a class="headerlink" href="#srcmodelprofilephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;profile_sidebar_enter&#39;, $profile);
Hook::callAll(&#39;profile_sidebar&#39;, $arr);
Hook::callAll(&#39;profile_tabs&#39;, $arr);
Hook::callAll(&#39;zrl_init&#39;, $arr);
</code></pre></div>
<h3 id="srcmodeleventphp">src/Model/Event.php<a class="headerlink" href="#srcmodeleventphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;event_updated&#39;, $event[&#39;id&#39;]);
Hook::callAll(&quot;event_created&quot;, $event[&#39;id&#39;]);
</code></pre></div>
<h3 id="srcmodeluserphp">src/Model/User.php<a class="headerlink" href="#srcmodeluserphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;register_account&#39;, $uid);
Hook::callAll(&#39;remove_user&#39;, $user);
</code></pre></div>
<h3 id="srccontentcontactblockphp">src/Content/ContactBlock.php<a class="headerlink" href="#srccontentcontactblockphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;contact_block_end&#39;, $arr);
</code></pre></div>
<h3 id="srccontenttextbbcodephp">src/Content/Text/BBCode.php<a class="headerlink" href="#srccontenttextbbcodephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;bbcode&#39;, $text);
Hook::callAll(&#39;bb2diaspora&#39;, $text);
</code></pre></div>
<h3 id="srccontenttexthtmlphp">src/Content/Text/HTML.php<a class="headerlink" href="#srccontenttexthtmlphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;html2bbcode&#39;, $message);
</code></pre></div>
<h3 id="srccontentsmiliesphp">src/Content/Smilies.php<a class="headerlink" href="#srccontentsmiliesphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;smilie&#39;, $params);
</code></pre></div>
<h3 id="srccontentfeaturephp">src/Content/Feature.php<a class="headerlink" href="#srccontentfeaturephp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;isEnabled&#39;, $arr);
Hook::callAll(&#39;get&#39;, $arr);
</code></pre></div>
<h3 id="srccontentcontactselectorphp">src/Content/ContactSelector.php<a class="headerlink" href="#srccontentcontactselectorphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;network_to_name&#39;, $nets);
</code></pre></div>
<h3 id="srccontentoembedphp">src/Content/OEmbed.php<a class="headerlink" href="#srccontentoembedphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;oembed_fetch_url&#39;, $embedurl, $j);
</code></pre></div>
<h3 id="srccontentnavphp">src/Content/Nav.php<a class="headerlink" href="#srccontentnavphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;page_header&#39;, DI::page()[&#39;nav&#39;]);
Hook::callAll(&#39;nav_info&#39;, $nav);
</code></pre></div>
<h3 id="srccoreauthenticationphp">src/Core/Authentication.php<a class="headerlink" href="#srccoreauthenticationphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;logged_in&#39;, $a-&gt;user);
</code></pre></div>
<h3 id="srccoreprotocolphp">src/Core/Protocol.php<a class="headerlink" href="#srccoreprotocolphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;support_follow&#39;, $hook_data);
Hook::callAll(&#39;support_revoke_follow&#39;, $hook_data);
Hook::callAll(&#39;unfollow&#39;, $hook_data);
Hook::callAll(&#39;revoke_follow&#39;, $hook_data);
Hook::callAll(&#39;block&#39;, $hook_data);
Hook::callAll(&#39;unblock&#39;, $hook_data);
</code></pre></div>
<h3 id="srccorestoragemanager">src/Core/StorageManager<a class="headerlink" href="#srccorestoragemanager" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;storage_instance&#39;, $data);
Hook::callAll(&#39;storage_config&#39;, $data);
</code></pre></div>
<h3 id="srcmodulenotificationspingphp">src/Module/Notifications/Ping.php<a class="headerlink" href="#srcmodulenotificationspingphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;network_ping&#39;, $arr);
</code></pre></div>
<h3 id="srcmodulepermissiontooltipphp">src/Module/PermissionTooltip.php<a class="headerlink" href="#srcmodulepermissiontooltipphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;lockview_content&#39;, $item);
</code></pre></div>
<h3 id="srcworkerdirectoryphp">src/Worker/Directory.php<a class="headerlink" href="#srcworkerdirectoryphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;globaldir_update&#39;, $arr);
</code></pre></div>
<h3 id="srcworkernotifierphp">src/Worker/Notifier.php<a class="headerlink" href="#srcworkernotifierphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;notifier_end&#39;, $target_item);
</code></pre></div>
<h3 id="srcmoduleloginphp">src/Module/Login.php<a class="headerlink" href="#srcmoduleloginphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;authenticate&#39;, $addon_auth);
Hook::callAll(&#39;login_hook&#39;, $o);
</code></pre></div>
<h3 id="srcmodulelogoutphp">src/Module/Logout.php<a class="headerlink" href="#srcmodulelogoutphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&quot;logging_out&quot;);
</code></pre></div>
<h3 id="srcobjectpostphp">src/Object/Post.php<a class="headerlink" href="#srcobjectpostphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;render_location&#39;, $locate);
Hook::callAll(&#39;display_item&#39;, $arr);
</code></pre></div>
<h3 id="srccoreaclphp">src/Core/ACL.php<a class="headerlink" href="#srccoreaclphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;contact_select_options&#39;, $x);
Hook::callAll($a-&gt;module.&#39;_pre_&#39;.$selname, $arr);
Hook::callAll($a-&gt;module.&#39;_post_&#39;.$selname, $o);
Hook::callAll($a-&gt;module.&#39;_pre_&#39;.$selname, $arr);
Hook::callAll($a-&gt;module.&#39;_post_&#39;.$selname, $o);
Hook::callAll(&#39;jot_networks&#39;, $jotnets);
</code></pre></div>
<h3 id="srccoreauthenticationphp_1">src/Core/Authentication.php<a class="headerlink" href="#srccoreauthenticationphp_1" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;logged_in&#39;, $a-&gt;user);
</code></pre></div>
<h3 id="srccorehookphp">src/Core/Hook.php<a class="headerlink" href="#srccorehookphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>self::callSingle(self::getApp(), &#39;hook_fork&#39;, $fork_hook, $hookdata);
</code></pre></div>
<h3 id="srccorel10nl10nphp">src/Core/L10n/L10n.php<a class="headerlink" href="#srccorel10nl10nphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;poke_verbs&#39;, $arr);
</code></pre></div>
<h3 id="srccoreworkerphp">src/Core/Worker.php<a class="headerlink" href="#srccoreworkerphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&quot;proc_run&quot;, $arr);
</code></pre></div>
<h3 id="srcutilemailerphp">src/Util/Emailer.php<a class="headerlink" href="#srcutilemailerphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;emailer_send_prepare&#39;, $email);
Hook::callAll(&quot;emailer_send&quot;, $hookdata);
</code></pre></div>
<h3 id="srcutilmapphp">src/Util/Map.php<a class="headerlink" href="#srcutilmapphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;generate_map&#39;, $arr);
Hook::callAll(&#39;generate_named_map&#39;, $arr);
Hook::callAll(&#39;Map::getCoordinates&#39;, $arr);
</code></pre></div>
<h3 id="srcutilnetworkphp">src/Util/Network.php<a class="headerlink" href="#srcutilnetworkphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;avatar_lookup&#39;, $avatar);
</code></pre></div>
<h3 id="srcutilparseurlphp">src/Util/ParseUrl.php<a class="headerlink" href="#srcutilparseurlphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&quot;getsiteinfo&quot;, $siteinfo);
</code></pre></div>
<h3 id="srcprotocoldfrnphp">src/Protocol/DFRN.php<a class="headerlink" href="#srcprotocoldfrnphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;atom_feed_end&#39;, $atom);
Hook::callAll(&#39;atom_feed_end&#39;, $atom);
</code></pre></div>
<h3 id="srcprotocolemailphp">src/Protocol/Email.php<a class="headerlink" href="#srcprotocolemailphp" title="Permanent link">#</a></h3>
<div class="highlight"><pre><span></span><code>Hook::callAll(&#39;email_getmessage&#39;, $message);
Hook::callAll(&#39;email_getmessage_end&#39;, $ret);
</code></pre></div>
</article>
</div>
</div>
<a href="#" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Zurück zum Seitenanfang
</a>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../domain-driven-design/" class="md-footer__link md-footer__link--prev" aria-label="Zurück: DDD" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Zurück
</span>
DDD
</div>
</div>
</a>
<a href="../themes/" class="md-footer__link md-footer__link--next" aria-label="Weiter: Themes" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Weiter
</span>
Themes
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2010-2022, the Friendica project
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.tooltips", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.b97dbffb.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
<script src="../../../assets/javascripts/bundle.0238f547.min.js"></script>
</body>
</html>