Merge remote branch 'mike/master'

This commit is contained in:
Olivier Migeot 2011-04-13 14:25:13 +02:00
commit e051fa3605
7 changed files with 461 additions and 263 deletions

8
README
View File

@ -3,7 +3,7 @@
* Friendika *
*************
Distributed Social Network
Social Communications Platform
http://friendika.com
@ -40,8 +40,8 @@ interaction you've grown to love, *and* was free to use, *and* was open source,
*and* where your privacy is always under your control?
And what if this social network could scale to encompass the entire
internet, and *not* require a central organisation to provide servers?
(In exchange for peddling your private information behind your back.)
internet, and *not* require a central organisation - whose core business model
is to sell information it can discover about you for profit?
Look no further.
@ -53,7 +53,7 @@ Status.Net and many other sites and social networks *today*.
Welcome to the federated social web. If you choose not to use Friendika
(though we think you'd be foolish not to), you can choose any of 20-30 other
providers of federated social networking software and still be a part of this
providers of federated social communications software and still be a part of this
vast new social network. This is going to be bigger than Facebook.
Much bigger.

View File

@ -4,7 +4,7 @@ set_time_limit(0);
define ( 'FRIENDIKA_VERSION', '2.1.947' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1050 );
define ( 'DB_UPDATE_VERSION', 1051 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );

View File

@ -514,3 +514,17 @@ CREATE TABLE IF NOT EXISTS `mailacct` (
`last_check` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `attach` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`uid` INT NOT NULL ,
`filetype` CHAR( 64 ) NOT NULL ,
`filesize` INT NOT NULL ,
`data` LONGBLOB NOT NULL ,
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`allow_cid` MEDIUMTEXT NOT NULL ,
`allow_gid` MEDIUMTEXT NOT NULL ,
`deny_cid` MEDIUMTEXT NOT NULL ,
`deny_gid` MEDIUMTEXT NOT NULL
) ENGINE = MYISAM DEFAULT CHARSET=utf8;

View File

@ -478,9 +478,11 @@ function get_atom_elements($feed,$item) {
$att_arr = array();
foreach($attach as $att) {
$len = intval($att->get_length());
$link = str_replace(',','%2D', notags(trim($att->get_link())));
$title = str_replace(',','%2D',notags(trim($att->get_title())));
$type = notags(trim($att->get_type()));
$link = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_link()))));
$title = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_title()))));
$type = str_replace(array(',','"'),array('%2D','%22'),notags(trim(unxmlify($att->get_type()))));
if(strpos($type,';'))
$type = substr($type,0,strpos($type,';'));
if((! $link) || (strpos($link,'http') !== 0))
continue;
@ -489,9 +491,7 @@ function get_atom_elements($feed,$item) {
if(! $type)
$type = 'application/octet-stream';
// this isn't legal html - there is no size in an 'a' tag, remember to strip it before display
$att_arr[] = '<a href="' . $link . '" size="' . $len . '" type="' . $type . '">' . $title . '</a>';
$att_arr[] = '[attach]href="' . $link . '" size="' . $len . '" type="' . $type . '" title="' . $title . '"[/attach]';
}
$res['attach'] = implode(',', $att_arr);
}
@ -1588,13 +1588,13 @@ function item_getfeedattach($item) {
if(count($arr)) {
foreach($arr as $r) {
$matches = false;
$cnt = preg_match('|\<a href=\"(.+?)\" size=\"(.+?)\" type=\"(.+?)\" >(.+?)</a>|',$r,$matches);
$cnt = preg_match('|\[attach\]href=\"(.+?)\" size=\"(.+?)\" type=\"(.+?)\" title=\"(.+?)\"\[\/attach\]|',$r,$matches);
if($cnt) {
$ret .= '<link rel="enclosure" href="' . xmlify($matches[1]) . '" type="' . xmlify($matches[3]) . '" ';
if(intval($matches[2]))
$ret .= 'size="' . intval($matches[2]) . '" ';
if($matches[4] !== ' ')
$ret .= 'title="' . xmlify($matches[4]) . '" ';
$ret .= 'title="' . xmlify(trim($matches[4])) . '" ';
$ret .= ' />' . "\r\n";
}
}

View File

@ -444,3 +444,19 @@ function update_1049() {
) ENGINE = MYISAM ");
}
function update_1050() {
q("CREATE TABLE `attach` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`uid` INT NOT NULL ,
`filetype` CHAR( 64 ) NOT NULL ,
`filesize` INT NOT NULL ,
`data` LONGBLOB NOT NULL ,
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`allow_cid` MEDIUMTEXT NOT NULL ,
`allow_gid` MEDIUMTEXT NOT NULL ,
`deny_cid` MEDIUMTEXT NOT NULL ,
`deny_gid` MEDIUMTEXT NOT NULL
) ENGINE = MYISAM ");
}

File diff suppressed because it is too large Load Diff

View File

@ -71,7 +71,7 @@ $a->strings["Select an identity to manage: "] = "Wähle eine Identität zum Verw
$a->strings["Submit"] = "Senden";
$a->strings["Image exceeds size limit of %d"] = "Bildgröße überschreitet das Limit von %d";
$a->strings["Unable to process image."] = "Konnte das Bild nicht bearbeiten.";
$a->strings["Wall Photos"] = "Wall Photos";
$a->strings["Wall Photos"] = "Pinnwand Bilder";
$a->strings["Image upload failed."] = "Hochladen des Bildes gescheitert.";
$a->strings["Administrator"] = "Administrator";
$a->strings["noreply"] = "noreply";
@ -93,7 +93,7 @@ $a->strings["I don't like this (toggle)"] = "Ich mag das nicht (toggle)";
$a->strings["This is you"] = "Das bist du";
$a->strings["Delete"] = "Löschen";
$a->strings["View \$name's profile"] = "Betrachte das Profil von \$name";
$a->strings["Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."] = "Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license.";
$a->strings["Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."] = "Geteilte Inhalte innerhalb des Friendika Netzwerks sind unter der <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> verfügbar.";
$a->strings["The profile address specified does not provide adequate information."] = "Die angegebene Profiladresse liefert unzureichende Informationen.";
$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können.";
$a->strings["Unable to retrieve contact information."] = "Konnte die Kontaktinformationen nicht empfangen.";
@ -309,7 +309,8 @@ $a->strings["Profile location is not valid or does not contain profile informati
$a->strings["Warning: profile location has no identifiable owner name."] = "Warning: profile location has no identifiable owner name.";
$a->strings["Warning: profile location has no profile photo."] = "Warning: profile location has no profile photo.";
$a->strings["%d required parameter was not found at the given location"] = array(
0 => "",
0 => "%d benötigter Parameter wurde an der angegebenen Stelle nicht gefunden",
1 => "%d benötigte Parameter wurden an der angegebenen Stelle nicht gefunden",
);
$a->strings["Introduction complete."] = "Vorstellung abgeschlossen.";
$a->strings["Unrecoverable protocol error."] = "Nicht behebbarer Protokollfehler.";
@ -399,7 +400,7 @@ $a->strings["Unable to update your contact profile details on our system"] = "Di
$a->strings["Connection accepted at %s"] = "Auf %s wurde die Verbindung akzeptiert";
$a->strings["Login failed."] = "Annmeldung fehlgeschlagen.";
$a->strings["Welcome back "] = "Willkommen zurück ";
$a->strings["%s welcomes %s"] = "%s heist %s herzlich willkommen";
$a->strings["%s welcomes %s"] = "%s heißt %s herzlich willkommen";
$a->strings["No contacts."] = "Keine Kontakte.";
$a->strings["Group created."] = "Gruppe erstellt.";
$a->strings["Could not create group."] = "Konnte die Gruppe nicht erstellen.";
@ -632,7 +633,7 @@ $a->strings["%d member"] = array(
$a->strings["Warning: This group contains %s from an insecure network."] = "Warnung: Diese Gruppe beinhaltet %s aus einem unsicheren Netzwerk.";
$a->strings["Private messages to this group are at risk of public disclosure."] = "Private Nachrichten an diese Gruppe könnten an die Öffentlichkeit geraten.";
$a->strings["See more posts like this"] = "Mehr Beiträge wie diesen anzeigen";
$a->strings["D, d M Y - g:i A"] = "g A l F d";
$a->strings["D, d M Y - g:i A"] = "D, d. M Y - g:i A";
$a->strings["Welcome home %s."] = "Willkommen zurück %s.";
$a->strings["Please confirm your introduction/connection request to %s."] = "Bitte bestätige deine Vorstellung/Verbindungs Anfrage bei %s.";
$a->strings["Confirm"] = "Bestätigen";
@ -761,3 +762,14 @@ $a->strings["Online Reputation"] = "Online Ruf";
$a->strings["Occasionally your friends may wish to inquire about this person's online legitimacy."] = "Es könnte sein, dass deine Freunde etwas über den Ruf einer Peron erfahren möchten.";
$a->strings["You may help them choose whether or not to interact with this person by providing a <em>reputation</em> to guide them."] = "Du kannst ihnen bei der Entscheidung helfen ob sie mit einer Person interagieren sollten oder nicht indem du Informationen über den <em>Ruf</em> der Person anbietest.";
$a->strings["Please take a moment to elaborate on this selection if you feel it could be helpful to others."] = "Bitte nimm dir einen Moment und fülle diesen Punkt aus wenn du denkst das es anderen helfen könnte.";
$a->strings["View %s's profile"] = "Betrachte %s's Profil";
$a->strings["Help"] = "Hilfe";
$a->strings["Visible to everybody"] = "Für jeden sichtbar";
$a->strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
$a->strings["Click on a contact to add or remove."] = "Klicke einen Kontakt an um ihn hinzuzufügen oder zu entfernen";
$a->strings["Members"] = "Mitglieder";
$a->strings["All Contacts"] = "Alle Kontakte";
$a->strings["Invalid profile identifier."] = "Ungültiger Profil-Bezeichner";
$a->strings["Profile Visibility Editor"] = "Editor für die Profil-Sichtbarkeit";
$a->strings["Visible To"] = "Sichtbar für";
$a->strings["All Contacts (with secure profile access)"] = "Alle Kontakte (mit gesichertem Profil zugriff)";