2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
|
@ -13,7 +13,7 @@ assignees: ''
|
|||
|
||||
### Describe the feature you'd like
|
||||
|
||||
<!-- A clear and concise description of waht you want to happen. -->
|
||||
<!-- A clear and concise description of what you want to happen. -->
|
||||
|
||||
### Describe alternatives you've considered
|
||||
|
||||
|
|
60
CHANGELOG
|
@ -714,13 +714,13 @@ Version 2020.07 (2020-07-12)
|
|||
blockbot:
|
||||
The list of accepted user agents was enhanced [annando]
|
||||
Diaspora*:
|
||||
Enhanced conntector settings [MrPetovan]
|
||||
Enhanced connector settings [MrPetovan]
|
||||
PHP Mailer SMTP:
|
||||
Updated phpmailer version [dependabot]
|
||||
showmore_dyn:
|
||||
New addon to collapse long post depending on their actual height [wiwie]
|
||||
twitter:
|
||||
Enhaceed the handling of mobile twitter URLs [annando]
|
||||
Enhanced the handling of mobile twitter URLs [annando]
|
||||
Enhanced the handling of quoted tweets [MrPetovan]
|
||||
added HTML error code handling [MrPetovan]
|
||||
various:
|
||||
|
@ -958,7 +958,7 @@ Version 2019.09 (2019-09-29)
|
|||
|
||||
Version 2019.06 (2019-06-23)
|
||||
Friendica Core:
|
||||
Update to the tranlation (CS, DE, EN-GB, EN-US, ET, FR, IT, PL, PT-BR, SV) [translation teams]
|
||||
Update to the translation (CS, DE, EN-GB, EN-US, ET, FR, IT, PL, PT-BR, SV) [translation teams]
|
||||
Update to the documentation [nupplaphil, realkinetix, MrPetovan]
|
||||
Update to the themes (frio, vier) [BinkaDroid, MrPetovan, tobiasd]
|
||||
Enhancements to the API [annando, MrPetovan]
|
||||
|
@ -978,7 +978,7 @@ Version 2019.06 (2019-06-23)
|
|||
Fixed an issue with the File to Folder feature [MrPetovan]
|
||||
Fixed an issue with the legacy storage engine [fabrixxm]
|
||||
Fixed an issue with the theme and addon path items [MrPetovan]
|
||||
Fixed an issue occuring when the BasePath was not set [tobiasd]
|
||||
Fixed an issue occurring when the BasePath was not set [tobiasd]
|
||||
Fixed an issue with additionally opened Sessions [MrPetovan]
|
||||
Fixed an issue with legacy loglevel mapping [nupplaphil]
|
||||
Fixed contact suggestions [annando]
|
||||
|
@ -1004,7 +1004,7 @@ Version 2019.06 (2019-06-23)
|
|||
Remove support for defunct F-Droid Friendica app [MrPetovan]
|
||||
|
||||
Friendica Addons:
|
||||
Update to the tranlation (ET, SV, ZH_CN) [translation teams]
|
||||
Update to the translation (ET, SV, ZH_CN) [translation teams]
|
||||
botdetection:
|
||||
Added a new addon for preventing access by bots [nupplaphil, annando]
|
||||
buffer:
|
||||
|
@ -1042,7 +1042,7 @@ Version 2019.03 (2019-03-22)
|
|||
Update to the themes (duepuntozero, frio, smoothy, quattro, vier) [lxiter, MrPetovan, nupplaphil, rabuzarus, tobiasd]
|
||||
Enhancements to the API [jasonscheng]
|
||||
Enhancements to the Vagrant development VM [JeroenED]
|
||||
Enhancements to the storage of gender, sexual preferences and maritial status [JeroenED]
|
||||
Enhancements to the storage of gender, sexual preferences and marital status [JeroenED]
|
||||
Enhancements to the wording of notifications [MrPetovan]
|
||||
Enhancements to the display of contacts in the profile [MrPetovan]
|
||||
Enhancements to the handling of local links [lxiter]
|
||||
|
@ -1071,7 +1071,7 @@ Version 2019.03 (2019-03-22)
|
|||
Fixed an issue with sending out notification mails to the admin [nupplaphil]
|
||||
Fixed an the issue, that the API was ignoring the globalsilence setting [nupplaphil]
|
||||
Fixed issues with the autolinker of URLs in postings [MrPetovan]
|
||||
Fixed an issue resulting in multible emails after successful updates of the database [nupplaphil]
|
||||
Fixed an issue resulting in multiple emails after successful updates of the database [nupplaphil]
|
||||
Fixed a timeout issue during detection process of the remote profile [annando]
|
||||
Fixed an issue with postings from blocked servers [annando, MrPetovan]
|
||||
Fixed an issue with the paging of stored folders [MrPetovan]
|
||||
|
@ -1103,7 +1103,7 @@ Version 2019.03 (2019-03-22)
|
|||
forumdirectory:
|
||||
Fixed a theming issue with frio [rabuzarus]
|
||||
js_upload:
|
||||
Fixed a missing extionsion index [nupplaphil]
|
||||
Fixed a missing extension index [nupplaphil]
|
||||
mailstream:
|
||||
Fixed a curl issue [MrPetovan]
|
||||
piwik:
|
||||
|
@ -1323,7 +1323,7 @@ Version 2018.09 (2018-09-23)
|
|||
added addons:
|
||||
mastodoncustomemojis [MrPetovan]
|
||||
deprecated addons:
|
||||
notimeline, retriver, remote_permissions, widgets
|
||||
notimeline, retriever, remote_permissions, widgets
|
||||
|
||||
Directory:
|
||||
Enhancements of the health summary [andyhee]
|
||||
|
@ -1349,7 +1349,7 @@ Version 2018.05 (2018-06-01)
|
|||
Enhancements to the relay system [annando]
|
||||
Enhancements to the handling of URL that contain unicode characters [annando]
|
||||
Enhancements to the Vagrant VM configuration [fabrixxm, tobiasd]
|
||||
Enhancementa to the Babel module [MrPetovan]
|
||||
Enhancements to the Babel module [MrPetovan]
|
||||
Enhancements to the display of the [code] elements [MrPetovan]
|
||||
Enhancements to the federation (OStatus, diaspora) [annando]
|
||||
Enhancements to the PHP7.2 compatibility [Alkarex, MrPetovan, Quix0r]
|
||||
|
@ -1477,7 +1477,7 @@ Version 3.6 (2018-03-23)
|
|||
Enhancements to the probing of pump.io profiles [annando]
|
||||
Enhancements to the handling of BBCode tags [MrPetovan]
|
||||
Enhancements to the OEmbed handling [MrPetovan]
|
||||
Fixed a bug that triggered the display of activities on the cummunity page [annando]
|
||||
Fixed a bug that triggered the display of activities on the community page [annando]
|
||||
Fixed a bug with personal notes [annando]
|
||||
Fixed a display issue of long postings when using the showmore option [annando]
|
||||
Fixed a bug that caused Twidere to crash on reload [annando]
|
||||
|
@ -1539,7 +1539,7 @@ Version 3.6 (2018-03-23)
|
|||
all bridges don't relay postings anymore that are posted to a public forum [annando]
|
||||
DAV addon marked unsupported [tobiasd]
|
||||
communityhome addon marked unsupported [MrPetovan]
|
||||
yourls addon makrked unsupported [MrPetovan]
|
||||
yourls addon marked unsupported [MrPetovan]
|
||||
Current Weather: fixing a problem with the weathermap link [zeroadam]
|
||||
NSFW added config examples, reworked the description, now ignores the CW from Mastodon [andyhee, annando, rebeka-catalina]
|
||||
Twitter support 280 chars limit [annando]
|
||||
|
@ -1796,7 +1796,7 @@ Version 3.5 (2016-09-13)
|
|||
Improvements on the themes (quattro, vier, frost) [rabuzarus, fabrixxm, stieben, annando, Quix0r, tobiasd]
|
||||
Improvements to the ACL dialog [fabrixxm, rabuzarus]
|
||||
Improvements to the database structure and optimization of queries [annando]
|
||||
Improvements to the UI (contacts, hotkeys, remember me, ARIA, code hightlighting) [rabuzarus, annando, tobiasd]
|
||||
Improvements to the UI (contacts, hotkeys, remember me, ARIA, code highlighting) [rabuzarus, annando, tobiasd]
|
||||
Improvements to the background process (poller, worker) [annando]
|
||||
Improvements to the admin panel [tobiasd, annando, fabrixxm]
|
||||
Improvements to the performance [annando]
|
||||
|
@ -1825,7 +1825,7 @@ Version 3.5 (2016-09-13)
|
|||
GNU Social Connector [annando]
|
||||
LDAP [Olivier Mehani]
|
||||
smileybutton [rabuzarus]
|
||||
retriver [mexon]
|
||||
retriever [mexon]
|
||||
mailstream [mexon]
|
||||
forumdirectory [tobiasd]
|
||||
NEW notifyall (port from Hubzilla) [rabuzarus, tobiasd]
|
||||
|
@ -1880,7 +1880,7 @@ Version 3.4.3 (2015-12-22)
|
|||
'Reload active themes' in theme admin page (fabrixxm)
|
||||
Install routine checks for ImageMagick and GIF support (fabrixxm)
|
||||
Install routine checks for availability of "mcrypt_create_iv()" function, needed for RINO2 (fabrixxm)
|
||||
Only suported themes are shown in admin page (annando)
|
||||
Only supported themes are shown in admin page (annando)
|
||||
Optimized SQL queries (annando)
|
||||
System perform an optimize pass on tables in cron, with maximum table size and minimum fragmentation level settings (annando)
|
||||
New access keys in profile and contact pages (rabuzarus, annando)
|
||||
|
@ -1895,9 +1895,9 @@ Version 3.4.3 (2015-12-22)
|
|||
New hook 'template_vars' (fabrixxm)
|
||||
$baseurl variable is passed to all templates by default (fabrixxm)
|
||||
OStatus delivery code is moved in new function (annando)
|
||||
Doxygen config file and initial documetation of code (rabuzarus)
|
||||
Doxygen config file and initial documentation of code (rabuzarus)
|
||||
Full rewrite of util/php2po.php (fabrixxm)
|
||||
Bugfixs:
|
||||
Bugfixes:
|
||||
Remote self works again (annando)
|
||||
Fix feeds mistakenly recognized as OStatus (issue #1914) (annando)
|
||||
Report invalid feeds to user (issue #1913) (annando)
|
||||
|
@ -1912,8 +1912,8 @@ Version 3.4.3 (2015-12-22)
|
|||
Fix rapid repeated requests to GNUSocial instance (issue #2038) (annando)
|
||||
Fix install routine css when mod_rewrite doesn't works (issue #2071) (fabrixxm)
|
||||
Fix code to be compliant with minimum required PHP version (issue #2066) (fabrixxm, rabuzarus)
|
||||
Fix feedback after succesfull registration (issue #2060) (annando)
|
||||
Fix mention completition popup with TinyMCE (issue #1920) (fabrixxm)
|
||||
Fix feedback after successful registration (issue #2060) (annando)
|
||||
Fix mention completion popup with TinyMCE (issue #1920) (fabrixxm)
|
||||
Fix photo cache and proxy when installed in subfolder (ddorian1)
|
||||
Fix bbcode conversion of the about text for the profile (issue #1607) (annando)
|
||||
|
||||
|
@ -1923,7 +1923,7 @@ Version 3.4.2 (2015-09-29)
|
|||
Updates to the documentation (tobiasd, silke, annando)
|
||||
Updates to the translations (tobiasd & translation teams)
|
||||
Updates to themes frost-mobile, vier, duepuntozero, quattro (annando, tobiasd)
|
||||
Enancements of the communications via OStatus and Diaspora protocols (annando)
|
||||
Enhancements of the communications via OStatus and Diaspora protocols (annando)
|
||||
Option to automatically follow OStatus contacts was moved from addon to the core (annando)
|
||||
Add tool to import OStatus contacts from an old account (annando)
|
||||
SALMON slaps with OStatus were reworked (annando)
|
||||
|
@ -1940,7 +1940,7 @@ Version 3.4.2 (2015-09-29)
|
|||
The global directory is queried in the background to update local DB and improve similar searches in the future. (annando)
|
||||
By communication over the Diaspora protocol, red#matrix sources are now correctly identified, hubzilla is detected (annando)
|
||||
Adopt limitation of usage of "-" in username to avoid conflicts with GNU Social and Diaspora (annando)
|
||||
The [url] tag now also suppots ftp, mailto, gopher links (annando)
|
||||
The [url] tag now also supports ftp, mailto, gopher links (annando)
|
||||
An "inspect queue" module was added to the admin panel (tobiasd)
|
||||
Fix some missing SQL data escapes (fabrixxm)
|
||||
Improved the accessibility of the web UI for better screen reader compatibility (annando)
|
||||
|
@ -1968,7 +1968,7 @@ Version 3.4.1 (2015-07-06)
|
|||
Implement server-to-server encryption (RINO) using php-encryption library as "RINO 2", deprecate "RINO 1" (issue #1655) (fabrixxm)
|
||||
Fix connection with Diaspora "freelove" account (issue #1572) (annando)
|
||||
Various SQL speedups (annando)
|
||||
Port of Javascript DatePicker input from RedMatrix (rabuzarus)
|
||||
Port of JavaScript DatePicker input from RedMatrix (rabuzarus)
|
||||
Port of RedMatrix archive widget (rabuzarus)
|
||||
Load profile owner settings for theme on profile page (rabuzarus)
|
||||
Move HTML code from php into templates (rabuzarus)
|
||||
|
@ -1981,7 +1981,7 @@ Version 3.4.1 (2015-07-06)
|
|||
use correct contact when automatically add @-replies
|
||||
add attachment links as enclosures
|
||||
send salmon notifications to every mentioned person
|
||||
better thread completition
|
||||
better thread completion
|
||||
support for bookmarks
|
||||
support for events and questions
|
||||
link to items using GUID
|
||||
|
@ -1992,7 +1992,7 @@ Version 3.4.1 (2015-07-06)
|
|||
Add fake fields to API response for better Twitter API compatibility (annando)
|
||||
Fix search in local directory (issue #1657) (annando)
|
||||
Improve OEmbed (issue #1640) (annando)
|
||||
Fix double html encodig in site administration page for sitename and register text (issue #1628) (annando)
|
||||
Fix double html encoding in site administration page for sitename and register text (issue #1628) (annando)
|
||||
Fix remote subscription from GNU Social (annando)
|
||||
Fix "{0}" in notifications (issue #1642) (annando)
|
||||
Fix desktop notification (fabrixxm)
|
||||
|
@ -2001,7 +2001,7 @@ Version 3.4.1 (2015-07-06)
|
|||
Fix emoticons alt text (tobias)
|
||||
Improve threaded display in Vier theme (annando)
|
||||
Use field templates in photo edit form (fabrixxm)
|
||||
Alllow deletion of any user but yourself (issue #1625) (fabrixxm)
|
||||
Allow deletion of any user but yourself (issue #1625) (fabrixxm)
|
||||
Install wizard load htconfig template from template/ folder, remove localized htconfig templates (fabrixxm)
|
||||
Add contact detail to non-js contact drop confirm dialog (issue #1629) (fabrixxm)
|
||||
Return geo coord in API (annando)
|
||||
|
@ -2079,7 +2079,7 @@ Version 3.3.3 (2015-02-24)
|
|||
|
||||
Version 3.3.2 (2014-12-26)
|
||||
|
||||
Set default value for all not-null fields (fixes SQL warinigs) (annando)
|
||||
Set default value for all not-null fields (fixes SQL warnings) (annando)
|
||||
Fix item filters in network page (issue #1222) (fabrixxm)
|
||||
Remove reference to an ex Friendica hub from documentation (beardyunixer, tobiasd)
|
||||
API throttling (annando)
|
||||
|
@ -2125,7 +2125,7 @@ Version 3.3 (2014-10-06)
|
|||
|
||||
Interaction
|
||||
ignoring of threads
|
||||
for selected contects one can now get notifications when they post something, useful e.g. for forums
|
||||
for selected contacts one can now get notifications when they post something, useful e.g. for forums
|
||||
After a new friendica contact is added, the user is directed to the contact page of the new contact. (Instead of the remote profile)
|
||||
many improvement on all connectors, new app.net connector
|
||||
the algorithm for shortening postings when posting to limited platforms was improved
|
||||
|
@ -2137,7 +2137,7 @@ Version 3.3 (2014-10-06)
|
|||
updated the following libraries: smarty 3.1.19, fullcalendar 1.6.4, jquery 1.11, jgrowl 1.3.0
|
||||
added modernizer 2.8.3, better browser support
|
||||
updates to the DB structure for better performance
|
||||
preperations to use PDO in a later release
|
||||
preparations to use PDO in a later release
|
||||
new notification system
|
||||
web interface translations updated, addon translations now also possible separately from the main UI and done for CS, IT, RO, DE
|
||||
vagrant support added for developers
|
||||
|
@ -2175,7 +2175,7 @@ Version 3.2
|
|||
small fixed
|
||||
edit profile photo link
|
||||
better caching of pictures
|
||||
threadening for outgoing emails
|
||||
threading for outgoing emails
|
||||
mail import
|
||||
oembed thumbnails
|
||||
SN subscriptions & more SN like behaviour if snautofollow addon is used
|
||||
|
@ -2195,7 +2195,7 @@ Version 3.2
|
|||
improving the install.php script
|
||||
addons now can be members only
|
||||
item object now contains the "edited" information left for the theme designers to show this info in a pretty way
|
||||
improvments to the user-import from exported account files
|
||||
improvements to the user-import from exported account files
|
||||
It's now possible to authenticate an ejabberd server against friendica.
|
||||
bugtracker moved to github
|
||||
improvements to MySQL queries
|
||||
|
|
12
README.md
|
@ -17,18 +17,18 @@ Have a look at the [installation documentation](doc/Install.md) for further info
|
|||
|
||||
### Friendica Screenshots
|
||||
|
||||
| ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profle-1.png?raw=true "Frio theme in mobile browser") ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profle-2.png?raw=true "Frio theme in mobile browser")
|
||||
| ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profile-1.png?raw=true "Frio theme in mobile browser") ![Frio theme in mobile browser](images/screenshots/friendica-frio-mobile-profile-2.png?raw=true "Frio theme in mobile browser")
|
||||
|:--:|
|
||||
|*Frio theme, mobile browser. Timeline and composer view.*|
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profle-1.png?raw=true "Frio theme in desktop browser")
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profile-1.png?raw=true "Frio theme in desktop browser")
|
||||
|*Frio theme, desktop browser. Timeline view, contact info popped up, control menu open.*|
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profle-2.png?raw=true "Frio theme in desktop browser")
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-green-profile-2.png?raw=true "Frio theme in desktop browser")
|
||||
|*Frio theme, desktop browser. Menu open for controlling individual posts.*|
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profle-3.png?raw=true "Frio theme in desktop browser")
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-3.png?raw=true "Frio theme in desktop browser")
|
||||
|*Frio theme, desktop browser. Profile view, notification menu open.*|
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profle-2.png?raw=true "Frio theme in desktop browser")
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-2.png?raw=true "Frio theme in desktop browser")
|
||||
|*Number of new posts, in total and by group.*|
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profle-1.png?raw=true "Frio theme in desktop browser")
|
||||
|![Frio theme in desktop browser](images/screenshots/friendica-frio-red-profile-1.png?raw=true "Frio theme in desktop browser")
|
||||
|*Calender with popup of event.*|
|
||||
|![Frio theme default colour in standard browser on tablet](images/screenshots/friendica-frio-default-profile-1.png?raw=true "Frio theme default colour in standard browser on tablet")
|
||||
|*Notifications menu and private messages counter, standard browser on tablet.*|
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
dir=$(cd "${0%[/\\]*}" > /dev/null; pwd)
|
||||
|
||||
if [[ -d /proc/cygdrive && $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
|
||||
# We are in Cgywin using Windows php, so the path must be translated
|
||||
# We are in Cygwin using Windows php, so the path must be translated
|
||||
dir=$(cygpath -m "$dir");
|
||||
fi
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ function show_syntax() {
|
|||
echo -e "\t\"testfile\" is the name of a test file, for example lib/template.php" >&2
|
||||
echo -e "\nDatabase environment variables:\n" >&2
|
||||
echo -e "\t\"MYSQL_HOST\" Mysql Hostname (Default: localhost)" >&2
|
||||
echo -e "\t\"MYSQL_USDRNAME\" Mysql Username (Default: friendica)" >&2
|
||||
echo -e "\t\"MYSQL_USERNAME\" Mysql Username (Default: friendica)" >&2
|
||||
echo -e "\t\"MYSQL_DATABASE\" Mysql Database (Default: test)" >&2
|
||||
echo -e "\nOther environment variables:\n" >&2
|
||||
echo -e "\t\"TEST_SELECTION\" test a specific group of tests, can be one of: $TESTS" >&2
|
||||
|
@ -65,7 +65,7 @@ else
|
|||
exit 3
|
||||
fi
|
||||
|
||||
echo "Installing depdendencies"
|
||||
echo "Installing dependencies"
|
||||
${PHP} "$COMPOSER" install
|
||||
|
||||
PHPUNIT="${BASEDIR}/vendor/bin/phpunit"
|
||||
|
|
|
@ -71,7 +71,7 @@ CREATE TABLE IF NOT EXISTS `user` (
|
|||
`verified` boolean NOT NULL DEFAULT '0' COMMENT 'user is verified through email',
|
||||
`blocked` boolean NOT NULL DEFAULT '0' COMMENT '1 for user is blocked',
|
||||
`blockwall` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to post to the profile page of the user',
|
||||
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT 'Hide profile details from unkown viewers',
|
||||
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT 'Hide profile details from unknown viewers',
|
||||
`blocktags` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to tag the post of this user',
|
||||
`unkmail` boolean NOT NULL DEFAULT '0' COMMENT 'Permit unknown people to send private mails to this user',
|
||||
`cntunkmail` int unsigned NOT NULL DEFAULT 10 COMMENT '',
|
||||
|
|
|
@ -305,7 +305,7 @@ Returns [Private Messages](help/API-Entities#Private+message) matching the provi
|
|||
#### Parameters
|
||||
|
||||
* `searchstring`: string for which the API call should search as '%searchstring%' in field 'body' of all messages of the authenticated user (caption ignored)
|
||||
* `getText` (optional): `plain`|`html` If ommited, the title is prepended to the plaintext body in the `text` attribute of the private message objects.
|
||||
* `getText` (optional): `plain`|`html` If omitted, the title is prepended to the plaintext body in the `text` attribute of the private message objects.
|
||||
* `getUserObjects` (optional): `true`|`false` If `false`, the `sender` and `recipient` attributes of the private message object are absent.
|
||||
|
||||
#### Return values
|
||||
|
@ -646,7 +646,7 @@ On error:
|
|||
|
||||
* 403 FORBIDDEN: if not authenticated
|
||||
* 400 BADREQUEST: "no albumname specified", "album not available"
|
||||
* 500 INTERNALSERVERERROR: "problem with deleting item occured", "unknown error - deleting from database failed"
|
||||
* 500 INTERNALSERVERERROR: "problem with deleting item occurred", "unknown error - deleting from database failed"
|
||||
|
||||
### POST api/friendica/photoalbum/update
|
||||
|
||||
|
|
|
@ -265,7 +265,7 @@ Example:
|
|||
|
||||
## Currently unimplemented endpoints
|
||||
|
||||
These emdpoints are planned to be implemented somewhere in the future.
|
||||
These endpoints are planned to be implemented somewhere in the future.
|
||||
|
||||
- [`POST /api/v1/accounts/:id/remove_from_followers`](https://github.com/mastodon/mastodon/pull/16864)
|
||||
- [`GET /api/v1/accounts/familiar_followers`](https://github.com/mastodon/mastodon/pull/17700)
|
||||
|
|
|
@ -10,7 +10,7 @@ Not all Friendica sites allow open registration.
|
|||
If registration is allowed, you will see a "Register" link immediately below the login prompt on the site's home page.
|
||||
Following this link will take you to the site registration page.
|
||||
The strength of our network is that lots of different sites are all completely compatible with each other.
|
||||
If the site you're visting doesn't allow registration, or you think you might prefer another one, there is a [list of public servers here](https://dir.friendica.social/servers) and hopefully you will find one that meets your needs.
|
||||
If the site you're visiting doesn't allow registration, or you think you might prefer another one, there is a [list of public servers here](https://dir.friendica.social/servers) and hopefully you will find one that meets your needs.
|
||||
|
||||
If you'd like to have your own server, you can do that too.
|
||||
Visit [the Friendica website](http://friendi.ca/) to download the code with setup instructions.
|
||||
|
|
|
@ -100,7 +100,7 @@ See doxygen documentation of `IWritableStorage` interface for details about each
|
|||
|
||||
## Register a storage backend class
|
||||
|
||||
Each backend must be registered in the system when the plugin is installed, to be aviable.
|
||||
Each backend must be registered in the system when the plugin is installed, to be available.
|
||||
|
||||
`DI::facStorage()->register(string $class)` is used to register the backend class.
|
||||
|
||||
|
@ -140,18 +140,18 @@ abstract class StorageTest
|
|||
|
||||
There are two intended types of exceptions for storages
|
||||
|
||||
### `ReferenceStorageExecption`
|
||||
### `ReferenceStorageException`
|
||||
|
||||
This storage exception should be used in case the caller tries to use an invalid references.
|
||||
This could happen in case the caller tries to delete or update an unknown reference.
|
||||
The implementation of the storage backend must not ignore invalid references.
|
||||
|
||||
Avoid throwing the common `StorageExecption` instead of the `ReferenceStorageException` at this particular situation!
|
||||
Avoid throwing the common `StorageException` instead of the `ReferenceStorageException` at this particular situation!
|
||||
|
||||
### `StorageException`
|
||||
|
||||
This is the common exception in case unexpected errors happen using the storage backend.
|
||||
If there's a predecessor to this exception (e.g. you caught an exception and are throwing this execption), you should add the predecessor for transparency reasons.
|
||||
If there's a predecessor to this exception (e.g. you caught an exception and are throwing this exception), you should add the predecessor for transparency reasons.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -320,7 +320,7 @@ The file is `addon/samplestorage/samplestorage.php`
|
|||
<?php
|
||||
/**
|
||||
* Name: Sample Storage Addon
|
||||
* Description: A sample addon which implements an unusefull storage backend
|
||||
* Description: A sample addon which implements a very limited storage backend
|
||||
* Version: 1.0.0
|
||||
* Author: Alice <https://alice.social/~alice>
|
||||
*/
|
||||
|
|
|
@ -124,7 +124,7 @@ function <addon>_footer()
|
|||
### JavaScript hooks
|
||||
|
||||
The main Friendica script provides hooks via events dispatched on the `document` property.
|
||||
In your Javascript file included as described above, add your event listener like this:
|
||||
In your JavaScript file included as described above, add your event listener like this:
|
||||
|
||||
```js
|
||||
document.addEventListener(name, callback);
|
||||
|
@ -133,7 +133,7 @@ document.addEventListener(name, callback);
|
|||
- *name* is the name of the hook and corresponds to a known Friendica JavaScript hook.
|
||||
- *callback* is a JavaScript anonymous function to execute.
|
||||
|
||||
More info about Javascript event listeners: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
||||
More info about JavaScript event listeners: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
||||
|
||||
#### Current JavaScript hooks
|
||||
|
||||
|
@ -425,7 +425,7 @@ Called after HTML content functions have completed.
|
|||
|
||||
### footer
|
||||
Called after HTML content functions have completed.
|
||||
Deferred Javascript files should be registered using this hook.
|
||||
Deferred JavaScript files should be registered using this hook.
|
||||
`$b` is (string) HTML of footer div/element.
|
||||
|
||||
### avatar_lookup
|
||||
|
|
|
@ -39,7 +39,7 @@ You can use several servers to create an account:
|
|||
|
||||
### 1. Basics
|
||||
|
||||
At first you have to get the current version. You can either pull it from [Github](https://github.com) like so:
|
||||
At first you have to get the current version. You can either pull it from [GitHub](https://github.com) like so:
|
||||
|
||||
$> cd /var/www/virtual/YOURSPACE/html/addon; git pull
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Composer requires PHP CLI and the following examples assume it's available syste
|
|||
|
||||
#### From Archive
|
||||
|
||||
If you just unpacked a Friendica release archive, you don't have to use Commposer at all, all the required libraries are already bundled in the archive.
|
||||
If you just unpacked a Friendica release archive, you don't have to use Composer at all, all the required libraries are already bundled in the archive.
|
||||
|
||||
#### Installing with Git
|
||||
|
||||
|
|
|
@ -250,7 +250,7 @@ key = value
|
|||
<tr>
|
||||
<td><pre>
|
||||
[config]
|
||||
register_policty = REGISTER_CLOSED
|
||||
register_policy = REGISTER_CLOSED
|
||||
</pre></td>
|
||||
<td><pre>
|
||||
'config' => [
|
||||
|
|
|
@ -95,7 +95,7 @@ Please remove all the `require_once` mentions of the former file, as they will p
|
|||
## Miscellaneous tips
|
||||
|
||||
When you are done with moving the class, please run `php bin/console.php typo` from the Friendica base directory to check for obvious mistakes.
|
||||
Howevever, this tool isn't bullet-proof, and a staging install of Friendica is recommended to test your class move without impairing your production server if you host one.
|
||||
However, this tool isn't bullet-proof, and a staging install of Friendica is recommended to test your class move without impairing your production server if you host one.
|
||||
|
||||
Most of Friendica processes are run in the background, so make sure to turn on your debug log to check for errors that wouldn't show up while simply browsing Friendica.
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ For documentation we use the standard of *one sentence per line* for the `md` fi
|
|||
|
||||
#### Check with [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer)
|
||||
|
||||
This tool checks your files against a variety of coding standards, including PSR-2, and ouputs a report of all the standard violations.
|
||||
This tool checks your files against a variety of coding standards, including PSR-2, and outputs a report of all the standard violations.
|
||||
You can simply install it through PEAR: `pear install PHP_CodeSniffer`
|
||||
Once it is installed and available in your PATH, here's the command to run before committing your work:
|
||||
|
||||
|
@ -109,7 +109,7 @@ Here's the command to automatically fix the files you created/modified:
|
|||
|
||||
$> phpcbf --standard=ruleset.xml <file or directory>
|
||||
|
||||
If the command-line tools `diff` and `patch` are unavailabe for you, `phpcbf` can use slightly slower PHP equivalents by using the `--no-patch` argument.
|
||||
If the command-line tools `diff` and `patch` are unavailable for you, `phpcbf` can use slightly slower PHP equivalents by using the `--no-patch` argument.
|
||||
|
||||
### Code documentation
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ Friendica Documentation and Resources
|
|||
|
||||
* [Get started](help/Developers-Intro)
|
||||
* Set up development environment
|
||||
* [Help on Github](help/Github)
|
||||
* [Help on GitHub](help/GitHub)
|
||||
* [Help on Vagrant](help/Vagrant)
|
||||
* [Bugs and Issues](help/Bugs-and-Issues)
|
||||
* Code structure
|
||||
|
|
|
@ -231,7 +231,7 @@ Copy `.htaccess-dist` to `.htaccess` (be careful under Windows) to have working
|
|||
|
||||
Example:
|
||||
|
||||
cp .htacces-dist .htaccess
|
||||
cp .htaccess-dist .htaccess
|
||||
|
||||
*Note*: Do **not** rename the `.htaccess-dist` file as it is tracked by GIT and renaming will cause a dirty working directory.
|
||||
|
||||
|
@ -353,7 +353,7 @@ Often this will need to be resolved with your hosting provider or (if self-hoste
|
|||
First check your file permissions.
|
||||
Your website and all contents must generally be world-readable.
|
||||
|
||||
Ensure that mod-rewite is installed and working, and that your `.htaccess` file
|
||||
Ensure that mod-rewrite is installed and working, and that your `.htaccess` file
|
||||
is being used. To verify the latter, create a file `test.out` containing the
|
||||
word "test" in the top directory of Friendica, make it world readable and point
|
||||
your web browser to
|
||||
|
|
|
@ -55,7 +55,7 @@ You can also use your Identity Address or other people's Identity Addresses to b
|
|||
Currently, Friendica supports connections with people on diaspora*, Red, Hubzilla, GNU Social, StatusNet, Mastodon, Pleroma, socialhome, and ganggo platforms.
|
||||
|
||||
If you know (for instance) "alice" on gnusocial.net (a GNU Social site) you could put alice@gnusocial.net into your Contact page and become friends across networks.
|
||||
Likwise you can put in the URL to Alice's gnusocial.net page, if you wish.
|
||||
Likewise you can put in the URL to Alice's gnusocial.net page, if you wish.
|
||||
Note: Some versions of GNU Social software may require the full URL to your profile and may not work with the identity address.
|
||||
|
||||
People on these networks can also initiate contact with you, if they know your contact details.
|
||||
|
@ -74,7 +74,7 @@ Create an email contact with for example Alice on Gmail, enter her email in foll
|
|||
In order to avoid abuse or spam, you must have an email from Alice with the correct email address in your email inbox.
|
||||
|
||||
Subscribing to mailing lists is done in the same way, but without the use of the "mailto:" prefix.
|
||||
To subscribe to a mailing list, enter the email in following example format "mailling-list@list-server.net".
|
||||
To subscribe to a mailing list, enter the email in following example format "mailing-list@list-server.net".
|
||||
|
||||
### Syndication feeds
|
||||
You can "follow" almost anybody or any website that produces a syndication feed (RSS/Atom,etc.).
|
||||
|
|
|
@ -19,7 +19,7 @@ Friendica contacts
|
|||
---
|
||||
Friendica will recreate your account on the new server, with your contacts and groups.
|
||||
A message is sent to Friendica contacts, to inform them about your move:
|
||||
If your contacts are runnning on an updated server, your details on their side will be automatically updated.
|
||||
If your contacts are running on an updated server, your details on their side will be automatically updated.
|
||||
|
||||
GNU Social contacts
|
||||
---
|
||||
|
|
|
@ -4,7 +4,7 @@ If you're not already logged in, do so in the frame below.
|
|||
Once you've logged in (or if you are already logged in), you'll now be looking at your profile page.
|
||||
|
||||
This is a bit like a Facebook wall.
|
||||
It's where all your status messgages are kept, and where your friends come to post on your wall.
|
||||
It's where all your status messages are kept, and where your friends come to post on your wall.
|
||||
|
||||
To write your status, simply click on the Pencil & Paper icon in the top right (in the Frio theme), or click in the box that says "share" (other themes).
|
||||
When you do this, the posting dialog box will appear or the share box will expand.
|
||||
|
|
|
@ -104,12 +104,12 @@ Default is false.
|
|||
#### File storage backend
|
||||
|
||||
Set the backend used by Friendica to store uploaded file data.
|
||||
Two storage backends are avaiable with Friendica:
|
||||
Two storage backends are available with Friendica:
|
||||
|
||||
- **Database** : Data is stored in a dedicated table in database (`storage`)
|
||||
- **Filesystem** : Data is stored as file on the filesystem.
|
||||
|
||||
More storage backends can be avaiable from third-party addons.
|
||||
More storage backends can be available from third-party addons.
|
||||
If you use those, please refer to the documentation of those addons for further information.
|
||||
|
||||
Default value is 'Database (legacy)': it's the legacy way used to store data directly in database.
|
||||
|
|
|
@ -13,7 +13,7 @@ If 2FA is already enabled and you want to add another device, you must re-config
|
|||
### 1. Download an authenticator app
|
||||
|
||||
Any authenticator app should work with Friendica.
|
||||
Notheless, we recommend:
|
||||
Nonetheless, we recommend:
|
||||
|
||||
- For iOS, [Matt Rubin's MIT-licensed Authenticator app](https://mattrubin.me/authenticator).
|
||||
- For Android, [andOTP](https://github.com/andOTP/andOTP).
|
||||
|
@ -68,7 +68,7 @@ Instead, if you enabled two-factor authentication, you have to generate app-spec
|
|||
|
||||
You can generate as many app-specific passwords as you want, they will be shown once to you just after you generated it.
|
||||
Just copy and paste it in your third-party app in the Friendica account password input field at this point.
|
||||
We recommend generating a single app-specific password for each separate third-party app you are using, using a meaningul description of the target app (like "Frienqa on my Fairphone 2").
|
||||
We recommend generating a single app-specific password for each separate third-party app you are using, using a meaningful description of the target app (like "Frienqa on my Fairphone 2").
|
||||
|
||||
You can also revoke any and all app-specific password you generated this way.
|
||||
This may log you out of the third-party application(s) you used the revoked app-specific password to log in with.
|
||||
|
|
|
@ -31,7 +31,7 @@ The mysql database is called "friendica", the mysql user and password both are "
|
|||
Your local working directory is set up as a shared directory with the VM (/vagrant).
|
||||
7. Check the changes in your browser in the VM.
|
||||
Find the Friendica log file `/vagrant/logfile.out` on the VM or in the `logfile.out` in you local Friendica directory.
|
||||
8. Commit and push your changes directly back to Github.
|
||||
8. Commit and push your changes directly back to GitHub.
|
||||
|
||||
If you want to stop vagrant after finishing your work, run the following command
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ Fields
|
|||
| verified | user is verified through email | boolean | NO | | 0 | |
|
||||
| blocked | 1 for user is blocked | boolean | NO | | 0 | |
|
||||
| blockwall | Prohibit contacts to post to the profile page of the user | boolean | NO | | 0 | |
|
||||
| hidewall | Hide profile details from unkown viewers | boolean | NO | | 0 | |
|
||||
| hidewall | Hide profile details from unknown viewers | boolean | NO | | 0 | |
|
||||
| blocktags | Prohibit contacts to tag the post of this user | boolean | NO | | 0 | |
|
||||
| unkmail | Permit unknown people to send private mails to this user | boolean | NO | | 0 | |
|
||||
| cntunkmail | | int unsigned | NO | | 10 | |
|
||||
|
|
|
@ -9,7 +9,7 @@ Depending on the theme you are using, there might be an additional link from the
|
|||
|
||||
## Event Overview
|
||||
|
||||
The overview page shows the calendar of the current month, plus a few days days at the beginning and the end.
|
||||
The overview page shows the calendar of the current month, plus a few days at the beginning and the end.
|
||||
Listed are all events for this month, created by you, or shared with you by your contacts,
|
||||
This includes birthday reminders for contacts who share their birthday with you.
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ Form Templates
|
|||
To guarantee a consistent look and feel for input forms, i.e. in the settings sections, there are templates for the basic form fields.
|
||||
They are initialized with an array of data, depending on the tyle of the field.
|
||||
|
||||
All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addesses use something along the lines of:
|
||||
All of these take an array holding the values, e.g. for a one line text input field, which is required and should be used to type email addresses use something along the lines of:
|
||||
|
||||
'$adminmail' => array('adminmail', DI::l10n()->t('Site administrator email address'), $adminmail, DI::l10n()->t('Your account email address must match this in order to use the web admin panel.'), 'required', '', 'email'),
|
||||
|
||||
|
@ -70,7 +70,7 @@ Field parameter:
|
|||
|
||||
### field_custom.tpl
|
||||
|
||||
A customizeable template to include a custom element in the form with the usual surroundings,
|
||||
A customizable template to include a custom element in the form with the usual surroundings,
|
||||
Field parameter:
|
||||
|
||||
0. Name of the field,
|
||||
|
@ -88,7 +88,7 @@ Field parameter:
|
|||
2. Current value of the variable,
|
||||
3. Help text for the input box,
|
||||
4. Should be set to the translation of "Required" to mark this field as required,
|
||||
5. if set to "autofocus" modern browser will put the cursur into this box once the page is loaded,
|
||||
5. if set to "autofocus" modern browser will put the cursor into this box once the page is loaded,
|
||||
6. if set, it will be used for the input type, default is `text` (possible types: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#%3Cinput%3E_types).
|
||||
|
||||
### field_intcheckbox.tpl
|
||||
|
|
|
@ -12,7 +12,7 @@ So, how to work on the UI of friendica.
|
|||
You can either directly edit an existing theme.
|
||||
But you might loose your changes when the theme is updated by the friendica team.
|
||||
|
||||
If you are almost happy with an existing theme, the easiest way to cover your needs is to create a new theme, inheritating most of the properties of the parent theme and change just minor stuff.
|
||||
If you are almost happy with an existing theme, the easiest way to cover your needs is to create a new theme, inheriting most of the properties of the parent theme and change just minor stuff.
|
||||
The below for a more detailed description of theme heritage.
|
||||
|
||||
Some themes also allow users to select *variants* of the theme.
|
||||
|
@ -33,7 +33,7 @@ In most cases, you can found these in
|
|||
/view/theme/**your-theme-name**/style.css
|
||||
|
||||
sometimes, there is also a file called style.php in the theme directory.
|
||||
This is only needed if the theme allowes the user to change certain things of the theme dynamically.
|
||||
This is only needed if the theme allows the user to change certain things of the theme dynamically.
|
||||
Say the font size or set a background image.
|
||||
|
||||
### Templates
|
||||
|
@ -50,7 +50,7 @@ if you want to override any template within your theme create your version of th
|
|||
|
||||
any template that exists there will be used instead of the default one.
|
||||
|
||||
### Javascript
|
||||
### JavaScript
|
||||
|
||||
The same rule applies to the JavaScript files found in
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ Friendica translations
|
|||
|
||||
The Friendica translation process is based on `gettext` PO files.
|
||||
|
||||
Basic worflow:
|
||||
Basic workflow:
|
||||
1. `xgettext` is used to collect translation strings across the project in the authoritative PO file located in `view/lang/C/messages.po`.
|
||||
2. This file makes translations strings available at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/).
|
||||
3. The translation itself is done at Transifex by volunteers.
|
||||
|
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 408 KiB After Width: | Height: | Size: 408 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 498 KiB After Width: | Height: | Size: 498 KiB |
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 300 B |
|
@ -19,7 +19,7 @@
|
|||
*
|
||||
* This is the POST destination for most all locally posted
|
||||
* text stuff. This function handles status, wall-to-wall status,
|
||||
* local comments, and remote coments that are posted on this site
|
||||
* local comments, and remote comments that are posted on this site
|
||||
* (as opposed to being delivered in a feed).
|
||||
* Also processed here are posts and comments coming through the
|
||||
* statusnet/twitter API.
|
||||
|
|
|
@ -436,7 +436,7 @@ function render_messages(array $msg, string $t): string
|
|||
$to_name_e = $rr['name'];
|
||||
|
||||
if (is_null($rr['url'])) {
|
||||
// contact-id is pointing to a non existing contact
|
||||
// contact-id is pointing to a nonexistent contact
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -714,7 +714,7 @@ function photos_content(App $a)
|
|||
// When PHP is configured with upload_max_filesize less than maximagesize provide this lower limit.
|
||||
$maximagesize_bytes = (is_numeric($mis_bytes) && ($mis_bytes < $umf_bytes) ? $mis_bytes : $umf_bytes);
|
||||
|
||||
// @todo We may be want to use appropriate binary prefixed dynamicly
|
||||
// @todo We may be want to use appropriate binary prefixed dynamically
|
||||
$usage_message = DI::l10n()->t('The maximum accepted image size is %s', Strings::formatBytes($maximagesize_bytes));
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('photos_upload.tpl');
|
||||
|
|
|
@ -32,7 +32,7 @@ Please check software documentation to know how modify these examples to make th
|
|||
Sample systemd unit files to start worker.php periodically.
|
||||
|
||||
Please place them in the correct location for your system, typically this is `/etc/systemd/system/friendicaworker.timer` and `/etc/systemd/system/friendicaworker.service`.
|
||||
Please report problems and improvements to `!helpers@forum.friendi.ca` and `@utzer@social.yl.ms` or open an issue in [the Github Friendica page](https://github.com/friendica/friendica/issues).
|
||||
Please report problems and improvements to `!helpers@forum.friendi.ca` and `@utzer@social.yl.ms` or open an issue in [the GitHub Friendica page](https://github.com/friendica/friendica/issues).
|
||||
This is for usage of systemd instead of cron to start the worker periodically, the solution is a work-in-progress and can surely be improved.
|
||||
|
||||
## `phpstorm-code-style.xml`
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Bookmarklet-share2friendica
|
||||
|
||||
Javascript bookmarklet to share websites with your friendica account
|
||||
JavaScript bookmarklet to share websites with your friendica account
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Installing
|
||||
|
||||
Open the file bookmarklet-share2friendica.js and change 'YourFriendicaDoomain.tld" with your friendica domain
|
||||
Open the file bookmarklet-share2friendica.js and change 'YourFriendicaDomain.tld" with your friendica domain
|
||||
|
||||
If you friendica is at https://myfriend.myfami.ly/ , the original ...
|
||||
```javascript
|
||||
|
@ -20,7 +20,7 @@ javascript:(function(){f='https://myfriend.myfami.ly/bookmarklet/?url='+encodeUR
|
|||
|
||||
*Please copy the whole script, not only the part mentioned here!*
|
||||
|
||||
Then create a new bookmark, give it a name like "share2Friendica" and paste the script in the address field. Save it. Now you can click on that bookmarklet every time you want to share a website, you are currently reading. A new small window will open where title is prefilled and the website you want to share is put as attachement in the body of the new post.
|
||||
Then create a new bookmark, give it a name like "share2Friendica" and paste the script in the address field. Save it. Now you can click on that bookmarklet every time you want to share a website, you are currently reading. A new small window will open where title is prefilled and the website you want to share is put as attachment in the body of the new post.
|
||||
|
||||
## Additional notes if it doesn't work
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- styling for this page is done in the home.css file //-->
|
||||
|
||||
<!-- Some node specifiv welcome message //-->
|
||||
<!-- Some node specific welcome message //-->
|
||||
<p>Welcome to this <a href="https://friendi.ca">Friendica</a> node!</p>
|
||||
|
||||
<!-- Some general notes about Friendica, the other networks and difficulty to run //-->
|
||||
|
@ -17,7 +17,7 @@
|
|||
</div>
|
||||
<div id="c3" class="homeinfobox">
|
||||
<h4>Is it hard to run Friendica?</h4>
|
||||
<p>No, not at all! You need a LAMP server, most shared hosting services that offer MySQL, PHP and the ability to run cron jobs will do just fine. If you have your own (virtual) server, for a small Friendica server something like a Raspberry2B is sufficenent from the specs.</p>
|
||||
<p>No, not at all! You need a LAMP server, most shared hosting services that offer MySQL, PHP and the ability to run cron jobs will do just fine. If you have your own (virtual) server, for a small Friendica server something like a Raspberry2B is sufficient from the specs.</p>
|
||||
<p><a href="https://github.com/friendica/friendica">Get the source</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -22,7 +22,7 @@ the requested URL.
|
|||
Enjoy!
|
||||
|
||||
On Debian Jessie with lighttpd 1.4.35-4 there was a problem encountered
|
||||
between curl (which is used by Friendica in the background) and lighttp.
|
||||
between curl (which is used by Friendica in the background) and lighttpd.
|
||||
This problem caused requests being served with an error code of 417 in
|
||||
the logs and no delivery of postings from the contacts.
|
||||
|
||||
|
@ -30,7 +30,7 @@ One can solve the issue by adding
|
|||
|
||||
server.reject-expect-100-with-417 = "disable"
|
||||
|
||||
to the lighttpd configuratiion file (e.g. in the beginning with the
|
||||
to the lighttpd configuration file (e.g. in the beginning with the
|
||||
other 'server.xxx' settings.
|
||||
|
||||
---------------( config starts )-----------------
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
##
|
||||
# This configuration assumes your domain is example.net
|
||||
# You have a separate subdomain friendica.example.net
|
||||
# You want all Friendica traffic to be https using letsencrypt with cerbot
|
||||
# You want all Friendica traffic to be https using letsencrypt with certbot
|
||||
# You have an SSL certificate and key for your subdomain
|
||||
# You have PHP FastCGI Process Manager (php7.4-fpm) running on localhost
|
||||
# You have Friendica installed in /var/www/friendica
|
||||
|
|
14
spec/zot.txt
|
@ -45,7 +45,7 @@ is a superset of salmon).
|
|||
zot:key
|
||||
*******
|
||||
|
||||
A suitable randomly generated encyption key of length 32 octets for encrypting
|
||||
A suitable randomly generated encryption key of length 32 octets for encrypting
|
||||
the salmon packet. This is then encrypted with the sender's private key and
|
||||
base64url encoded.
|
||||
|
||||
|
@ -59,7 +59,7 @@ key and base64url encoded.
|
|||
zot:env_key
|
||||
***********
|
||||
|
||||
A suitable randomly generated encyption key of length 32 octets for encrypting
|
||||
A suitable randomly generated encryption key of length 32 octets for encrypting
|
||||
the envelope. This is then encrypted with the recipient's public key and
|
||||
base64url encoded. For bulk deliveries, it is encrypted with the site bulk
|
||||
delivery public key.
|
||||
|
@ -127,7 +127,7 @@ MUST be present.
|
|||
Z-To: zot:bob@example.com, zot:alice@example.com, mailto:dave@example.com
|
||||
Z-Bcc: zot:https://example.com/profile/richard
|
||||
|
||||
are valid entries. Adresses are comma separated and individual entries MUST NOT
|
||||
are valid entries. Addresses are comma separated and individual entries MUST NOT
|
||||
contain commas. There MAY be any number of ASCII space characters between
|
||||
entries for legibility. Header lines are terminated with a linefeed character
|
||||
(ASCII 0x0A).
|
||||
|
@ -136,8 +136,8 @@ This specification provides the following protocol address prefixes
|
|||
for use in Z-To: or Z-Bcc: elements:
|
||||
|
||||
zot: - normal zot delivery using webfinger or LRDD resolvable address
|
||||
dfrn: - legacy DFRN mode delivery using webfinger or LRDD resovable address
|
||||
ostatus: - normal OStatus delivery using webfinger or LRDD resovable address
|
||||
dfrn: - legacy DFRN mode delivery using webfinger or LRDD resolvable address
|
||||
ostatus: - normal OStatus delivery using webfinger or LRDD resolvable address
|
||||
diaspora: - Diaspora network delivery using webfinger address
|
||||
facebook: - Facebook profile page URL
|
||||
twitter: - Twitter personal page URL without AJAX '#!' fragment
|
||||
|
@ -289,7 +289,7 @@ systems MAY reject foreign messages.
|
|||
*******************************
|
||||
|
||||
This section of the document is considered separate from the delivery
|
||||
specification precding it and represents a different protocol, which is
|
||||
specification preceding it and represents a different protocol, which is
|
||||
currently incomplete. This will be split off into another document in the
|
||||
future, but is presented here as a synergistic component of the Zot network
|
||||
model.
|
||||
|
@ -353,7 +353,7 @@ Salmon Magic Envelope
|
|||
Atom Activity Stream Draft
|
||||
http://activitystrea.ms/specs/atom/1.0/
|
||||
|
||||
Activty Stream Base Schema
|
||||
Activity Stream Base Schema
|
||||
http://activitystrea.ms/head/activity-schema.html
|
||||
|
||||
WebFinger Protocol
|
||||
|
|
|
@ -391,7 +391,7 @@ class App
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the current theme name. May be overriden by the mobile theme name.
|
||||
* Returns the current theme name. May be overridden by the mobile theme name.
|
||||
*
|
||||
* @return string Current theme name or empty string in installation phase
|
||||
* @throws Exception
|
||||
|
@ -532,7 +532,7 @@ class App
|
|||
/**
|
||||
* Provide a sane default if nothing is chosen or the specified theme does not exist.
|
||||
*
|
||||
* @return string Current theme's stylsheet path
|
||||
* @return string Current theme's stylesheet path
|
||||
* @throws Exception
|
||||
*/
|
||||
public function getCurrentThemeStylesheetPath(): string
|
||||
|
|
|
@ -291,7 +291,7 @@ class Page implements ArrayAccess
|
|||
* Initializes Page->page['footer'].
|
||||
*
|
||||
* Includes:
|
||||
* - Javascript homebase
|
||||
* - JavaScript homebase
|
||||
* - Mobile toggle link
|
||||
* - Registered footer scripts (through App->registerFooterScript())
|
||||
* - footer.tpl template
|
||||
|
@ -503,7 +503,7 @@ class Page implements ArrayAccess
|
|||
|
||||
$content = mb_convert_encoding($this->page["content"], 'HTML-ENTITIES', "UTF-8");
|
||||
|
||||
/// @TODO one day, kill those error-surpressing @ stuff, or PHP should ban it
|
||||
/// @TODO one day, kill those error-suppressing @ stuff, or PHP should ban it
|
||||
@$doc->loadHTML($content);
|
||||
|
||||
$xpath = new DOMXPath($doc);
|
||||
|
|
|
@ -412,7 +412,7 @@ class Router
|
|||
}
|
||||
|
||||
if (!$this->lock->acquire('getCachedDispatchData', 0)) {
|
||||
// Immediately return uncached data when we can't aquire a lock
|
||||
// Immediately return uncached data when we can't acquire a lock
|
||||
return $this->getDispatchData();
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace Friendica;
|
|||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* Factories act as an intermediary to avoid direct Entitiy instanciation.
|
||||
* Factories act as an intermediary to avoid direct Entity instantiation.
|
||||
*
|
||||
* @see BaseModel
|
||||
* @see BaseCollection
|
||||
|
|
|
@ -94,7 +94,7 @@ abstract class BaseModel extends BaseDataTransferObject
|
|||
}
|
||||
|
||||
/**
|
||||
* Magic isset method. Returns true if the field exists, either in the data prperty array or in any of the local properties.
|
||||
* Magic isset method. Returns true if the field exists, either in the data property array or in any of the local properties.
|
||||
* Used by array_column() on an array of objects.
|
||||
*
|
||||
* @param $name
|
||||
|
|
|
@ -90,9 +90,9 @@ abstract class BaseModule implements ICanHandleRequests
|
|||
*
|
||||
* @see L10n::tt()
|
||||
*/
|
||||
protected function tt(string $singular, string $plurarl, int $count): string
|
||||
protected function tt(string $singular, string $plural, int $count): string
|
||||
{
|
||||
return $this->l10n->tt($singular, $plurarl, $count);
|
||||
return $this->l10n->tt($singular, $plural, $count);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\App;
|
|||
*
|
||||
* Basically, docblox takes a list of files to build documentation from. This script assumes there is a file or set of files
|
||||
* breaking the build when it is included in that list. It tries to calculate the smallest list containing these files.
|
||||
* Unfortunatly, the original problem is NP-complete, so what the script does is a best guess only.
|
||||
* Unfortunately, the original problem is NP-complete, so what the script does is a best guess only.
|
||||
*
|
||||
* So it starts with a list of all files in the project.
|
||||
* If that list can't be build, it cuts it in two parts and tries both parts independently. If only one of them breaks,
|
||||
|
|
|
@ -129,7 +129,7 @@ HELP;
|
|||
if (!$parameters) {
|
||||
$this->errored++;
|
||||
if ($this->getOption('v')) {
|
||||
$this->out('Unabled to parse parameter JSON of the row with id ' . $workerqueueItem['id']);
|
||||
$this->out('Unable to parse parameter JSON of the row with id ' . $workerqueueItem['id']);
|
||||
$this->out('JSON: ' . var_export($workerqueueItem['parameter'], true));
|
||||
}
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ HELP;
|
|||
} else {
|
||||
$this->errored++;
|
||||
if ($this->getOption('v')) {
|
||||
$this->out('Unabled to update the row with id ' . $workerqueueItem['id']);
|
||||
$this->out('Unable to update the row with id ' . $workerqueueItem['id']);
|
||||
$this->out('Fields: ' . var_export($fields, true));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ HELP;
|
|||
}
|
||||
|
||||
/**
|
||||
* Get a string and retun a message.po ready text
|
||||
* Get a string and return a message.po ready text
|
||||
* - replace " with \"
|
||||
* - replace tab char with \t
|
||||
* - manage multiline strings
|
||||
|
|
|
@ -94,7 +94,7 @@ class BoundariesPager extends Pager
|
|||
* $params = ['order' => ['sort_field' => true], 'limit' => $itemsPerPage];
|
||||
* $items = DBA::toArray(DBA::select($table, $fields, $condition, $params));
|
||||
*
|
||||
* $pager = new BoundariesPager($a->query_string, $items[0]['sort_field'], $items[coutn($items) - 1]['sort_field'], $itemsPerPage);
|
||||
* $pager = new BoundariesPager($a->query_string, $items[0]['sort_field'], $items[count($items) - 1]['sort_field'], $itemsPerPage);
|
||||
*
|
||||
* $html = $pager->renderMinimal(count($items));
|
||||
*
|
||||
|
|
|
@ -1362,7 +1362,7 @@ class Conversation
|
|||
}
|
||||
}
|
||||
|
||||
/// @TODO: Stop recusrsively adding all children back to the top level (!!!)
|
||||
/// @TODO: Stop recursively adding all children back to the top level (!!!)
|
||||
/// However, this apparently ensures responses (likes, attendance) display (?!)
|
||||
foreach ($parents as $parent) {
|
||||
if (count($parent['children'])) {
|
||||
|
|
|
@ -79,7 +79,7 @@ class Feature
|
|||
* Get a list of all available features
|
||||
*
|
||||
* The array includes the setting group, the setting name,
|
||||
* explainations for the setting and if it's enabled or disabled
|
||||
* explanations for the setting and if it's enabled or disabled
|
||||
* by default
|
||||
*
|
||||
* @param bool $filtered True removes any locked features
|
||||
|
|
|
@ -38,7 +38,7 @@ class ForumManager
|
|||
*
|
||||
* @param int $uid of the profile owner
|
||||
* @param boolean $lastitem Sort by lastitem
|
||||
* @param boolean $showhidden Show frorums which are not hidden
|
||||
* @param boolean $showhidden Show forums which are not hidden
|
||||
* @param boolean $showprivate Show private groups
|
||||
*
|
||||
* @return array
|
||||
|
@ -102,7 +102,7 @@ class ForumManager
|
|||
/**
|
||||
* Forumlist widget
|
||||
*
|
||||
* Sidebar widget to show subcribed friendica forums. If activated
|
||||
* Sidebar widget to show subscribed friendica forums. If activated
|
||||
* in the settings, it appears at the notwork page sidebar
|
||||
*
|
||||
* @param string $baseurl Base module path
|
||||
|
|
|
@ -338,7 +338,7 @@ class Item
|
|||
} else {
|
||||
$post_type = $this->l10n->t('status');
|
||||
}
|
||||
// Let's break everthing ... ;-)
|
||||
// Let's break everything ... ;-)
|
||||
break;
|
||||
}
|
||||
$plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
|
||||
|
@ -685,11 +685,11 @@ class Item
|
|||
|
||||
// If it is a reshared post then reformat it to avoid display problems with two share elements
|
||||
if (!empty($shared)) {
|
||||
if (!empty($shared['guid']) && ($encaspulated_share = $this->createSharedPostByGuid($shared['guid'], true))) {
|
||||
if (!empty($shared['guid']) && ($encapsulated_share = $this->createSharedPostByGuid($shared['guid'], true))) {
|
||||
if (!empty(BBCode::fetchShareAttributes($item['body']))) {
|
||||
$item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encaspulated_share, $item['body']);
|
||||
$item['body'] = preg_replace("/\[share.*?\](.*)\[\/share\]/ism", $encapsulated_share, $item['body']);
|
||||
} else {
|
||||
$item['body'] .= $encaspulated_share;
|
||||
$item['body'] .= $encapsulated_share;
|
||||
}
|
||||
}
|
||||
$item['body'] = HTML::toBBCode(BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::ACTIVITYPUB));
|
||||
|
|
|
@ -385,7 +385,7 @@ class OEmbed
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns a formmated HTML code from given URL and sets optional title
|
||||
* Returns a formatted HTML code from given URL and sets optional title
|
||||
*
|
||||
* @param string $url URL to fetch
|
||||
* @param string $title Optional title (default: what comes from OEmbed object)
|
||||
|
|
|
@ -141,7 +141,7 @@ class PageInfo
|
|||
$data['text'] = '';
|
||||
}
|
||||
|
||||
// Only embedd a picture link when it seems to be a valid picture ("width" is set)
|
||||
// Only embed a picture link when it seems to be a valid picture ("width" is set)
|
||||
if (!empty($data['images']) && !empty($data['images'][0]['width'])) {
|
||||
$preview = str_replace(['[', ']'], ['[', ']'], htmlentities($data['images'][0]['src'], ENT_QUOTES, 'UTF-8', false));
|
||||
// if the preview picture is larger than 500 pixels then show it in a larger mode
|
||||
|
|
|
@ -133,7 +133,7 @@ class Smilies
|
|||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-cry.gif" alt=":\'(" title=":\'("/>',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-foot-in-mouth.gif" alt=":-!" title=":-!" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-undecided.gif" alt=":-/" title=":-/" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-embarassed.gif" alt=":-[" title=":-[" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-embarrassed.gif" alt=":-[" title=":-[" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/smiley-cool.gif" alt="8-)" title="8-)" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/beer_mug.gif" alt=":beer" title=":beer" />',
|
||||
'<img class="smiley" src="' . $baseUrl . '/images/beer_mug.gif" alt=":homebrew" title=":homebrew" />',
|
||||
|
|
|
@ -1373,7 +1373,7 @@ class BBCode
|
|||
});
|
||||
}
|
||||
|
||||
// leave open the posibility of [map=something]
|
||||
// leave open the possibility of [map=something]
|
||||
// this is replaced in Item::prepareBody() which has knowledge of the item location
|
||||
if (strpos($text, '[/map]') !== false) {
|
||||
$text = preg_replace_callback(
|
||||
|
|
|
@ -180,7 +180,7 @@ class Plaintext
|
|||
$msg = trim($post['description']);
|
||||
}
|
||||
|
||||
// If the link is already contained in the post, then it neeedn't to be added again
|
||||
// If the link is already contained in the post, then it needn't to be added again
|
||||
// But: if the link is beyond the limit, then it has to be added.
|
||||
if (($link != '') && strstr($msg, $link)) {
|
||||
$pos = strpos($msg, $link);
|
||||
|
|
|
@ -59,7 +59,7 @@ class Widget
|
|||
/**
|
||||
* Return Find People widget
|
||||
*
|
||||
* @return string HTML code respresenting "People Widget"
|
||||
* @return string HTML code representing "People Widget"
|
||||
*/
|
||||
public static function findPeople(): string
|
||||
{
|
||||
|
|
|
@ -47,7 +47,7 @@ class ACL
|
|||
/**
|
||||
* Returns a select input tag for private message recipient
|
||||
*
|
||||
* @param int $selected Existing recipien contact ID
|
||||
* @param int $selected Existing recipient contact ID
|
||||
* @return string
|
||||
* @throws \Exception
|
||||
*/
|
||||
|
|
|
@ -590,8 +590,8 @@ class Installer
|
|||
* TLS Check
|
||||
*
|
||||
* Tries to determine whether the connection to the server is secured
|
||||
* by TLS or not. If not the user will be warned that it is higly
|
||||
* encuraged to use TLS.
|
||||
* by TLS or not. If not the user will be warned that it is highly
|
||||
* encouraged to use TLS.
|
||||
*
|
||||
* @return bool (true) as TLS is not mandatory
|
||||
*/
|
||||
|
|
|
@ -334,7 +334,7 @@ class L10n
|
|||
// for some languages there is only a single array item
|
||||
$s = $t[0];
|
||||
}
|
||||
// if $t is empty, skip it, because empty strings array are indended
|
||||
// if $t is empty, skip it, because empty strings array are intended
|
||||
// to make string file smaller when there's no translation
|
||||
} else {
|
||||
$s = $t;
|
||||
|
|
|
@ -206,7 +206,7 @@ class Logger
|
|||
* An alternative logger for development.
|
||||
*
|
||||
* Works largely as log() but allows developers
|
||||
* to isolate particular elements they are targetting
|
||||
* to isolate particular elements they are targeting
|
||||
* personally without background noise
|
||||
*
|
||||
* @param string $message Message to log
|
||||
|
|
|
@ -27,7 +27,7 @@ use Friendica\Core\Storage\Exception\StorageException;
|
|||
/**
|
||||
* Interface for writable storage backends
|
||||
*
|
||||
* Used for storages with CRUD functionality, mainly used for user data (e.g. photos, attachements).
|
||||
* Used for storages with CRUD functionality, mainly used for user data (e.g. photos, attachments).
|
||||
* There's only one active writable storage possible. This type of storage is selectable by the current administrator.
|
||||
*/
|
||||
interface ICanWriteToStorage extends ICanReadFromStorage
|
||||
|
|
|
@ -35,7 +35,7 @@ use Friendica\Util\Strings;
|
|||
* Best would be for storage folder to be outside webserver folder, we are using a
|
||||
* folder relative to code tree root as default to ease things for users in shared hostings.
|
||||
* Each new resource gets a value as reference and is saved in a
|
||||
* folder tree stucture created from that value.
|
||||
* folder tree structure created from that value.
|
||||
*/
|
||||
class Filesystem implements ICanWriteToStorage
|
||||
{
|
||||
|
|
|
@ -321,7 +321,7 @@ class System
|
|||
}
|
||||
|
||||
/**
|
||||
* This function adds the content and a content-teype HTTP header to the output.
|
||||
* This function adds the content and a content-type HTTP header to the output.
|
||||
* After finishing the process is getting killed.
|
||||
*
|
||||
* @param string $content
|
||||
|
|
|
@ -362,7 +362,7 @@ class Worker
|
|||
return false;
|
||||
}
|
||||
|
||||
// Check for existance and validity of the include file
|
||||
// Check for existence and validity of the include file
|
||||
$include = $argv[0];
|
||||
|
||||
if (method_exists(sprintf('Friendica\Worker\%s', $include), 'execute')) {
|
||||
|
@ -590,7 +590,7 @@ class Worker
|
|||
/* With these values we can analyze how effective the worker is.
|
||||
* The database and rest time should be low since this is the unproductive time.
|
||||
* The execution time is the productive time.
|
||||
* By changing parameters like the maximum number of workers we can check the effectivness.
|
||||
* By changing parameters like the maximum number of workers we can check the effectiveness.
|
||||
*/
|
||||
$dbtotal = round(self::$db_duration, 2);
|
||||
$dbread = round(self::$db_duration - (self::$db_duration_count + self::$db_duration_write + self::$db_duration_stat), 2);
|
||||
|
@ -885,7 +885,7 @@ class Worker
|
|||
/**
|
||||
* Returns waiting jobs for the current process id
|
||||
*
|
||||
* @return array|bool waiting workerqueue jobs or FALSE on failture
|
||||
* @return array|bool waiting workerqueue jobs or FALSE on failure
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function getWaitingJobForPID()
|
||||
|
@ -1422,7 +1422,7 @@ class Worker
|
|||
*/
|
||||
public static function isInMaintenanceWindow(bool $check_last_execution = false): bool
|
||||
{
|
||||
// Calculate the seconds of the start end end of the maintenance window
|
||||
// Calculate the seconds of the start and end of the maintenance window
|
||||
$start = strtotime(DI::config()->get('system', 'maintenance_start')) % 86400;
|
||||
$end = strtotime(DI::config()->get('system', 'maintenance_end')) % 86400;
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ abstract class DI
|
|||
|
||||
/**
|
||||
* Returns a clone of the current dice instance
|
||||
* This usefull for overloading the current instance with mocked methods during tests
|
||||
* This useful for overloading the current instance with mocked methods during tests
|
||||
*
|
||||
* @return Dice
|
||||
*/
|
||||
|
|
|
@ -205,7 +205,7 @@ class DBA
|
|||
* Please use DBA::delete, DBA::insert, DBA::update, ... instead
|
||||
*
|
||||
* @param string $sql SQL statement
|
||||
* @return boolean Was the query successfull? False is returned only if an error occurred
|
||||
* @return boolean Was the query successful? False is returned only if an error occurred
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function e(string $sql): bool
|
||||
|
@ -420,7 +420,7 @@ class DBA
|
|||
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
|
||||
* @param array $params Parameters: "ignore" If set to "true" then the update is done with the ignore parameter
|
||||
*
|
||||
* @return boolean was the update successfull?
|
||||
* @return boolean was the update successful?
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function update(string $table, array $fields, array $condition, $old_fields = [], array $params = []): bool
|
||||
|
|
|
@ -767,7 +767,7 @@ class Database
|
|||
*
|
||||
* @param string $sql SQL statement
|
||||
*
|
||||
* @return boolean Was the query successfull? False is returned only if an error occurred
|
||||
* @return boolean Was the query successful? False is returned only if an error occurred
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function e(string $sql): bool
|
||||
|
@ -1321,7 +1321,7 @@ class Database
|
|||
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
|
||||
* @param array $params Parameters: "ignore" If set to "true" then the update is done with the ignore parameter
|
||||
*
|
||||
* @return boolean was the update successfull?
|
||||
* @return boolean was the update successful?
|
||||
* @throws \Exception
|
||||
* @todo Implement "bool $update_on_duplicate" to avoid mixed type for $old_fields
|
||||
*/
|
||||
|
|
|
@ -82,7 +82,7 @@ class DbaDefinition
|
|||
// Assign all field that are present in the table
|
||||
foreach ($fieldNames as $field) {
|
||||
if (isset($data[$field])) {
|
||||
// Limit the length of varchar, varbinary, char and binrary fields
|
||||
// Limit the length of varchar, varbinary, char and binary fields
|
||||
if (is_string($data[$field]) && preg_match("/char\((\d*)\)/", $definition[$table]['fields'][$field]['type'], $result)) {
|
||||
$data[$field] = mb_substr($data[$field], 0, $result[1]);
|
||||
} elseif (is_string($data[$field]) && preg_match("/binary\((\d*)\)/", $definition[$table]['fields'][$field]['type'], $result)) {
|
||||
|
|
|
@ -55,7 +55,7 @@ class Status extends BaseFactory
|
|||
/** @var Card */
|
||||
private $mstdnCardFactory;
|
||||
/** @var Attachment */
|
||||
private $mstdnAttachementFactory;
|
||||
private $mstdnAttachmentFactory;
|
||||
/** @var Error */
|
||||
private $mstdnErrorFactory;
|
||||
/** @var Poll */
|
||||
|
@ -70,21 +70,21 @@ class Status extends BaseFactory
|
|||
Mention $mstdnMentionFactory,
|
||||
Tag $mstdnTagFactory,
|
||||
Card $mstdnCardFactory,
|
||||
Attachment $mstdnAttachementFactory,
|
||||
Attachment $mstdnAttachmentFactory,
|
||||
Error $mstdnErrorFactory,
|
||||
Poll $mstdnPollFactory,
|
||||
ContentItem $contentItem
|
||||
) {
|
||||
parent::__construct($logger);
|
||||
$this->dba = $dba;
|
||||
$this->mstdnAccountFactory = $mstdnAccountFactory;
|
||||
$this->mstdnMentionFactory = $mstdnMentionFactory;
|
||||
$this->mstdnTagFactory = $mstdnTagFactory;
|
||||
$this->mstdnCardFactory = $mstdnCardFactory;
|
||||
$this->mstdnAttachementFactory = $mstdnAttachementFactory;
|
||||
$this->mstdnErrorFactory = $mstdnErrorFactory;
|
||||
$this->mstdnPollFactory = $mstdnPollFactory;
|
||||
$this->contentItem = $contentItem;
|
||||
$this->dba = $dba;
|
||||
$this->mstdnAccountFactory = $mstdnAccountFactory;
|
||||
$this->mstdnMentionFactory = $mstdnMentionFactory;
|
||||
$this->mstdnTagFactory = $mstdnTagFactory;
|
||||
$this->mstdnCardFactory = $mstdnCardFactory;
|
||||
$this->mstdnAttachmentFactory = $mstdnAttachmentFactory;
|
||||
$this->mstdnErrorFactory = $mstdnErrorFactory;
|
||||
$this->mstdnPollFactory = $mstdnPollFactory;
|
||||
$this->contentItem = $contentItem;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -214,7 +214,7 @@ class Status extends BaseFactory
|
|||
$tags = $this->mstdnTagFactory->createFromUriId($uriId);
|
||||
if ($item['has-media']) {
|
||||
$card = $this->mstdnCardFactory->createFromUriId($uriId);
|
||||
$attachments = $this->mstdnAttachementFactory->createFromUriId($uriId);
|
||||
$attachments = $this->mstdnAttachmentFactory->createFromUriId($uriId);
|
||||
} else {
|
||||
$card = new \Friendica\Object\Api\Mastodon\Card([]);
|
||||
$attachments = [];
|
||||
|
@ -258,7 +258,7 @@ class Status extends BaseFactory
|
|||
}
|
||||
}
|
||||
|
||||
foreach ($this->mstdnAttachementFactory->createFromUriId($shared_uri_id) as $attachment) {
|
||||
foreach ($this->mstdnAttachmentFactory->createFromUriId($shared_uri_id) as $attachment) {
|
||||
if (!in_array($attachment, $attachments)) {
|
||||
$attachments[] = $attachment;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ use Friendica\Util\Mimetype;
|
|||
use Friendica\Security\Security;
|
||||
|
||||
/**
|
||||
* Class to handle attach dabatase table
|
||||
* Class to handle attach database table
|
||||
*/
|
||||
class Attach
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ class Attach
|
|||
}
|
||||
|
||||
/**
|
||||
* Retrive a single record given the ID
|
||||
* Retrieve a single record given the ID
|
||||
*
|
||||
* @param int $id Row id of the record
|
||||
*
|
||||
|
@ -122,7 +122,7 @@ class Attach
|
|||
}
|
||||
|
||||
/**
|
||||
* Retrive a single record given the ID
|
||||
* Retrieve a single record given the ID
|
||||
*
|
||||
* @param int $id Row id of the record
|
||||
*
|
||||
|
@ -192,7 +192,7 @@ class Attach
|
|||
* @param string $allow_cid Permissions, allowed contacts. optional, default = ''
|
||||
* @param string $allow_gid Permissions, allowed groups. optional, default = ''
|
||||
* @param string $deny_cid Permissions, denied contacts.optional, default = ''
|
||||
* @param string $deny_gid Permissions, denied greoup.optional, default = ''
|
||||
* @param string $deny_gid Permissions, denied group.optional, default = ''
|
||||
*
|
||||
* @return boolean|integer Row id on success, False on errors
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
|
|
|
@ -239,7 +239,7 @@ class Contact
|
|||
* @param array $condition condition array with the key values
|
||||
* @param array|boolean $old_fields array with the old field values that are about to be replaced (true = update on duplicate, false = don't update identical fields)
|
||||
*
|
||||
* @return boolean was the update successfull?
|
||||
* @return boolean was the update successful?
|
||||
* @throws \Exception
|
||||
* @todo Let's get rid of boolean type of $old_fields
|
||||
*/
|
||||
|
@ -1686,7 +1686,7 @@ class Contact
|
|||
* Unblocks a contact
|
||||
*
|
||||
* @param int $cid Contact id to unblock
|
||||
* @return bool Whether it was successfull
|
||||
* @return bool Whether it was successful
|
||||
*/
|
||||
public static function unblock(int $cid): bool
|
||||
{
|
||||
|
@ -1733,7 +1733,7 @@ class Contact
|
|||
*
|
||||
* @param array $contact contact array
|
||||
* @param string $size Size of the avatar picture
|
||||
* @param bool $no_update Don't perfom an update if no cached avatar was found
|
||||
* @param bool $no_update Don't perform an update if no cached avatar was found
|
||||
* @return string photo path
|
||||
*/
|
||||
private static function getAvatarPath(array $contact, string $size, bool $no_update = false): string
|
||||
|
@ -1767,7 +1767,7 @@ class Contact
|
|||
* Return the photo path for a given contact array
|
||||
*
|
||||
* @param array $contact Contact array
|
||||
* @param bool $no_update Don't perfom an update if no cached avatar was found
|
||||
* @param bool $no_update Don't perform an update if no cached avatar was found
|
||||
* @return string photo path
|
||||
*/
|
||||
public static function getPhoto(array $contact, bool $no_update = false): string
|
||||
|
@ -1779,7 +1779,7 @@ class Contact
|
|||
* Return the photo path (thumb size) for a given contact array
|
||||
*
|
||||
* @param array $contact Contact array
|
||||
* @param bool $no_update Don't perfom an update if no cached avatar was found
|
||||
* @param bool $no_update Don't perform an update if no cached avatar was found
|
||||
* @return string photo path
|
||||
*/
|
||||
public static function getThumb(array $contact, bool $no_update = false): string
|
||||
|
@ -1791,7 +1791,7 @@ class Contact
|
|||
* Return the photo path (micro size) for a given contact array
|
||||
*
|
||||
* @param array $contact Contact array
|
||||
* @param bool $no_update Don't perfom an update if no cached avatar was found
|
||||
* @param bool $no_update Don't perform an update if no cached avatar was found
|
||||
* @return string photo path
|
||||
*/
|
||||
public static function getMicro(array $contact, bool $no_update = false): string
|
||||
|
@ -1803,7 +1803,7 @@ class Contact
|
|||
* Check the given contact array for avatar cache fields
|
||||
*
|
||||
* @param array $contact
|
||||
* @param bool $no_update Don't perfom an update if no cached avatar was found
|
||||
* @param bool $no_update Don't perform an update if no cached avatar was found
|
||||
* @return array contact array with avatar cache fields
|
||||
*/
|
||||
private static function checkAvatarCacheByArray(array $contact, bool $no_update = false): array
|
||||
|
|
|
@ -49,7 +49,7 @@ class Conversation
|
|||
*/
|
||||
const UNKNOWN = 0;
|
||||
/**
|
||||
* The message had been pushed to this sytem
|
||||
* The message had been pushed to this system
|
||||
*/
|
||||
const PUSH = 1;
|
||||
/**
|
||||
|
|
|
@ -656,7 +656,7 @@ class Event
|
|||
}
|
||||
|
||||
// Show edit and drop actions only if the user is the owner of the event and the event
|
||||
// is a real event (no bithdays).
|
||||
// is a real event (no birthdays).
|
||||
$edit = null;
|
||||
$copy = null;
|
||||
$drop = null;
|
||||
|
|
|
@ -92,7 +92,7 @@ class GServer
|
|||
const DETECT_NODEINFO_210 = 103;
|
||||
|
||||
/**
|
||||
* Check for the existance of a server and adds it in the background if not existant
|
||||
* Check for the existence of a server and adds it in the background if not existant
|
||||
*
|
||||
* @param string $url
|
||||
* @param boolean $only_nodeinfo
|
||||
|
@ -327,7 +327,7 @@ class GServer
|
|||
return DateTimeFormat::utc('now +1 month');
|
||||
}
|
||||
|
||||
// The system hadn't been successul contacted for more than a month, so try again in three months
|
||||
// The system hadn't been successful contacted for more than a month, so try again in three months
|
||||
return DateTimeFormat::utc('now +3 month');
|
||||
}
|
||||
|
||||
|
@ -557,7 +557,7 @@ class GServer
|
|||
return false;
|
||||
}
|
||||
|
||||
// If the URL missmatches, then we mark the old entry as failure
|
||||
// If the URL mismatches, then we mark the old entry as failure
|
||||
if (!Strings::compareLink($url, $original_url)) {
|
||||
self::setFailureByUrl($original_url);
|
||||
if (!self::getID($url, true) && !Network::isUrlBlocked($url)) {
|
||||
|
@ -2437,7 +2437,7 @@ class GServer
|
|||
}
|
||||
}
|
||||
|
||||
// Disvover Mastodon servers
|
||||
// Discover Mastodon servers
|
||||
$accesstoken = DI::config()->get('system', 'instances_social_key');
|
||||
|
||||
if (!empty($accesstoken)) {
|
||||
|
|
|
@ -60,7 +60,7 @@ class Group
|
|||
/**
|
||||
* Checks whether given group id is found in database
|
||||
*
|
||||
* @param int $group_id Groupd it
|
||||
* @param int $group_id Group id
|
||||
* @param int $uid Optional user id
|
||||
* @return bool
|
||||
* @throws \Exception
|
||||
|
|
|
@ -233,7 +233,7 @@ class Item
|
|||
Post\Media::insertFromAttachment($item['uri-id'], $fields['attach']);
|
||||
}
|
||||
|
||||
// We only need to notfiy others when it is an original entry from us.
|
||||
// We only need to notify others when it is an original entry from us.
|
||||
// Only call the notifier when the item had been edited and records had been changed.
|
||||
if ($item['origin'] && !empty($fields['edited']) && ($previous['edited'] != $fields['edited'])) {
|
||||
$notify_items[] = $item['id'];
|
||||
|
@ -875,7 +875,7 @@ class Item
|
|||
/*
|
||||
* Do we already have this item?
|
||||
* We have to check several networks since Friendica posts could be repeated
|
||||
* via OStatus (maybe Diasporsa as well)
|
||||
* via OStatus (maybe Diaspora as well)
|
||||
*/
|
||||
$duplicate = self::getDuplicateID($item);
|
||||
if ($duplicate) {
|
||||
|
@ -933,7 +933,7 @@ class Item
|
|||
$item['inform'] = trim($item['inform'] ?? '');
|
||||
$item['file'] = trim($item['file'] ?? '');
|
||||
|
||||
// Communities aren't working with the Diaspora protoccol
|
||||
// Communities aren't working with the Diaspora protocol
|
||||
if (($uid != 0) && ($item['network'] == Protocol::DIASPORA)) {
|
||||
$user = User::getById($uid, ['account-type']);
|
||||
if ($user['account-type'] == Contact::TYPE_COMMUNITY) {
|
||||
|
@ -1499,7 +1499,7 @@ class Item
|
|||
|
||||
$users = [];
|
||||
|
||||
/// @todo add a field "pcid" in the contact table that referrs to the public contact id.
|
||||
/// @todo add a field "pcid" in the contact table that refers to the public contact id.
|
||||
$owner = DBA::selectFirst('contact', ['url', 'nurl', 'alias'], ['id' => $parent['owner-id']]);
|
||||
if (!DBA::isResult($owner)) {
|
||||
return;
|
||||
|
@ -2501,12 +2501,12 @@ class Item
|
|||
*/
|
||||
public static function enumeratePermissions(array $obj, bool $check_dead = false): array
|
||||
{
|
||||
$aclFormater = DI::aclFormatter();
|
||||
$aclFormatter = DI::aclFormatter();
|
||||
|
||||
$allow_people = $aclFormater->expand($obj['allow_cid']);
|
||||
$allow_groups = Group::expand($obj['uid'], $aclFormater->expand($obj['allow_gid']), $check_dead);
|
||||
$deny_people = $aclFormater->expand($obj['deny_cid']);
|
||||
$deny_groups = Group::expand($obj['uid'], $aclFormater->expand($obj['deny_gid']), $check_dead);
|
||||
$allow_people = $aclFormatter->expand($obj['allow_cid']);
|
||||
$allow_groups = Group::expand($obj['uid'], $aclFormatter->expand($obj['allow_gid']), $check_dead);
|
||||
$deny_people = $aclFormatter->expand($obj['deny_cid']);
|
||||
$deny_groups = Group::expand($obj['uid'], $aclFormatter->expand($obj['deny_gid']), $check_dead);
|
||||
$recipients = array_unique(array_merge($allow_people, $allow_groups));
|
||||
$deny = array_unique(array_merge($deny_people, $deny_groups));
|
||||
$recipients = array_diff($recipients, $deny);
|
||||
|
@ -2615,7 +2615,7 @@ class Item
|
|||
* Activity verb. One of
|
||||
* like, unlike, dislike, undislike, attendyes, unattendyes,
|
||||
* attendno, unattendno, attendmaybe, unattendmaybe,
|
||||
* announce, unannouce
|
||||
* announce, unannounce
|
||||
* @param int $uid
|
||||
* @param string $allow_cid
|
||||
* @param string $allow_gid
|
||||
|
|
|
@ -67,7 +67,7 @@ class Nodeinfo
|
|||
DI::keyValue()->set('nodeinfo_local_posts', $posts);
|
||||
DI::keyValue()->set('nodeinfo_local_comments', $comments);
|
||||
|
||||
$logger->info('User actitivy', ['posts' => $posts, 'comments' => $comments]);
|
||||
$logger->info('User activity', ['posts' => $posts, 'comments' => $comments]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -41,7 +41,7 @@ use Friendica\Util\Proxy;
|
|||
use Friendica\Util\Strings;
|
||||
|
||||
/**
|
||||
* Class to handle photo dabatase table
|
||||
* Class to handle photo database table
|
||||
*/
|
||||
class Photo
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ class Photo
|
|||
* Get photos for user id
|
||||
*
|
||||
* @param integer $uid User id
|
||||
* @param string $resourceid Rescource ID of the photo
|
||||
* @param string $resourceid Resource ID of the photo
|
||||
* @param array $conditions Array of fields for conditions
|
||||
* @param array $params Array of several parameters
|
||||
*
|
||||
|
@ -122,7 +122,7 @@ class Photo
|
|||
* Get a photo for user id
|
||||
*
|
||||
* @param integer $uid User id
|
||||
* @param string $resourceid Rescource ID of the photo
|
||||
* @param string $resourceid Resource ID of the photo
|
||||
* @param integer $scale Scale of the photo. Defaults to 0
|
||||
* @param array $conditions Array of fields for conditions
|
||||
* @param array $params Array of several parameters
|
||||
|
@ -148,7 +148,7 @@ class Photo
|
|||
* on success, "no sign" image info, if user has no permission,
|
||||
* false if photo does not exists
|
||||
*
|
||||
* @param string $resourceid Rescource ID of the photo
|
||||
* @param string $resourceid Resource ID of the photo
|
||||
* @param integer $scale Scale of the photo. Defaults to 0
|
||||
* @param integer $visitor_uid UID of the visitor
|
||||
*
|
||||
|
@ -416,7 +416,7 @@ class Photo
|
|||
* @param string $allow_cid Permissions, allowed contacts. optional, default = ""
|
||||
* @param string $allow_gid Permissions, allowed groups. optional, default = ""
|
||||
* @param string $deny_cid Permissions, denied contacts.optional, default = ""
|
||||
* @param string $deny_gid Permissions, denied greoup.optional, default = ""
|
||||
* @param string $deny_gid Permissions, denied group.optional, default = ""
|
||||
* @param string $desc Photo caption. optional, default = ""
|
||||
*
|
||||
* @return boolean True on success
|
||||
|
@ -536,7 +536,7 @@ class Photo
|
|||
* @param Image $image Image to update. Optional, default null.
|
||||
* @param array $old_fields Array with the old field values that are about to be replaced (true = update on duplicate)
|
||||
*
|
||||
* @return boolean Was the update successfull?
|
||||
* @return boolean Was the update successful?
|
||||
*
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
* @see \Friendica\Database\DBA::update
|
||||
|
|
|
@ -58,7 +58,7 @@ class Link
|
|||
* @param int $uriId
|
||||
* @param string $url
|
||||
* @param string $size
|
||||
* @return string Found link URL + id on success, $url on failture
|
||||
* @return string Found link URL + id on success, $url on failure
|
||||
*/
|
||||
public static function getByLink(int $uriId, string $url, string $size = ''): string
|
||||
{
|
||||
|
|
|
@ -529,7 +529,7 @@ class User
|
|||
// Addons can create users, and since this 'catch' branch should only
|
||||
// execute if getAuthenticationInfo can't find an existing user, that's
|
||||
// exactly what will happen here. Creating a numeric username would create
|
||||
// abiguity with user IDs, possibly opening up an attack vector.
|
||||
// ambiguity with user IDs, possibly opening up an attack vector.
|
||||
// So let's be very careful about that.
|
||||
if (empty($username) || is_numeric($username)) {
|
||||
throw $e;
|
||||
|
@ -684,7 +684,7 @@ class User
|
|||
|
||||
if ($user['last-activity'] != $current_day) {
|
||||
User::update(['last-activity' => $current_day], $uid);
|
||||
// Set the last actitivy for all identities of the user
|
||||
// Set the last activity for all identities of the user
|
||||
DBA::update('user', ['last-activity' => $current_day], ['parent-uid' => $uid, 'account_removed' => false]);
|
||||
}
|
||||
}
|
||||
|
@ -851,7 +851,7 @@ class User
|
|||
* Checks if a nickname is in the list of the forbidden nicknames
|
||||
*
|
||||
* Check if a nickname is forbidden from registration on the node by the
|
||||
* admin. Forbidden nicknames (e.g. role namess) can be configured in the
|
||||
* admin. Forbidden nicknames (e.g. role names) can be configured in the
|
||||
* admin panel.
|
||||
*
|
||||
* @param string $nickname The nickname that should be checked
|
||||
|
@ -1232,7 +1232,7 @@ class User
|
|||
|
||||
$resource_id = Photo::newResource();
|
||||
|
||||
// Not using Photo::PROFILE_PHOTOS here, so that it is discovered as translateble string
|
||||
// Not using Photo::PROFILE_PHOTOS here, so that it is discovered as translatable string
|
||||
$profile_album = DI::l10n()->t('Profile Photos');
|
||||
|
||||
$r = Photo::store($image, $uid, 0, $resource_id, $filename, $profile_album, 4);
|
||||
|
@ -1377,7 +1377,7 @@ class User
|
|||
* permanently against re-registration, as the person was not yet
|
||||
* allowed to have friends on this system
|
||||
*
|
||||
* @return bool True, if the deny was successfull
|
||||
* @return bool True, if the deny was successful
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function deny(string $hash): bool
|
||||
|
@ -1792,7 +1792,7 @@ class User
|
|||
*
|
||||
* @param int $start Start count (Default is 0)
|
||||
* @param int $count Count of the items per page (Default is @see Pager::ITEMS_PER_PAGE)
|
||||
* @param string $type The type of users, which should get (all, bocked, removed)
|
||||
* @param string $type The type of users, which should get (all, blocked, removed)
|
||||
* @param string $order Order of the user list (Default is 'contact.name')
|
||||
* @param bool $descending Order direction (Default is ascending)
|
||||
* @return array|bool The list of the users
|
||||
|
|
|
@ -391,7 +391,7 @@ class Federation extends BaseAdmin
|
|||
//
|
||||
// clean up version numbers
|
||||
//
|
||||
// some platforms do not provide version information, add a unkown there
|
||||
// some platforms do not provide version information, add a unknown there
|
||||
// to the version string for the displayed list.
|
||||
foreach ($versionCounts as $key => $value) {
|
||||
if ($versionCounts[$key]['version'] == '') {
|
||||
|
|
|
@ -110,7 +110,7 @@ class Storage extends BaseAdmin
|
|||
foreach ($storageConfig->getOptions() as $option => $info) {
|
||||
|
||||
$type = $info[0];
|
||||
// Backward compatibilty with yesno field description
|
||||
// Backward compatibility with yesno field description
|
||||
if ($type == 'yesno') {
|
||||
$type = 'checkbox';
|
||||
// Remove translated labels Yes No from field info
|
||||
|
|
|
@ -51,12 +51,12 @@ class Relationships extends BaseApi
|
|||
$request['id'] = [$request['id']];
|
||||
}
|
||||
|
||||
$relationsships = [];
|
||||
$relationships = [];
|
||||
|
||||
foreach ($request['id'] as $id) {
|
||||
$relationsships[] = DI::mstdnRelationship()->createFromContactId($id, $uid);
|
||||
$relationships[] = DI::mstdnRelationship()->createFromContactId($id, $uid);
|
||||
}
|
||||
|
||||
System::jsonExit($relationsships);
|
||||
System::jsonExit($relationships);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ class Statuses extends BaseApi
|
|||
'sensitive' => false, // Mark status and attached media as sensitive?
|
||||
'spoiler_text' => '', // Text to be shown as a warning or subject before the actual content. Statuses are generally collapsed behind this field.
|
||||
'visibility' => '', // Visibility of the posted status. One of: "public", "unlisted", "private" or "direct".
|
||||
'scheduled_at' => '', // ISO 8601 Datetime at which to schedule a status. Providing this paramter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future.
|
||||
'scheduled_at' => '', // ISO 8601 Datetime at which to schedule a status. Providing this parameter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future.
|
||||
'language' => '', // ISO 639 language code for this status.
|
||||
'friendica' => [], // Friendica extensions to the standard Mastodon API spec
|
||||
], $request);
|
||||
|
|
|
@ -49,7 +49,7 @@ class Attach extends BaseModule
|
|||
throw new \Friendica\Network\HTTPException\NotFoundException(DI::l10n()->t('Item was not found.'));
|
||||
}
|
||||
|
||||
// Now we'll fetch the item, if we have enough permisson
|
||||
// Now we'll fetch the item, if we have enough permission
|
||||
$item = MAttach::getByIdWithPermission($item_id);
|
||||
if ($item === false) {
|
||||
throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
|
||||
|
|
|
@ -158,7 +158,7 @@ abstract class BaseNotifications extends BaseModule
|
|||
/**
|
||||
* List of pages for the Notifications TabBar
|
||||
*
|
||||
* @return array with with notifications TabBar data
|
||||
* @return array with notifications TabBar data
|
||||
* @throws Exception
|
||||
*/
|
||||
private function getTabs()
|
||||
|
|
|
@ -302,7 +302,7 @@ class Community extends BaseModule
|
|||
}
|
||||
|
||||
/**
|
||||
* Database query for the comunity page
|
||||
* Database query for the community page
|
||||
*
|
||||
* @param $min_id
|
||||
* @param $max_id
|
||||
|
|
|
@ -120,7 +120,7 @@ class Network extends BaseModule
|
|||
$content = '';
|
||||
|
||||
if (self::$forumContactId) {
|
||||
// If self::$forumContactId belongs to a communitity forum or a privat goup,.add a mention to the status editor
|
||||
// If self::$forumContactId belongs to a community forum or a privat goup,.add a mention to the status editor
|
||||
$condition = ["`id` = ? AND `contact-type` = ?", self::$forumContactId, Contact::TYPE_COMMUNITY];
|
||||
$contact = DBA::selectFirst('contact', ['addr'], $condition);
|
||||
if (!empty($contact['addr'])) {
|
||||
|
|
|
@ -120,7 +120,7 @@ class Delegation extends BaseModule
|
|||
|
||||
$identities = User::identities(DI::userSession()->getSubManagedUserId() ?: DI::userSession()->getLocalUserId());
|
||||
|
||||
//getting additinal information for each identity
|
||||
//getting additional information for each identity
|
||||
foreach ($identities as $key => $identity) {
|
||||
$identities[$key]['thumb'] = User::getAvatarUrl($identity, Proxy::SIZE_THUMB);
|
||||
|
||||
|
|