Friendica Communications Platform (please note that this is a clone of the repository at github, issues are handled there)
Go to file
Roland Häder 61693419e8 Cleanups: isResult() more used, readability improved (#5608)
* [diaspora]: Maybe SimpleXMLElement is the right type-hint?

* Changes proposed + pre-renaming:
- pre-renamed $db -> $connection
- added TODOs for not allowing bad method invocations (there is a
  BadMethodCallException in SPL)

* If no record is found, below $r[0] will fail with a E_NOTICE and the code
doesn't behave as expected.

* Ops, one more left ...

* Continued:
- added documentation for Contact::updateSslPolicy() method
- added type-hint for $contact of same method
- empty lines added + TODO where the bug origins that $item has no element 'body'

* Added empty lines for better readability

* Cleaned up:
- no more x() (deprecated) usage but empty() instead
- fixed mixing of space/tab indending
- merged else/if block goether in elseif() (lesser nested code blocks)

* Re-fixed DBM -> DBA switch

* Fixes/rewrites:
- use empty()/isset() instead of deprecated x()
- merged 2 nested if() blocks into one
- avoided nested if() block inside else block by rewriting it to elseif()
- $contact_id is an integer, let's test on > 0 here
- added a lot spaces and some empty lines for better readability

* Rewrite:
- moved all CONTACT_* constants from boot.php to Contact class

* CR request:
- renamed Contact::CONTACT_IS_* -> Contact::* ;-)

* Rewrites:
- moved PAGE_* to Friendica\Model\Profile class
- fixed mixure with "Contact::* rewrite"

* Ops, one still there (return is no function)

* Rewrite to Proxy class:
- introduced new Friendica\Network\Proxy class for in exchange of proxy_*()
  functions
- moved also all PROXY_* constants there as Proxy::*
- removed now no longer needed mod/proxy.php loading as composer's auto-load
  will do this for us
- renamed those proxy_*() functions to better names:
  + proxy_init()           -> Proxy::init()         (public)
  + proxy_url()            -> Proxy::proxifyUrl()   (public)
  + proxy_parse_html()     -> Proxy::proxifyHtml()  (public)
  + proxy_is_local_image() -> Proxy::isLocalImage() (private)
  + proxy_parse_query()    -> Proxy::parseQuery()   (private)
  + proxy_img_cb()         -> Proxy::replaceUrl()   (private)

* CR request:
- moved all PAGE_* constants to Friendica\Model\Contact class
- fixed all references of both classes

* Ops, need to set $a here ...

* CR request:
- moved Proxy class to Friendica\Module
- extended BaseModule

* Ops, no need for own instance of $a when self::getApp() is around.

* Proxy-rewrite:
- proxy_url() and proxy_parse_html() are both non-module functions (now
  methods)
- so they must be splitted into a seperate class
- also the SIZE_* and DEFAULT_TIME constants are both not relevant to module

* No instances from utility classes

* Fixed error:
- proxify*() is now located in `Friendica\Util\ProxyUtils`

* Moved back to original place, ops? How did they move here? Well, it was not
intended by me.

* Removed duplicate (left-over from split) constants and static array. Thank to
MrPetovan finding it.

* Renamed ProxyUtils -> Proxy and aliased it back to ProxyUtils.

* Rewrite:
- stopped using deprecated NETWORK_* constants, now Protocol::* should be used
- still left them intact for slow/lazy developers ...

* Ops, was added accidentally ...

* Ops, why these wrong moves?

* Ops, one to much (thanks to MrPetovan)

* Ops, wrong moving ...

* moved back to original place ...

* spaces added

* empty lines add for better readability.

* convertered spaces -> tab for code indenting.

* CR request: Add space between if and brace.

