Merge remote-tracking branch 'upstream/master'

Merge upstream
This commit is contained in:
Thomas Willingham 2012-04-24 04:54:14 +01:00
commit 92820c5181
6 changed files with 202 additions and 117 deletions

View File

@ -9,7 +9,7 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '2.3.1320' );
define ( 'FRIENDICA_VERSION', '2.3.1321' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1138 );

View File

@ -73,6 +73,49 @@ function contact_remove($id) {
}
// sends an unfriend message. Does not remove the contact
function terminate_friendship($user,$self,$contact) {
$a = get_app();
require_once('include/datetime.php');
if($contact['network'] === NETWORK_OSTATUS) {
$slap = replace_macros(get_markup_template('follow_slap.tpl'), array(
'$name' => $user['username'],
'$profile_page' => $a->get_baseurl() . '/profile/' . $user['nickname'],
'$photo' => $self['photo'],
'$thumb' => $self['thumb'],
'$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
'$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(),
'$title' => '',
'$type' => 'text',
'$content' => t('stopped following'),
'$nick' => $user['nickname'],
'$verb' => 'http://ostatus.org/schema/1.0/unfollow', // ACTIVITY_UNFOLLOW,
'$ostat_follow' => '' // '<as:verb>http://ostatus.org/schema/1.0/unfollow</as:verb>' . "\r\n"
));
if((x($contact,'notify')) && (strlen($contact['notify']))) {
require_once('include/salmon.php');
slapper($user,$contact['notify'],$slap);
}
}
elseif($contact['network'] === NETWORK_DIASPORA) {
require_once('include/diaspora.php');
diaspora_unshare($user,$contact);
}
elseif($contact['network'] === NETWORK_DFRN) {
require_once('include/items.php');
dfrn_deliver($user,$contact,'placeholder', 1);
}
}
// Contact has refused to recognise us as a friend. We will start a countdown.
// If they still don't recognise us in 32 days, the relationship is over,
// and we won't waste any more time trying to communicate with them.

View File

