Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Michael Vogel 2014-04-29 12:36:49 +02:00
commit c5825a0c20
66 changed files with 34469 additions and 36684 deletions

View file

@ -1,6 +1,7 @@
Options -Indexes
AddType application/x-java-archive .jar
AddType audio/ogg .oga
#AddHandler php53-cgi .php
<FilesMatch "\.(out|log)$">
Deny from all

View file

@ -15,7 +15,7 @@ local .htaccess file
- PHP 5.2+. The later the better. You'll need 5.3 for encryption of key exchange conversations. On a Windows environment, 5.2+ might not work as the function dns_get_record() is only available with version 5.3.
- PHP *command line* access with register_argc_argv set to true in the
php.ini file
- curl, gd, mysql, and openssl extensions
- curl, gd, mysql, hash and openssl extensions
- some form of email server or email gateway such that PHP mail() works
- mcrypt (optional; used for server-to-server message encryption)

138
doc/de/BBCode.md Normal file
View file

@ -0,0 +1,138 @@
Referenz der Friendica BBCode Tags
========================
* [Zur Startseite der Hilfe](help)
Inline Tags
-----
<pre>[b]fett[/b]</pre> : <strong>fett</strong>
<pre>[i]kursiv[/i]</pre> : <em>kursiv</em>
<pre>[u]unterstrichen[/u]</pre> : <u>unterstrichen</u>
<pre>[s]durchgestrichen[/s]</pre> : <strike>durchgestrichen</strike>
<pre>[color=red]rot[/color]</pre> : <span style="color: red;">rot</span>
<pre>[url=http://www.friendica.com]Friendica[/url]</pre> : <a href="http://www.friendica.com" target="external-link">Friendica</a>
<pre>[img]http://friendica.com/sites/default/files/friendika-32.png[/img]</pre> : <img src="http://friendica.com/sites/default/files/friendika-32.png" alt="Immagine/foto">
<pre>[size=xx-small]kleiner Text[/size]</pre> : <span style="font-size: xx-small;">kleiner Text</span>
<pre>[size=xx-large]gro&szlig; Text[/size]</pre> : <span style="font-size: xx-large;">gro&szlig;er Text</span>
<pre>[size=20]exakte Textgr&ouml;&szlig;e[/size] (Textgr&ouml;&szlig;e kann jede Zahl sein, in Pixeln)</pre> : <span style="font-size: 20px;">exakte Gr&ouml;&szlig;e</span>
Block Tags
-----
<pre>[code]Code[/code]</pre>
<code>Code</code>
<p style="clear:both;">&nbsp;</p>
<pre>[quote]Zitat[/quote]</pre>
<blockquote>Zitat</blockquote>
<p style="clear:both;">&nbsp;</p>
<pre>[quote=Autor]Der Autor? Ich? Nein, nein, nein...[/quote]</pre>
<strong class="author">Autor hat geschrieben:</strong><blockquote>Der Autor? Ich? Nein, nein, nein...</blockquote>
<p style="clear:both;">&nbsp;</p>
<pre>[center]zentrierter Text[/center]</pre>
<div style="text-align:center;">zentrierter Text</div>
<p style="clear:both;">&nbsp;</p>
**Tabelle**
<pre>[table border=1]
[tr]
[th]Tabellenzeile[/th]
[/tr]
[tr]
[td]haben &Uuml;berschriften[/td]
[/tr]
[/table]</pre>
<table border="1"><tbody><tr><th>Tabellenzeile</th></tr><tr><td>haben &Uuml;berschriften</td></tr></tbody></table>
<p style="clear:both;">&nbsp;</p>
**Listen**
<pre>[list]
[*] Erstes Listenelement
[*] Zweites Listenelement
[/list]</pre>
<ul class="listbullet" style="list-style-type: circle;">
<li> Erstes Listenelement<br>
</li>
<li> Zweites Listenelement</li>
</ul>
[list] ist Equivalent zu [ul] (unsortierte Liste).
[ol] kann anstelle von [list] verwendet werden um eine sortierte Liste zu erzeugen:
<pre>[ol]
[*] Erstes Listenelement
[*] Zweites Listenelement
[/ol]</pre>
<ul class="listdecimal" style="list-style-type: decimal;"><li>Erstes Listenelement<br></li><li> Zweites Listenelement</li></ul>
F&uuml;r weitere Optionen von sortierten Listen kann man den Stiel der Numerierung der Liste definieren:
<pre>[list=1]</pre> : dezimal
<pre>[list=i]</pre> : r&ouml;misch, Kleinbuchstaben
<pre>[list=I]</pre> : r&ouml;misch, Gro&szlig;buchstaben
<pre>[list=a]</pre> : alphabetisch, Kleinbuchstaben
<pre>[list=A] </pre> : alphabethisch, Gro&szlig;buchstaben
Einbettung von Inhalten
------
Man kann viele Dinge, z.B. Video und Audio Dateine, in Nachrichten einbetten.
<pre>[video]url[/video]</pre>
<pre>[audio]url[/audio]</pre>
Wobei die *url* von youtube, vimeo, soundcloud oder einer anderen Seite stammen kann die die oembed oder opengraph Spezifikationen unterst&uuml;tzt. Au&szlig;erdem kann *url* die genaue url zu einer ogg Datei sein, die dann per HTML5 eingebunden wird.
<pre>[url]*url*[/url]</pre>
Wenn *url* entweder oembed oder opengraph unterstützt wird das eingebettete
Objekt (z.B. ein Dokument von scribd) eingebunden.
Der Titel der Seite mit einem Link zur *url* wird ebenfalls angezeigt.
Spezielle Tags
-------
Wenn du &uuml;ber BBCode Tags in einer Nachricht schreiben m&ouml;chtest, kannst du [noparse], [nobb] oder [pre] verwenden um den BBCode Tags vor der Evaluierung zu sch&uuml;tzen:
<pre>[noparse][b]fett[/b][/noparse]</pre> : [b]fett[/b]

View file

@ -7,6 +7,7 @@ Friendica - Dokumentation und Ressourcen
* [Account - Basics](help/Account-Basics)
* [Schnellstart für neue Benutzer](help/Quick-Start-guide)
* [Beiträge erstellen](help/Text_editor)
* [Referenz der BBCode Elemente](help/BBCode)
* [Beiträge kommentieren, einordnen und löschen](help/Text_comment)
* [Profile](help/Profiles)
* Du und andere Nutzer

View file

@ -218,14 +218,16 @@ function xmlify($str) {
break;
}
}*/
/*
$buffer = mb_ereg_replace("&", "&amp;", $str);
$buffer = mb_ereg_replace("'", "&apos;", $buffer);
$buffer = mb_ereg_replace("\"", "&quot;", $buffer);
$buffer = mb_ereg_replace('"', "&quot;", $buffer);
$buffer = mb_ereg_replace("<", "&lt;", $buffer);
$buffer = mb_ereg_replace(">", "&gt;", $buffer);
*/
$buffer = htmlspecialchars($str, ENT_QUOTES);
$buffer = trim($buffer);
return($buffer);
}}
@ -238,11 +240,13 @@ if(! function_exists('unxmlify')) {
function unxmlify($s) {
// $ret = str_replace('&amp;','&', $s);
// $ret = str_replace(array('&lt;','&gt;','&quot;','&apos;'),array('<','>','"',"'"),$ret);
$ret = mb_ereg_replace('&amp;', '&', $s);
/*$ret = mb_ereg_replace('&amp;', '&', $s);
$ret = mb_ereg_replace('&apos;', "'", $ret);
$ret = mb_ereg_replace('&quot;', '"', $ret);
$ret = mb_ereg_replace('&lt;', "<", $ret);
$ret = mb_ereg_replace('&gt;', ">", $ret);
*/
$ret = htmlspecialchars_decode($s, ENT_QUOTES);
return $ret;
}}
@ -1129,7 +1133,7 @@ function smilies($s, $sample = false) {
'<img class="smiley" src="' . $a->get_baseurl() . '/images/like.gif" alt=":like" />',
'<img class="smiley" src="' . $a->get_baseurl() . '/images/dislike.gif" alt=":dislike" />',
'<a href="http://friendica.com">~friendica <img class="smiley" src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>',
'<a href="http://friendica.com">red <img class="smiley" src="' . $a->get_baseurl() . '/images/rhash-16.png" alt="red" /></a>'
'<a href="http://redmatrix.me/">red <img class="smiley" src="' . $a->get_baseurl() . '/images/rhash-16.png" alt="red" /></a>'
);
$params = array('texts' => $texts, 'icons' => $icons, 'string' => $s);