* CR requests fixed + move reverted
- ops, src/Module/*.php has been moved to src/Network/ accidentally
- reverted some parts in src/Database/DBA.php as pointed out by Annando
- removed internal TODO items
- added some spaces for better readability
2018-08-24 01:05:49 -04:00
.github Update issue_template.md 2018-03-26 06:48:16 +02:00
.tx transifex-client config 2017-01-18 14:05:57 +01:00
bin Issue 5486: Fix for non translated notifications 2018-07-30 01:01:26 +00:00
config typo in config/settings.ini.php (#5640) 2018-08-20 00:30:30 -04:00
doc API: add private value (bool) to item results (#5647) 2018-08-23 10:09:50 -04:00
images [ImgBot] optimizes images 2018-07-13 14:38:11 +00:00
include API: add private value (bool) to item results (#5647) 2018-08-23 10:09:50 -04:00
library Several more warnings ... (#5340) 2018-07-10 08:27:56 -04:00
mod Cleanups: isResult() more used, readability improved (#5608) 2018-08-24 01:05:49 -04:00
mods typo correction of try_files directive (#5387) 2018-07-16 02:53:50 -04:00
spec [ImgBot] optimizes images 2018-07-13 14:38:11 +00:00
src Cleanups: isResult() more used, readability improved (#5608) 2018-08-24 01:05:49 -04:00
tests Config Console Tests (#5621) 2018-08-17 19:41:46 +00:00
util regen master messages.po after version string format got updated 2018-08-07 10:01:23 +02:00
view Fix the settings in frio (#5650) 2018-08-22 00:14:16 -04:00
.codecov.yml default branch defined for codecov.io (#5586) 2018-08-08 21:34:47 +02:00
.editorconfig added editorconfig config file 2017-01-28 07:15:57 +01:00
.gitattributes LF fixed 2018-05-14 22:49:59 +02:00
.gitignore renamed .htaccess to .htaccess-dist and ignored .htaccess afterwards (#5428) 2018-07-20 20:27:37 -04:00
.gitmodules adjust2 2012-03-02 17:18:11 +01:00
.htaccess-dist renamed .htaccess to .htaccess-dist and ignored .htaccess afterwards (#5428) 2018-07-20 20:27:37 -04:00
.travis.yml Adding Code-Coverage to the Friendica code-base (#5570) 2018-08-08 11:43:06 +02:00
boot.php Some easy to replace "q" calls have been replaced by "DBA" calls (#5632) 2018-08-19 12:46:10 +00:00
build.xml added some tests 2012-03-09 12:16:58 +01:00
CHANGELOG set the release date 2018-06-01 09:43:06 +02:00
composer.json Bump minimum PHP version to 5.6.1 2018-07-16 19:38:15 -04:00
composer.lock Misc cleanups (#5417) 2018-07-19 20:52:18 -04:00
database.sql Issue 5158: Ignore all threads, even public ones (#5588) 2018-08-08 22:32:11 +02:00
docblox.dist.xml Added docblox default configuration file. 2012-03-03 16:53:10 -04:00
friendica_test_data.sql Dev env: fix cache test data 2018-03-23 18:19:29 +01:00
index.php Issue 5541: Don't do magic things when the remote site doesn't support it 2018-08-06 19:59:41 +00:00
INSTALL.txt Bump minimum PHP version to 5.6.1 2018-07-16 19:38:15 -04:00
LICENSE Happy new year! 2018-01-15 07:45:12 +01:00
phpunit.xml Adding Code-Coverage to the Friendica code-base (#5570) 2018-08-08 11:43:06 +02:00
README.md Update docs 2018-01-20 07:48:22 -05:00
README.translate.md translation docs updated with a note, that the console tool has to be called from the base directory of the Friendica installation 2018-03-28 07:20:46 +02:00
ruleset.xml Improve PHP Code Sniffer ruleset 2018-01-08 23:37:18 -05:00
testargs.php added missing spaces/curly braces 2017-03-21 21:52:00 +01:00
update.php Trying to clean up a little bit more (#5517) 2018-07-28 16:04:56 -04:00
Vagrantfile Update Vagrant script path 2018-04-07 09:01:40 -04:00
VERSION Merge branch 'master' into develop 2018-06-01 07:30:04 -04:00

Friendica Social Communications Server

Welcome to the free social web.

Friendica is a decentralised communications platform that integrates social communication. Our platform links to independent social projects and corporate services.

Our mission is to free friends, family and colleagues from data-harvesting corporations; we aim for social communication to be free and open, while flowing between any provider as easily as email does.

Friendica connects you effortlessly to a federated communications network of several thousand servers, with more than half a million user registrations. You can directly connect to anyone on Friendica, Mastodon, Diaspora, GnuSocial, Pleroma, or Hubzilla, regardless where each user profile is hosted.

With Friendica, you can also fully interact with anyone on Twitter, post on Facebook and receive any content on Tumblr, Wordpress or RSS. Friendica allows you to integrate most things on the web via a range of addons such as ITTT, Buffer; you will be able to easily control your own data as you decide.

Join today and get your Friendica profile!

Friendica Screenshots

Frio theme in mobile browser Frio theme in mobile browser
Frio theme, mobile browser. Timeline and composer view.
Frio theme in desktop browser
Frio theme, desktop browser. Timeline view, contact info popped up, control menu open.
Frio theme in desktop browser
Frio theme, desktop browser. Menu open for controlling individual posts.
Frio theme in desktop browser
Frio theme, desktop browser. Profile view, notification menu open.
Frio theme in desktop browser
Number of new posts, in total and by group.
Frio theme in desktop browser
Calender with popup of event.
Frio theme default colour in standard browser on tablet
Notifications menu and private messages counter, standard browser on tablet.
Frio theme in desktop browser
Number of visible contacts, standard browser.
Frio theme in desktop browser
Network posts chronologically ordered, standard browser.
Vier theme in desktop browser
Vier theme, desktop browser. Public timeline view.
Vier theme in desktop browser
Vier theme, desktop browser. Community post displayed.