1
0
Fork 0

Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Michael Vogel 2012-12-03 08:30:49 +01:00
commit 5635fe250c
97 changed files with 31044 additions and 3633 deletions

View file

@ -9,11 +9,12 @@ require_once('include/pgettext.php');
require_once('include/nav.php');
require_once('include/cache.php');
require_once('library/Mobile_Detect/Mobile_Detect.php');
require_once('include/features.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '3.0.1527' );
define ( 'FRIENDICA_VERSION', '3.0.1545' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1156 );
define ( 'DB_UPDATE_VERSION', 1157 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -359,6 +360,7 @@ if(! class_exists('App')) {
public $category;
// Allow themes to control internal parameters
// by changing App values in theme.php
@ -437,8 +439,9 @@ if(! class_exists('App')) {
if(isset($path) && strlen($path) && ($path != $this->path))
$this->path = $path;
}
if (is_array($argv) && $argc>1 && !x($_SERVER,'SERVER_NAME') && substr(end($argv), 0, 4)=="http" ) {
if (is_array($argv) && $argc>1 && substr(end($argv), 0, 4)=="http" ) {
$this->set_baseurl(array_pop($argv) );
$argc --;
}
set_include_path(
@ -1231,7 +1234,7 @@ if(! function_exists('profile_sidebar')) {
// show edit profile to yourself
if ($profile['uid'] == local_user()) {
if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
$profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
$r = q("SELECT * FROM `profile` WHERE `uid` = %d",

View file

@ -777,6 +777,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
`type` CHAR(128) NOT NULL DEFAULT 'image/jpeg',
`height` smallint(6) NOT NULL,
`width` smallint(6) NOT NULL,
`datasize` int(10) unsigned NOT NULL DEFAULT '0',
`data` mediumblob NOT NULL,
`scale` tinyint(3) NOT NULL,
`profile` tinyint(1) NOT NULL DEFAULT '0',
@ -789,6 +790,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
KEY `resource-id` (`resource-id`),
KEY `album` (`album`),
KEY `scale` (`scale`),
KEY `datasize` (`datasize`),
KEY `profile` (`profile`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

36
doc/Forums.md Normal file
View file

@ -0,0 +1,36 @@
Forums
=====
* [Home](help)
Friendica also lets you create forums and/or celebrity accounts.
Every page in Friendica has a nickname and these must all be unique. This applies to all forums, whether they are normal profiles or forum profiles.
Therefore the first thing you need to do to create a new forum is to register a new account for the forum. Please note that the site administrator can restrict and/or regulate the registration of new accounts.
If you create a second account on a system and use the same email address or OpenID account as an existing account, you will no longer be able to use the email address (or OpenID) to login to the account. You should login using the account nickname instead.
On the new account, visit the 'Settings' page. Towards the end of the page are "Advanced Account/Page Type Settings". Typically you would use "Normal Account" for a normal personal account. This is the default selection. Community Forum/Celebrity Accounts provide the ability for people to become friends/fans of the forum without requiring approval.
The exact setting you would use depends on how you wish to interact with people who join the page. The "Soapbox" setting let's the page owner control all communications. Everything you post will go out to the forum members, but there will be no opportunity for interaction. This setting would typically be used for announcements or corporate communications.
The most common setting is the "Community Forum". This creates a forum page where all members can freely interact.
The "Automatic Friend Account" is typically used for personal profile forums where you wish to automatically approve any friendship/connection requests.
**Managing Multiple forums**
We recommend that you create group forums with the same email address and password as your normal account. If you do this, you will find a new "Manage" tab on the menu bar which lets you toggle identities easily and manage your forums. You are not required to do this, but the alternative is to logout and log back into the other account to manage alternate forums - and this could get cumbersome if you manage several different forums/identities.
You may also appoint a delegate to manage your forum. Do this by visiting the [Delegation Setup Page](delegate). This will provide you with a list of contacts on this system under "Potential Delegates". Selecting one or more persons will give them access to manage your forum. They will be able to edit contacts, profiles, and all content for this account/page. Please use this facility wisely. Delegated managers will not be able to alter basic account settings such as passwords or page types and/or remove the account.
**Posting to Community forums**
If you are a member of a community forum, you may post to the forum by including an @-tag in the post mentioning the forum. For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients. If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
You may also post to a community forum by posting a "wall-to-wall" post using secure cross-site authentication.
Comments which are relayed to community forums will be relayed back to the original post creator. Mentioning the forum with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator.

View file

@ -13,7 +13,7 @@ Friendica Documentation and Resources
* [Making Friends](help/Making-Friends)
* [Groups and Privacy](help/Groups-and-Privacy)
* [Tags and Mentions](help/Tags-and-Mentions)
* [Pages](help/Pages)
* [Community Forums](help/Forums)
* [Move Account](help/Move-Account)
* [Remove Account](help/Remove-Account)
* [Bugs and Issues](help/Bugs-and-Issues)

View file

@ -17,6 +17,8 @@ It also contains your secret keys to authenticate yourself to your contacts:
Go to your new server, and open *http://newserver.com/uimport* (there is not a
direct link to this page at the moment).
Do NOT create a new account prior to importing your old settings - uimport should be used *instead* of register.
Load your saved account file and click "Import".
Friendica will recreate your account on the new server, with your contacts and groups.

View file

@ -1,36 +0,0 @@
Pages
=====
* [Home](help)
Friendica also lets you create forum and/or celebrity pages.
Every page in Friendica has a nickname and these must all be unique. This applies to all pages, whether they are normal profiles or forum pages.
Therefore the first thing you need to do to create a new page is to register a new account for the page. Please note that the site administrator can restrict and/or regulate the registration of new accounts.
If you create a second account on a system and use the same email address or OpenID account as an existing account, you will no longer be able to use the email address (or OpenID) to login to the account. You should login using the account nickname instead.
On the new account, visit the 'Settings' page. Towards the end of the page are "Advanced Page Settings". Typically you would use "Normal Account" for a normal personal account. This is the default selection. Group pages provide the ability for people to become friends/fans of the page without requiring approval.
The exact setting you would use depends on how you wish to interact with people who join the page. The "Soapbox" setting let's the page owner control all communications. Everything you post will go out to the page members, but there will be no opportunity for interaction. This setting would typically be used for announcements or corporate communications.
The most common setting is the "Community Account". This creates a group page where all members can freely interact.
The "Automatic Friend Account" is typically used for personal profile pages where you wish to automatically approve any friendship/connection requests.
**Managing Multiple Pages**
We recommend that you create group pages with the same email address and password as your normal account. If you do this, you will find a new "Manage" tab on the menu bar which lets you toggle identities easily and manage your pages. You are not required to do this, but the alternative is to logout and log back into the other account to manage alternate pages - and this could get cumbersome if you manage several different pages/identities.
You may also appoint a delegate to manage your page. Do this by visiting the [Delegation Setup Page](delegate). This will provide you with a list of contacts on this system under "Potential Delegates". Selecting one or more persons will give them access to manage your page. They will be able to edit contacts, profiles, and all content for this account/page. Please use this facility wisely. Delegated managers will not be able to alter basic account settings such as passwords or page types and/or remove the account.
**Posting to Community Pages**
If you are a member of a community page/forum, you may post to the page by including an @-tag in the post mentioning the forum. For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients. If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
You may also post to a community page/forum by posting a "wall-to-wall" post using secure cross-site authentication.
Comments which are relayed to community pages will be relayed back to the original post creator. Mentioning the forum/group with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator.

View file

@ -9,16 +9,6 @@ http://sitename/removeme
with your web browser. You will need to be logged in at the time.
You will be asked for your password to confirm the request. If this matches your stored password, your account will immediately be removed. Unlike some social networks we do **not** hold onto it for a grace period in case you change your mind. Your user details, your conversations, your photos, your friends - everything; will be removed immediately and you will be logged out.
You will be asked for your password to confirm the request. If this matches your stored password, your account will immediately be blocked to all probing. Unlike some social networks we do **not** hold onto it for a grace period in case you change your mind. All your content and user data, etc is instantly removed. For all intents and purposes, the account is gone in moments.
When we expire posts we send notifications out to Friendica to remove the posts. Diaspora doesn't have a bulk delete so this step is skipped on that network - and hopefully it will be obvious that deletion doesn't work on any other networks. If you manually delete a post or a range of posts we send individual delete notifications to Friendica and Diaspora for each deleted post.
Diaspora often loses these.
If you delete a post but somebody else has starred it, it is still removed. Your wishes take priority.
When you remove your account we physically remove all your posts and your profile and user data, etc. immediately.
In order to send out a bulk remove we would need to keep your account around to do this, as we would need to prove to your friends who it is that is submitting the request. We can't do this if you don't have an account.
Your friends may still see your posts if your account is gone, but there is no public place within Friendica where they can be viewed. If you had friends on Diaspora, your public posts may stick around and be visible to others from that network.
We then send out an "unfriend" signal to all of your contacts. This signal deletes all content on those networks. Unfortunately, due to limitations of the other networks, this only works well with Friendica contacts. We allow four days for this, in case some servers were down and the unfriend signal was queued. After this, we finish off deleting the account.

View file

@ -7,7 +7,7 @@ Here you can find an overview of the different ways to create and edit your post
<img src="doc/img/friendica_editor.png" width="538" height="218" alt="editor">
<i>The different iconss</i>
<i>The different icons</i>
<img src="doc/img/camera.png" width="44" height="33" alt="editor" align="left" style="padding-bottom: 20px;"> This symbol is used to upload a picture from your computer. If you only want to add an adress (url), you can also use the "tree" icon at the upper part of the editor. After selecting an image, you'll see a thumbnail in the editor.
<p style="clear:both;"></p>

37
doc/de/Forums.md Normal file
View file

@ -0,0 +1,37 @@
Foren
=====
* [Zur Startseite der Hilfe](help)
Friendica lässt dich auch Foren und/oder Prominenten-Seiten erstellen.
Jede Seite in Friendica hat einen einzigartigen Spitznamen. Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseite handelt.
Das Erste, was du machen musst, um ein neues Forum zu kreieren ist, einen neuen Account zu erstellen. Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann.
Wenn du einen zweiten Account in einem System erstellst und die gleiche Email-Adresse oder den gleichen OpenID-Account nutzt, kannst du dich zukünftig nur noch mit deinem Spitznamen anmelden.
Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen". Normalerweise nutzt du "Normales Konto" für einen normalen, persönlichen Account. Das ist die Standardeinstellung. Gruppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen.
Die Auswahl der Einstellung, die du wählst, hängt davon ab, wie du mit anderen Leuten auf deiner Seite interagieren willst. Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren. Alles was du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren. Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt.
Die normalste Einstellung ist das "Forum-/Promi-Konto". Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können.
Der "Automatische Freunde Seite"-Account ist typischerweise für persönliche Profile, bei denen du alle Freundschaftsanfragen automatisch bestätigen willst.
**Multiple Foren verwalten**
Wir schlagen vor, dass du ein Gruppenforum mit der gleichen Email-Adresse und dem gleichen Passwort wie bei deinem normalen Account nutzt. Wenn du das machst, findest du einen neuen "Verwalten"-Link im Hauptmenü, das dir hilft, einfach zwischen den Identitäten zu wechseln. Du musst das nicht machen, die Alternative ist allerdings, dich immer wieder aus- und wieder einzuloggen. Und das kann umständlich sein, wenn du mehrere verschiedene Foren/Identitäten verwaltest.
Du kannst ebenso jemanden wählen, der dein Forum verwaltet. Mach das, indem du die [Delegierungs-Setup-Seite](delegate) besuchst. Dort wird dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt. Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, dein Forum zu verwalten. Sie können Kontakte, Profile und alle Inhalte deines Accounts/deiner Seite bearbeiten. Bitte nutze diese Einstellung mit Vorsicht. Delegierte haben jedoch keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen.
**Beiträge auf Community-Foren**
Wenn du Mitglied eines Community-Forums bist, kannst du das Forum in einem Beitrag hinzufügen/erwähnen, wenn du den @-Tag nutzt. Zum Beispiel würde @Fahrrad deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind. Wenn dein Beitrag privat ist, musst du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit dem @-Tag erwähnen (was den Beitrag auf die Gruppenmitglieder erweitert).
Du kannst außerdem via "Wall zu Wall" einen Beitrag auf der Community-Seite bzw. in dem Community-Forum erstellen.
Kommentare, die du an ein Community-Forum schickst, werden an den Originalbeitrag weitergeleitet. Das Forum mit dem @-Tag zu erwähnen, leitet den Beitrag nicht weiter, da die Verteilung des Beitrages komplett vom Original-Beitragsschreiber kontrolliert wird.

View file

@ -12,7 +12,8 @@ Friendica - Dokumentation und Ressourcen
* [Freunde finden](help/Making-Friends)
* [Gruppen und Privatsphäre](help/Groups-and-Privacy)
* [Tags und Erwähnungen](help/Tags-and-Mentions)
* [Seiten](help/Pages)
* [Community-Foren](help/Forums)
* [Account umziehen](help/Move-Account)
* [Account löschen](help/Remove-Account)
* [Bugs und Probleme](help/Bugs-and-Issues)

41
doc/de/Move-Account.md Normal file
View file

@ -0,0 +1,41 @@
Accounts Umziehen
=================
* [Zur Startseite der Hilfe](help)
! **Dies ist ein experimentelles Feature**
**Wie man einen Account von einem Server zu einem anderen umzieht.**
Unter "Einstellungen" -> "[Persönliche Daten exportieren](uexport)" aufrufen.
"Account exportieren" anklicken und die Daten speichern.
Diese Datei enthält Details über dich, deine Kontakte, Gruppen und persönliche
Einstellungen. Außerdem enthält sie deinen geheimen Schlüssel mit dem du dich
deinen Kontakten gegenüber ausweist.
**Speichere diese Datei an einem sicheren Ort**!
Rufe nun dem neuen Server die Seite *http://newserver.com/uimport* auf
(es gibt derzeit keinen direkten Link auf diese Seite).
Lege auf dem neuen Server auf keinen Fall einen gleichnamigen Account an!
uimport muss anstelle des Registrierens verwendet werden.
Wähle die gesicherte Account Datei aus und klicke "Importieren".
Friendica wird nun deinen Account auf dem neuen Server wiederherstellen, mit
all deinen Friendica Kontakten und Gruppen. An deine Friendica Kontakte wird
außerdem eine Nachricht gesendet um sie über deine neue Adresse zu informieren.
Wenn deine Kontakte ihren Account auf einem aktuellen Server haben werden deine
Kontaktdetails automatisch aktualisiert.
Kontakte auf StatusNet/idendi.ca oder Diaspora werden archiviert, da wir ihnen
keine Information über deinen Umzug zukommen lassen können.
Du solltest sie persönlich anschreiben deinen Eintrag aus ihren Kontaktlisten
zu entfernen und dich neu hinzuzufügen, anschließend solltest du da gleiche mit
ihren Accounts tun..
Nach dem Umzug wird dein Account auf dem alten Server nicht mehr zuverlässig
funktionieren und sollte deshalb gelöscht werden.

View file

@ -1,35 +0,0 @@
Seiten
=====
* [Zur Startseite der Hilfe](help)
Friendica lässt dich auch Foren und/oder Prominenten-Seiten erstellen.
Jede Seite in Friendica hat einen einzigartigen Spitznamen. Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseite handelt.
Das Erste, was du machen musst, um eine neue Seite zu kreieren ist, einen neuen Account zu erstellen. Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann.
Wenn du einen zweiten Account in einem System erstellst und die gleiche Email-Adresse oder den gleichen OpenID-Account nutzt, kannst du dich zukünftig nur noch mit deinem Spitznamen anmelden.
Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen". Normalerweise nutzt du "Normales Konto" für einen normalen, persönlichen Account. Das ist die Standardeinstellung. Gruppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen.
Die Auswahl der Einstellung, die du wählst, hängt davon ab, wie du mit anderen Leuten auf deiner Seite interagieren willst. Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren. Alles was du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren. Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt.
Die normalste Einstellung ist das "Forum-/Promi-Konto". Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können. Der "Automatische Freunde Seite"-Account ist typischerweise für persönliche Profile, bei denen du alle Freundschaftsanfragen automatisch bestätigen willst.
**Multiple Seiten verwalten**
Wir schlagen vor, dass du eine Gruppenseite mit der gleichen Email-Adresse und dem gleichen Passwort wie bei deinem normalen Account nutzt. Wenn du das machst, findest du einen neuen "Verwalten"-Link im Hauptmenü, das dir hilft, einfach zwischen den Identitäten zu wechseln. Du musst das nicht machen, die Alternative ist allerdings, dich immer wieder aus- und wieder einzuloggen. Und das kann umständlich sein, wenn du mehrere verschiedene Seiten/Identitäten verwaltest.
Du kannst ebenso jemanden wählen, der deine Seite verwaltet. Mach das, indem du die [Delegierungs-Setup-Seite](delegate) besuchst. Dort wird dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt. Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, deine Seite zu verwalten. Sie können Kontakte, Profile und alle Inhalte deines Accounts/deiner Seite bearbeiten. Bitte nutze diese Einstellung mit Vorsicht. Delegierte haben jedoch keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen.
**Beiträge auf Community-Seiten**
Wenn du Mitglied einer Community-Seite/-Forums bist, kannst du die Seite in einem Beitrag hinzufügen/erwähnen, wenn du den @-Tag nutzt. Zum Beispiel würde @Fahrrad deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind. Wenn dein Beitrag privat ist, musst du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit dem @-Tag erwähnen (was den Beitrag auf die Gruppenmitglieder erweitert).
Du kannst außerdem via "Wall zu Wall" einen Beitrag auf der Community-Seite bzw. in dem Community-Forum erstellen.
Kommentare, die du an eine Community-Seite schickst, werden an den Originalbeitrag weitergeleitet. Das Forum bzw. die Gruppe mit dem @-Tag zu erwähnen, leitet den Beitrag nicht weiter, da die Verteilung des Beitrages komplett vom Original-Beitragsschreiber kontrolliert wird.

View file

@ -584,6 +584,7 @@ class Photo {
`album` = '%s',
`height` = %d,
`width` = %d,
`datasize` = %d,
`data` = '%s',
`scale` = %d,
`profile` = %d,
@ -604,6 +605,7 @@ class Photo {
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
dbesc(strlen($this->imageString())),
dbesc($this->imageString()),
intval($scale),
intval($profile),
@ -616,8 +618,8 @@ class Photo {
}
else {
$r = q("INSERT INTO `photo`
( `uid`, `contact-id`, `guid`, `resource-id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )",
( `uid`, `contact-id`, `guid`, `resource-id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `datasize`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )",
intval($uid),
intval($cid),
dbesc($guid),
@ -629,6 +631,7 @@ class Photo {
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
dbesc(strlen($this->imageString())),
dbesc($this->imageString()),
intval($scale),
intval($profile),

View file

@ -83,6 +83,8 @@ function network_to_name($s) {
NETWORK_LINKEDIN => t('LinkedIn'),
NETWORK_XMPP => t('XMPP/IM'),
NETWORK_MYSPACE => t('MySpace'),
NETWORK_MAIL2 => t('Email'),
NETWORK_GPLUS => t('Google+')
);
call_hooks('network_to_name', $nets);

View file

@ -47,6 +47,8 @@ function networks_widget($baseurl,$selected = '') {
if(! local_user())
return '';
if(! feature_enabled(local_user(),'networks'))
return '';
$r = q("select distinct(network) from contact where uid = %d and self = 0",
intval(local_user())
@ -80,6 +82,9 @@ function fileas_widget($baseurl,$selected = '') {
if(! local_user())
return '';
if(! feature_enabled(local_user(),'filing'))
return '';
$saved = get_pconfig(local_user(),'system','filetags');
if(! strlen($saved))
return;
@ -106,8 +111,12 @@ function fileas_widget($baseurl,$selected = '') {
}
function categories_widget($baseurl,$selected = '') {
$a = get_app();
if(! feature_enabled($a->profile['profile_uid'],'categories'))
return '';
$saved = get_pconfig($a->profile['profile_uid'],'system','filetags');
if(! strlen($saved))
return;

View file

@ -686,7 +686,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads,
'$dropping' => ($page_dropping?t('Delete Selected Items'):False),
'$dropping' => ($page_dropping && feature_enabled(local_user(),'multi_delete') ? t('Delete Selected Items') : False),
));
return $o;
@ -887,9 +887,12 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
$geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : '');
$plaintext = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
/* $plaintext = false;
if( local_user() && (intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext')) )
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
@ -958,7 +961,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
if($notes_cid)
$jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
// $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
$o .= replace_macros($tpl,array(
'$return_path' => $a->query_string,
@ -981,7 +984,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$title' => "",
'$placeholdertitle' => t('Set title'),
'$category' => "",
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
@ -1000,7 +1003,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$acl' => $x['acl'],
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => t('Preview'),
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$cancel' => t('Cancel'),
'$rand_num' => random_digits(12)

View file

@ -38,6 +38,7 @@ function directory_run(&$argv, &$argc){
call_hooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
if(strlen($arr['url']))
fetch_url($dir . '?url=' . bin2hex($arr['url']));

67
include/features.php Normal file
View file

@ -0,0 +1,67 @@
<?php
/*
* Features management
*/
function feature_enabled($uid,$feature) {
//return true;
$x = get_pconfig($uid,'feature',$feature);
$arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
call_hooks('feature_enabled',$arr);
return($arr['enabled']);
}
function get_features() {
$arr = array(
// General
'general' => array(
t('General Features'),
//array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')),
),
// Post composition
'composition' => array(
t('Post Composition Features'),
array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
),
// Network sidebar widgets
'widgets' => array(
t('Network Sidebar Widgets'),
array('archives', t('Search by Date'), t('Ability to select posts by date ranges')),
array('groups', t('Group Filter'), t('Enable widget to display Network posts only from selected group')),
array('networks', t('Network Filter'), t('Enable widget to display Network posts only from selected network')),
array('savedsearch', t('Saved Searches'), t('Save search terms for re-use')),
),
// Network tabs
'net_tabs' => array(
t('Network Tabs'),
array('personal_tab', t('Network Personal Tab'), t('Enable tab to display only Network posts that you\'ve interacted on')),
array('new_tab', t('Network New Tab'), t('Enable tab to display only new Network posts (from the last 12 hours)')),
array('link_tab', t('Network Shared Links Tab'), t('Enable tab to display only Network posts with links in them')),
),
// Item tools
'tools' => array(
t('Post/Comment Tools'),
array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')),
array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')),
array('commtag', t('Tagging'), t('Ability to tag existing posts')),
array('categories', t('Post Categories'), t('Add categories to your posts')),
array('filing', t('Saved Folders'), t('Ability to file posts under folders')),
array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments')),
array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator')),
),
);
call_hooks('get_features',$arr);
return $arr;
}

View file

@ -885,7 +885,7 @@ function item_store($arr,$force_parent = false) {
if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
require_once('Text/LanguageDetect.php');
require_once('library/langdet/Text/LanguageDetect.php');
$naked_body = preg_replace('/\[(.+?)\]/','',$arr['body']);
$l = new Text_LanguageDetect;
$lng = $l->detectConfidence($naked_body);
@ -4031,10 +4031,13 @@ function posted_dates($uid,$wall) {
function posted_date_widget($url,$uid,$wall) {
$o = '';
if(! feature_enabled($uid,'archives'))
return $o;
// For former Facebook folks that left because of "timeline"
if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
return $o;
/* if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
return $o;*/
$ret = posted_dates($uid,$wall);
if(! count($ret))

View file

@ -111,6 +111,7 @@ function nav(&$a) {
if(local_user()) {
$nav['network'] = array('network', t('Network'), "", t('Conversations from your friends'));
$nav['net_reset'] = array('network/0?f=&order=comment&nets=all', t('Network Reset'), "", t('Load Network page with no filters'));
$nav['home'] = array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
@ -135,7 +136,9 @@ function nav(&$a) {
}
$nav['settings'] = array('settings', t('Settings'),"", t('Account settings'));
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/edit profiles'));
if(feature_enabled(local_user(),'multi_profiles'))
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
$nav['contacts'] = array('contacts', t('Contacts'),"", t('Manage/edit friends and contacts'));
}

View file

@ -606,6 +606,10 @@ function notifier_run(&$argv, &$argc){
}
continue;
}
// be sure to pick up any stragglers
if(count($this_batch))
proc_run('php','include/delivery.php',$cmd,$item_id,$this_batch);
$deliver_status = 0;

View file

@ -2,6 +2,11 @@
function auto_redir(&$a, $contact_nick) {
// prevent looping
if(x($_REQUEST,'redir') && intval($_REQUEST['redir']))
return;
if((! $contact_nick) || ($contact_nick === $a->user['nickname']))
return;
@ -20,12 +25,15 @@ function auto_redir(&$a, $contact_nick) {
if($domain_st === false)
return;
$baseurl = substr($baseurl, $domain_st + 3);
$nurl = normalise_link($baseurl);
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 )
AND nick = '%s' AND self = 0 AND url LIKE '%%%s%%' AND blocked = 0 AND pending = 0 LIMIT 1",
AND nick = '%s' AND self = 0 AND ( url LIKE '%%%s%%' or nurl LIKE '%%%s%%' ) AND blocked = 0 AND pending = 0 LIMIT 1",
dbesc($contact_nick),
dbesc($a->user['nickname']),
dbesc($baseurl)
dbesc($baseurl),
dbesc($nurl)
);
if((!$r) || (! count($r)) || $r[0]['id'] == remote_user())
@ -56,6 +64,12 @@ function auto_redir(&$a, $contact_nick) {
$dfrn_id = '0:' . $orig_id;
}
// ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode
// that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues
if(strlen($dfrn_id) < 3)
return;
$sec = random_string();
q("INSERT INTO `profile_check` ( `uid`, `cid`, `dfrn_id`, `sec`, `expire`)

View file

@ -21,9 +21,9 @@
* @link http://langdetect.blogspot.com/
*/
require_once 'Text/LanguageDetect/Exception.php';
require_once 'Text/LanguageDetect/Parser.php';
require_once 'Text/LanguageDetect/ISO639.php';
require_once 'library/langdet/Text/LanguageDetect/Exception.php';
require_once 'library/langdet/Text/LanguageDetect/Parser.php';
require_once 'library/langdet/Text/LanguageDetect/ISO639.php';
/**
* Language detection class

View file

@ -244,6 +244,7 @@ function admin_page_site_post(&$a){
$register_policy = ((x($_POST,'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
$daily_registrations = ((x($_POST,'max_daily_registrations')) ? intval(trim($_POST['max_daily_registrations'])) :0);
$abandon_days = ((x($_POST,'abandon_days')) ? intval(trim($_POST['abandon_days'])) : 0);
$register_text = ((x($_POST,'register_text')) ? notags(trim($_POST['register_text'])) : '');
@ -339,6 +340,7 @@ function admin_page_site_post(&$a){
set_config('system','jpeg_quality', $jpegimagequality);
set_config('config','register_policy', $register_policy);
set_config('system','max_daily_registrations', $daily_registrations);
set_config('system','account_abandon_days', $abandon_days);
set_config('config','register_text', $register_text);
set_config('system','allowed_sites', $allowed_sites);
@ -459,6 +461,7 @@ function admin_page_site(&$a) {
'$jpegimagequality' => array('jpegimagequality', t("JPEG image quality"), get_config('system','jpeg_quality'), t("Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality.")),
'$register_policy' => array('register_policy', t("Register policy"), $a->config['register_policy'], "", $register_choices),
'$daily_registrations' => array('max_daily_registrations', t("Maximum Daily Registrations"), get_config('system', 'max_daily_registrations'), t("If registration is permitted above, this sets the maximum number of new user registrations to accept per day. If register is set to closed, this setting has no effect.")),
'$register_text' => array('register_text', t("Register text"), htmlentities($a->config['register_text'], ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
'$abandon_days' => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
'$allowed_sites' => array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")),

View file

@ -44,7 +44,7 @@ function community_content(&$a, $update = 0) {
// Only public posts can be shown
// OR your own posts if you are a logged in member
if(! get_pconfig(local_user(),'system','alt_pager')) {
if( (! get_config('alt_pager', 'global')) && (! get_pconfig(local_user(),'system','alt_pager')) ) {
$r = q("SELECT COUNT(distinct(`item`.`uri`)) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
@ -91,11 +91,11 @@ function community_content(&$a, $update = 0) {
$o .= conversation($a,$r,'community',$update);
if(! get_pconfig(local_user(),'system','alt_pager')) {
$o .= paginate($a);
if( get_config('alt_pager', 'global') || get_pconfig(local_user(),'system','alt_pager') ) {
$o .= alt_pager($a,count($r));
}
else {
$o .= alt_pager($a,count($r));
$o .= paginate($a);
}
return $o;

View file

@ -2,6 +2,7 @@
require_once('include/Contact.php');
require_once('include/socgraph.php');
require_once('include/contact_selectors.php');
function contacts_init(&$a) {
if(! local_user())

View file

@ -493,7 +493,7 @@ function dfrn_poll_content(&$a) {
switch($destination_url) {
case 'profile':
$dest = $a->get_baseurl() . '/profile/' . $profile . '?tab=profile';
$dest = $a->get_baseurl() . '/profile/' . $profile . '?f=&tab=profile';
break;
case 'photos':
$dest = $a->get_baseurl() . '/photos/' . $profile;
@ -503,7 +503,7 @@ function dfrn_poll_content(&$a) {
$dest = $a->get_baseurl() . '/profile/' . $profile;
break;
default:
$dest = $destination_url;
$dest = $destination_url . '?f=&redir=1';
break;
}

View file

@ -28,9 +28,12 @@ function editpost_content(&$a) {
return;
}
$plaintext = false;
if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
/* $plaintext = false;
if( local_user() && intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$o .= '<h2>' . t('Edit post') . '</h2>';
@ -130,7 +133,7 @@ function editpost_content(&$a) {
'$title' => $itm[0]['title'],
'$placeholdertitle' => t('Set title'),
'$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
'$placeholdercategory' => t('Categories (comma-separated list)'),
'$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
'$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),

View file

@ -18,7 +18,7 @@
require_once('include/crypto.php');
require_once('include/enotify.php');
require_once('include/email.php');
require_once('Text/LanguageDetect.php');
require_once('library/langdet/Text/LanguageDetect.php');
function item_post(&$a) {
@ -309,7 +309,11 @@ function item_post(&$a) {
// First figure out if it's a status post that would've been
// created using tinymce. Otherwise leave it alone.
$plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) : 0);
/* $plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled($profile_uid,'richtext') : 0);
if((! $parent) && (! $api_source) && (! $plaintext)) {
$body = fix_mce_lf($body);
}*/
$plaintext = (local_user() ? !feature_enabled($profile_uid,'richtext') : 0);
if((! $parent) && (! $api_source) && (! $plaintext)) {
$body = fix_mce_lf($body);
}

View file

@ -46,7 +46,11 @@ function message_post(&$a) {
// Work around doubled linefeeds in Tinymce 3.5b2
$plaintext = intval(get_pconfig(local_user(),'system','plaintext'));
/* $plaintext = intval(get_pconfig(local_user(),'system','plaintext') && !feature_enabled(local_user(),'richtext'));
if(! $plaintext) {
$body = fix_mce_lf($body);
}*/
$plaintext = intval(!feature_enabled(local_user(),'richtext'));
if(! $plaintext) {
$body = fix_mce_lf($body);
}
@ -229,9 +233,12 @@ function message_content(&$a) {
$o .= $header;
$plaintext = false;
/* $plaintext = false;
if(intval(get_pconfig(local_user(),'system','plaintext')))
$plaintext = true;*/
$plaintext = true;
if( local_user() && feature_enabled(local_user(),'richtext') )
$plaintext = false;
$tpl = get_markup_template('msg-header.tpl');

View file

@ -181,7 +181,7 @@ function network_init(&$a) {
$a->page['content'] .= '<h2>' . t('Search Results For:') . ' ' . $search . '</h2>';
}
$a->page['aside'] .= group_side('network/0','network',true,$group_id);
$a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network',true,$group_id) : '');
$a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false);
$a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
$a->page['aside'] .= saved_searches($search);
@ -191,6 +191,9 @@ function network_init(&$a) {
function saved_searches($search) {
if(! feature_enabled(local_user(),'savedsearch'))
return '';
$a = get_app();
$srchurl = '/network?f='
@ -403,30 +406,30 @@ function network_content(&$a, $update = 0) {
'title' => t('Sort by Post Date'),
),
array(
/* array(
'label' => t('Personal'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
'sel' => $conv_active,
'title' => t('Posts that mention or involve you'),
),
array(
),*/
/* array(
'label' => t('New'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active,
'title' => t('Activity Stream - by date'),
),
array(
),*/
/* array(
'label' => t('Starred'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
'sel'=>$starred_active,
'title' => t('Favourite Posts'),
),
array(
),*/
/* array(
'label' => t('Shared Links'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
'sel'=>$bookmarked_active,
'title'=> t('Interesting Links'),
),
), */
// array(
// 'label' => t('Spam'),
// 'url'=>$a->get_baseurl(true) . '/network?f=&spam=1'
@ -436,6 +439,53 @@ function network_content(&$a, $update = 0) {
);
if(feature_enabled(local_user(),'personal_tab')) {
$tabs[] = array(
'label' => t('Personal'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
'sel' => $conv_active,
'title' => t('Posts that mention or involve you'),
);
}
if(feature_enabled(local_user(),'new_tab')) {
$tabs[] = array(
'label' => t('New'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active,
'title' => t('Activity Stream - by date'),
);
}
if(feature_enabled(local_user(),'link_tab')) {
$tabs[] = array(
'label' => t('Shared Links'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
'sel'=>$bookmarked_active,
'title'=> t('Interesting Links'),
);
}
if(feature_enabled(local_user(),'star_posts')) {
$tabs[] = array(
'label' => t('Starred'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
'sel'=>$starred_active,
'title' => t('Favourite Posts'),
);
}
// Not yet implemented
/* if(feature_enabled(local_user(),'spam_filter')) {
$tabs[] = array(
'label' => t('Spam'),
'url'=>$a->get_baseurl(true) . '/network?f=&spam=1',
'sel'=> $spam_active,
'title' => t('Posts flagged as SPAM'),
);
}*/
// save selected tab, but only if not in search or file mode
if(!x($_GET,'search') && !x($_GET,'file')) {
set_pconfig( local_user(), 'network.view','tab.selected',array($all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) );
@ -646,7 +696,7 @@ function network_content(&$a, $update = 0) {
}
else {
if(! get_pconfig(local_user(),'system','alt_pager')) {
if( (! get_config('alt_pager', 'global')) && (! get_pconfig(local_user(),'system','alt_pager')) ) {
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
@ -795,11 +845,11 @@ function network_content(&$a, $update = 0) {
$o .= conversation($a,$items,$mode,$update);
if(! $update) {
if(! get_pconfig(local_user(),'system','alt_pager')) {
$o .= paginate($a);
if( get_config('alt_pager', 'global') || get_pconfig(local_user(),'system','alt_pager') ) {
$o .= alt_pager($a,count($items));
}
else {
$o .= alt_pager($a,count($items));
$o .= paginate($a);
}
}

View file

@ -1027,19 +1027,15 @@ function photos_content(&$a) {
$default_upload = '<input id="photos-upload-choose" type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" >
<input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>';
$r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
intval($a->data['user']['uid'])
);
$usage_message = '';
$limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit');
if($limit !== false) {
$r = q("select sum(datasize) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
intval($a->data['user']['uid'])
);
$usage_message = sprintf( t("You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."), $r[0]['total'] / 1024000, $limit / 1024000 );
}
else {
$usage_message = sprintf( t('You have used %1$.2f Mbytes of photo storage.'), $r[0]['total'] / 1024000 );
}
$tpl = get_markup_template('photos_upload.tpl');

View file

@ -242,7 +242,7 @@ function profile_content(&$a, $update = 0) {
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
}
if(! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) {
if( (! get_config('alt_pager', 'global')) && (! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) ) {
$r = q("SELECT COUNT(*) AS `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
@ -323,11 +323,11 @@ function profile_content(&$a, $update = 0) {
$o .= conversation($a,$items,'profile',$update);
if(! $update) {
if(! get_pconfig($a->profile['profile_uid'],'system','alt_pager')) {
$o .= paginate($a);
if( get_config('alt_pager', 'global') || get_pconfig($a->profile['profile_uid'],'system','alt_pager') ) {
$o .= alt_pager($a,count($items));
}
else {
$o .= alt_pager($a,count($items));
$o .= paginate($a);
}
}

View file

@ -42,6 +42,13 @@ function profiles_post(&$a) {
$day = intval($_POST['day']);
if(($day > $mtab[$month]) || ($day < 0))
$day = 0;
// It's OK to have an empty (0) year, but if you supplied a year you have to have a non-zero month and day
if($year && ! $month)
$month = 1;
if($year && ! $day)
$day = 1;
$dob = '0000-00-00';
$dob = sprintf('%04d-%02d-%02d',$year,$month,$day);
@ -554,9 +561,12 @@ function profiles_content(&$a) {
require_once('include/profile_selectors.php');
$editselect = 'textareas';
if(intval(get_pconfig(local_user(),'system','plaintext')))
/* $editselect = 'textareas';
if( intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
$editselect = 'none';*/
$editselect = 'none';
if( feature_enabled(local_user(),'richtext') )
$editselect = 'textareas';
$a->page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
'$baseurl' => $a->get_baseurl(true),

View file

@ -4,6 +4,9 @@ function search_saved_searches() {
$o = '';
if(! feature_enabled(local_user(),'savedsearch'))
return $o;
$r = q("select `id`,`term` from `search` WHERE `uid` = %d",
intval(local_user())
);
@ -141,7 +144,7 @@ function search_content(&$a) {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
if(! get_pconfig(local_user(),'system','alt_pager')) {
if( (! get_config('alt_pager', 'global')) && (! get_pconfig(local_user(),'system','alt_pager')) ) {
$r = q("SELECT distinct(`item`.`uri`) as `total`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
@ -194,11 +197,11 @@ function search_content(&$a) {
$o .= conversation($a,$r,'search',false);
if(! get_pconfig(local_user(),'system','alt_pager')) {
$o .= paginate($a);
if( get_config('alt_pager', 'global') || get_pconfig(local_user(),'system','alt_pager') ) {
$o .= alt_pager($a,count($r));
}
else {
$o .= alt_pager($a,count($r));
$o .= paginate($a);
}
return $o;

View file

@ -31,6 +31,11 @@ function settings_init(&$a) {
'url' => $a->get_baseurl(true).'/settings',
'selected' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Additional features'),
'url' => $a->get_baseurl(true).'/settings/features',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
@ -231,7 +236,18 @@ function settings_post(&$a) {
return;
}
if(($a->argc > 1) && ($a->argv[1] == 'display')) {
if(($a->argc > 1) && ($a->argv[1] === 'features')) {
check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
foreach($_POST as $k => $v) {
if(strpos($k,'feature_') === 0) {
set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
}
}
info( t('Features updated') . EOL);
return;
}
if(($a->argc > 1) && ($a->argv[1] === 'display')) {
check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
@ -612,6 +628,7 @@ function settings_content(&$a) {
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'addon')) {
$settings_addons = "";
@ -631,6 +648,30 @@ function settings_content(&$a) {
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'features')) {
$arr = array();
$features = get_features();
foreach($features as $fname => $fdata) {
$arr[$fname] = array();
$arr[$fname][0] = $fdata[0];
foreach(array_slice($fdata,1) as $f) {
$arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(get_pconfig(local_user(),'feature',$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
}
}
$tpl = get_markup_template("settings_features.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_features"),
'$title' => t('Additional Features'),
'$features' => $arr,
'$submit' => t('Submit'),
'$field_yesno' => 'field_yesno.tpl',
));
return $o;
}
if(($a->argc > 1) && ($a->argv[1] === 'connectors')) {
$settings_connectors = "";

View file

@ -113,7 +113,7 @@ class Item extends BaseObject {
$drop = array(
'dropping' => $dropping,
'pagedrop' => $item['pagedrop'],
'pagedrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $item['pagedrop'] : ''),
'select' => t('Select'),
'delete' => t('Delete'),
);
@ -184,9 +184,14 @@ class Item extends BaseObject {
'classdo' => (($item['starred']) ? "hidden" : ""),
'classundo' => (($item['starred']) ? "" : "hidden"),
'starred' => t('starred'),
'tagger' => t("add tag"),
'classtagger' => "",
);
$tagger = '';
if(feature_enabled($conv->get_profile_owner(),'commtag')) {
$tagger = array(
'add' => t("add tag"),
'class' => "",
);
}
}
} else {
$indent = 'comment';
@ -195,7 +200,7 @@ class Item extends BaseObject {
if($conv->is_writable()) {
$buttons = array(
'like' => array( t("I like this \x28toggle\x29"), t("like")),
'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")),
'dislike' => ((feature_enabled($conv->get_profile_owner(),'dislike')) ? array( t("I don't like this \x28toggle\x29"), t("dislike")) : ''),
);
if ($shareable) $buttons['share'] = array( t('Share this'), t('share'));
}
@ -249,10 +254,11 @@ class Item extends BaseObject {
'owner_photo' => $this->get_owner_photo(),
'owner_name' => template_escape($this->get_owner_name()),
'plink' => get_plink($item),
'edpost' => $edpost,
'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
'isstarred' => $isstarred,
'star' => $star,
'filer' => $filer,
'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
'tagger' => $tagger,
'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''),
'drop' => $drop,
'vote' => $buttons,
'like' => $like,
@ -570,7 +576,7 @@ class Item extends BaseObject {
'$edimg' => t('Image'),
'$edurl' => t('Link'),
'$edvideo' => t('Video'),
'$preview' => t('Preview'),
'$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
'$indent' => $indent,
'$sourceapp' => t($a->sourcename),
'$ww' => (($conv->get_mode() === 'network') ? $ww : ''),

View file

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1156 );
define( 'UPDATE_VERSION' , 1157 );
/**
*
@ -1362,3 +1362,10 @@ function update_1155() {
return UPDATE_FAILED;
}
function update_1156() {
$r = q("ALTER TABLE `photo` ADD `datasize` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `width` ,
ADD INDEX ( `datasize` ) ");
if(!$r) return UPDATE_FAILED;
return UPDATE_SUCCESS;
}

File diff suppressed because it is too large Load diff

View file

@ -53,7 +53,7 @@
<h3>$registration</h3>
{{ inc field_input.tpl with $field=$register_text }}{{ endinc }}
{{ inc field_select.tpl with $field=$register_policy }}{{ endinc }}
{{ inc field_input.tpl with $field=$daily_registrations }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_multi_reg }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_openid }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_regfullname }}{{ endinc }}

File diff suppressed because it is too large Load diff

View file

@ -84,7 +84,6 @@ $a->strings["Public access denied."] = "Öffentlicher Zugriff verweigert.";
$a->strings["No photos selected"] = "Keine Bilder ausgewählt";
$a->strings["Access to this item is restricted."] = "Zugriff zu diesem Eintrag wurde eingeschränkt.";
$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Du verwendest %1$.2f Mbyte von %2$.2f Mbyte des Foto-Speichers.";
$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Du verwendest %1$.2f Mbyte des Foto-Speichers.";
$a->strings["Upload Photos"] = "Bilder hochladen";
$a->strings["New album name: "] = "Name des neuen Albums: ";
$a->strings["or existing album name: "] = "oder existierender Albumname: ";
@ -453,10 +452,12 @@ $a->strings["Forgot your Password?"] = "Hast du dein Passwort vergessen?";
$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib deine E-Mail-Adresse an und fordere ein neues Passwort an. Es werden dir dann weitere Informationen per Mail zugesendet.";
$a->strings["Nickname or Email: "] = "Spitzname oder E-Mail:";
$a->strings["Reset"] = "Zurücksetzen";
$a->strings["Additional features"] = "Zusätzliche Features";
$a->strings["Missing some important data!"] = "Wichtige Daten fehlen!";
$a->strings["Update"] = "Aktualisierungen";
$a->strings["Failed to connect with email account using the settings provided."] = "Verbindung zum E-Mail-Konto mit den angegebenen Einstellungen nicht möglich.";
$a->strings["Email settings updated."] = "E-Mail Einstellungen bearbeitet.";
$a->strings["Features updated"] = "Features aktualisiert";
$a->strings["Passwords do not match. Password unchanged."] = "Die Passwörter stimmen nicht überein. Das Passwort bleibt unverändert.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Leere Passwörter sind nicht erlaubt. Passwort bleibt unverändert.";
$a->strings["Password changed."] = "Passwort ändern.";
@ -480,6 +481,9 @@ $a->strings["No name"] = "Kein Name";
$a->strings["Remove authorization"] = "Autorisierung entziehen";
$a->strings["No Plugin settings configured"] = "Keine Plugin-Einstellungen konfiguriert";
$a->strings["Plugin Settings"] = "Plugin-Einstellungen";
$a->strings["Off"] = "Aus";
$a->strings["On"] = "An";
$a->strings["Additional Features"] = "Zusätzliche Features";
$a->strings["Built-in support for %s connectivity is %s"] = "Eingebaute Unterstützung für Verbindungen zu %s ist %s";
$a->strings["enabled"] = "eingeschaltet";
$a->strings["disabled"] = "ausgeschaltet";
@ -589,10 +593,10 @@ $a->strings["Sort by Post Date"] = "Nach Beitragsdatum sortieren";
$a->strings["Posts that mention or involve you"] = "Beiträge, in denen es um dich geht";
$a->strings["New"] = "Neue";
$a->strings["Activity Stream - by date"] = "Aktivitäten-Stream - nach Datum";
$a->strings["Starred"] = "Markierte";
$a->strings["Favourite Posts"] = "Favorisierte Beiträge";
$a->strings["Shared Links"] = "Geteilte Links";
$a->strings["Interesting Links"] = "Interessante Links";
$a->strings["Starred"] = "Markierte";
$a->strings["Favourite Posts"] = "Favorisierte Beiträge";
$a->strings["Warning: This group contains %s member from an insecure network."] = array(
0 => "Warnung: Diese Gruppe beinhaltet %s Person aus einem unsicheren Netzwerk.",
1 => "Warnung: Diese Gruppe beinhaltet %s Personen aus unsicheren Netzwerken.",
@ -1216,6 +1220,7 @@ $a->strings["Randomise Page/Forum list"] = "Zufällige Seiten/Foren Liste";
$a->strings["Show pages/forums on profile page"] = "Foren/Seiten auf der Profilseite anzeigen";
$a->strings["Planets Settings"] = "Planeten Einstellungen";
$a->strings["Enable Planets Plugin"] = "Aktiviere Planeten Plugin";
$a->strings["Forum Directory"] = "Foren Verzeichnis";
$a->strings["Login"] = "Anmeldung";
$a->strings["OpenID"] = "OpenID";
$a->strings["Latest users"] = "Letzte Benutzer";
@ -1674,6 +1679,7 @@ $a->strings["Zot!"] = "Zott";
$a->strings["LinkedIn"] = "LinkedIn";
$a->strings["XMPP/IM"] = "XMPP/Chat";
$a->strings["MySpace"] = "MySpace";
$a->strings["Google+"] = "Google+";
$a->strings["Male"] = "Männlich";
$a->strings["Female"] = "Weiblich";
$a->strings["Currently Male"] = "Momentan männlich";
@ -1836,6 +1842,8 @@ $a->strings["Conversations on this site"] = "Unterhaltungen auf dieser Seite";
$a->strings["Directory"] = "Verzeichnis";
$a->strings["People directory"] = "Nutzerverzeichnis";
$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";
$a->strings["Friend Requests"] = "Kontaktanfragen";
$a->strings["See all notifications"] = "Alle Benachrichtigungen anzeigen";
$a->strings["Mark all system notifications seen"] = "Markiere alle Systembenachrichtigungen als gelesen";
@ -1845,7 +1853,7 @@ $a->strings["Outbox"] = "Ausgang";
$a->strings["Manage"] = "Verwalten";
$a->strings["Manage other pages"] = "Andere Seiten verwalten";
$a->strings["Profiles"] = "Profile";
$a->strings["Manage/edit profiles"] = "Profile verwalten/editieren";
$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";
$a->strings["Nothing new here"] = "Keine Neuigkeiten.";
@ -1889,6 +1897,38 @@ $a->strings["From: "] = "Von: ";
$a->strings["Image/photo"] = "Bild/Foto";
$a->strings["$1 wrote:"] = "$1 hat geschrieben:";
$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
$a->strings["Multiple Profiles"] = "Mehrere Profile";
$a->strings["Ability to create multiple profiles"] = "Möglichkeit mehrere Profile zu erstellen";
$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["Search by Date"] = "Archiv";
$a->strings["Ability to select posts by date ranges"] = "Möglichkeit die Beiträge nach Datumsbereichen zu sortieren";
$a->strings["Group Filter"] = "Gruppen Filter";
$a->strings["Enable widget to display Network posts only from selected group"] = "Widget zur Darstellung der Beiträge nach Kontaktgruppen sortiert aktivieren.";
$a->strings["Network Filter"] = "Netzwerk Filter";
$a->strings["Enable widget to display Network posts only from selected network"] = "Widget zum filtern der Beiträge in Abhängigkeit des Netzwerks aus dem der Ersteller sendet aktivieren.";
$a->strings["Save search terms for re-use"] = "Speichere Suchanfragen für spätere Wiederholung.";
$a->strings["Network Personal Tab"] = "Netzwerk-Reiter: Persönlich";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Netzwerk-Reiter in dem Nachrichten angezeigt werden mit denen du interagiert hast";
$a->strings["Network New Tab"] = "Netzwerk-Reiter: Neue";
$a->strings["Enable tab to display only new Network posts (from the last 12 hours)"] = "Aktiviert einen Netzwerk-Reiter in dem ausschließlich neue Beiträge (der letzten 12 Stunden) angezeigt werden";
$a->strings["Network Shared Links Tab"] = "Netzwerk-Reiter: Geteilte Links";
$a->strings["Enable tab to display only Network posts with links in them"] = "Aktiviert einen Netzwerk-Reiter der ausschließlich Nachrichten mit Links enthält";
$a->strings["Multiple Deletion"] = "Mehrere Beiträge löschen";
$a->strings["Select and delete multiple posts/comments at once"] = "Mehrere Beiträge/Kommentare markieren und gleichzeitig löschen";
$a->strings["Edit Sent Posts"] = "Gesendete Beiträge editieren";
$a->strings["Edit and correct posts and comments after sending"] = "Erlaubt es Beiträge und Kommentare nach dem Senden zu editieren bzw.zu korrigieren.";
$a->strings["Tagging"] = "Tagging";
$a->strings["Ability to tag existing posts"] = "Möglichkeit bereits existierende Beiträge nachträglich mit Tags zu versehen.";
$a->strings["Post Categories"] = "Beitragskategorien";
$a->strings["Add categories to your posts"] = "Eigene Beiträge mit Kategorien versehen";
$a->strings["Ability to file posts under folders"] = "Beiträge in Ordnern speichern aktivieren";
$a->strings["Dislike Posts"] = "Beiträge 'nicht mögen'";
$a->strings["Ability to dislike posts/comments"] = "Ermöglicht es Beiträge mit einem Klick 'nicht zu mögen'";
$a->strings["Star Posts"] = "Beiträge Markieren";
$a->strings["Ability to mark special posts with a star indicator"] = "Erlaubt es Beiträge mit einem Stern-Indikator zu markieren";
$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS Informationen für den Datenbankserver '%s' nicht ermitteln.";
$a->strings["[no subject]"] = "[kein Betreff]";
$a->strings["Visible to everybody"] = "Für jeden sichtbar";
@ -2012,6 +2052,7 @@ $a->strings["Forgot your password?"] = "Passwort vergessen?";
$a->strings["Requested account is not available."] = "Das angefragte Profil ist nicht vorhanden.";
$a->strings["Edit profile"] = "Profil bearbeiten";
$a->strings["Message"] = "Nachricht";
$a->strings["Manage/edit profiles"] = "Profile verwalten/editieren";
$a->strings["g A l F d"] = "l, d. F G \\U\\h\\r";
$a->strings["F d"] = "d. F";
$a->strings["[today]"] = "[heute]";
@ -2024,6 +2065,7 @@ $a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
$a->strings["Profile Details"] = "Profildetails";
$a->strings["Events and Calendar"] = "Ereignisse und Kalender";
$a->strings["Only You Can See This"] = "Nur du kannst das sehen";
$a->strings["via"] = "via";
$a->strings["toggle mobile"] = "auf/von Mobile Ansicht wechseln";
$a->strings["Bg settings updated."] = "Bg Einstellungen sind aktualisiert.";
$a->strings["Bg Settings"] = "Bg Einstellungen";

File diff suppressed because it is too large Load diff

View file

@ -58,7 +58,7 @@ $a->strings["Tag removed"] = "Étiquette enlevée";
$a->strings["Remove Item Tag"] = "Enlever l'étiquette de l'élément";
$a->strings["Select a tag to remove: "] = "Choisir une étiquette à enlever: ";
$a->strings["Remove"] = "Utiliser comme photo de profil";
$a->strings["%s welcomes %s"] = "%s accueille %s";
$a->strings["%1\$s welcomes %2\$s"] = "";
$a->strings["Authorize application connection"] = "Autoriser l'application à se connecter";
$a->strings["Return to your app and insert this Securty Code:"] = "Retournez à votre application et saisissez ce Code de Sécurité : ";
$a->strings["Please login to continue."] = "Merci de vous connecter pour continuer.";
@ -74,9 +74,8 @@ $a->strings["Profile Photos"] = "Photos du profil";
$a->strings["Album not found."] = "Album introuvable.";
$a->strings["Delete Album"] = "Effacer l'album";
$a->strings["Delete Photo"] = "Effacer la photo";
$a->strings["was tagged in a"] = "a été identifié dans";
$a->strings["photo"] = "photo";
$a->strings["by"] = "par";
$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = "";
$a->strings["a photo"] = "";
$a->strings["Image exceeds size limit of "] = "L'image dépasse la taille maximale de ";
$a->strings["Image file is empty."] = "Fichier image vide.";
$a->strings["Unable to process image."] = "Impossible de traiter l'image.";
@ -85,7 +84,6 @@ $a->strings["Public access denied."] = "Accès public refusé.";
$a->strings["No photos selected"] = "Aucune photo sélectionnée";
$a->strings["Access to this item is restricted."] = "Accès restreint à cet élément.";
$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Vous avez utilisé %1$.2f Mo sur %2$.2f d'espace de stockage pour les photos.";
$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Vous avez utilisé %1$.2f Mo d'espace de stockage pour les photos.";
$a->strings["Upload Photos"] = "Téléverser des photos";
$a->strings["New album name: "] = "Nom du nouvel album: ";
$a->strings["or existing album name: "] = "ou nom d'un album existant: ";
@ -199,6 +197,18 @@ $a->strings["Diaspora"] = "Diaspora";
$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = " - merci de ne pas utiliser ce formulaire. Entrez plutôt %s dans votre barre de recherche Diaspora.";
$a->strings["Your Identity Address:"] = "Votre adresse d'identité:";
$a->strings["Submit Request"] = "Envoyer la requête";
$a->strings["Account settings"] = "Compte";
$a->strings["Display settings"] = "Affichage";
$a->strings["Connector settings"] = "Connecteurs";
$a->strings["Plugin settings"] = "Extensions";
$a->strings["Connected apps"] = "Applications connectées";
$a->strings["Export personal data"] = "Exporter";
$a->strings["Remove account"] = "Supprimer le compte";
$a->strings["Settings"] = "Réglages";
$a->strings["Export account"] = "Exporter le compte";
$a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = "Exportez votre compte, vos infos et vos contacts. Vous pourrez utiliser le résultat comme sauvegarde et/ou pour le ré-importer sur un autre serveur.";
$a->strings["Export all"] = "Tout exporter";
$a->strings["Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)"] = "Exportez votre compte, vos infos, vos contacts et toutes vos publications (en JSON). Le fichier résultant peut être extrêmement volumineux, et sa production peut durer longtemps. Vous pourrez l'utiliser pour faire une sauvegarde complète (à part les photos).";
$a->strings["Friendica Social Communications Server - Setup"] = "Serveur de communications sociales Friendica - Installation";
$a->strings["Could not connect to database."] = "Impossible de se connecter à la base.";
$a->strings["Could not create table."] = "Impossible de créer une table.";
@ -442,18 +452,12 @@ $a->strings["Forgot your Password?"] = "Mot de passe oublié?";
$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Entrez votre adresse de courriel et validez pour réinitialiser votre mot de passe. Vous recevrez la suite des instructions par courriel.";
$a->strings["Nickname or Email: "] = "Pseudo ou Courriel: ";
$a->strings["Reset"] = "Réinitialiser";
$a->strings["Account settings"] = "Compte";
$a->strings["Display settings"] = "Affichage";
$a->strings["Connector settings"] = "Connecteurs";
$a->strings["Plugin settings"] = "Extensions";
$a->strings["Connected apps"] = "Applications connectées";
$a->strings["Export personal data"] = "Exporter";
$a->strings["Remove account"] = "Supprimer le compte";
$a->strings["Settings"] = "Réglages";
$a->strings["Additional features"] = "";
$a->strings["Missing some important data!"] = "Il manque certaines informations importantes!";
$a->strings["Update"] = "Mises-à-jour";
$a->strings["Failed to connect with email account using the settings provided."] = "Impossible de se connecter au compte courriel configuré.";
$a->strings["Email settings updated."] = "Réglages de courriel mis-à-jour.";
$a->strings["Features updated"] = "";
$a->strings["Passwords do not match. Password unchanged."] = "Les mots de passe ne correspondent pas. Aucun changement appliqué.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Les mots de passe vides sont interdits. Aucun changement appliqué.";
$a->strings["Password changed."] = "Mots de passe changés.";
@ -477,6 +481,9 @@ $a->strings["No name"] = "Sans nom";
$a->strings["Remove authorization"] = "Révoquer l'autorisation";
$a->strings["No Plugin settings configured"] = "Pas de réglages d'extensions configurés";
$a->strings["Plugin Settings"] = "Extensions";
$a->strings["Off"] = "";
$a->strings["On"] = "";
$a->strings["Additional Features"] = "";
$a->strings["Built-in support for %s connectivity is %s"] = "Le support natif pour la connectivité %s est %s";
$a->strings["enabled"] = "activé";
$a->strings["disabled"] = "désactivé";
@ -586,10 +593,10 @@ $a->strings["Sort by Post Date"] = "Trier par date de publication";
$a->strings["Posts that mention or involve you"] = "Publications qui vous concernent";
$a->strings["New"] = "Nouveau";
$a->strings["Activity Stream - by date"] = "Flux d'activités - par date";
$a->strings["Starred"] = "Mis en avant";
$a->strings["Favourite Posts"] = "Publications favorites";
$a->strings["Shared Links"] = "Liens partagés";
$a->strings["Interesting Links"] = "Liens intéressants";
$a->strings["Starred"] = "Mis en avant";
$a->strings["Favourite Posts"] = "Publications favorites";
$a->strings["Warning: This group contains %s member from an insecure network."] = array(
0 => "Attention: Ce groupe contient %s membre d'un réseau non-sûr.",
1 => "Attention: Ce groupe contient %s membres d'un réseau non-sûr.",
@ -600,6 +607,12 @@ $a->strings["Private messages to this person are at risk of public disclosure."]
$a->strings["Invalid contact."] = "Contact invalide.";
$a->strings["Personal Notes"] = "Notes personnelles";
$a->strings["Save"] = "Sauver";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Le nombre d'inscriptions quotidiennes pour ce site a été dépassé. Merci de réessayer demain.";
$a->strings["Import"] = "Importer";
$a->strings["Move account"] = "Migrer le compte";
$a->strings["You can import an account from another Friendica server. <br>\r\n You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here.<br>\r\n <b>This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from diaspora"] = "";
$a->strings["Account file"] = "Fichier du compte";
$a->strings["To export your accont, go to \"Settings->Export your porsonal data\" and select \"Export account\""] = "";
$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = "Nombre de messages de mur quotidiens pour %s dépassé. Échec du message.";
$a->strings["No recipient selected."] = "Pas de destinataire sélectionné.";
$a->strings["Unable to check your home location."] = "Impossible de vérifier votre localisation.";
@ -675,7 +688,6 @@ $a->strings["Failed to send email message. Here is the message that failed."] =
$a->strings["Your registration can not be processed."] = "Votre inscription ne peut être traitée.";
$a->strings["Registration request at %s"] = "Demande d'inscription à %s";
$a->strings["Your registration is pending approval by the site owner."] = "Votre inscription attend une validation du propriétaire du site.";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Le nombre d'inscriptions quotidiennes pour ce site a été dépassé. Merci de réessayer demain.";
$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "Vous pouvez (si vous le souhaitez) remplir ce formulaire via OpenID. Fournissez votre OpenID et cliquez \"S'inscrire\".";
$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Si vous n'êtes pas familier avec OpenID, laissez ce champ vide et remplissez le reste.";
$a->strings["Your OpenID (optional): "] = "Votre OpenID (facultatif): ";
@ -689,6 +701,7 @@ $a->strings["Choose a profile nickname. This must begin with a text character. Y
$a->strings["Choose a nickname: "] = "Choisir un pseudo: ";
$a->strings["Register"] = "S'inscrire";
$a->strings["People Search"] = "Recherche de personnes";
$a->strings["photo"] = "photo";
$a->strings["status"] = "le statut";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s aime %3\$s de %2\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s n'aime pas %3\$s de %2\$s";
@ -1207,6 +1220,7 @@ $a->strings["Randomise Page/Forum list"] = "Rendre aléatoire la liste des pages
$a->strings["Show pages/forums on profile page"] = "Montrer les forums sur le profil";
$a->strings["Planets Settings"] = "Réglages des Planets";
$a->strings["Enable Planets Plugin"] = "Activer Planets";
$a->strings["Forum Directory"] = "";
$a->strings["Login"] = "Connexion";
$a->strings["OpenID"] = "OpenID";
$a->strings["Latest users"] = "Derniers utilisateurs";
@ -1665,6 +1679,7 @@ $a->strings["Zot!"] = "Zot!";
$a->strings["LinkedIn"] = "LinkedIn";
$a->strings["XMPP/IM"] = "XMPP/IM";
$a->strings["MySpace"] = "MySpace";
$a->strings["Google+"] = "";
$a->strings["Male"] = "Masculin";
$a->strings["Female"] = "Féminin";
$a->strings["Currently Male"] = "Actuellement masculin";
@ -1794,6 +1809,18 @@ $a->strings["Attachments:"] = "Pièces jointes : ";
$a->strings["view full size"] = "voir en pleine taille";
$a->strings["Embedded content"] = "Contenu incorporé";
$a->strings["Embedding disabled"] = "Incorporation désactivée";
$a->strings["Error decoding account file"] = "";
$a->strings["Error! No version data in file! This is not a Friendica account file?"] = "";
$a->strings["Error! I can't import this file: DB schema version is not compatible."] = "";
$a->strings["Error! Cannot check nickname"] = "";
$a->strings["User '%s' already exists on this server!"] = "";
$a->strings["User creation error"] = "";
$a->strings["User profile creation error"] = "";
$a->strings["%d contact not imported"] = array(
0 => "",
1 => "",
);
$a->strings["Done. You can now login with your username and password"] = "";
$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé a été recréé. Les permissions existantes <strong>pourraient</strong> s'appliquer à ce groupe et aux futurs membres. Si ce n'est pas le comportement attendu, merci de re-créer un autre groupe sous un autre nom.";
$a->strings["Default privacy group for new contacts"] = "Paramètres de confidentialité par défaut pour les nouveaux contacts";
$a->strings["Everybody"] = "Tout le monde";
@ -1815,6 +1842,8 @@ $a->strings["Conversations on this site"] = "Conversations ayant cours sur ce si
$a->strings["Directory"] = "Annuaire";
$a->strings["People directory"] = "Annuaire des utilisateurs";
$a->strings["Conversations from your friends"] = "Conversations de vos amis";
$a->strings["Network Reset"] = "";
$a->strings["Load Network page with no filters"] = "";
$a->strings["Friend Requests"] = "Demande d'amitié";
$a->strings["See all notifications"] = "Voir toute notification";
$a->strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme 'vues'";
@ -1824,7 +1853,7 @@ $a->strings["Outbox"] = "Messages sortants";
$a->strings["Manage"] = "Gérer";
$a->strings["Manage other pages"] = "Gérer les autres pages";
$a->strings["Profiles"] = "Profils";
$a->strings["Manage/edit profiles"] = "Gérer/éditer les profils";
$a->strings["Manage/Edit Profiles"] = "";
$a->strings["Manage/edit friends and contacts"] = "Gérer/éditer les amitiés et contacts";
$a->strings["Site setup and configuration"] = "Démarrage et configuration du site";
$a->strings["Nothing new here"] = "Rien de neuf ici";
@ -1868,6 +1897,38 @@ $a->strings["From: "] = "De: ";
$a->strings["Image/photo"] = "Image/photo";
$a->strings["$1 wrote:"] = "$1 a écrit:";
$a->strings["Encrypted content"] = "Contenu chiffré";
$a->strings["Multiple Profiles"] = "";
$a->strings["Ability to create multiple profiles"] = "";
$a->strings["Richtext Editor"] = "";
$a->strings["Enable richtext editor"] = "";
$a->strings["Post Preview"] = "";
$a->strings["Allow previewing posts and comments before publishing them"] = "";
$a->strings["Search by Date"] = "";
$a->strings["Ability to select posts by date ranges"] = "";
$a->strings["Group Filter"] = "";
$a->strings["Enable widget to display Network posts only from selected group"] = "";
$a->strings["Network Filter"] = "";
$a->strings["Enable widget to display Network posts only from selected network"] = "";
$a->strings["Save search terms for re-use"] = "";
$a->strings["Network Personal Tab"] = "";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "";
$a->strings["Network New Tab"] = "";
$a->strings["Enable tab to display only new Network posts (from the last 12 hours)"] = "";
$a->strings["Network Shared Links Tab"] = "";
$a->strings["Enable tab to display only Network posts with links in them"] = "";
$a->strings["Multiple Deletion"] = "";
$a->strings["Select and delete multiple posts/comments at once"] = "";
$a->strings["Edit Sent Posts"] = "";
$a->strings["Edit and correct posts and comments after sending"] = "";
$a->strings["Tagging"] = "";
$a->strings["Ability to tag existing posts"] = "";
$a->strings["Post Categories"] = "";
$a->strings["Add categories to your posts"] = "";
$a->strings["Ability to file posts under folders"] = "";
$a->strings["Dislike Posts"] = "";
$a->strings["Ability to dislike posts/comments"] = "";
$a->strings["Star Posts"] = "";
$a->strings["Ability to mark special posts with a star indicator"] = "";
$a->strings["Cannot locate DNS info for database server '%s'"] = "Impossible de localiser les informations DNS pour le serveur de base de données '%s'";
$a->strings["[no subject]"] = "[pas de sujet]";
$a->strings["Visible to everybody"] = "Visible par tout le monde";
@ -1973,6 +2034,7 @@ $a->strings["Please enter a video link/URL:"] = "Entrez un lien/URL video :";
$a->strings["Please enter an audio link/URL:"] = "Entrez un lien/URL audio :";
$a->strings["Tag term:"] = "Tag : ";
$a->strings["Where are you right now?"] = "Où êtes-vous présentemment?";
$a->strings["Delete item(s)?"] = "";
$a->strings["permissions"] = "permissions";
$a->strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
$a->strings["This action exceeds the limits set by your subscription plan."] = "Cette action dépasse les limites définies par votre abonnement.";
@ -1984,11 +2046,13 @@ $a->strings["Update Error at %s"] = "Erreur de mise-à-jour à %s";
$a->strings["Create a New Account"] = "Créer un nouveau compte";
$a->strings["Nickname or Email address: "] = "Pseudo ou courriel: ";
$a->strings["Password: "] = "Mot de passe: ";
$a->strings["Remember me"] = "";
$a->strings["Or login using OpenID: "] = "Ou connectez-vous via OpenID: ";
$a->strings["Forgot your password?"] = "Mot de passe oublié?";
$a->strings["Requested account is not available."] = "Le compte demandé n'est pas disponible.";
$a->strings["Edit profile"] = "Editer le profil";
$a->strings["Message"] = "Message";
$a->strings["Manage/edit profiles"] = "Gérer/éditer les profils";
$a->strings["g A l F d"] = "g A | F d";
$a->strings["F d"] = "F d";
$a->strings["[today]"] = "[aujourd'hui]";
@ -2001,6 +2065,7 @@ $a->strings["Status Messages and Posts"] = "Messages d'état et publications";
$a->strings["Profile Details"] = "Détails du profil";
$a->strings["Events and Calendar"] = "Événements et agenda";
$a->strings["Only You Can See This"] = "Vous seul pouvez voir ça";
$a->strings["via"] = "";
$a->strings["toggle mobile"] = "activ. mobile";
$a->strings["Bg settings updated."] = "Réglages d'arrière-plan mis à jour.";
$a->strings["Bg Settings"] = "Réglages d'arrière-plan";

View file

@ -16,7 +16,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>

File diff suppressed because it is too large Load diff

View file

@ -179,7 +179,7 @@ $a->strings["Disallowed profile URL."] = "Nie dozwolony adres URL profilu.";
$a->strings["Failed to update contact record."] = "Aktualizacja nagrania kontaktu nie powiodła się.";
$a->strings["Your introduction has been sent."] = "Twoje dane zostały wysłane.";
$a->strings["Please login to confirm introduction."] = "Proszę zalogować się do potwierdzenia wstępu.";
$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "";
$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Niepoprawna tożsamość obecnego użytkownika. Proszę zalogować się na <strong>tego</strong> użytkownika. ";
$a->strings["Hide this contact"] = "Ukryj kontakt";
$a->strings["Welcome home %s."] = "Welcome home %s.";
$a->strings["Please confirm your introduction/connection request to %s."] = "Proszę potwierdzić swój wstęp/prośbę o połączenie do %s.";
@ -248,9 +248,9 @@ $a->strings["OpenSSL PHP module"] = "";
$a->strings["mysqli PHP module"] = "";
$a->strings["mb_string PHP module"] = "";
$a->strings["Apache mod_rewrite module"] = "";
$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "";
$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Błąd: moduł Apache webserver mod-rewrite jest potrzebny, jednakże nie jest zainstalowany.";
$a->strings["Error: libCURL PHP module required but not installed."] = "Błąd: libCURL PHP wymagany moduł, lecz nie zainstalowany.";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Błąd: moduł graficzny GD z PHP potrzebuje wsparcia technicznego JPEG, jednakże on nie jest zainstalowany.";
$a->strings["Error: openssl PHP module required but not installed."] = "Błąd: openssl PHP wymagany moduł, lecz nie zainstalowany.";
$a->strings["Error: mysqli PHP module required but not installed."] = "Błąd: mysqli PHP wymagany moduł, lecz nie zainstalowany.";
$a->strings["Error: mb_string PHP module required but not installed."] = "";
@ -373,7 +373,7 @@ $a->strings["Contact has been blocked"] = "Kontakt został zablokowany";
$a->strings["Contact has been unblocked"] = "Kontakt został odblokowany";
$a->strings["Contact has been ignored"] = "Kontakt jest ignorowany";
$a->strings["Contact has been unignored"] = "Kontakt nie jest ignorowany";
$a->strings["Contact has been archived"] = "";
$a->strings["Contact has been archived"] = "Kontakt został zarchiwizowany";
$a->strings["Contact has been unarchived"] = "";
$a->strings["Contact has been removed."] = "Kontakt został usunięty.";
$a->strings["You are mutual friends with %s"] = "Jesteś już znajomym z %s";
@ -418,7 +418,7 @@ $a->strings["Update public posts"] = "";
$a->strings["Update now"] = "Aktualizuj teraz";
$a->strings["Currently blocked"] = "Obecnie zablokowany";
$a->strings["Currently ignored"] = "Obecnie zignorowany";
$a->strings["Currently archived"] = "";
$a->strings["Currently archived"] = "Obecnie zarchiwizowany";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
$a->strings["Suggestions"] = "Sugestie";
$a->strings["Suggest potential friends"] = "Sugerowani znajomi";
@ -525,7 +525,7 @@ $a->strings["Automatically approve all connection/friend requests as friends"] =
$a->strings["Private Forum [Experimental]"] = "";
$a->strings["Private forum - approved members only"] = "";
$a->strings["OpenID:"] = "OpenID:";
$a->strings["(Optional) Allow this OpenID to login to this account."] = "";
$a->strings["(Optional) Allow this OpenID to login to this account."] = "Przeznacz to OpenID do logowania się na to konto.";
$a->strings["Publish your default profile in your local site directory?"] = "";
$a->strings["Publish your default profile in the global social directory?"] = "Opublikować twój niewypełniony profil w globalnym, społecznym katalogu?";
$a->strings["Hide your contact/friend list from viewers of your default profile?"] = "Ukryć listę znajomych przed odwiedzającymi Twój profil?";
@ -538,7 +538,7 @@ $a->strings["Profile is <strong>not published</strong>."] = "Profil <strong>nie
$a->strings["or"] = "lub";
$a->strings["Your Identity Address is"] = "Twój adres identyfikacyjny to";
$a->strings["Automatically expire posts after this many days:"] = "";
$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "";
$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Pole puste, wiadomość nie wygaśnie. Niezapisane wpisy zostaną usunięte.";
$a->strings["Advanced expiration settings"] = "";
$a->strings["Advanced Expiration"] = "";
$a->strings["Expire posts:"] = "Wygasające posty:";
@ -560,7 +560,7 @@ $a->strings["Use Browser Location:"] = "Użyj położenia przeglądarki:";
$a->strings["Security and Privacy Settings"] = "Ustawienia bezpieczeństwa i prywatności";
$a->strings["Maximum Friend Requests/Day:"] = "Maksymalna liczba zaproszeń do grona przyjaciół na dzień:";
$a->strings["(to prevent spam abuse)"] = "(aby zapobiec spamowaniu)";
$a->strings["Default Post Permissions"] = "";
$a->strings["Default Post Permissions"] = "Domyślne prawa dostępu wiadomości";
$a->strings["(click to open/close)"] = "(kliknij by otworzyć/zamknąć)";
$a->strings["Maximum private messages per day from unknown people:"] = "";
$a->strings["Notification Settings"] = "Ustawienia powiadomień";
@ -581,7 +581,7 @@ $a->strings["Advanced Account/Page Type Settings"] = "";
$a->strings["Change the behaviour of this account for special situations"] = "";
$a->strings["Manage Identities and/or Pages"] = "";
$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "";
$a->strings["Select an identity to manage: "] = "";
$a->strings["Select an identity to manage: "] = "Wybierz tożsamość do zarządzania:";
$a->strings["Search Results For:"] = "Szukaj wyników dla:";
$a->strings["Remove term"] = "";
$a->strings["Saved Searches"] = "";
@ -608,6 +608,7 @@ $a->strings["Private messages to this person are at risk of public disclosure."]
$a->strings["Invalid contact."] = "Zły kontakt";
$a->strings["Personal Notes"] = "Osobiste notatki";
$a->strings["Save"] = "Zapisz";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Strona przekroczyła ilość dozwolonych rejestracji na dzień. Proszę spróbuj ponownie jutro.";
$a->strings["Import"] = "";
$a->strings["Move account"] = "";
$a->strings["You can import an account from another Friendica server. <br>\r\n You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here.<br>\r\n <b>This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from diaspora"] = "";
@ -688,7 +689,6 @@ $a->strings["Failed to send email message. Here is the message that failed."] =
$a->strings["Your registration can not be processed."] = "Twoja rejestracja nie może zostać przeprowadzona. ";
$a->strings["Registration request at %s"] = "Prośba o rejestrację u %s";
$a->strings["Your registration is pending approval by the site owner."] = "Twoja rejestracja oczekuje na zaakceptowanie przez właściciela witryny.";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Strona przekroczyła ilość dozwolonych rejestracji na dzień. Proszę spróbuj ponownie jutro.";
$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = "";
$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Jeśli nie jesteś zaznajomiony z OpenID, zostaw to pole puste i uzupełnij resztę elementów.";
$a->strings["Your OpenID (optional): "] = "Twój OpenID (opcjonalnie):";
@ -753,9 +753,9 @@ $a->strings["%s and You"] = "%s i ty";
$a->strings["Delete conversation"] = "Usuń rozmowę";
$a->strings["D, d M Y - g:i A"] = "D, d M R - g:m AM/PM";
$a->strings["%d message"] = array(
0 => "",
1 => "",
2 => "",
0 => " %d wiadomość",
1 => " %d wiadomości",
2 => " %d wiadomości",
);
$a->strings["Message not available."] = "Wiadomość nie jest dostępna.";
$a->strings["Delete message"] = "Usuń wiadomość";
@ -776,7 +776,7 @@ $a->strings["User registrations waiting for confirmation"] = "Rejestracje użytk
$a->strings["Normal Account"] = "Konto normalne";
$a->strings["Soapbox Account"] = "";
$a->strings["Community/Celebrity Account"] = "Konto społeczności/gwiazdy";
$a->strings["Automatic Friend Account"] = "";
$a->strings["Automatic Friend Account"] = "Automatyczny przyjaciel konta";
$a->strings["Blog Account"] = "";
$a->strings["Private Forum"] = "";
$a->strings["Message queues"] = "";
@ -953,7 +953,7 @@ $a->strings["Religion"] = "Religia";
$a->strings["Political Views"] = "Poglądy polityczne";
$a->strings["Gender"] = "Płeć";
$a->strings["Sexual Preference"] = "Orientacja seksualna";
$a->strings["Homepage"] = "";
$a->strings["Homepage"] = "Strona Główna";
$a->strings["Interests"] = "Zainteresowania";
$a->strings["Address"] = "Adres";
$a->strings["Location"] = "Położenie";
@ -1158,7 +1158,7 @@ $a->strings["%d person doesn't like this"] = array(
1 => " %d osób tego nie lubi",
2 => " %d osób tego nie lubi",
);
$a->strings["Get added to this list!"] = "";
$a->strings["Get added to this list!"] = "Zostań dodany do listy!";
$a->strings["Generate new key"] = "Stwórz nowy klucz";
$a->strings["Widgets key"] = "";
$a->strings["Widgets available"] = "";
@ -1374,7 +1374,7 @@ $a->strings["I'm going first this time..."] = "Zaczynam...";
$a->strings["You won!"] = "Wygrałeś!";
$a->strings["\"Cat\" game!"] = "Gra \"Kot\"!";
$a->strings["I won!"] = "Wygrałem!";
$a->strings["Randplace Settings"] = "";
$a->strings["Randplace Settings"] = "Ustawienia Randplace";
$a->strings["Enable Randplace Plugin"] = "";
$a->strings["Post to Dreamwidth"] = "";
$a->strings["Dreamwidth Post Settings"] = "";
@ -1511,7 +1511,7 @@ $a->strings["Purge internal list of jabber addresses of contacts"] = "";
$a->strings["Add contact"] = "Dodaj kontakt";
$a->strings["View Source"] = "Podgląd źródła";
$a->strings["Post to StatusNet"] = "Wyślij do sieci StatusNet";
$a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "";
$a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Proszę się skontaktować z administratorem strony. <br /> API URL nie jest poprawne";
$a->strings["We could not contact the StatusNet API with the Path you entered."] = "";
$a->strings["StatusNet settings updated."] = "Ustawienia StatusNet zaktualizowane";
$a->strings["StatusNet Posting Settings"] = "";
@ -1526,7 +1526,7 @@ $a->strings["To connect to your StatusNet account click the button below to get
$a->strings["Log in with StatusNet"] = "Zaloguj się przez StatusNet";
$a->strings["Copy the security code from StatusNet here"] = "Tutaj skopiuj kod bezpieczeństwa z StatusNet";
$a->strings["Cancel Connection Process"] = "Anuluj proces łączenia";
$a->strings["Current StatusNet API is"] = "";
$a->strings["Current StatusNet API is"] = "Aktualnym StatusNet API jest";
$a->strings["Cancel StatusNet Connection"] = "";
$a->strings["Currently connected to: "] = "Obecnie połączone z:";
$a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "";
@ -1696,7 +1696,7 @@ $a->strings["Intersex"] = "Międzypłciowy";
$a->strings["Transsexual"] = "Transseksualista";
$a->strings["Hermaphrodite"] = "Hermafrodyta";
$a->strings["Neuter"] = "Bezpłciowy";
$a->strings["Non-specific"] = "";
$a->strings["Non-specific"] = "Niespecyficzne";
$a->strings["Other"] = "Inne";
$a->strings["Undecided"] = "Niezdecydowany";
$a->strings["Males"] = "Mężczyźni";
@ -1705,7 +1705,7 @@ $a->strings["Gay"] = "Gej";
$a->strings["Lesbian"] = "Lesbijka";
$a->strings["No Preference"] = "Brak preferencji";
$a->strings["Bisexual"] = "Biseksualny";
$a->strings["Autosexual"] = "";
$a->strings["Autosexual"] = "Niezidentyfikowany";
$a->strings["Abstinent"] = "Abstynent";
$a->strings["Virgin"] = "Dziewica";
$a->strings["Deviant"] = "Zboczeniec";
@ -1717,7 +1717,7 @@ $a->strings["Lonely"] = "Samotny";
$a->strings["Available"] = "Dostępny";
$a->strings["Unavailable"] = "Niedostępny";
$a->strings["Has crush"] = "";
$a->strings["Infatuated"] = "";
$a->strings["Infatuated"] = "zakochany";
$a->strings["Dating"] = "Randki";
$a->strings["Unfaithful"] = "Niewierny";
$a->strings["Sex Addict"] = "Uzależniony od seksu";
@ -1818,6 +1818,8 @@ $a->strings["Embedding disabled"] = "";
$a->strings["Error decoding account file"] = "";
$a->strings["Error! No version data in file! This is not a Friendica account file?"] = "";
$a->strings["Error! I can't import this file: DB schema version is not compatible."] = "";
$a->strings["Error! Cannot check nickname"] = "";
$a->strings["User '%s' already exists on this server!"] = "";
$a->strings["User creation error"] = "";
$a->strings["User profile creation error"] = "";
$a->strings["%d contact not imported"] = array(
@ -1844,7 +1846,7 @@ $a->strings["Apps"] = "Aplikacje";
$a->strings["Addon applications, utilities, games"] = "";
$a->strings["Search site content"] = "Przeszukaj zawartość strony";
$a->strings["Conversations on this site"] = "Rozmowy na tej stronie";
$a->strings["Directory"] = "";
$a->strings["Directory"] = "Katalog";
$a->strings["People directory"] = "";
$a->strings["Conversations from your friends"] = "";
$a->strings["Friend Requests"] = "Podania o przyjęcie do grona znajomych";
@ -1901,7 +1903,7 @@ $a->strings["From: "] = "Z:";
$a->strings["Image/photo"] = "Obrazek/zdjęcie";
$a->strings["$1 wrote:"] = "$1 napisał:";
$a->strings["Encrypted content"] = "";
$a->strings["Cannot locate DNS info for database server '%s'"] = "";
$a->strings["Cannot locate DNS info for database server '%s'"] = "Nie można zlokalizować serwera DNS dla bazy danych '%s'";
$a->strings["[no subject]"] = "[bez tematu]";
$a->strings["Visible to everybody"] = "Widoczny dla wszystkich";
$a->strings["Friendica Notification"] = "";
@ -2035,7 +2037,8 @@ $a->strings["Events this week:"] = "Wydarzenia w tym tygodniu:";
$a->strings["Status Messages and Posts"] = "Status wiadomości i postów";
$a->strings["Profile Details"] = "Szczegóły profilu";
$a->strings["Events and Calendar"] = "Wydarzenia i kalendarz";
$a->strings["Only You Can See This"] = "";
$a->strings["Only You Can See This"] = "Tylko ty możesz to zobaczyć";
$a->strings["via"] = "";
$a->strings["toggle mobile"] = "";
$a->strings["Bg settings updated."] = "";
$a->strings["Bg Settings"] = "";

View file

@ -0,0 +1,20 @@
<h1>$title</h1>
<form action="settings/features" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='$form_security_token'>
{{ for $features as $f }}
<h3 class="settings-heading">$f.0</h3>
{{ for $f.1 as $fcat }}
{{ inc $field_yesno with $field=$fcat }}{{endinc}}
{{ endfor }}
{{ endfor }}
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-features-submit" value="$submit" />
</div>
</form>

View file

@ -0,0 +1,88 @@
<script>
function confirm_delete(uname){
return confirm( "$confirm_delete".format(uname));
}
function confirm_delete_multi(){
return confirm("$confirm_delete_multi");
}
function selectall(cls){
$("."+cls).attr('checked','checked');
return false;
}
</script>
<div id='adminpage'>
<h1>$title - $page</h1>
<form action="$baseurl/admin/users" method="post">
<input type='hidden' name='form_security_token' value='$form_security_token'>
<h3>$h_pending</h3>
{{ if $pending }}
<table id='pending'>
<thead>
<tr>
{{ for $th_pending as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $pending as $u }}
<tr>
<td class="created">$u.created</td>
<td class="name">$u.name</td>
<td class="email">$u.email</td>
<td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_$u.hash" name="pending[]" value="$u.hash" /></td>
<td class="tools">
<a href="$baseurl/regmod/allow/$u.hash" title='$approve'><span class='icon like'></span></a>
<a href="$baseurl/regmod/deny/$u.hash" title='$deny'><span class='icon dislike'></span></a>
</td>
</tr>
{{ endfor }}
</tbody>
</table>
<div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">$select_all</a></div>
<div class="submit"><input type="submit" name="page_users_deny" value="$deny"/> <input type="submit" name="page_users_approve" value="$approve" /></div>
{{ else }}
<p>$no_pending</p>
{{ endif }}
<h3>$h_users</h3>
{{ if $users }}
<table id='users'>
<thead>
<tr>
<th></th>
{{ for $th_users as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $users as $u }}
<tr>
<td><img src="$u.micro" alt="$u.nickname" title="$u.nickname"></td>
<td class='name'><a href="$u.url" title="$u.nickname" >$u.name</a></td>
<td class='email'>$u.email</td>
<td class='register_date'>$u.register_date</td>
<td class='login_date'>$u.login_date</td>
<td class='lastitem_date'>$u.lastitem_date</td>
<td class='login_date'>$u.page-flags</td>
<td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td>
<td class="tools" style="width:60px;">
<a href="$baseurl/admin/users/block/$u.uid?t=$form_security_token" title='{{ if $u.blocked }}$unblock{{ else }}$block{{ endif }}'><span class='icon block {{ if $u.blocked==0 }}dim{{ endif }}'></span></a>
<a href="$baseurl/admin/users/delete/$u.uid?t=$form_security_token" title='$delete' onclick="return confirm_delete('$u.name')"><span class='icon ad_drop'></span></a>
</td>
</tr>
{{ endfor }}
</tbody>
</table>
<div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">$select_all</a></div>
<div class="submit"><input type="submit" name="page_users_block" value="$block/$unblock" /> <input type="submit" name="page_users_delete" value="$delete" onclick="return confirm_delete_multi()" /></div>
{{ else }}
NO USERS?!?
{{ endif }}
</form>
</div>

View file

@ -15,7 +15,7 @@ $(document).ready(function() {
});
$("div#pause").attr("style", "position: fixed;bottom: 25px;left: 5px;");
$("div#pause").attr("style", "position: fixed;bottom: 43px;left: 5px;");
$("div#pause").html("<img src='images/pause.gif' alt='pause' title='pause live-updates (ctrl+space)' style='border: 1px solid black;opacity: 0.2;'>");
$(document).keydown(function(event) {
if (!$("div#pause").html()){

View file

@ -6,7 +6,6 @@
<input type="hidden" name="return" value="$return_path" />
<input type="hidden" name="jsreload" value="$jsreload" />
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div class="comment-edit-photo" id="comment-edit-photo-$id" >
<a class="comment-edit-photo-link" href="$mylink" title="$mytitle"><img class="my-comment-photo" src="$myphoto" alt="$mytitle" title="$mytitle" /></a>

View file

@ -0,0 +1,25 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id); openMenu('contact-photo-menu-button-$contact.id')"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-button-$contact.id\'); closeMenu(\'contact-photo-menu-$contact.id\');',200)" >
<a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>
{{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
$contact.photo_menu
</ul>
</div>
{{ endif }}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div>
<div class="contact-entry-end" ></div>
</div>

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

@ -0,0 +1,84 @@
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
* Licensed under the MIT License (LICENSE.txt).
*
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
* Thanks to: Seamus Leahy for adding deltaX and deltaY
*
* Version: 3.0.6
*
* Requires: 1.2.2+
*/
(function($) {
var types = ['DOMMouseScroll', 'mousewheel'];
if ($.event.fixHooks) {
for ( var i=types.length; i; ) {
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
}
}
$.event.special.mousewheel = {
setup: function() {
if ( this.addEventListener ) {
for ( var i=types.length; i; ) {
this.addEventListener( types[--i], handler, false );
}
} else {
this.onmousewheel = handler;
}
},
teardown: function() {
if ( this.removeEventListener ) {
for ( var i=types.length; i; ) {
this.removeEventListener( types[--i], handler, false );
}
} else {
this.onmousewheel = null;
}
}
};
$.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
},
unmousewheel: function(fn) {
return this.unbind("mousewheel", fn);
}
});
function handler(event) {
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
event = $.event.fix(orgEvent);
event.type = "mousewheel";
// Old school scrollwheel delta
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
// New school multidimensional scroll (touchpads) deltas
deltaY = delta;
// Gecko
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
deltaY = 0;
deltaX = -1*delta;
}
// Webkit
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
// Add event and delta to the front of the arguments
args.unshift(event, delta, deltaX, deltaY);
return ($.event.dispatch || $.event.handle).apply(this, args);
}
})(jQuery);

View file

@ -0,0 +1,10 @@
<div id="message-sidebar" class="widget">
<div id="message-new" class="{{ if $new.sel }}selected{{ endif }}"><a href="$new.url">$new.label</a> </div>
<ul class="message-ul">
{{ for $tabs as $t }}
<li class="tool {{ if $t.sel }}selected{{ endif }}"><a href="$t.url" class="message-link">$t.label</a></li>
{{ endfor }}
</ul>
</div>

View file

@ -137,8 +137,11 @@
<div id="scrollup" style="position: fixed; bottom: 5px; right: 10px;z-index: 97;"><a id="down" onclick="scrolldown()" ><img id="scroll_top_bottom" src="view/theme/diabook/icons/scroll_bottom.png" style="display:cursor !important;" alt="back to top" title="Scroll to bottom"></a></div>
<div style="position: fixed; bottom: 45px; left: 6px;">$langselector</div>
</div>
<div style="position: fixed; bottom: 61px; left: 6px;">$langselector</div>
<div style="position: fixed; bottom: 23px; left: 5px;"><a href="http://pad.toktan.org/p/diabook" target="blank" ><img src="view/theme/diabook/icons/bluebug.png" title="report bugs for the theme diabook"/></a></div>
<ul id="nav-notifications-template" style="display:none;" rel="template">
<li class="{4}"><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>

View file

@ -1,9 +1,9 @@
{{ if $item.indent $item.shiny }}{{ else }}
{{ if $item.indent }}{{ else }}
<div class="wall-item-decor">
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
<div class="wall-item-container $item.indent $item.shiny">
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper"

View file

@ -1211,11 +1211,7 @@ body .pageheader{
}
#birthday-notice, #event-notice, #birthday-wrapper, #event-wrapper{
background-color: lightblue;
border: think solid black;
margin: 2px;
padding: 5px;
width: 95%;
margin-bottom: 10px;
}
right_aside {

View file

@ -1186,11 +1186,7 @@ body .pageheader{
}
#birthday-notice, #event-notice, #birthday-wrapper, #event-wrapper{
background-color: lightblue;
border: think solid black;
margin: 2px;
padding: 5px;
width: 95%;
margin-bottom: 10px;
}
right_aside {

View file

@ -37,7 +37,7 @@ load_config("diabook");
load_pconfig(local_user(), "diabook");
//get statuses of boxes at right-hand-column
$close_pages = get_diabook_config( "close_pages", 0 );
$close_pages = get_diabook_config( "close_pages", 1 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );
@ -297,16 +297,16 @@ if ($color=="dark") $color_path = "/diabook-dark/";
<script>
$("right_aside").ready(function(){
if('.$close_mapquery.')
{
document.getElementById( "close_mapquery" ).style.display = "none";
};
if('.$close_pages.')
{
document.getElementById( "close_pages" ).style.display = "none";
};
if('.$close_mapquery.')
{
document.getElementById( "close_mapquery" ).style.display = "none";
};
if('.$close_profiles.')
{
document.getElementById( "close_profiles" ).style.display = "none";
@ -368,7 +368,7 @@ if ($color=="dark") $color_path = "/diabook-dark/";
function diabook_community_info() {
$a = get_app();
$close_pages = get_diabook_config( "close_pages", 0 );
$close_pages = get_diabook_config( "close_pages", 1 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );
@ -379,43 +379,6 @@ if ($color=="dark") $color_path = "/diabook-dark/";
$close_twitter = get_diabook_config( "close_twitter", 1 );
$close_mapquery = get_diabook_config( "close_mapquery", 1 );
//Community_Pages at right_aside
if($close_pages != "1") {
if(local_user()) {
$page = '
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decorat
ion:none;" class="icon close_box" title="'.t("Settings").'"></a></h3>
<div id=""><ul style="margin-left: 7px;margin-top: 0px;padding-left: 0px;padding-top: 0px;">';
$pagelist = array();
$contacts = q("SELECT `id`, `url`, `name`, `micro`FROM `contact`
WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d
ORDER BY `name` ASC",
intval($a->user['uid'])
);
$pageD = array();
// Look if the profile is a community page
foreach($contacts as $contact) {
$pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
};
$contacts = $pageD;
foreach($contacts as $contact) {
$page .= '<li style="list-style-type: none;" class="tool"><img height="20" width="20" style="float: left; margin-right: 3px;" src="' . $contact['micro'] .'" alt="' . $contact['url'] . '" /> <a href="'.$a->get_baseurl().'/redir/'.$contact["id"].'" style="margin-top: 2px; word-wrap: break-word; width: 132px;" title="' . $contact['url'] . '" class="label" target="external-link">'.
$contact["name"]."</a></li>";
}
$page .= '</ul></div>';
//if (sizeof($contacts) > 0)
$aside['$page'] = $page;
}
}
//END Community Page
// comunity_profiles
if($close_profiles != "1") {
$aside['$comunity_profiles_title'] = t('Community Profiles');
@ -567,6 +530,40 @@ ion:none;" class="icon close_box" title="'.t("Settings").'"></a></h3>
$aside['$nv'] = $nv;
}}
//Community_Pages at right_aside
if($close_pages != "1") {
if(local_user()) {
$page = '
<h3 style="margin-top:0px;">'.t("Community Pages").'<a id="closeicon" href="#boxsettings" onClick="open_boxsettings(); return false;" style="text-decoration:none;" class="icon close_box" title="'.t("Settings").'"></a></h3>
<div id=""><ul style="margin-left: 7px;margin-top: 0px;padding-left: 0px;padding-top: 0px;">';
$pagelist = array();
$contacts = q("SELECT `id`, `url`, `name`, `micro`FROM `contact`
WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d
ORDER BY `name` ASC",
intval($a->user['uid'])
);
$pageD = array();
// Look if the profile is a community page
foreach($contacts as $contact) {
$pageD[] = array("url"=>$contact["url"], "name"=>$contact["name"], "id"=>$contact["id"], "micro"=>$contact['micro']);
};
$contacts = $pageD;
foreach($contacts as $contact) {
$page .= '<li style="list-style-type: none;" class="tool"><img height="20" width="20" style="float: left; margin-right: 3px;" src="' . $contact['micro'] .'" alt="' . $contact['url'] . '" /> <a href="'.$a->get_baseurl().'/redir/'.$contact["id"].'" style="margin-top: 2px; word-wrap: break-word; width: 132px;" title="' . $contact['url'] . '" class="label" target="external-link">'.
$contact["name"]."</a></li>";
}
$page .= '</ul></div>';
//if (sizeof($contacts) > 0)
$aside['$page'] = $page;
}}
//END Community Page
//mapquery
@ -619,7 +616,7 @@ ion:none;" class="icon close_box" title="'.t("Settings").'"></a></h3>
}
//end twitter
if($ccCookie != "10") {
$close_pages = get_diabook_config( "close_pages", 0 );
$close_pages = get_diabook_config( "close_pages", 1 );
$close_profiles = get_diabook_config( "close_profiles", 0 );
$close_helpers = get_diabook_config( "close_helpers", 0 );
$close_services = get_diabook_config( "close_services", 0 );

View file

@ -1,36 +1,19 @@
{{if $mode == display}}
{{ else }}
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
<span id="hide-comments-total-$item.id"
class="hide-comments-total">$item.num_comments</span>
<span id="hide-comments-$item.id"
class="hide-comments fakelink"
onclick="showHideComments($item.id);">$item.hide_text</span>
{{ if $item.thread_level==3 }} -
<span id="hide-thread-$item-id"
class="fakelink"
onclick="showThread($item.id);">expand</span> /
<span id="hide-thread-$item-id"
class="fakelink"
onclick="hideThread($item.id);">collapse</span> thread{{ endif }}
<span id="hide-comments-total-$item.id" class="hide-comments-total">$item.num_comments</span> <span id="hide-comments-$item.id" class="hide-comments fakelink" onclick="showHideComments($item.id);">$item.hide_text</span>
</div>
<div id="collapsed-comments-$item.id" class="collapsed-comments" style="display: none;">
{{endif}}
{{ endif }}
{{ if $item.thread_level!=1 }}<div class="children">{{ endif }}
<div id="tread-wrapper-$item.id" class="tread-wrapper $item.toplevel">
{{ if $item.indent }}{{ else }}
<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>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
<div class="wall-item-container $item.indent $item.shiny" id="item-$item.id">
{{ endif }}
<div class="wall-item-container $item.indent">
<div class="wall-item-item">
<div class="wall-item-info">
<div class="contact-photo-wrapper mframe{{ if $item.owner_url }} wwfrom{{ endif }}"
<div class="contact-photo-wrapper"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="contact-photo-link" id="wall-item-photo-link-$item.id">
@ -42,55 +25,41 @@
</ul>
</div>
{{ if $item.owner_url }}
<div class="contact-photo-wrapper mframe wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
<a href="$item.owner_url" target="redir" title="$item.olinktitle" class="contact-photo-link" id="wall-item-ownerphoto-link-$item.id">
<img src="$item.owner_photo" class="contact-photo $item.osparkle" id="wall-item-ownerphoto-$item.id" alt="$item.owner_name" />
</a>
</div>
{{ endif }}
<div class="wall-item-location">$item.location</div>
</div>
<div class="wall-item-actions-author">
<a href="$item.profile_url" target="redir"
title="$item.linktitle"
class="wall-item-name-link"><span
class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago" title="$item.localtime">$item.ago</span>
{{ if $item.owner_url }}<br/>$item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall
{{ endif }}
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle">$item.name</span></a>
<span class="wall-item-ago">-
{{ if $item.plink }}<a class="link$item.sparkle" title="$item.plink.title" href="$item.plink.href" style="color: #999">$item.ago</a>{{ else }} $item.ago {{ endif }}
{{ if $item.lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$item.id);">$item.lock</span> {{ endif }}
</span>
</div>
<div class="wall-item-content">
{{ if $item.title }}<h2><a href="$item.plink.href" class="$item.sparkle">$item.title</a></h2>{{ endif }}
{{ if $item.title }}<h2><a href="$item.plink.href">$item.title</a></h2>{{ endif }}
$item.body
{{ if $item.has_cats }}
<div class="categorytags"><span>$item.txt_cats {{ for $item.categories as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
</div>
{{ endif }}
{{ if $item.has_folders }}
<div class="filesavetags"><span>$item.txt_folders {{ for $item.folders as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
</div>
{{ endif }}
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $item.hashtags as $tag }}
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
{{ for $item.mentions as $tag }}
<span class='mention'>$tag</span>
{{ endfor }}
{{ for $item.folders as $cat }}
<span class='folder'>$cat.name</a>{{if $cat.removeurl}} (<a href="$cat.removeurl" title="$remove">x</a>) {{endif}} </span>
{{ endfor }}
{{ for $item.categories as $cat }}
<span class='category'>$cat.name</a>{{if $cat.removeurl}} (<a href="$cat.removeurl" title="$remove">x</a>) {{endif}} </span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links">
{{ if $item.plink }}<a class="icon s16 link$item.sparkle" title="$item.plink.title" href="$item.plink.href">$item.plink.title</a>{{ endif }}
<div class="">
</div>
<div class="wall-item-actions">
<div class="wall-item-actions">
<div class="wall-item-actions-social">
@ -137,46 +106,31 @@
<div class="wall-item-location">$item.location&nbsp;</div>
</div>
</div>
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
</div>
</div>
{{ if $item.threaded }}{{ if $item.comment }}{{ if $item.indent $item.shiny==comment }}
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
{{ if $item.threaded }}
{{ if $item.comment }}
<div class="wall-item-comment-wrapper $item.indent" >
$item.comment
</div>
{{ endif }}
{{ endif }}
{{ if $item.flatten }}
<div class="wall-item-comment-wrapper" >
$item.comment
</div>
</div>
{{ endif }}{{ endif }}{{ endif }}
</div>
{{ for $item.children as $child }}
{{ if $item.type == tag }}
{{ inc wall_item_tag.tpl with $item=$child }}{{ endinc }}
{{ else }}
{{ inc $item.template with $item=$child }}{{ endinc }}
{{ endif }}
{{ for $item.children as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
{{ if $item.thread_level!=1 }}</div>{{ endif }}
{{if $mode == display}}
{{ else }}
</div>
{{if $item.comment_lastcollapsed}}</div>{{endif}}
{{ endif }}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >$item.comment</div>
{{ endif }}{{ endif }}{{ endif }}
{{ if $item.flatten }}
<div class="wall-item-comment-wrapper" >$item.comment</div>
{{ endif }}

View file

@ -12,7 +12,9 @@
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none" /></div>
<div id="character-counter" class="grey jothidden"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body">{{ if $content }}$content{{ else }}$share{{ endif }}
</textarea>

View file

@ -49,13 +49,19 @@
{{ if $item.star }}
<li>
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
</li>
{{ endif }}
{{ if $item.tagger }}
<li>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
</li>
{{ endif }}
{{ if $item.vote }}
<li class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id"
class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}

View file

@ -17,7 +17,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<div id="jot-text-wrap">
<!--<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />-->
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>

View file

@ -117,6 +117,12 @@
<!--<span id="net-update" class="nav-ajax-left"></span>-->
{{ endif }}
{{ if $nav.network }}
<li>
<a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">$nav.net_reset.1</a>
</li>
{{ endif }}
{{ if $nav.home }}
<li><a id="nav-home-link" class="$nav.home.2 $sel.home nav-load-page-link" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a></li>
<!--<span id="home-update" class="nav-ajax-left"></span>-->

View file

@ -278,6 +278,7 @@ nav .nav-link {
}
#network-menu-list {
width: 9em;
left: 3px;
}
@ -2750,7 +2751,7 @@ aside input[type='text'] {
margin-left: 100px;
margin-bottom: 20px;
}
.settings-submit, .profile-edit-submit-button {
.settings-submit, .profile-edit-submit-button, .settings-features-submit {
padding: 0.25em 0.5em;
margin-bottom: 10px;
font-size: 18px;
@ -3420,7 +3421,7 @@ aside input[type='text'] {
display: block;
margin-left: 20px;
color: #666666;
clear: left;
}
@ -3457,7 +3458,7 @@ aside input[type='text'] {
}
.hidden { display: none!important; }
.field.radio .field_help { clear: left; margin-left: 20px; }
.field.radio .field_help { margin-left: 20px; }
/**
* ADMIN

View file

@ -67,7 +67,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -81,7 +83,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 939 B

View file

@ -16,7 +16,9 @@
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
{{ endif }}
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>

View file

@ -130,6 +130,14 @@
</ul>
</div>
{{ if $nav.network }}
<div class="nav-button-container nav-menu-link" rel="#network-reset-button">
<a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">
<img class="network-reset-link" src="$baseurl/view/theme/frost/images/net-reset.png">
</a>
</div>
{{ endif }}
</span>
<!--<span id="nav-end"></span>-->
<span id="banner">$banner</span>

View file

@ -3204,6 +3204,9 @@ aside input[type='text'] {
float: left;
width: 200px;
}
.field.yesno label {
font-weight: 700;
}
.field input,
.field textarea {

View file

@ -66,7 +66,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="tool like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="tool dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}<a href="#" class="tool recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -80,7 +82,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item tool $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>

View file

@ -1,7 +1,10 @@
<form id="profile-jot-form" action="$action" method="post">
<div id="jot">
<div id="profile-jot-desc" class="jothidden">&nbsp;</div>
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" /><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" />
{{ if $placeholdercategory }}
<input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
{{ endif }}
<div id="character-counter" class="grey jothidden"></div>

View file

@ -93,8 +93,9 @@
{{ if $item.star }}
<a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do">$item.star.do</a>
<a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo">$item.star.undo</a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add">$item.tagger.add</a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer">$item.filer</a>
@ -102,8 +103,10 @@
{{ if $item.vote }}
<a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
{{ if $item.vote.dislike }}
<a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
{{ endif }}
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false">$item.vote.share.1</a>

View file

@ -18,9 +18,11 @@
<div id="jot-title-wrap">
<input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
</div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap">
<input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
</div>
{{ endif }}
<div id="jot-text-wrap">
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /><br>
<textarea rows="5" cols="80" class="profile-jot-text" id="profile-jot-text" name="body" >

View file

@ -85,7 +85,9 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
{{ if $item.vote.dislike }}
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ endif }}
{{ if $item.vote.share }}
<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a> {{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
@ -100,7 +102,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}

View file

@ -50,7 +50,7 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -64,7 +64,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >

View file

@ -93,15 +93,19 @@
{{ endif }}{{ endif }}
{{ if $item.vote }}
<a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"><i class="icon-thumbs-up icon-large"></i></a>
{{ if $item.vote.dislike }}
<a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"><i class="icon-thumbs-down icon-large"></i></a>
{{ endif }}
{{ endif }}
{{ if $item.vote.share }}
<a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false"><i class="icon-share icon-large"></i></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="star-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classdo" title="$item.star.do"><i class="icon-star icon-large"></i></a>
<a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;" class="$item.star.classundo" title="$item.star.undo"><i class="icon-star-empty icon-large"></i></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger"><i class="icon-tags icon-large"></i></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add"><i class="icon-tags icon-large"></i></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"><i class="icon-folder-close icon-large"></i></a>

View file

@ -64,7 +64,7 @@
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
@ -78,7 +78,9 @@
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.tagger }}
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>

View file

@ -0,0 +1,14 @@
尊敬的$[myname],
您有新关注的在$[sitename]-「$[requestor]」。
您能看他的简介在$[url]。
请再您的网页登记为确认或取消要求。
$[siteurl]
谨上,
$[sitename]行政人员

View file

@ -0,0 +1,22 @@
尊敬的$[username],
精彩新闻... 「$[fn]」在「$[dfrn_url]」接受了
您的连通要求在「$[sitename]」。
您们现在是共同的朋友们,会兑换现状更新,照片和邮件
无限
请看您的联络页在$[sitename]如果您想做
什么变化关于这个关系。
$[siteurl]
[例如,您会想造成区分的简介括无
公开-和分配看权利给「$[fn]」
谨上,
$[sitename]行政人员

View file

@ -0,0 +1,22 @@
尊敬的$[username],
「$[fn]」在「$[dfrn_url]」接受了
您的联络要求在「$[sitename]」
「$[fn]」接受您为迷。这限制
有的种类沟通,例如私人信息和简介
操作。如果这是名人或社会页,这些设置是
自动地应用。
「$[fn]」会将来选择延长关系成双向的或更允许的
关系。
您会开始受到公开的现状更新从「$[fn]」,
它们出现在您的「网络」页在
$[siteurl]
谨上,
$[sitename]行政人员

View file

@ -0,0 +1,32 @@
尊敬的$[username]
$[sitename]最近收到一个要求复位您的账户
密码。为肯定这个要求,请点击肯定按钮
在下边或粘贴在您的游览器地址条
如果您没有要求这个变化请别点击这个按努i
和不理或删除这个邮件。
您密码没有被变化直到我们证实您
发送这个要求时。
点击这个按钮为证实您的同一个人:
$[reset_link]
然后您收到后续通信包括新密码。
您会变化密码在您的账户设置页登记后。
登记细节是:
网站位置: $[siteurl]
登记名: $[email]
谨上,
$[sitename]行政人员

9427
view/zh-cn/messages.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,20 @@
尊敬的$[username]。
您的随您要求密码变化了。请保持这
信息为您的备案(或立即变化您的密码成
什么容易记住)。
您的登记信息是:
网站位置: $[siteurl]
登记名: $[email]
密码: $[new_password]
您会变化这个密码在您的账户设置页登记后。
谨上,
$[sitename]行政人员

View file

@ -0,0 +1,34 @@
尊敬的$[username]
谢谢注册在$[sitename]。您的账户造成了。
登记信息是:
网页位置: $[siteurl]
用户名: $[email]
密码: $[password]
您会变化您的密码在您的账户「设置」页
登记后。
请抽几片刻评论别的账户设置在这个页。
您也可能想添加一些基础信息给您的默认简介
(在「简介」页)为让别人容易地搜索。
我们建议您指定您全名,添加简介照片,
添加一些简介关键字(很有用找朋友们)和
也许您的国家,如果您不想更具体
的。
我们完全尊敬您隐私权利,这些项目没有必要的。
您新注册,人们熟,他们会帮您
找新和有意思的朋友们。
谢谢您,$[sitename]欢迎您。
谨上
$[sitename]行政人员

View file

@ -0,0 +1,25 @@
受到新的用户注册要求在$[sitename],要
您的批准。
登记信息是:
全名: $[username]
网站位置: $[siteurl]
登记名: $[email]
为批准这个要求请点击这个按钮:
$[siteurl]/regmod/allow/$[hash]
为否定这个要求和删除账户,请点击这个按钮:
$[siteurl]/regmod/deny/$[hash]
谢谢您。

View file

@ -0,0 +1,17 @@
尊敬的$[myname]
您刚才受到了一个连接要求在$[sitename]
从「$[requestor]」。
您会看他的简介在[$url]。
请登记在您的网站为看他们全介绍
和批准或不理/注销要求。
$[siteurl]
谨上,
$[sitename]行政人员

2028
view/zh-cn/strings.php Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
Hey,
I'm $sitename.
The friendica developers released update $update recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and I can't do it alone. Please contact a
friendica developer if you can not help me on your own. My database might be invalid.
The error message is '$error'.
I'm sorry,
your friendica server at $siteurl