Merge remote-tracking branch 'upstream/develop' into 1701-performance

This commit is contained in:
Michael 2017-03-07 21:24:20 +00:00
commit f7f23038db
6 changed files with 159 additions and 20 deletions

View file

@ -1,4 +1,70 @@
Version 3.5
Version 3.5.1
Friendica Core:
Updates to the translations (BG, CA, CS, DE, EO, ES, FR, IS, IT, NL, PL, PT-BR, RU, SV) [translation teams]
Fix for a potential XSS vector [heluecht, thanks to Vít Šesták 'v6ak' for reporting the problem]
Fix for ghost request notifications on single user instances [Hypolite]
Fix user language selection [tobiasd]
Fix a problem with communication to Diaspora with set posting locations [heluecht]
Fix schema handling of direct links to a original posting [Rabuzarus]
Fix a bug in notification handling [Rabuzarus]
Adjustments for the Vagrant VM settings [silke, eelcomaljaars]
Improvements to the unliking of prior likes [Hypolite]
Improvements to the API and Friendica specific extensions [gerhard6380]
Improvements to the Browser Notification functionality [Hypolite]
Improvements to the themes [Hypolite, rabuzarus, rebeka-catalina, tobiasd]
Improvements to the database handling [heluecht]
Improvements to the admin panel [tobiasd, Hypolite]
Improvements to the update process [heluecht]
Improvements to the handling of worker processes [heluecht]
Improvements to the performance [heluecht, Hypolite]
Improvements to the documentation [Hypolite, tobiasd, rabuzarus, beardyunixer, eelcomaljaars]
Improvements to the BBCode / Markdown conversation [Hypolite]
Improvements to the OStatus protocol implementation [heluecht]
Improvements to the installation wizzard [tobiasd]
Improvements to the Diaspora connectivity [heluecht, Hypolite]
Work on PHP7 compatibility [ddorian1]
Code cleanup [Hypolite, Quix0r]
Initial federation with Mastodon [heluecht]
The worker process can now also be started from the frontend [heluecht]
Deletion of postings is now done in the background [heluecht]
Extension of the DFRN transmitted information fields [heluecht]
Translations of the core are now in /view/lang [Hypolite, tobiasd]
Update of the fullCalendar library to 3.0.1 and adjusting the themes [rabuzarus]
ping now works with JSON as well [Hypolite]
On pending registrations, an email is now send to inform the user about it [tobiasd]
On systems where the registration needs approval, a note for the admin can now be written [tobiasd]
Theme developers can now announce if their theme does support the RichText editor or not [heluecht, rabuzarus]
Meta Information for HTML descriptions is now limited to 160 character [rabuzarus]
Removed very old deprecated themes from the repository [silke]
Marked frost and frost mobile as deprecated [silke]
When creating new postings in the UI, focus is automatically put into the Title field [Hypolite]
We are now shipping config files for "tx" (the Transifex client) and the "EditorConfig" addon for many common editors [fabrixxm, tobiasd]
The TinyMCE richtext editor was removed [Hypolite]
Various bugfixes
Friendica Addons:
Updates to the translations (DE, ES, FR, IT, PT-BR) [translation teams]
Improvements to the IFTTT addon [Hypolite]
Improvements to the language filter addon [strk]
Improvements to the pump.io bridge [heluecht]
Improvements to the jappixmini addon [heluecht]
Improvements to the gpluspost addon [heluecht]
Improvements to the performance of the Twitter bridge when using workers [heluecht]
Diaspora Export addon is now working again [heluecht]
Pledgie badge now uses https protocol for embedding [tobiasd]
Better posting loop prevention for the Google+/Twitter/GS connectors [heluecht]
One can now configure the message for wppost bridged blog postings [tobiasd]
On some pages the result of the Rendertime is not shown anymore [heluecht]
Twitter-bridge now supports quotes and long posts when importing tweets [heluecht]
Closed Issues
1019, 1163, 1612, 1613, 2177, 2252, 2260, 2403, 2991, 2614, 2751,
2752, 2772, 2791, 2800, 2804, 2813, 2814, 2816, 2817, 2823, 2850,
2858, 2865, 2892, 2894, 2895, 2907, 2908, 2914, 2015, 2926, 2948,
2955, 2958, 2963, 2964, 2968, 2987, 2993, 3020, 3052, 3062, 3066,
3091, 3108, 3116, 3117, 3118, 3126, 3130, 3135, 3155, 3163
Version 3.5 (2016-09-13)
Friendica Core:
NEW Optional local directory with possible federated contacts [heluecht]
NEW Autocompletion for @-mentions and BBCode tags [rabuzarus]
@ -58,7 +124,7 @@ Version 3.5
2506, 2512, 2516, 2539, 2540, 2893, 2597, 2611, 2617, 2629, 2645,
2687, 2716, 2757, 2764
Version 3.4.3
Version 3.4.3 (2015-12-22)
What's new for the users:
Updates to the documentation (silke, tobiasd, annando, rebeka-catalina)
Updated translations (tobiasd & translation teams)
@ -137,7 +203,7 @@ Version 3.4.3
Fix bbcode conversion of the about text for the profile (issue #1607) (annando)
Version 3.4.2
Version 3.4.2 (2015-09-29)
Updates to the documentation (tobiasd, silke, annando)
Updates to the translations (tobiasd & translation teams)
@ -182,7 +248,7 @@ Version 3.4.2
Parse BBCode in contact request notification email (annando)
Version 3.4.1
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)
@ -234,7 +300,7 @@ Version 3.4.1
Update to German documentation (Frank Dieckmann, tobias)
Updated translations (translation teams, tobias)
Version 3.4
Version 3.4 (2015-04-05)
Optionally, "like" and "dislike" activities don't update thread timestamp (annando)
Updated markdown libraries (annando)
@ -262,7 +328,7 @@ Version 3.4
Add help text to explain the options for approving contacts (issue #1349) (silke)
API set as unseen only posts returned by the call (issue #1063) (annando)
Version 3.3.3
Version 3.3.3 (2015-02-24)
More separation between php and html in photo album (issue #1258) (rabuzarus)
Enhanced community page shows public posts from public contacts of public profiles (annando)
@ -296,7 +362,7 @@ Version 3.3.3
Fix email validation (ddorian1)
Better documentation for developers (silke)
Version 3.3.2
Version 3.3.2 (2014-12-26)
Set default value for all not-null fields (fixes SQL warinigs) (annando)
Fix item filters in network page (issue #1222) (fabrixxm)
@ -308,7 +374,7 @@ Version 3.3.2
Better display of pictures in posts (annando)
Fix out of control gprobe process (annando)
Version 3.3.1
Version 3.3.1 (2014-11-06)
JSONP support for API (fabrixxm)
Fixed small bug in direct messages API (fabrixxm)
@ -326,7 +392,7 @@ Version 3.3.1
Translation updates
Added CHANGELOG
Version 3.3
Version 3.3 (2014-10-06)
API
added support in the API to allow image uploads from Twidere

View file

@ -29,7 +29,7 @@ Welcome them, answer their questions, point them to documentation or ping other
Translation
---
The documentation contains help on how to translate Friendica in the [at Transifex](/help/translations) where the UI is translated.
The documentation contains help on how to translate Friendica [at Transifex](/help/translations) where the UI is translated.
If you don't want to translate the UI, or it is already done to your satisfaction, you might want to work on the translation of the /help files?
Design
@ -42,29 +42,64 @@ If you have seen Friendica you probably have ideas to improve it, haven't you?
* Make plans for a better Friendica interface design and share them with us.
* Tell us if you are able to realize your ideas or what kind of help you need.
We can't promise we have the right skills in the group but we'll try.
* Choose a thing to start with, e.g. work on the icon set of your favourite theme
* Choose a thing to start with, e.g. work on the icon set of your favorite theme
Programming
---
###Coding standards
For the sake of consistency between contribution and general code readability, Friendica follows the widespread [PSR-2 coding standards](http://www.php-fig.org/psr/psr-2/) to the exception of a few rules.
Here's a few primers if you are new to Friendica or to the PSR-2 coding standards:
* Indentation is tabs, period (not PSR-2).
* By default, strings are enclosed in single quotes, but feel free to use double quotes if it makes more sense (SQL queries, adding tabs and line feeds).
* Operators are wrapped by spaces, e.g. `$var === true`, `$var = 1 + 2` and `'string' . $concat . 'enation'`
* Braces are mandatory in conditions
* No closing PHP tag
* No trailing spaces
Don't worry, you don't have to know by heart the PSR-2 coding standards to start contributing to Friendica.
There are a few tools you can use to check or fix your files before you commit.
####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.
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:
$> phpcs --standard=PSR2 <file or directory>
The output is a list of all the coding standards violations that you should fix before committing your work.
Additionally, `phpcs` integrates with a few IDEs (Eclipse, Netbeans, PHPStorm...) so that you don't have to fiddle with the command line.
####Fix with PHP Code Beautifier and Fixer (phpbcf) included in PHP Code Sniffer
If you're getting a massive list of standards violations when running `phpcs`, it can be annoying to fix all the violations by hand.
Thankfully, PHP Code Sniffer is shipped with an automatic code fixer that can take care of the tedious task for you.
Here's the command to automatically fix the files you created/modified:
$> phpcbf --standard=PSR2 <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.
###Code documentation
If you are interested in having the documentation of the Friendica code outside of the code files, you can use [Doxygen](http://doxygen.org) to generate it.
The configuration file for Doxygen is located in the ```util``` directory of the project sources.
The configuration file for Doxygen is located in the `util` directory of the project sources.
Run
$> doxygen util/Doxyfile
to generate the files which will be located in the ```doc/html``` subdirectory in the Friendica directory.
to generate the files which will be located in the `doc/html` subdirectory in the Friendica directory.
You can browse these files with any browser.
If you find missing documentation, don't hestitate to contact us and write it down to enhance the code documentation.
If you find missing documentation, don't hesitate to contact us and write it down to enhance the code documentation.
###Issues
Have a look at our [issue tracker](https://github.com/friendica/friendica) on github!
* Try to reproduce a bug that needs more inquries and write down what you find out.
* Try to reproduce a bug that needs more inquiries and write down what you find out.
* If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed.
* Fix a bug if you can. Please make the pull request against the *develop* branch of the repository.
* There is a *Junior Job* label for issues we think might be a good point to start with.

View file

@ -86,5 +86,29 @@ class dbm {
public static function esc_array(&$arr, $add_quotation = false) {
array_walk($arr, 'self::esc_array_callback', $add_quotation);
}
/**
* Checks Converts any date string into a SQL compatible date string
*
* @param string $date a date string in any format
* @return string SQL style date string
*/
public static function date($date = 'now') {
$timestamp = strtotime($date);
// Workaround for 3.5.1
if ($timestamp < -62135596800) {
return '0000-00-00 00:00:00';
}
// The above will be removed in 3.5.2
// The following will then be enabled
// Don't allow lower date strings as '0001-01-01 00:00:00'
//if ($timestamp < -62135596800) {
// $timestamp = -62135596800;
//}
return date('Y-m-d H:i:s', $timestamp);
}
}
?>

View file

@ -622,7 +622,7 @@ function poco_last_updated($profile, $force = false) {
$last_updated = "0000-00-00 00:00:00";
q("UPDATE `gcontact` SET `updated` = '%s', `last_contact` = '%s' WHERE `nurl` = '%s'",
dbesc($last_updated), dbesc(datetime_convert()), dbesc(normalise_link($profile)));
dbesc(dbm::date($last_updated)), dbesc(dbm::date()), dbesc(normalise_link($profile)));
if (($gcontacts[0]["generation"] == 0))
q("UPDATE `gcontact` SET `generation` = 9 WHERE `nurl` = '%s'",
@ -1611,6 +1611,11 @@ function get_gcontact_id($contact) {
*/
function update_gcontact($contact) {
// Check for invalid "contact-type" value
if (isset($contact['contact-type']) AND (intval($contact['contact-type']) < 0)) {
$contact['contact-type'] = 0;
}
/// @todo update contact table as well
$gcontact_id = get_gcontact_id($contact);

View file

@ -2,6 +2,8 @@
Abinoam P. Marques Jr.
Abrax
Adam Jurkiewicz
Albert
Alberto Díaz Tormo
Alex
Alexander Kampmann
AlfredSK
@ -13,10 +15,12 @@ André Alves
André Lohan
Anthronaut
Arian - Cazare Muncitori
Athalbert
aweiher
axelt
balderino
Beanow
beardyunixer
Beatriz Vital
Ben Roberts
ben-utzer
@ -46,6 +50,7 @@ Doru DEACONU
Dylan Thiedeke
Développeur égaré
eddy2508
Eelco Maljaars
effex7
Elena
emilia.krawczyk
@ -72,13 +77,16 @@ hauke
Hauke Altmann
Hauke Zühl
Hubert Kościański
Hypolite Petovan
Jak
Jakob
Jens Tautenhahn
jensp
Jeroen S
jeroenpraat
Johannes Schwab
John Brazil
Jonatan Nyberg
Josef Moravek
juanman
julia.domagalska
@ -133,7 +141,7 @@ rcmaniac
rebeka-catalina
repat
Ricardo Pereira
Roland Haeder
Roland Häder
Rui Andrada
Sakałoŭ Alaksiej
Sam
@ -173,6 +181,7 @@ ufic
Vasudev Kamath
Vasya Novikov
vislav
Vít Šesták 'v6ak'
Yasen Pramatarov
ylms
Zach Prezkuta

View file

@ -23,7 +23,7 @@ import os, glob, subprocess
# not work in some cases.
dontinclude = ['root', 'friendica', 'bavatar', 'tony baldwin', 'Taek', 'silke m',
'leberwurscht', 'abinoam', 'fabrixxm', 'FULL NAME', 'Hauke Zuehl',
'Michal Supler', 'michal_s', 'Manuel Pérez', 'rabuzarus']
'Michal Supler', 'michal_s', 'Manuel Pérez', 'rabuzarus', 'Alberto Díaz']
# this script is in the /util sub-directory of the friendica installation
@ -32,7 +32,7 @@ dontinclude = ['root', 'friendica', 'bavatar', 'tony baldwin', 'Taek', 'silke m'
path = os.path.abspath(argv[0].split('util/make_credits.py')[0])
print('> base directory is assumed to be: '+path)
# a place to store contributors
contributors = ['Andi Stadler']
contributors = ["Andi Stadler", "Vít Šesták 'v6ak'"]
# get the contributors
print('> getting contributors to the friendica core repository')
p = subprocess.Popen(['git', 'shortlog', '--no-merges', '-s'],