View file

@ -612,7 +612,7 @@ function admin_page_site(&$a) {
'$no_regfullname' => array('no_regfullname', t("Fullname check"), !get_config('system','no_regfullname'), t("Force users to register with a space between firstname and lastname in Full name, as an antispam measure")),
'$no_utf' => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), t("Use PHP UTF8 regular expressions")),
'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), t("Display a Community page showing all recent public postings on this site.")),
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28identi.ca, status.net, etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
'$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
'$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), t("Provide built-in Diaspora network compatibility.")),
'$dfrn_only' => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), t("All contacts must use Friendica protocols. All other built-in communication protocols disabled.")),

View file

@ -1640,10 +1640,15 @@ function photos_content(&$a) {
$profile_link = $profile_url;
$drop = '';
if(($item['contact-id'] == $contact_id) || ($item['uid'] == local_user()))
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
$dropping = (($item['contact-id'] == $contact_id) || ($item['uid'] == local_user()));
$drop = array(
'dropping' => $dropping,
'pagedrop' => false,
'select' => t('Select'),
'delete' => t('Delete'),
);
if($a->theme['template_engine'] === 'internal') {

View file

@ -288,6 +288,10 @@ function profiles_post(&$a) {
$sexual = notags(trim($_POST['sexual']));
$homepage = notags(trim($_POST['homepage']));
if (strpos($homepage, 'http') !== 0) {
// neither http nor https in URL, add them
$homepage = 'http://'.$homepage;
}
$hometown = notags(trim($_POST['hometown']));
$politic = notags(trim($_POST['politic']));
$religion = notags(trim($_POST['religion']));

View file

@ -1,6 +1,7 @@
<?php
require_once('include/email.php');
require_once('include/bbcode.php');
if(! function_exists('register_post')) {
function register_post(&$a) {
@ -263,7 +264,7 @@ function register_content(&$a) {
'$realpeople' => $realpeople,
'$regtitle' => t('Registration'),
'$registertext' =>((x($a->config,'register_text'))
? '<div class="error-message">' . $a->config['register_text'] . '</div>'
? bbcode($a->config['register_text'])
: "" ),
'$fillwith' => $fillwith,
'$fillext' => $fillext,

View file

@ -65,6 +65,18 @@ function wall_attach_post(&$a) {
$maxfilesize = get_config('system','maxfilesize');
/* Found html code written in text field of form,
* when trying to upload a file with filesize
* greater than upload_max_filesize. Cause is unknown.
* Then Filesize gets <= 0.
*/
if($filesize <=0) {
notice(t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(t('Or - did you try to upload an empty file?')) . EOL);
@unlink($src);
killme();
}
if(($maxfilesize) && ($filesize > $maxfilesize)) {
notice( sprintf(t('File exceeds size limit of %d'), $maxfilesize) . EOL);
@unlink($src);

File diff suppressed because it is too large Load diff

View file

@ -63,7 +63,7 @@ then
sed -i "s/PACKAGE VERSION//g" "$OUTFILE"
sed -i "s/PACKAGE/Friendica $ADDONNAME addon/g" "$OUTFILE"
sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$OUTFILE"
sed -i "s/^\"Plural-Forms.*$//g" "$OUTFILE"
else
sed -i "s/SOME DESCRIPTIVE TITLE./FRIENDICA Distributed Social Network/g" "$OUTFILE"
sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2010, 2011, 2012, 2013 the Friendica Project/g" "$OUTFILE"
@ -71,7 +71,7 @@ else
sed -i "s/PACKAGE VERSION/$F9KVERSION/g" "$OUTFILE"
sed -i "s/PACKAGE/Friendica/g" "$OUTFILE"
sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
sed -i "s/^\"Plural-Forms/#\"Plural-Forms/g" "$OUTFILE"
sed -i "s/^\"Plural-Forms.*$//g" "$OUTFILE"
fi
echo "done."

File diff suppressed because it is too large Load diff

View file

@ -120,6 +120,7 @@ $a->strings["font size"] = "Schriftgröße";
$a->strings["base font size for your interface"] = "Basis-Schriftgröße für dein Interface.";
$a->strings["Set resize level for images in posts and comments (width and height)"] = "Wähle das Vergrößerungsmaß für Bilder in Beiträgen und Kommentaren (Höhe und Breite)";
$a->strings["Set theme width"] = "Theme Breite festlegen";
$a->strings["Set style"] = "Stiel auswählen";
$a->strings["Delete this item?"] = "Diesen Beitrag löschen?";
$a->strings["show fewer"] = "weniger anzeigen";
$a->strings["Update %s failed. See error logs."] = "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen.";
@ -418,6 +419,7 @@ $a->strings["Can not parse base url. Must have at least <scheme>://<domain>"] =
$a->strings["Site settings updated."] = "Seiteneinstellungen aktualisiert.";
$a->strings["No special theme for mobile devices"] = "Kein spezielles Theme für mobile Geräte verwenden.";
$a->strings["Never"] = "Niemals";
$a->strings["At post arrival"] = "Beim Empfang von Nachrichten";
$a->strings["Frequently"] = "immer wieder";
$a->strings["Hourly"] = "Stündlich";
$a->strings["Twice daily"] = "Zweimal täglich";
@ -498,7 +500,7 @@ $a->strings["Use PHP UTF8 regular expressions"] = "PHP UTF8 Ausdrücke verwenden
$a->strings["Show Community Page"] = "Gemeinschaftsseite anzeigen";
$a->strings["Display a Community page showing all recent public postings on this site."] = "Zeige die Gemeinschaftsseite mit allen öffentlichen Beiträgen auf diesem Server.";
$a->strings["Enable OStatus support"] = "OStatus Unterstützung aktivieren";
$a->strings["Provide built-in OStatus (identi.ca, status.net, etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Biete die eingebaute OStatus (identi.ca, status.net, etc.) Unterstützung an. Jede Kommunikation in OStatus ist öffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt.";
$a->strings["Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist öffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt.";
$a->strings["OStatus conversation completion interval"] = "Intervall zum Vervollständigen von OStatus Unterhaltungen";
$a->strings["How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."] = "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein.";
$a->strings["Enable Diaspora support"] = "Diaspora-Support aktivieren";
@ -769,6 +771,9 @@ $a->strings["Currently ignored"] = "Derzeit ignoriert";
$a->strings["Currently archived"] = "Momentan archiviert";
$a->strings["Hide this contact from others"] = "Verberge diesen Kontakt vor anderen";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>könnten</strong> weiterhin sichtbar sein";
$a->strings["Notification for new posts"] = "Benachrichtigung bei neuen Beiträgen";
$a->strings["Send a notification of every new post of this contact"] = "Sende eine Benachrichtigung wann immer dieser Kontakt einen neuen Beitrag schreibt.";
$a->strings["Fetch further information for feeds"] = "Weitere Informationen zu Feeds holen";
$a->strings["Suggestions"] = "Kontaktvorschläge";
$a->strings["Suggest potential friends"] = "Freunde vorschlagen";
$a->strings["All Contacts"] = "Alle Kontakte";
@ -790,11 +795,10 @@ $a->strings["Edit contact"] = "Kontakt bearbeiten";
$a->strings["Search your contacts"] = "Suche in deinen Kontakten";
$a->strings["Update"] = "Aktualisierungen";
$a->strings["everybody"] = "jeder";
$a->strings["Account settings"] = "Kontoeinstellungen";
$a->strings["Additional features"] = "Zusätzliche Features";
$a->strings["Display settings"] = "Anzeige-Einstellungen";
$a->strings["Connector settings"] = "Connector-Einstellungen";
$a->strings["Plugin settings"] = "Plugin-Einstellungen";
$a->strings["Display"] = "Anzeige";
$a->strings["Social Networks"] = "Soziale Netzwerke";
$a->strings["Delegations"] = "Delegationen";
$a->strings["Connected apps"] = "Verbundene Programme";
$a->strings["Export personal data"] = "Persönliche Daten exportieren";
$a->strings["Remove account"] = "Konto löschen";
@ -836,7 +840,6 @@ $a->strings["enabled"] = "eingeschaltet";
$a->strings["disabled"] = "ausgeschaltet";
$a->strings["StatusNet"] = "StatusNet";
$a->strings["Email access is disabled on this site."] = "Zugriff auf E-Mails für diese Seite deaktiviert.";
$a->strings["Connector Settings"] = "Verbindungs-Einstellungen";
$a->strings["Email/Mailbox Setup"] = "E-Mail/Postfach-Einstellungen";
$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Wenn du mit E-Mail-Kontakten über diesen Service kommunizieren möchtest (optional), gib bitte die Einstellungen für dein Postfach an.";
$a->strings["Last successful email check:"] = "Letzter erfolgreicher E-Mail Check";
@ -861,6 +864,7 @@ $a->strings["Number of items to display per page:"] = "Zahl der Beiträge, die p
$a->strings["Maximum of 100 items"] = "Maximal 100 Beiträge";
$a->strings["Number of items to display per page when viewed from mobile device:"] = "Zahl der Beiträge, die pro Netzwerkseite auf mobilen Geräten angezeigt werden sollen:";
$a->strings["Don't show emoticons"] = "Keine Smilies anzeigen";
$a->strings["Don't show notices"] = "Info-Popups nicht anzeigen";
$a->strings["Infinite scroll"] = "Endloses Scrollen";
$a->strings["Normal Account Page"] = "Normales Konto";
$a->strings["This account is a normal personal profile"] = "Dieses Konto ist ein normales persönliches Profil";
@ -1120,6 +1124,8 @@ $a->strings["Public photo"] = "Öffentliches Foto";
$a->strings["Share"] = "Teilen";
$a->strings["View Album"] = "Album betrachten";
$a->strings["Recent Photos"] = "Neueste Fotos";
$a->strings["Sorry, maybe your upload is bigger than the PHP configuration allows"] = "Entschuldige, die Datei scheint größer zu sein als es die PHP Konfiguration erlaubt.";
$a->strings["Or - did you try to upload an empty file?"] = "Oder - hast Du versucht, eine leere Datei hochzuladen?";
$a->strings["File exceeds size limit of %d"] = "Die Datei ist größer als das erlaubte Limit von %d";
$a->strings["File upload failed."] = "Hochladen der Datei fehlgeschlagen.";
$a->strings["No videos selected"] = "Keine Videos ausgewählt";
@ -1300,6 +1306,7 @@ $a->strings["This action exceeds the limits set by your subscription plan."] = "
$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in deinem Abonnement nicht verfügbar.";
$a->strings["User not found."] = "Nutzer nicht gefunden.";
$a->strings["There is no status with this id."] = "Es gibt keinen Status mit dieser ID.";
$a->strings["There is no conversation with this id."] = "Es existiert keine Unterhaltung mit dieser ID.";
$a->strings["view full size"] = "Volle Größe anzeigen";
$a->strings["Starts:"] = "Beginnt:";
$a->strings["Finishes:"] = "Endet:";
@ -1457,6 +1464,9 @@ $a->strings["%1\$s posted to [url=%2\$s]your wall[/url]"] = "%1\$s hat etwas auf
$a->strings["[Friendica:Notify] %s tagged you"] = "[Friendica-Meldung] %s hat dich erwähnt";
$a->strings["%1\$s tagged you at %2\$s"] = "%1\$s erwähnte dich auf %2\$s";
$a->strings["%1\$s [url=%2\$s]tagged you[/url]."] = "%1\$s [url=%2\$s]erwähnte dich[/url].";
$a->strings["[Friendica:Notify] %s shared a new post"] = "[Friendica Benachrichtigung] %s hat einen Beitrag geteilt";
$a->strings["%1\$s shared a new post at %2\$s"] = "%1\$s hat einen neuen Beitrag auf %2\$s geteilt";
$a->strings["%1\$s [url=%2\$s]shared a post[/url]."] = "%1\$s [url=%2\$s]hat einen Beitrag geteilt[/url].";
$a->strings["[Friendica:Notify] %1\$s poked you"] = "[Friendica-Meldung] %1\$s hat dich angestupst";
$a->strings["%1\$s poked you at %2\$s"] = "%1\$s hat dich auf %2\$s angestupst";
$a->strings["%1\$s [url=%2\$s]poked you[/url]."] = "%1\$s [url=%2\$s]hat dich angestupst[/url].";
@ -1506,6 +1516,8 @@ $a->strings["Search site content"] = "Inhalt der Seite durchsuchen";
$a->strings["Conversations on this site"] = "Unterhaltungen auf dieser Seite";
$a->strings["Directory"] = "Verzeichnis";
$a->strings["People directory"] = "Nutzerverzeichnis";
$a->strings["Information"] = "Information";
$a->strings["Information about this friendica instance"] = "Informationen zu dieser Friendica Instanz";
$a->strings["Conversations from your friends"] = "Unterhaltungen deiner Kontakte";
$a->strings["Network Reset"] = "Netzwerk zurücksetzen";
$a->strings["Load Network page with no filters"] = "Netzwerk-Seite ohne Filter laden";
@ -1517,7 +1529,7 @@ $a->strings["Inbox"] = "Eingang";
$a->strings["Outbox"] = "Ausgang";
$a->strings["Manage"] = "Verwalten";
$a->strings["Manage other pages"] = "Andere Seiten verwalten";
$a->strings["Delegations"] = "Delegierungen";
$a->strings["Account settings"] = "Kontoeinstellungen";
$a->strings["Manage/Edit Profiles"] = "Profile Verwalten/Editieren";
$a->strings["Manage/edit friends and contacts"] = "Freunde und Kontakte verwalten/editieren";
$a->strings["Site setup and configuration"] = "Einstellungen der Seite und Konfiguration";
@ -1540,7 +1552,8 @@ $a->strings["Love/Romance:"] = "Liebesleben:";
$a->strings["Work/employment:"] = "Arbeit/Beschäftigung:";
$a->strings["School/education:"] = "Schule/Ausbildung:";
$a->strings["Image/photo"] = "Bild/Foto";
$a->strings["<span><a href=\"%s\" target=\"external-link\">%s</a> wrote the following <a href=\"%s\" target=\"external-link\">post</a>"] = "<span><a href=\"%s\" target=\"external-link\">%s</a> schrieb den folgenden <a href=\"%s\" target=\"external-link\">Beitrag</a>";
$a->strings["<span><a href=\"%s\" target=\"_blank\">%s</a> wrote the following <a href=\"%s\" target=\"_blank\">post</a>"] = "<span><a href=\"%s\" target=\"_blank\">%s</a> schrieb den folgenden <a href=\"%s\" target=\"_blank\">Beitrag</a>";
$a->strings["<span><b>"] = "<span><b>";
$a->strings["$1 wrote:"] = "$1 hat geschrieben:";
$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
$a->strings["Unknown | Not categorised"] = "Unbekannt | Nicht kategorisiert";
@ -1560,6 +1573,8 @@ $a->strings["MySpace"] = "MySpace";
$a->strings["Google+"] = "Google+";
$a->strings["pump.io"] = "pump.io";
$a->strings["Twitter"] = "Twitter";
$a->strings["Diaspora Connector"] = "Diaspora";
$a->strings["Statusnet"] = "StatusNet";
$a->strings["Miscellaneous"] = "Verschiedenes";
$a->strings["year"] = "Jahr";
$a->strings["month"] = "Monat";
@ -1588,6 +1603,8 @@ $a->strings["Richtext Editor"] = "Web-Editor";
$a->strings["Enable richtext editor"] = "Den Web-Editor für neue Beiträge aktivieren";
$a->strings["Post Preview"] = "Beitragsvorschau";
$a->strings["Allow previewing posts and comments before publishing them"] = "Die Vorschau von Beiträgen und Kommentaren vor dem absenden erlauben.";
$a->strings["Auto-mention Forums"] = "Foren automatisch erwähnen";
$a->strings["Add/remove mention when a fourm page is selected/deselected in ACL window."] = "Automatisch eine @-Erwähnung eines Forums einfügen/entfehrnen, wenn dieses im ACL Fenster de-/markiert wurde.";
$a->strings["Network Sidebar Widgets"] = "Widgets für Netzwerk und Seitenleiste";
$a->strings["Search by Date"] = "Archiv";
$a->strings["Ability to select posts by date ranges"] = "Möglichkeit die Beiträge nach Datumsbereichen zu sortieren";

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
Hola,
Estoy en $sitename;
Los desarrolladores actualizaron a $update recientemente,
pero cuando intento instalarlo, algo falla.
Este error debe ser corregido, pero no puedo hacerlo solo. Por favor,
avisa a algún desarrollador si no puedes ayudarme tú mismo. Mi
base de datos puede estar corrupta. El error que me da es '$error'.
Lo siento,
tu servidor de Friendica en $siteurl

View file

@ -1,5 +1,5 @@
Hæ,
Ég er $sitename.
Ég er $sitename;
Þróunarteymi friendica gáfu nýlega út uppfærslu $update,
En þegar ég reyndi að uppfæra, gerist eitthvað hræðilegt.
Þetta þarf að laga strax og ég get það ekki ein. Hafðu samband við

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,9 +0,0 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" >
<a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
</div>
<div class="wall-item-delete-end"></div>

View file

@ -17,7 +17,14 @@
<div class="wall-item-title" id="wall-item-title-{{$id}}">{{$title}}</div>
<div class="wall-item-body" id="wall-item-body-{{$id}}" >{{$body}}</div>
</div>
{{$drop}}
{{if $drop.dropping }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" >
<a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>
</div>
<div class="wall-item-delete-end"></div>
{{/if}}
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-comment-separator"></div>
{{$comment}}

View file

@ -1,15 +1,11 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<h3>{{$regtitle}}</h3>
<form action="register" method="post" id="register-form">
<input type="hidden" name="photo" value="{{$photo}}" />
{{$registertext}}
{{if $registertext != ""}}<div class="error-message">{{$registertext}} </div>{{/if}}
<p id="register-realpeople">{{$realpeople}}</p>

View file

@ -3,4 +3,8 @@ all:
cd green; make; cd ..
cd lilac; make; cd ..
clean:
rm dark/style.css
rm green/style.css
rm lilac/style.css

View file

@ -1163,6 +1163,9 @@ section {
color: #2d2d2d;
border: 1px solid #2d2d2d;
}
.wall-item-comment-wrapper.photo {
margin: 1em 2em 1em 0px;
}
.threaded .wall-item-comment-wrapper {
margin-left: 0px;
}
@ -1269,7 +1272,7 @@ section {
width: 25px;
height: 25px;
}
/* reshare */
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
@ -1282,48 +1285,27 @@ section {
max-height: 160px;
overflow: hidden;
}
.type-link .oembed {
}
.shared_header {
height: 32px;
color: #999;
border-top: 1px solid #D2D2D2;
border-top: 1px solid #cccccc;
padding-top: 5px;
margin-top: 5px;
}
.shared_header a {
color: black;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.shared_header a:hover {
color: #36c;
}
.shared_header img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
.shared_header span {
margin-left: 9px;
}
blockquote.shared_content {
margin-left: 32px;
color: #000;
border: none;
}
/* threaded comments */
.children {
margin-top: 1em;

View file

@ -1163,6 +1163,9 @@ section {
color: #2d2d2d;
border: 1px solid #2d2d2d;
}
.wall-item-comment-wrapper.photo {
margin: 1em 2em 1em 0px;
}
.threaded .wall-item-comment-wrapper {
margin-left: 0px;
}
@ -1269,6 +1272,7 @@ section {
width: 25px;
height: 25px;
}
/* reshare */
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
@ -1281,47 +1285,27 @@ section {
max-height: 160px;
overflow: hidden;
}
.type-link .oembed {
}
.shared_header {
height: 32px;
color: #999;
border-top: 1px solid #D2D2D2;
border-top: 1px solid #cccccc;
padding-top: 5px;
margin-top: 5px;
}
.shared_header a {
color: black;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.shared_header a:hover {
color: #36c;
}
.shared_header img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
.shared_header span {
margin-left: 9px;
}
blockquote.shared_content {
margin-left: 32px;
color: #000;
border: none;
}
/* threaded comments */
.children {
margin-top: 1em;

View file

@ -1163,6 +1163,9 @@ section {
color: #2d2d2d;
border: 1px solid #2d2d2d;
}
.wall-item-comment-wrapper.photo {
margin: 1em 2em 1em 0px;
}
.threaded .wall-item-comment-wrapper {
margin-left: 0px;
}
@ -1269,6 +1272,7 @@ section {
width: 25px;
height: 25px;
}
/* reshare */
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
@ -1281,47 +1285,27 @@ section {
max-height: 160px;
overflow: hidden;
}
.type-link .oembed {
}
.shared_header {
height: 32px;
color: #999;
border-top: 1px solid #D2D2D2;
border-top: 1px solid #cccccc;
padding-top: 5px;
margin-top: 5px;
}
.shared_header a {
color: black;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.shared_header a:hover {
color: #36c;
}
.shared_header img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
.shared_header span {
margin-left: 9px;
}
blockquote.shared_content {
margin-left: 32px;
color: #000;
border: none;
}
/* threaded comments */
.children {
margin-top: 1em;

View file

@ -586,6 +586,10 @@ section {
color: @CommentBoxFullColor;
border: 1px solid @CommentBoxFullBorderColor;
}
&.photo {
margin: 1em 2em 1em 0px;
}
}
.threaded .wall-item-comment-wrapper { margin-left: 0px; }
@ -670,6 +674,48 @@ section {
}
.wwto .contact-photo { width: 25px; height: 25px; }
/* reshare */
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
max-height: 160px;
float: left;
margin-right: 10px;
}
.type-link {
blockquote {
margin-left: 160px;
max-height: 160px;
overflow: hidden;
}
.oembed {}
}
.shared_header {
height: 32px;
color: #999;
border-top: 1px solid @ThreadBottomBorderColor;
padding-top: 5px;
margin-top: 5px;
img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
span { margin-left: 9px; }
}
blockquote.shared_content {
margin-left: 32px;
color: #000;
border: none;
}
/* threaded comments */
.children {

View file

@ -1,6 +1 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;">
<form class="comment-edit-form" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;">
<input type="hidden" name="type" value="{{$type}}" />

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{$live_update}}
{{foreach $threads as $thread}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
<script language="javascript" type="text/javascript"
src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="fileas-sidebar" class="widget">
<h3>{{$title}}</h3>
<div id="nets-desc">{{$desc}}</div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="widget">
{{if $title}}<h3>{{$title}}</h3>{{/if}}
{{if $desc}}<div class="desc">{{$desc}}</div>{{/if}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="group-sidebar" class="widget">
<div class="title tool">
<h3 class="label">{{$title}}</h3>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<form id="profile-jot-form" action="{{$action}}" method="post">
<div id="jot">
<div id="profile-jot-desc" class="jothidden">&nbsp;</div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="wall-item-container {{$item.indent}}">
<div class="wall-item-item">
<div class="wall-item-info">

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="mail-display-subject">
<span class="{{if $thread_seen}}seen{{else}}unseen{{/if}}">{{$thread_subject}}</span>
<a href="message/dropconv/{{$thread_id}}" onclick="return confirmDelete();" title="{{$delete}}" class="mail-delete icon s22 delete"></a>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="mail-list-wrapper">
<span class="mail-subject {{if $seen}}seen{{else}}unseen{{/if}}"><a href="message/{{$id}}" class="mail-link">{{$subject}}</a></span>
<span class="mail-from">{{$from_name}}</span>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{if $new.sel}}selected{{/if}}"><a href="{{$new.url}}">{{$new.label}}</a> </div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="nets-sidebar" class="widget">
<h3>{{$title}}</h3>
<div id="nets-desc">{{$desc}}</div>

View file

@ -0,0 +1,79 @@
<div class="wall-item-container {{$indent}}">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper">
<a href="{{$profile_url}}" target="redir" title="{{$linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$id}}">
<img src="{{$thumb}}" class="contact-photo{{$sparkle}}" id="wall-item-photo-{{$id}}" alt="{{$name}}" />
</a>
</div>
<div class="wall-item-location">{{$location}}</div>
</div>
<div class="wall-item-content">
{{if $title}}<h2><a href="{{$plink.href}}">{{$title}}</a></h2>{{/if}}
{{$body}}
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{foreach $tags as $tag}}
<span class='tag'>{{$tag}}</span>
{{/foreach}}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
{{if $plink}}<a class="icon s16 link" title="{{$plink.title}}" href="{{$plink.href}}">{{$plink.title}}</a>{{/if}}
</div>
<div class="wall-item-actions">
<div class="wall-item-actions-author">
<a href="{{$profile_url}}" target="redir" title="{{$linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$sparkle}}">{{$name}}</span></a> <span class="wall-item-ago" title="{{$localtime}}">{{$ago}}</span>
</div>
<div class="wall-item-actions-social">
{{if $star}}
<a href="#" id="star-{{$id}}" onclick="dostar({{$id}}); return false;" class="{{$star.classdo}}" title="{{$star.do}}">{{$star.do}}</a>
<a href="#" id="unstar-{{$id}}" onclick="dostar({{$id}}); return false;" class="{{$star.classundo}}" title="{{$star.undo}}">{{$star.undo}}</a>
<a href="#" id="tagger-{{$id}}" onclick="itemTag({{$id}}); return false;" class="{{$star.classtagger}}" title="{{$star.tagger}}">{{$star.tagger}}</a>
{{/if}}
{{if $vote}}
<a href="#" id="like-{{$id}}" title="{{$vote.like.0}}" onclick="dolike({{$id}},'like'); return false">{{$vote.like.1}}</a>
<a href="#" id="dislike-{{$id}}" title="{{$vote.dislike.0}}" onclick="dolike({{$id}},'dislike'); return false">{{$vote.dislike.1}}</a>
{{/if}}
{{if $vote.share}}
<a href="#" id="share-{{$id}}" title="{{$vote.share.0}}" onclick="jotShare({{$id}}); return false">{{$vote.share.1}}</a>
{{/if}}
</div>
<div class="wall-item-actions-tools">
{{if $drop.pagedrop}}
<input type="checkbox" title="{{$drop.select}}" name="itemselected[]" class="item-select" value="{{$id}}" />
{{/if}}
{{if $drop.dropping}}
<a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$drop.delete}}">{{$drop.delete}}</a>
{{/if}}
{{if $edpost}}
<a class="icon edit s16" href="{{$edpost.0}}" title="{{$edpost.1}}"></a>
{{/if}}
</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-{{$id}}">{{$like}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$id}}">{{$dislike}}</div>
{{if $conv}}
<div class="wall-item-conv" id="wall-item-conv-{{$id}}" >
<a href='{{$conv.href}}' id='context-{{$id}}' title='{{$conv.title}}'>{{$conv.title}}</a>
</div>
{{/if}}
</div>
</div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="live-display"></div>
<h3 id="photo-album-title"><a href="{{$album.0}}">{{$album.1}}</a></h3>
@ -34,7 +29,8 @@
{{$dislike}}
</div>
{{/if}}
<div class="wall-item-comment-wrapper">
<div class="wall-item-comment-wrapper photo">
{{$comments}}
</div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="vcard">
<div class="tool">

View file

@ -1,9 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<h3>{{$header}}</h3>
<div id="prvmail-wrapper" >

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="saved-search-list" class="widget">
<h3 class="title">{{$title}}</h3>

View file

@ -1,9 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div class="wall-item-decor">
<span class="icon s22 star {{$item.isstarred}}" id="starred-{{$item.id}}" title="{{$item.star.starred}}">{{$item.star.starred}}</span>
{{if $item.lock}}<span class="icon s22 lock fakelink" onclick="lockview(event,{{$item.id}});" title="{{$item.lock}}">{{$item.lock}}</span>{{/if}}
@ -89,8 +83,8 @@
{{if $item.conv}}
<div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" >
<a href='{{$item.conv.href}}' id='context-{{$item.id}}' title='{{$item.conv.title}}'>{{$item.conv.title}}</a>
{{/if}}
</div>
{{/if}}
</div>

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<script src="{{$baseurl}}/view/theme/quattro/jquery.tools.min.js"></script>
{{include file="field_select.tpl" field=$color}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{$live_update}}
{{foreach $threads as $thread}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{if $mode == display}}
{{else}}
{{if $item.comment_firstcollapsed}}

View file

@ -1,8 +1,3 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
{{if $mode == display}}
{{else}}
{{if $item.comment_firstcollapsed}}

View file

@ -1,7 +1,7 @@
/*
style.css
Theme: Smoothly
Maintainer: alex@friendica.pixelbits.de
Maintainer: Nomen Nominandum
last change: 2013-05-08
** Colors **

View file

@ -2,11 +2,11 @@
/*
* Name: Smoothly
* Description: Like coffee with milk. Theme optimized for iPad[2].
* Version: Version 2013-05-08.2
* Author: Anne Walk
* Author: Devlon Duthied
* Maintainer: Alex <https://friendica.pixelbits.de/profile/alex>
* Description: Theme based on Testbubble and optimized for Tablets.
* Version: Version 2013-05-08
* Author: Anne Walk, Devlon Duthied
* Author: Alex <https://red.pixelbits.de/channel/alex>
* Maintainer: Nomen Nominandum
* Screenshot: <a href="screenshot.png">Screenshot</a>
*/

View file

View file

@ -1,96 +0,0 @@
// Quattro Theme LESS file
// "Echo" palette from Inkscape
@Yellow1 : #fce94f;
@Blue1:rgb(25,174,255);
@Blue2:rgb(0,132,200);
@Blue3:rgb(0,92,148);
@Red1:rgb(255,65,65);
@Red2:rgb(220,0,0);
@Red3:rgb(181,0,0);
@Orange1:rgb(255,255,62);
@Orange2:rgb(255,153,0);
@Orange3:rgb(255,102,0);
@Brown1:rgb(255,192,34);
@Brown2:rgb(184,129,0);
@Brown3:rgb(128,77,0);
@Green1:rgb(204,255,66);
@Green2:rgb(154,222,0);
@Green3:rgb(0,145,0);
@Purple1:rgb(241,202,255);
@Purple2:rgb(215,108,255);
@Purple3:rgb(186,0,255);
@Metalic1:rgb(189,205,212);
@Metalic2:rgb(158,171,176);
@Metalic3:rgb(54,78,89);
@Metalic4:rgb(14,35,46);
@Grey1:rgb(255,255,255);
@Grey2:rgb(204,204,204);
@Grey3:rgb(153,153,153);
@Grey4:rgb(102,102,102);
@Grey5:rgb(45,45,45);
// Theme colors
@BodyBackground: @Grey1;
@BodyColor: @Grey5;
@Link: @Blue3;
@LinkHover: @Blue3;
@LinkVisited: @Blue3;
@ButtonColor: @Grey1;
@ButtonBackgroundColor: @Grey5;
@Banner: @Grey1;
@NavbarBackground:@Metalic4;
@NavbarSelectedBg:@Metalic3;
@NavbarSelectedBorder: @Metalic2;
@NavbarNotifBg: @Blue1;
@Menu: @Grey5;
@MenuBg: @Grey1;
@MenuBorder: @Metalic3;
@MenuItem: @Grey5;
@MenuItemHoverBg: @Metalic1;
@MenuItemSeparator: @Metalic2;
@MenuEmpty: @Metalic2;
@MenuItemDetail: @Metalic2;
@AsideBorder: @Metalic1;
@AsideConnect: @Grey1;
@AsideConnectBg: @Blue3;
@AsideConnectHoverBg: @Blue1;
@VCardLabelColor: @Grey3;
@InfoColor: @Grey1;
@InfoBackgroundColor: @Metalic3;
@NoticeColor: @Grey1;
@NoticeBackgroundColor: #511919;
@ThreadBackgroundColor: #f6f7f8;
@ShinyBorderColor: @Yellow1;
@CommentBoxEmptyColor: @Grey3;
@CommentBoxEmptyBorderColor: @Grey3;
@CommentBoxFullColor: @Grey5;
@CommentBoxFullBorderColor: @Grey5;
@TagColor: @Grey1;
@JotToolsBackgroundColor: @Metalic4;
@JotToolsBorderColor: @Metalic2;
@JotToolsOverBackgroundColor: @Metalic3;
@JotToolsOverBorderColor: @Metalic1;
@JotToolsText: @Grey2;
@JotSubmitBackgroundColor: @Grey2;
@JotSubmitText: @Grey4;
@JotSubmitOverBackgroundColor: @Metalic1;
@JotSubmitOverText: @Grey4;
@JotPermissionUnlockBackgroundColor: @Grey2;
@JotPermissionLockBackgroundColor: @Grey4;
@JotLoadingBackgroundColor: @Grey1;
@JotPreviewBackgroundColor: @Yellow1;

View file

@ -1,59 +0,0 @@
// Quattro Theme LESS file
/* icons */
.icons(@size: 22) {
&.notify { background-image: url("../../../images/icons/@{size}/notify_off.png"); }
&.gear { background-image: url("../../../images/icons/@{size}/gear.png"); }
&.add { background-image: url("../../../images/icons/@{size}/add.png"); }
&.delete { background-image: url("../../../images/icons/@{size}/delete.png"); }
&.edit { background-image: url("../../../images/icons/@{size}/edit.png"); }
&.star { background-image: url("../../../images/icons/@{size}/star.png"); }
&.menu { background-image: url("../../../images/icons/@{size}/menu.png"); }
&.link { background-image: url("../../../images/icons/@{size}/link.png"); }
&.lock { background-image: url("../../../images/icons/@{size}/lock.png"); }
&.unlock { background-image: url("../../../images/icons/@{size}/unlock.png"); }
&.type-unkn { background-image: url("../../../images/icons/@{size}/zip.png"); }
&.type-audio{ background-image: url("../../../images/icons/@{size}/audio.png"); }
&.type-video{ background-image: url("../../../images/icons/@{size}/video.png"); }
&.type-image{ background-image: url("../../../images/icons/@{size}/image.png"); }
&.type-text { background-image: url("../../../images/icons/@{size}/text.png"); }
}
.icon {
background-color: transparent ;
background-repeat: no-repeat;
background-position: left center;
display: block;
overflow: hidden;
text-indent: -9999px;
padding: 1px;
&.text {
text-indent: 0px;
}
&.s10 {
min-width:10px; height: 10px;
.icons(10);
&.text { padding: 2px 0px 0px 15px; }
}
&.s16 {
min-width:16px; height: 16px;
.icons(16);
&.text { padding: 4px 0px 0px 20px; }
}
&.s22 {
min-width:22px; height: 22px;
.icons(22);
&.text { padding: 10px 0px 0px 25px; }
}
&.s48 {
width:48px; height: 48px;
.icons(48);
}
}

File diff suppressed because it is too large Load diff

View file

@ -1352,6 +1352,7 @@ h2 {
width: calc(100% - 90px);
border-bottom: 1px solid hsl(198, 21%, 79%);
}
.wall-item-container.comment .wall-item-content {
max-width: 585px;
}
@ -1376,6 +1377,17 @@ h2 {
.wall-item-comment-wrapper {
margin: 1px 15px 1px 80px;
}
.wall-item-comment-wrapper.photo {
margin: 1px 15px 1px 0px;
}
.wall-item-comment-wrapper.photo .wall-item-container.comment {
margin-left: 0px;
width: 665px;
width: 100%;
border-bottom: 1px solid hsl(198, 21%, 79%);
}
.wall-item-comment-wrapper .comment-edit-photo {
display: none;
}
@ -2318,7 +2330,13 @@ a.mail-list-link {
.vevent {
border: 1px solid #CCCCCC;
max-width: 600px;
position: relative;
margin-top: 4px;
margin-right: 4px;
margin-bottom: 15px;
}
.vevent .event-description, .vevent .event-location {
margin-left: 10px;
margin-right: 10px;

View file

@ -1,14 +0,0 @@
/**
* Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
**/
// Less file http://lesscss.org/
// compile with lessc
// $ lessc style.less > style.css
@import "colors";
@import "icons";
@import "quattro";

View file

@ -0,0 +1,78 @@
<div class="wall-item-container {{$indent}} {{$shiny}} ">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper">
<a href="{{$profile_url}}" target="redir" title="{{$linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$id}}">
<img src="{{$thumb}}" class="contact-photo{{$sparkle}}" id="wall-item-photo-{{$id}}" alt="{{$name}}" />
</a>
</div>
</div>
<div class="wall-item-actions-author">
<a href="{{$profile_url}}" target="redir" title="{{$linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$sparkle}}">{{$name}}</span></a>
<span class="wall-item-ago">
{{if $plink}}<a class="link" title="{{$plink.title}}" href="{{$plink.href}}" style="color: #999">{{$ago}}</a>{{else}} {{$ago}} {{/if}}
{{if $lock}}<span class="fakelink" style="color: #999" onclick="lockview(event,{{$id}});">{{$lock}}</span> {{/if}}
</span>
</div>
<div class="wall-item-content">
{{if $title}}<h2><a href="{{$plink.href}}">{{$title}}</a></h2>{{/if}}
{{$body}}
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{foreach $tags as $tag}}
<span class='tag'>{{$tag}}</span>
{{/foreach}}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
<!-- {{if $plink}}<a title="{{$plink.title}}" href="{{$plink.href}}"><i class="icon-link icon-large"></i></a>{{/if}} -->
{{if $conv}}<a href='{{$conv.href}}' id='context-{{$id}}' title='{{$conv.title}}'><i class="icon-link icon-large"></i></a>{{/if}}
</div>
<div class="wall-item-actions">
<div class="wall-item-location">{{$location}}&nbsp;</div>
<div class="wall-item-actions-social">
{{if $star}}
<a href="#" id="star-{{$id}}" onclick="dostar({{$id}}); return false;" class="{{$star.classdo}}" title="{{$star.do}}">{{$star.do}}</a>
<a href="#" id="unstar-{{$id}}" onclick="dostar({{$id}}); return false;" class="{{$star.classundo}}" title="{{$star.undo}}">{{$star.undo}}</a>
<a href="#" id="tagger-{{$id}}" onclick="itemTag({{$id}}); return false;" class="{{$star.classtagger}}" title="{{$star.tagger}}">{{$star.tagger}}</a>
{{/if}}
{{if $vote}}
<a href="#" id="like-{{$id}}" title="{{$vote.like.0}}" onclick="dolike({{$id}},'like'); return false">{{$vote.like.1}}</a>
<a href="#" id="dislike-{{$id}}" title="{{$vote.dislike.0}}" onclick="dolike({{$id}},'dislike'); return false">{{$vote.dislike.1}}</a>
{{/if}}
{{if $vote.share}}
<a href="#" id="share-{{$id}}" title="{{$vote.share.0}}" onclick="jotShare({{$id}}); return false">{{$vote.share.1}}</a>
{{/if}}
</div>
<div class="wall-item-actions-tools">
{{if $drop.pagedrop}}
<input type="checkbox" title="{{$drop.select}}" name="itemselected[]" class="item-select" value="{{$id}}" />
{{/if}}
{{if $drop.dropping}}
<a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$drop.delete}}">{{$drop.delete}}</a>
{{/if}}
{{if $edpost}}
<a class="icon edit s16" href="{{$edpost.0}}" title="{{$edpost.1}}"></a>
{{/if}}
</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-{{$id}}">{{$like}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$id}}">{{$dislike}}</div>
</div>
</div>

View file

@ -0,0 +1,44 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<div id="live-display"></div>
<h3><a href="{{$album.0}}">{{$album.1}}</a></h3>
<div id="photo-edit-link-wrap">
{{if $tools}}
<a id="photo-edit-link" href="{{$tools.edit.0}}">{{$tools.edit.1}}</a>
|
<a id="photo-toprofile-link" href="{{$tools.profile.0}}">{{$tools.profile.1}}</a>
{{/if}}
{{if $lock}} | <img src="images/lock_icon.gif" class="lockview" alt="{{$lock}}" onclick="lockview(event,'photo/{{$id}}');" /> {{/if}}
</div>
{{if $prevlink}}<div id="photo-prev-link"><a href="{{$prevlink.0}}">{{$prevlink.1}}</a></div>{{/if}}
<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}"><img src="{{$photo.src}}" /></a></div>
{{if $nextlink}}<div id="photo-next-link"><a href="{{$nextlink.0}}">{{$nextlink.1}}</a></div>{{/if}}
<div id="photo-photo-end"></div>
<div id="photo-caption">{{$desc}}</div>
{{if $tags}}
<div id="in-this-photo-text">{{$tags.0}}</div>
<div id="in-this-photo">{{$tags.1}}</div>
{{/if}}
{{if $tags.2}}<div id="tag-remove"><a href="{{$tags.2}}">{{$tags.3}}</a></div>{{/if}}
{{if $edit}}{{$edit}}{{/if}}
{{if $likebuttons}}
<div id="photo-like-div">
{{$likebuttons}}
{{$like}}
{{$dislike}}
</div>
{{/if}}
<div class="wall-item-comment-wrapper photo">
{{$comments}}
</div>
{{$paginate}}

143
wall_attach.php Normal file
View file

@ -0,0 +1,143 @@
<?php
require_once('include/attach.php');
require_once('include/datetime.php');
function wall_attach_post(&$a) {
if($a->argc > 1) {
$nick = $a->argv[1];
$r = q("SELECT `user`.*, `contact`.`id` FROM `user` LEFT JOIN `contact` on `user`.`uid` = `contact`.`uid` WHERE `user`.`nickname` = '%s' AND `user`.`blocked` = 0 and `contact`.`self` = 1 LIMIT 1",
dbesc($nick)
);
if(! count($r))
return;
}
else
return;
$can_post = false;
$visitor = 0;
$page_owner_uid = $r[0]['uid'];
$page_owner_cid = $r[0]['id'];
$page_owner_nick = $r[0]['nickname'];
$community_page = (($r[0]['page-flags'] == PAGE_COMMUNITY) ? true : false);
if((local_user()) && (local_user() == $page_owner_uid))
$can_post = true;
else {
if($community_page && remote_user()) {
$cid = 0;
if(is_array($_SESSION['remote'])) {
foreach($_SESSION['remote'] as $v) {
if($v['uid'] == $page_owner_uid) {
$cid = $v['cid'];
break;
}
}
}
if($cid) {
$r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
intval($cid),
intval($page_owner_uid)
);
if(count($r)) {
$can_post = true;
$visitor = $cid;
}
}
}
}
if(! $can_post) {
notice( t('Permission denied.') . EOL );
killme();
}
if(! x($_FILES,'userfile'))
killme();
$src = $_FILES['userfile']['tmp_name'];
$filename = basename($_FILES['userfile']['name']);
$filesize = intval($_FILES['userfile']['size']);
$maxfilesize = get_config('system','maxfilesize');
/* Found html code written in text field of form,
* when trying to upload a file with filesize
* greater than upload_max_filesize. Cause is unknown.
* Then Filesize gets <= 0.
*/
if($filesize <=0) {
notice(t('Sorry, maybe your upload is bigger than the PHP configuration allows') . EOL .(t('Or - did you try to upload an empty file?')) . EOL);
@unlink($src);
killme();
}
if(($maxfilesize) && ($filesize > $maxfilesize)) {
notice( sprintf(t('File exceeds size limit of %d'), $maxfilesize) . EOL);
@unlink($src);
return;
}
$r = q("select sum(octet_length(data)) as total from attach where uid = %d ",
intval($page_owner_uid)
);
$limit = service_class_fetch($page_owner_uid,'attach_upload_limit');
if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
echo upgrade_message(true) . EOL ;
@unlink($src);
killme();
}
$filedata = @file_get_contents($src);
$mimetype = z_mime_content_type($filename);
$hash = random_string();
$created = datetime_convert();
$r = q("INSERT INTO `attach` ( `uid`, `hash`, `filename`, `filetype`, `filesize`, `data`, `created`, `edited`, `allow_cid`, `allow_gid`,`deny_cid`, `deny_gid` )
VALUES ( %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($page_owner_uid),
dbesc($hash),
dbesc($filename),
dbesc($mimetype),
intval($filesize),
dbesc($filedata),
dbesc($created),
dbesc($created),
dbesc('<' . $page_owner_cid . '>'),
dbesc(''),
dbesc(''),
dbesc('')
);
@unlink($src);
if(! $r) {
echo ( t('File upload failed.') . EOL);
killme();
}
$r = q("SELECT `id` FROM `attach` WHERE `uid` = %d AND `created` = '%s' AND `hash` = '%s' LIMIT 1",
intval($page_owner_uid),
dbesc($created),
dbesc($hash)
);
if(! count($r)) {
echo ( t('File upload failed.') . EOL);
killme();
}
$lf = "\n";
echo $lf . $lf . '[attachment]' . $r[0]['id'] . '[/attachment]' . $lf;
killme();
// NOTREACHED
}