@ -38,6 +38,22 @@ function acl_init(&$a){
intval(local_user())
);
$contact_count = (int)$r[0]['c'];
}
elseif ($type == 'm') {
// autocomplete for Private Messages
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0
AND `network` IN ('%s','%s','%s') $sql_extra2" ,
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
$contact_count = (int)$r[0]['c'];
} else {
$contact_count = 0;
}
@ -83,6 +99,23 @@ function acl_init(&$a){
ORDER BY `name` ASC ",
intval(local_user())
);
}
elseif($type == 'm') {
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0
AND `network` IN ('%s','%s','%s')
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
}
else
$r = array();
if(count($r)) {
foreach($r as $g){
$contacts[] = array(
"type" => "c",
@ -94,10 +127,8 @@ function acl_init(&$a){
"nick" => ($g['attag']) ? $g['attag'] : $g['nick'],
);
}
}
$items = array_merge($groups, $contacts);
$o = array(

View File

@ -184,38 +184,9 @@ function contacts_content(&$a) {
if($cmd === 'drop') {
// create an unfollow slap
require_once('include/Contact.php');
if($orig_record[0]['network'] === NETWORK_OSTATUS) {
$tpl = get_markup_template('follow_slap.tpl');
$slap = replace_macros($tpl, array(
'$name' => $a->user['username'],
'$profile_page' => $a->get_baseurl() . '/profile/' . $a->user['nickname'],
'$photo' => $a->contact['photo'],
'$thumb' => $a->contact['thumb'],
'$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
'$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(),
'$title' => '',
'$type' => 'text',
'$content' => t('stopped following'),
'$nick' => $a->user['nickname'],
'$verb' => 'http://ostatus.org/schema/1.0/unfollow', // ACTIVITY_UNFOLLOW,
'$ostat_follow' => '' // '<as:verb>http://ostatus.org/schema/1.0/unfollow</as:verb>' . "\r\n"
));
if((x($orig_record[0],'notify')) && (strlen($orig_record[0]['notify']))) {
require_once('include/salmon.php');
slapper($a->user,$orig_record[0]['notify'],$slap);
}
}
elseif($orig_record[0]['network'] === NETWORK_DIASPORA) {
require_once('include/diaspora.php');
diaspora_unshare($a->user,$orig_record[0]);
}
elseif($orig_record[0]['network'] === NETWORK_DFRN) {
require_once('include/items.php');
dfrn_deliver($a->user,$orig_record[0],'placeholder', 1);
}
terminate_friendship($a->user,$a->contact,$orig_record[0]);
contact_remove($orig_record[0]['id']);
info( t('Contact has been removed.') . EOL );

View File

@ -392,10 +392,22 @@ function dfrn_request_post(&$a) {
);
}
// contact is created. Now send an email verify form to the requestor.
//
// contact is created. Now create an introduction
$hash = random_string();
$r = q("insert into intro ( uid, `contact-id`, knowyou, note, hash, datetime, blocked )
values( %d , %d, %d, '%s', '%s', '%s', %d ) ",
intval($uid),
intval($contact_id),
((x($_POST,'knowyou') && ($_POST['knowyou'] == 1)) ? 1 : 0),
dbesc(notags(trim($_POST['dfrn-request-message']))),
dbesc($hash),
dbesc(datetime_convert()),
1
);
// Next send an email verify form to the requestor.
}

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 2.3.1320\n"
"Project-Id-Version: 2.3.1321\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-22 10:00-0700\n"
"POT-Creation-Date: 2012-04-23 10:00-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -50,7 +50,7 @@ msgstr ""
#: ../../mod/profile_photo.php:139 ../../mod/profile_photo.php:150
#: ../../mod/profile_photo.php:163 ../../mod/message.php:38
#: ../../mod/message.php:90 ../../mod/allfriends.php:9
#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:46
#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
#: ../../mod/follow.php:8 ../../mod/common.php:9 ../../mod/display.php:138
#: ../../mod/profiles.php:7 ../../mod/profiles.php:329
#: ../../mod/delegate.php:6 ../../mod/suggest.php:28 ../../mod/invite.php:13
@ -290,7 +290,7 @@ msgid "Share this event"
msgstr ""
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
#: ../../mod/dfrn_request.php:752 ../../mod/settings.php:533
#: ../../mod/dfrn_request.php:800 ../../mod/settings.php:533
#: ../../mod/settings.php:559 ../../addon/js_upload/js_upload.php:45
msgid "Cancel"
msgstr ""
@ -334,7 +334,7 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
#: ../../mod/api.php:105 ../../mod/dfrn_request.php:740
#: ../../mod/api.php:105 ../../mod/dfrn_request.php:788
#: ../../mod/settings.php:844 ../../mod/settings.php:850
#: ../../mod/settings.php:858 ../../mod/settings.php:862
#: ../../mod/settings.php:867 ../../mod/settings.php:873
@ -345,7 +345,7 @@ msgstr ""
msgid "Yes"
msgstr ""
#: ../../mod/api.php:106 ../../mod/dfrn_request.php:741
#: ../../mod/api.php:106 ../../mod/dfrn_request.php:789
#: ../../mod/settings.php:844 ../../mod/settings.php:850
#: ../../mod/settings.php:858 ../../mod/settings.php:862
#: ../../mod/settings.php:867 ../../mod/settings.php:873
@ -445,17 +445,17 @@ msgid "Image file is empty."
msgstr ""
#: ../../mod/photos.php:653 ../../mod/profile_photo.php:124
#: ../../mod/wall_upload.php:69
#: ../../mod/wall_upload.php:83
msgid "Unable to process image."
msgstr ""
#: ../../mod/photos.php:673 ../../mod/profile_photo.php:257
#: ../../mod/wall_upload.php:88
#: ../../mod/wall_upload.php:102
msgid "Image upload failed."
msgstr ""
#: ../../mod/photos.php:759 ../../mod/community.php:16
#: ../../mod/dfrn_request.php:671 ../../mod/viewcontacts.php:17
#: ../../mod/dfrn_request.php:719 ../../mod/viewcontacts.php:17
#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
msgid "Public access denied."
msgstr ""
@ -730,19 +730,19 @@ msgstr ""
msgid "This introduction has already been accepted."
msgstr ""
#: ../../mod/dfrn_request.php:117 ../../mod/dfrn_request.php:427
#: ../../mod/dfrn_request.php:117 ../../mod/dfrn_request.php:475
msgid "Profile location is not valid or does not contain profile information."
msgstr ""
#: ../../mod/dfrn_request.php:122 ../../mod/dfrn_request.php:432
#: ../../mod/dfrn_request.php:122 ../../mod/dfrn_request.php:480
msgid "Warning: profile location has no identifiable owner name."
msgstr ""
#: ../../mod/dfrn_request.php:124 ../../mod/dfrn_request.php:434
#: ../../mod/dfrn_request.php:124 ../../mod/dfrn_request.php:482
msgid "Warning: profile location has no profile photo."
msgstr ""
#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:437
#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:485
#, php-format
msgid "%d required parameter was not found at the given location"
msgid_plural "%d required parameters were not found at the given location"
@ -786,128 +786,128 @@ msgstr ""
msgid "This account has not been configured for email. Request failed."
msgstr ""
#: ../../mod/dfrn_request.php:372
#: ../../mod/dfrn_request.php:420
msgid "Unable to resolve your name at the provided location."
msgstr ""
#: ../../mod/dfrn_request.php:385
#: ../../mod/dfrn_request.php:433
msgid "You have already introduced yourself here."
msgstr ""
#: ../../mod/dfrn_request.php:389
#: ../../mod/dfrn_request.php:437
#, php-format
msgid "Apparently you are already friends with %s."
msgstr ""
#: ../../mod/dfrn_request.php:410
#: ../../mod/dfrn_request.php:458
msgid "Invalid profile URL."
msgstr ""
#: ../../mod/dfrn_request.php:416 ../../mod/follow.php:20
#: ../../mod/dfrn_request.php:464 ../../mod/follow.php:20
msgid "Disallowed profile URL."
msgstr ""
#: ../../mod/dfrn_request.php:485 ../../mod/contacts.php:102
#: ../../mod/dfrn_request.php:533 ../../mod/contacts.php:102
msgid "Failed to update contact record."
msgstr ""
#: ../../mod/dfrn_request.php:506
#: ../../mod/dfrn_request.php:554
msgid "Your introduction has been sent."
msgstr ""
#: ../../mod/dfrn_request.php:559
#: ../../mod/dfrn_request.php:607
msgid "Please login to confirm introduction."
msgstr ""
#: ../../mod/dfrn_request.php:573
#: ../../mod/dfrn_request.php:621
msgid ""
"Incorrect identity currently logged in. Please login to <strong>this</"
"strong> profile."
msgstr ""
#: ../../mod/dfrn_request.php:585
#: ../../mod/dfrn_request.php:633
#, php-format
msgid "Welcome home %s."
msgstr ""
#: ../../mod/dfrn_request.php:586
#: ../../mod/dfrn_request.php:634
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr ""
#: ../../mod/dfrn_request.php:587
#: ../../mod/dfrn_request.php:635
msgid "Confirm"
msgstr ""
#: ../../mod/dfrn_request.php:628 ../../include/items.php:2691
#: ../../mod/dfrn_request.php:676 ../../include/items.php:2691
msgid "[Name Withheld]"
msgstr ""
#: ../../mod/dfrn_request.php:715
#: ../../mod/dfrn_request.php:763
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr ""
#: ../../mod/dfrn_request.php:731
#: ../../mod/dfrn_request.php:779
msgid "<strike>Connect as an email follower</strike> (Coming soon)"
msgstr ""
#: ../../mod/dfrn_request.php:733
#: ../../mod/dfrn_request.php:781
msgid ""
"If you are not yet a member of the free social web, <a href=\"http://dir."
"friendica.com/siteinfo\">follow this link to find a public Friendica site "
"and join us today</a>."
msgstr ""
#: ../../mod/dfrn_request.php:736
#: ../../mod/dfrn_request.php:784
msgid "Friend/Connection Request"
msgstr ""
#: ../../mod/dfrn_request.php:737
#: ../../mod/dfrn_request.php:785
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@identi.ca"
msgstr ""
#: ../../mod/dfrn_request.php:738
#: ../../mod/dfrn_request.php:786
msgid "Please answer the following:"
msgstr ""
#: ../../mod/dfrn_request.php:739
#: ../../mod/dfrn_request.php:787
#, php-format
msgid "Does %s know you?"
msgstr ""
#: ../../mod/dfrn_request.php:742
#: ../../mod/dfrn_request.php:790
msgid "Add a personal note:"
msgstr ""
#: ../../mod/dfrn_request.php:744 ../../include/contact_selectors.php:76
#: ../../mod/dfrn_request.php:792 ../../include/contact_selectors.php:76
msgid "Friendica"
msgstr ""
#: ../../mod/dfrn_request.php:745
#: ../../mod/dfrn_request.php:793
msgid "StatusNet/Federated Social Web"
msgstr ""
#: ../../mod/dfrn_request.php:746 ../../mod/settings.php:629
#: ../../mod/dfrn_request.php:794 ../../mod/settings.php:629
#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr ""
#: ../../mod/dfrn_request.php:747
#: ../../mod/dfrn_request.php:795
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search "
"bar."
msgstr ""
#: ../../mod/dfrn_request.php:748
#: ../../mod/dfrn_request.php:796
msgid "Your Identity Address:"
msgstr ""
#: ../../mod/dfrn_request.php:751
#: ../../mod/dfrn_request.php:799
msgid "Submit Request"
msgstr ""
@ -1676,7 +1676,7 @@ msgstr ""
#: ../../mod/register.php:388 ../../mod/register.php:442
#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:732
#: ../../addon/facebook/facebook.php:650
#: ../../addon/facebook/facebook.php:1136
#: ../../addon/facebook/facebook.php:1139
#: ../../addon/testdrive/testdrive.php:58 ../../include/items.php:2700
msgid "Administrator"
msgstr ""
@ -2310,7 +2310,9 @@ msgid "Personal Notes"
msgstr ""
#: ../../mod/notes.php:63 ../../mod/filer.php:30
#: ../../addon/facebook/facebook.php:715 ../../include/text.php:652
#: ../../addon/facebook/facebook.php:717
#: ../../addon/privacy_image_cache/privacy_image_cache.php:147
#: ../../include/text.php:652
msgid "Save"
msgstr ""
@ -2742,7 +2744,7 @@ msgid "People Search"
msgstr ""
#: ../../mod/like.php:127 ../../mod/tagger.php:70
#: ../../addon/facebook/facebook.php:1655
#: ../../addon/facebook/facebook.php:1533
#: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167
#: ../../view/theme/diabook/diabook-green/theme.php:83
@ -2765,7 +2767,7 @@ msgstr ""
msgid "status"
msgstr ""
#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1659
#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1537
#: ../../addon/communityhome/communityhome.php:172
#: ../../view/theme/diabook/diabook-green/theme.php:97
#: ../../view/theme/diabook/diabook-red/theme.php:96
@ -2831,8 +2833,8 @@ msgstr ""
msgid "Empty post discarded."
msgstr ""
#: ../../mod/item.php:372 ../../mod/wall_upload.php:85
#: ../../mod/wall_upload.php:94 ../../mod/wall_upload.php:101
#: ../../mod/item.php:372 ../../mod/wall_upload.php:99
#: ../../mod/wall_upload.php:108 ../../mod/wall_upload.php:115
#: ../../include/message.php:144
msgid "Wall Photos"
msgstr ""
@ -2883,7 +2885,7 @@ msgstr ""
msgid "Unable to process image"
msgstr ""
#: ../../mod/profile_photo.php:115 ../../mod/wall_upload.php:60
#: ../../mod/profile_photo.php:115 ../../mod/wall_upload.php:74
#, php-format
msgid "Image exceeds size limit of %d"
msgstr ""
@ -3509,48 +3511,48 @@ msgstr ""
msgid "Tips for New Members"
msgstr ""
#: ../../mod/ping.php:175
#: ../../mod/ping.php:177
msgid "{0} wants to be your friend"
msgstr ""
#: ../../mod/ping.php:180
#: ../../mod/ping.php:182
msgid "{0} sent you a message"
msgstr ""
#: ../../mod/ping.php:185
#: ../../mod/ping.php:187
msgid "{0} requested registration"
msgstr ""
#: ../../mod/ping.php:191
#: ../../mod/ping.php:193
#, php-format
msgid "{0} commented %s's post"
msgstr ""
#: ../../mod/ping.php:196
#: ../../mod/ping.php:198
#, php-format
msgid "{0} liked %s's post"
msgstr ""
#: ../../mod/ping.php:201
#: ../../mod/ping.php:203
#, php-format
msgid "{0} disliked %s's post"
msgstr ""
#: ../../mod/ping.php:206
#: ../../mod/ping.php:208
#, php-format
msgid "{0} is now friends with %s"
msgstr ""
#: ../../mod/ping.php:211
#: ../../mod/ping.php:213
msgid "{0} posted"
msgstr ""
#: ../../mod/ping.php:216
#: ../../mod/ping.php:218
#, php-format
msgid "{0} tagged %s's post with #%s"
msgstr ""
#: ../../mod/ping.php:222
#: ../../mod/ping.php:224
msgid "{0} mentioned you in a post"
msgstr ""
@ -4262,93 +4264,99 @@ msgstr ""
msgid "Facebook API Key"
msgstr ""
#: ../../addon/facebook/facebook.php:700
#: ../../addon/facebook/facebook.php:701
msgid ""
"Error: it appears that you have specified the App-ID and -Secret in your ."
"htconfig.php file. As long as they are specified there, they cannot be set "
"using this form.<br><br>"
msgstr ""
#: ../../addon/facebook/facebook.php:705
#: ../../addon/facebook/facebook.php:706
msgid ""
"Error: the given API Key seems to be incorrect (the application access token "
"could not be retrieved)."
msgstr ""
#: ../../addon/facebook/facebook.php:707
#: ../../addon/facebook/facebook.php:708
msgid "The given API Key seems to work correctly."
msgstr ""
#: ../../addon/facebook/facebook.php:709
#: ../../addon/facebook/facebook.php:710
msgid ""
"The correctness of the API Key could not be detected. Somthing strange's "
"going on."
msgstr ""
#: ../../addon/facebook/facebook.php:712
#: ../../addon/facebook/facebook.php:713
msgid "App-ID / API-Key"
msgstr ""
#: ../../addon/facebook/facebook.php:713
#: ../../addon/facebook/facebook.php:714
msgid "Application secret"
msgstr ""
#: ../../addon/facebook/facebook.php:714
#: ../../addon/facebook/facebook.php:715
#, php-format
msgid "Polling Interval (min. %1$s minutes)"
msgstr ""
#: ../../addon/facebook/facebook.php:718
#: ../../addon/facebook/facebook.php:716
msgid ""
"Synchronize comments (no comments on Facebook are missed, at the cost of "
"increased system load)"
msgstr ""
#: ../../addon/facebook/facebook.php:720
msgid "Real-Time Updates"
msgstr ""
#: ../../addon/facebook/facebook.php:722
#: ../../addon/facebook/facebook.php:724
msgid "Real-Time Updates are activated."
msgstr ""
#: ../../addon/facebook/facebook.php:723
#: ../../addon/facebook/facebook.php:725
msgid "Deactivate Real-Time Updates"
msgstr ""
#: ../../addon/facebook/facebook.php:725
#: ../../addon/facebook/facebook.php:727
msgid "Real-Time Updates not activated."
msgstr ""
#: ../../addon/facebook/facebook.php:725
#: ../../addon/facebook/facebook.php:727
msgid "Activate Real-Time Updates"
msgstr ""
#: ../../addon/facebook/facebook.php:743
#: ../../addon/facebook/facebook.php:746
msgid "The new values have been saved."
msgstr ""
#: ../../addon/facebook/facebook.php:767
#: ../../addon/facebook/facebook.php:770
msgid "Post to Facebook"
msgstr ""
#: ../../addon/facebook/facebook.php:865
#: ../../addon/facebook/facebook.php:868
msgid ""
"Post to Facebook cancelled because of multi-network access permission "
"conflict."
msgstr ""
#: ../../addon/facebook/facebook.php:1085
#: ../../addon/facebook/facebook.php:1088
msgid "View on Friendica"
msgstr ""
#: ../../addon/facebook/facebook.php:1118
#: ../../addon/facebook/facebook.php:1121
msgid "Facebook post failed. Queued for retry."
msgstr ""
#: ../../addon/facebook/facebook.php:1158
#: ../../addon/facebook/facebook.php:1161
msgid "Your Facebook connection became invalid. Please Re-authenticate."
msgstr ""
#: ../../addon/facebook/facebook.php:1159
#: ../../addon/facebook/facebook.php:1162
msgid "Facebook connection became invalid"
msgstr ""
#: ../../addon/facebook/facebook.php:1160
#: ../../addon/facebook/facebook.php:1163
#, php-format
msgid ""
"Hi %1$s,\n"
@ -4358,6 +4366,26 @@ msgid ""
"connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:144
msgid "Lifetime of the cache (in hours)"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:149
msgid "Cache Statistics"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:152
msgid "Number of items"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:154
msgid "Size of the cache"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:156
msgid "Delete the whole cache"
msgstr ""
#: ../../addon/widgets/widget_like.php:58
#, php-format
msgid "%d person likes this"
@ -6541,7 +6569,7 @@ msgstr ""
msgid "$1 wrote:"
msgstr ""
#: ../../include/bbcode.php:238 ../../include/bbcode.php:304
#: ../../include/bbcode.php:238 ../../include/bbcode.php:307
msgid "Image/photo"
msgstr ""