Merge remote branch 'upstream/master'

Conflicts:
	update.php
This commit is contained in:
Michael Vogel 2012-08-02 00:21:14 +02:00
commit 04c31d194f
316 changed files with 18693 additions and 1540 deletions

View file

@ -8,11 +8,12 @@ require_once('include/datetime.php');
require_once('include/pgettext.php');
require_once('include/nav.php');
require_once('include/cache.php');
require_once('library/Mobile_Detect/Mobile_Detect.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '3.0.1407' );
define ( 'FRIENDICA_VERSION', '3.0.1421' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1153 );
define ( 'DB_UPDATE_VERSION', 1154 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -191,6 +192,7 @@ define ( 'NOTIFY_SUGGEST', 0x0020 );
define ( 'NOTIFY_PROFILE', 0x0040 );
define ( 'NOTIFY_TAGSELF', 0x0080 );
define ( 'NOTIFY_TAGSHARE', 0x0100 );
define ( 'NOTIFY_POKE', 0x0200 );
define ( 'NOTIFY_SYSTEM', 0x8000 );
@ -215,7 +217,7 @@ define ( 'TERM_OBJ_PHOTO', 2 );
* various namespaces we may need to parse
*/
define ( 'NAMESPACE_ZOT', 'http://purl.org/macgirvin/zot' );
define ( 'NAMESPACE_ZOT', 'http://purl.org/zot' );
define ( 'NAMESPACE_DFRN' , 'http://purl.org/macgirvin/dfrn/1.0' );
define ( 'NAMESPACE_THREAD' , 'http://purl.org/syndication/thread/1.0' );
define ( 'NAMESPACE_TOMB' , 'http://purl.org/atompub/tombstones/1.0' );
@ -250,6 +252,8 @@ define ( 'ACTIVITY_UPDATE', NAMESPACE_ACTIVITY_SCHEMA . 'update' );
define ( 'ACTIVITY_TAG', NAMESPACE_ACTIVITY_SCHEMA . 'tag' );
define ( 'ACTIVITY_FAVORITE', NAMESPACE_ACTIVITY_SCHEMA . 'favorite' );
define ( 'ACTIVITY_POKE', NAMESPACE_ZOT . '/activity/poke' );
define ( 'ACTIVITY_OBJ_COMMENT', NAMESPACE_ACTIVITY_SCHEMA . 'comment' );
define ( 'ACTIVITY_OBJ_NOTE', NAMESPACE_ACTIVITY_SCHEMA . 'note' );
define ( 'ACTIVITY_OBJ_PERSON', NAMESPACE_ACTIVITY_SCHEMA . 'person' );
@ -556,7 +560,7 @@ if(! class_exists('App')) {
$interval = 40000;
$this->page['title'] = $this->config['sitename'];
$tpl = file_get_contents('view/head.tpl');
$tpl = get_markup_template('head.tpl');
$this->page['htmlhead'] = replace_macros($tpl,array(
'$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
'$local_user' => local_user(),
@ -569,6 +573,13 @@ if(! class_exists('App')) {
));
}
function init_page_end() {
$tpl = get_markup_template('end.tpl');
$this->page['end'] = replace_macros($tpl,array(
'$baseurl' => $this->get_baseurl() // FIXME for z_path!!!!
));
}
function set_curl_code($code) {
$this->curl_code = $code;
}
@ -744,9 +755,10 @@ if(! function_exists('check_config')) {
// If the update fails or times-out completely you may need to
// delete the config entry to try again.
if(get_config('database','update_' . $x))
$t = get_config('database','update_' . $x);
if($t !== false)
break;
set_config('database','update_' . $x, '1');
set_config('database','update_' . $x, time());
// call the specific update
@ -769,13 +781,14 @@ if(! function_exists('check_config')) {
. 'Content-transfer-encoding: 8bit' );
//try the logger
logger('CRITICAL: Update Failed: '. $x);
break;
}
else
else {
set_config('database','update_' . $x, 'success');
set_config('system','build', $x + 1);
}
}
}
set_config('system','build', DB_UPDATE_VERSION);
}
}
}
@ -1238,6 +1251,12 @@ if(! function_exists('get_birthdays')) {
if(! local_user())
return $o;
$mobile_detect = new Mobile_Detect();
$is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
if($is_mobile)
return $o;
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
$bd_short = t('F d');
@ -1317,6 +1336,13 @@ if(! function_exists('get_events')) {
if(! local_user())
return $o;
$mobile_detect = new Mobile_Detect();
$is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
if($is_mobile)
return $o;
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
$bd_short = t('F d');
@ -1438,9 +1464,18 @@ if(! function_exists('current_theme')) {
$a = get_app();
$system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
$theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme);
$mobile_detect = new Mobile_Detect();
$is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
if($is_mobile) {
$system_theme = ((isset($a->config['system']['mobile-theme'])) ? $a->config['system']['mobile-theme'] : '');
$theme_name = ((isset($_SESSION) && x($_SESSION,'mobile-theme')) ? $_SESSION['mobile-theme'] : $system_theme);
}
if(!$is_mobile || ($system_theme === '' && $theme_name === '')) {
$system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
$theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme);
}
if($theme_name &&
(file_exists('view/theme/' . $theme_name . '/style.css') ||
file_exists('view/theme/' . $theme_name . '/style.php')))
@ -1576,18 +1611,21 @@ if(! function_exists('profile_tabs')){
'url' => $url,
'sel' => ((!isset($tab)&&$a->argv[0]=='profile')?'active':''),
'title' => t('Status Messages and Posts'),
'id' => 'status-tab',
),
array(
'label' => t('Profile'),
'url' => $url.'/?tab=profile',
'sel' => ((isset($tab) && $tab=='profile')?'active':''),
'title' => t('Profile Details'),
'id' => 'profile-tab',
),
array(
'label' => t('Photos'),
'url' => $a->get_baseurl() . '/photos/' . $nickname,
'sel' => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''),
'title' => t('Photo Albums'),
'id' => 'photo-tab',
),
);
@ -1597,12 +1635,14 @@ if(! function_exists('profile_tabs')){
'url' => $a->get_baseurl() . '/events',
'sel' =>((!isset($tab)&&$a->argv[0]=='events')?'active':''),
'title' => t('Events and Calendar'),
'id' => 'events-tab',
);
$tabs[] = array(
'label' => t('Personal Notes'),
'url' => $a->get_baseurl() . '/notes',
'sel' =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''),
'title' => t('Only You Can See This'),
'id' => 'notes-tab',
);
}

View file

@ -456,6 +456,7 @@ CREATE TABLE IF NOT EXISTS `hook` (
`hook` char(255) NOT NULL,
`file` char(255) NOT NULL,
`function` char(255) NOT NULL,
`priority` int(11) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

View file

@ -192,6 +192,7 @@ function contact_photo_menu($contact) {
$status_link="";
$photos_link="";
$posts_link="";
$poke_link="";
$sparkle = false;
if($contact['network'] === NETWORK_DFRN) {
@ -211,10 +212,12 @@ function contact_photo_menu($contact) {
$pm_url = $a->get_baseurl() . '/message/new/' . $contact['id'];
}
$poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id'];
$contact_url = $a->get_baseurl() . '/contacts/' . $contact['id'];
$posts_link = $a->get_baseurl() . '/network/?cid=' . $contact['id'];
$menu = Array(
t("Poke") => $poke_link,
t("View Status") => $status_link,
t("View Profile") => $profile_link,
t("View Photos") => $photos_link,

View file

@ -3,495 +3,686 @@
if(! class_exists("Photo")) {
class Photo {
private $image;
private $width;
private $height;
private $valid;
private $type;
private $types;
private $image;
/**
* supported mimetypes and corresponding file extensions
*/
static function supportedTypes() {
$t = array();
$t['image/jpeg'] ='jpg';
if (imagetypes() & IMG_PNG) $t['image/png'] = 'png';
return $t;
}
/**
* Put back gd stuff, not everybody have Imagick
*/
private $imagick;
private $width;
private $height;
private $valid;
private $type;
private $types;
public function __construct($data, $type="image/jpeg") {
/**
* supported mimetypes and corresponding file extensions
*/
static function supportedTypes() {
if(class_exists('Imagick')) {
/**
* Imagick::queryFormats won't help us a lot there...
* At least, not yet, other parts of friendica uses this array
*/
$t = array(
'image/jpeg' => 'jpg',
'image/png' => 'png',
'image/gif' => 'gif'
);
} else {
$t = array();
$t['image/jpeg'] ='jpg';
if (imagetypes() & IMG_PNG) $t['image/png'] = 'png';
}
$this->types = $this->supportedTypes();
if (!array_key_exists($type,$this->types)){
$type='image/jpeg';
}
$this->valid = false;
$this->type = $type;
$this->image = @imagecreatefromstring($data);
if($this->image !== FALSE) {
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
$this->valid = true;
imagealphablending($this->image, false);
imagesavealpha($this->image, true);
}
}
return $t;
}
public function __destruct() {
if($this->image)
imagedestroy($this->image);
}
public function __construct($data, $type=null) {
$this->imagick = class_exists('Imagick');
$this->types = $this->supportedTypes();
if (!array_key_exists($type,$this->types)){
$type='image/jpeg';
}
$this->type = $type;
public function is_valid() {
return $this->valid;
}
if($this->is_imagick()) {
$this->image = new Imagick();
$this->image->readImageBlob($data);
public function getWidth() {
return $this->width;
}
/**
* Setup the image to the format it will be saved to
*/
$map = $this->get_FormatsMap();
$format = $map[$type];
$this->image->setFormat($format);
public function getHeight() {
return $this->height;
}
// Always coalesce, if it is not a multi-frame image it won't hurt anyway
$this->image = $this->image->coalesceImages();
public function getImage() {
return $this->image;
}
public function getType() {
return $this->type;
}
public function getExt() {
return $this->types[$this->type];
}
/**
* setup the compression here, so we'll do it only once
*/
switch($this->getType()){
case "image/png":
$quality = get_config('system','png_quality');
if((! $quality) || ($quality > 9))
$quality = PNG_QUALITY;
/**
* From http://www.imagemagick.org/script/command-line-options.php#quality:
*
* 'For the MNG and PNG image formats, the quality value sets
* the zlib compression level (quality / 10) and filter-type (quality % 10).
* The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering,
* unless the image has a color map, in which case it means compression level 7 with no PNG filtering'
*/
$quality = $quality * 10;
$this->image->setCompressionQuality($quality);
break;
case "image/jpeg":
$quality = get_config('system','jpeg_quality');
if((! $quality) || ($quality > 100))
$quality = JPEG_QUALITY;
$this->image->setCompressionQuality($quality);
}
} else {
$this->valid = false;
$this->image = @imagecreatefromstring($data);
if($this->image !== FALSE) {
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
$this->valid = true;
imagealphablending($this->image, false);
imagesavealpha($this->image, true);
}
}
}
public function scaleImage($max) {
public function __destruct() {
if($this->image) {
if($this->is_imagick()) {
$this->image->clear();
$this->image->destroy();
return;
}
imagedestroy($this->image);
}
}
$width = $this->width;
$height = $this->height;
public function is_imagick() {
return $this->imagick;
}
$dest_width = $dest_height = 0;
/**
* Maps Mime types to Imagick formats
*/
public function get_FormatsMap() {
$m = array(
'image/jpeg' => 'JPG',
'image/png' => 'PNG',
'image/gif' => 'GIF'
);
return $m;
}
if((! $width)|| (! $height))
return FALSE;
public function is_valid() {
if($this->is_imagick())
return ($this->image !== FALSE);
return $this->valid;
}
if($width > $max && $height > $max) {
if($width > $height) {
$dest_width = $max;
$dest_height = intval(( $height * $max ) / $width);
}
else {
$dest_width = intval(( $width * $max ) / $height);
$dest_height = $max;
}
}
else {
if( $width > $max ) {
$dest_width = $max;
$dest_height = intval(( $height * $max ) / $width);
}
else {
if( $height > $max ) {
$dest_width = intval(( $width * $max ) / $height);
$dest_height = $max;
}
else {
$dest_width = $width;
$dest_height = $height;
}
}
}
public function getWidth() {
if(!$this->is_valid())
return FALSE;
if($this->is_imagick())
return $this->image->getImageWidth();
return $this->width;
}
public function getHeight() {
if(!$this->is_valid())
return FALSE;
if($this->is_imagick())
return $this->image->getImageHeight();
return $this->height;
}
public function getImage() {
if(!$this->is_valid())
return FALSE;
if($this->is_imagick()) {
/* Clean it */
$this->image = $this->image->deconstructImages();
return $this->image;
}
return $this->image;
}
public function getType() {
if(!$this->is_valid())
return FALSE;
return $this->type;
}
public function getExt() {
if(!$this->is_valid())
return FALSE;
return $this->types[$this->getType()];
}
public function scaleImage($max) {
if(!$this->is_valid())
return FALSE;
if($this->is_imagick()) {
/**
* If it is not animated, there will be only one iteration here,
* so don't bother checking
*/
// Don't forget to go back to the first frame
$this->image->setFirstIterator();
do {
$this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true);
} while ($this->image->nextImage());
return;
}
$width = $this->width;
$height = $this->height;
$dest_width = $dest_height = 0;
if((! $width)|| (! $height))
return FALSE;
if($width > $max && $height > $max) {
if($width > $height) {
$dest_width = $max;
$dest_height = intval(( $height * $max ) / $width);
}
else {
$dest_width = intval(( $width * $max ) / $height);
$dest_height = $max;
}
}
else {
if( $width > $max ) {
$dest_width = $max;
$dest_height = intval(( $height * $max ) / $width);
}
else {
if( $height > $max ) {
$dest_width = intval(( $width * $max ) / $height);
$dest_height = $max;
}
else {
$dest_width = $width;
$dest_height = $height;
}
}
}
$dest = imagecreatetruecolor( $dest_width, $dest_height );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
$dest = imagecreatetruecolor( $dest_width, $dest_height );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
}
public function rotate($degrees) {
if(!$this->is_valid())
return FALSE;
public function rotate($degrees) {
$this->image = imagerotate($this->image,$degrees,0);
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
if($this->is_imagick()) {
$this->image->setFirstIterator();
do {
$this->image->rotateImage(new ImagickPixel(), $degrees);
} while ($this->image->nextImage());
return;
}
public function flip($horiz = true, $vert = false) {
$w = imagesx($this->image);
$h = imagesy($this->image);
$flipped = imagecreate($w, $h);
if($horiz) {
for ($x = 0; $x < $w; $x++) {
imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h);
}
}
if($vert) {
for ($y = 0; $y < $h; $y++) {
imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1);
}
}
$this->image = $flipped;
}
$this->image = imagerotate($this->image,$degrees,0);
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
public function orient($filename) {
// based off comment on http://php.net/manual/en/function.imagerotate.php
public function flip($horiz = true, $vert = false) {
if(!$this->is_valid())
return FALSE;
if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') )
return;
if($this->is_imagick()) {
$this->image->setFirstIterator();
do {
if($horiz) $this->image->flipImage();
if($vert) $this->image->flopImage();
} while ($this->image->nextImage());
return;
}
$exif = exif_read_data($filename);
$ort = $exif['Orientation'];
$w = imagesx($this->image);
$h = imagesy($this->image);
$flipped = imagecreate($w, $h);
if($horiz) {
for ($x = 0; $x < $w; $x++) {
imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h);
}
}
if($vert) {
for ($y = 0; $y < $h; $y++) {
imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1);
}
}
$this->image = $flipped;
}
switch($ort)
{
case 1: // nothing
break;
public function orient($filename) {
// based off comment on http://php.net/manual/en/function.imagerotate.php
case 2: // horizontal flip
$this->flip();
break;
case 3: // 180 rotate left
$this->rotate(180);
break;
case 4: // vertical flip
$this->flip(false, true);
break;
case 5: // vertical flip + 90 rotate right
$this->flip(false, true);
if(!$this->is_valid())
return FALSE;
if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') )
return;
$exif = exif_read_data($filename);
$ort = $exif['Orientation'];
switch($ort)
{
case 1: // nothing
break;
case 2: // horizontal flip
$this->flip();
break;
case 3: // 180 rotate left
$this->rotate(180);
break;
case 4: // vertical flip
$this->flip(false, true);
break;
case 5: // vertical flip + 90 rotate right
$this->flip(false, true);
$this->rotate(-90);
break;
case 6: // 90 rotate right
$this->rotate(-90);
break;
case 7: // horizontal flip + 90 rotate right
$this->flip();
$this->rotate(-90);
break;
case 8: // 90 rotate left
$this->rotate(90);
break;
}
}
break;
case 6: // 90 rotate right
$this->rotate(-90);
break;
case 7: // horizontal flip + 90 rotate right
$this->flip();
$this->rotate(-90);
break;
case 8: // 90 rotate left
$this->rotate(90);
break;
}
}
public function scaleImageUp($min) {
public function scaleImageUp($min) {
if(!$this->is_valid())
return FALSE;
$width = $this->width;
$height = $this->height;
if($this->is_imagick())
return $this->scaleImage($min);
$dest_width = $dest_height = 0;
$width = $this->width;
$height = $this->height;
if((! $width)|| (! $height))
return FALSE;
$dest_width = $dest_height = 0;
if($width < $min && $height < $min) {
if($width > $height) {
$dest_width = $min;
$dest_height = intval(( $height * $min ) / $width);
}
else {
$dest_width = intval(( $width * $min ) / $height);
$dest_height = $min;
}
}
else {
if( $width < $min ) {
$dest_width = $min;
$dest_height = intval(( $height * $min ) / $width);
}
else {
if( $height < $min ) {
$dest_width = intval(( $width * $min ) / $height);
$dest_height = $min;
}
else {
$dest_width = $width;
$dest_height = $height;
}
}
}
if((! $width)|| (! $height))
return FALSE;
if($width < $min && $height < $min) {
if($width > $height) {
$dest_width = $min;
$dest_height = intval(( $height * $min ) / $width);
}
else {
$dest_width = intval(( $width * $min ) / $height);
$dest_height = $min;
}
}
else {
if( $width < $min ) {
$dest_width = $min;
$dest_height = intval(( $height * $min ) / $width);
}
else {
if( $height < $min ) {
$dest_width = intval(( $width * $min ) / $height);
$dest_height = $min;
}
else {
$dest_width = $width;
$dest_height = $height;
}
}
}
$dest = imagecreatetruecolor( $dest_width, $dest_height );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
$dest = imagecreatetruecolor( $dest_width, $dest_height );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
public function scaleImageSquare($dim) {
public function scaleImageSquare($dim) {
if(!$this->is_valid())
return FALSE;
$dest = imagecreatetruecolor( $dim, $dim );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dim, $dim, $this->width, $this->height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
if($this->is_imagick()) {
$this->image->setFirstIterator();
do {
$this->image->resizeImage($dim, $dim, imagick::FILTER_LANCZOS, 1, false);
} while ($this->image->nextImage());
return;
}
$dest = imagecreatetruecolor( $dim, $dim );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dim, $dim, $this->width, $this->height);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
public function cropImage($max,$x,$y,$w,$h) {
$dest = imagecreatetruecolor( $max, $max );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
public function cropImage($max,$x,$y,$w,$h) {
if(!$this->is_valid())
return FALSE;
public function saveImage($path) {
switch($this->type){
case "image/png":
$quality = get_config('system','png_quality');
if((! $quality) || ($quality > 9))
$quality = PNG_QUALITY;
imagepng($this->image, $path, $quality);
break;
default:
$quality = get_config('system','jpeg_quality');
if((! $quality) || ($quality > 100))
$quality = JPEG_QUALITY;
imagejpeg($this->image,$path,$quality);
}
}
if($this->is_imagick()) {
$this->image->setFirstIterator();
do {
$this->image->cropImage($w, $h, $x, $y);
/**
* We need to remove the canva,
* or the image is not resized to the crop:
* http://php.net/manual/en/imagick.cropimage.php#97232
*/
$this->image->setImagePage(0, 0, 0, 0);
} while ($this->image->nextImage());
return $this->scaleImage($max);
}
public function imageString() {
ob_start();
switch($this->type){
case "image/png":
$quality = get_config('system','png_quality');
if((! $quality) || ($quality > 9))
$quality = PNG_QUALITY;
imagepng($this->image,NULL, $quality);
break;
default:
$quality = get_config('system','jpeg_quality');
if((! $quality) || ($quality > 100))
$quality = JPEG_QUALITY;
$dest = imagecreatetruecolor( $max, $max );
imagealphablending($dest, false);
imagesavealpha($dest, true);
if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha
imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h);
if($this->image)
imagedestroy($this->image);
$this->image = $dest;
$this->width = imagesx($this->image);
$this->height = imagesy($this->image);
}
imagejpeg($this->image,NULL,$quality);
}
$s = ob_get_contents();
ob_end_clean();
return $s;
}
public function saveImage($path) {
if(!$this->is_valid())
return FALSE;
$string = $this->imageString();
file_put_contents($path, $string);
}
public function imageString() {
if(!$this->is_valid())
return FALSE;
if($this->is_imagick()) {
/* Clean it */
$this->image = $this->image->deconstructImages();
$string = $this->image->getImagesBlob();
return $string;
}
$quality = FALSE;
ob_start();
switch($this->getType()){
case "image/png":
$quality = get_config('system','png_quality');
if((! $quality) || ($quality > 9))
$quality = PNG_QUALITY;
imagepng($this->image,NULL, $quality);
break;
case "image/jpeg":
$quality = get_config('system','jpeg_quality');
if((! $quality) || ($quality > 100))
$quality = JPEG_QUALITY;
imagejpeg($this->image,NULL,$quality);
}
$string = ob_get_contents();
ob_end_clean();
return $string;
}
public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
$r = q("select `guid` from photo where `resource-id` = '%s' and `guid` != '' limit 1",
dbesc($rid)
);
if(count($r))
$guid = $r[0]['guid'];
else
$guid = get_guid();
$r = q("select `guid` from photo where `resource-id` = '%s' and `guid` != '' limit 1",
dbesc($rid)
);
if(count($r))
$guid = $r[0]['guid'];
else
$guid = get_guid();
$x = q("select id from photo where `resource-id` = '%s' and uid = %d and `contact-id` = %d and `scale` = %d limit 1",
dbesc($rid),
intval($uid),
intval($cid),
intval($scale)
);
if(count($x)) {
$r = q("UPDATE `photo`
set `uid` = %d,
`contact-id` = %d,
`guid` = '%s',
`resource-id` = '%s',
`created` = '%s',
`edited` = '%s',
`filename` = '%s',
`type` = '%s',
`album` = '%s',
`height` = %d,
`width` = %d,
`data` = '%s',
`scale` = %d,
`profile` = %d,
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
`deny_gid` = '%s'
where id = %d limit 1",
$x = q("select id from photo where `resource-id` = '%s' and uid = %d and `contact-id` = %d and `scale` = %d limit 1",
dbesc($rid),
intval($uid),
intval($cid),
intval($scale)
);
if(count($x)) {
$r = q("UPDATE `photo`
set `uid` = %d,
`contact-id` = %d,
`guid` = '%s',
`resource-id` = '%s',
`created` = '%s',
`edited` = '%s',
`filename` = '%s',
`type` = '%s',
`album` = '%s',
`height` = %d,
`width` = %d,
`data` = '%s',
`scale` = %d,
`profile` = %d,
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
`deny_gid` = '%s'
where id = %d limit 1",
intval($uid),
intval($cid),
dbesc($guid),
dbesc($rid),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(basename($filename)),
dbesc($this->type),
dbesc($album),
intval($this->height),
intval($this->width),
dbesc($this->imageString()),
intval($scale),
intval($profile),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
dbesc($deny_gid),
intval($x[0]['id'])
);
}
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' )",
intval($uid),
intval($cid),
dbesc($guid),
dbesc($rid),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(basename($filename)),
dbesc($this->type),
dbesc($album),
intval($this->height),
intval($this->width),
dbesc($this->imageString()),
intval($scale),
intval($profile),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
dbesc($deny_gid)
);
}
return $r;
}
intval($uid),
intval($cid),
dbesc($guid),
dbesc($rid),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(basename($filename)),
dbesc($this->getType()),
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
dbesc($this->imageString()),
intval($scale),
intval($profile),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
dbesc($deny_gid),
intval($x[0]['id'])
);
}
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' )",
intval($uid),
intval($cid),
dbesc($guid),
dbesc($rid),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(basename($filename)),
dbesc($this->getType()),
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
dbesc($this->imageString()),
intval($scale),
intval($profile),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
dbesc($deny_gid)
);
}
return $r;
}
}}
/**
* Guess image mimetype from filename or from Content-Type header
*
*
* @arg $filename string Image filename
* @arg $fromcurl boolean Check Content-Type header from curl request
*/
function guess_image_type($filename, $fromcurl=false) {
logger('Photo: guess_image_type: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG);
$type = null;
if ($fromcurl) {
$a = get_app();
$headers=array();
$h = explode("\n",$a->get_curl_headers());
foreach ($h as $l) {
list($k,$v) = array_map("trim", explode(":", trim($l), 2));
$headers[$k] = $v;
}
if (array_key_exists('Content-Type', $headers))
$type = $headers['Content-Type'];
}
if (is_null($type)){
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$types = Photo::supportedTypes();
$type = "image/jpeg";
foreach ($types as $m=>$e){
if ($ext==$e) $type = $m;
}
}
$type = null;
if ($fromcurl) {
$a = get_app();
$headers=array();
$h = explode("\n",$a->get_curl_headers());
foreach ($h as $l) {
list($k,$v) = array_map("trim", explode(":", trim($l), 2));
$headers[$k] = $v;
}
if (array_key_exists('Content-Type', $headers))
$type = $headers['Content-Type'];
}
if (is_null($type)){
// Guessing from extension? Isn't that... dangerous?
if(class_exists('Imagick')) {
/**
* Well, this not much better,
* but at least it comes from the data inside the image,
* we won't be tricked by a manipulated extension
*/
$image = new Imagick($filename);
$type = $image->getImageMimeType();
} else {
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$types = Photo::supportedTypes();
$type = "image/jpeg";
foreach ($types as $m=>$e){
if ($ext==$e) $type = $m;
}
}
}
logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG);
return $type;
return $type;
}
function import_profile_photo($photo,$uid,$cid) {
$a = get_app();
$a = get_app();
$r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1",
intval($uid),
intval($cid)
);
if(count($r)) {
$hash = $r[0]['resource-id'];
}
else {
$hash = photo_new_resource();
}
$photo_failure = false;
$r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1",
intval($uid),
intval($cid)
);
if(count($r)) {
$hash = $r[0]['resource-id'];
}
else {
$hash = photo_new_resource();
}
$filename = basename($photo);
$img_str = fetch_url($photo,true);
// guess mimetype from headers or filename
$type = guess_image_type($photo,true);
$photo_failure = false;
$img = new Photo($img_str, $type);
if($img->is_valid()) {
$filename = basename($photo);
$img_str = fetch_url($photo,true);
$img->scaleImageSquare(175);
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 );
$type = guess_image_type($photo,true);
$img = new Photo($img_str, $type);
if($img->is_valid()) {
if($r === false)
$photo_failure = true;
$img->scaleImageSquare(175);
$img->scaleImage(80);
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 );
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 );
if($r === false)
$photo_failure = true;
if($r === false)
$photo_failure = true;
$img->scaleImage(80);
$img->scaleImage(48);
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 );
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 );
if($r === false)
$photo_failure = true;
if($r === false)
$photo_failure = true;
$img->scaleImage(48);
$photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
$thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
$micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
}
else
$photo_failure = true;
$r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 );
if($photo_failure) {
$photo = $a->get_baseurl() . '/images/person-175.jpg';
$thumb = $a->get_baseurl() . '/images/person-80.jpg';
$micro = $a->get_baseurl() . '/images/person-48.jpg';
}
if($r === false)
$photo_failure = true;
return(array($photo,$thumb,$micro));
$photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
$thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
$micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
}
else
$photo_failure = true;
if($photo_failure) {
$photo = $a->get_baseurl() . '/images/person-175.jpg';
$thumb = $a->get_baseurl() . '/images/person-80.jpg';
$micro = $a->get_baseurl() . '/images/person-48.jpg';
}
return(array($photo,$thumb,$micro));
}

View file

@ -162,6 +162,49 @@ function localize_item(&$item){
$item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto;
}
if (stristr($item['verb'],ACTIVITY_POKE)) {
$verb = urldecode(substr($item['verb'],strpos($item['verb'],'#')+1));
if(! $verb)
return;
if ($item['object-type']=="" || $item['object-type']!== ACTIVITY_OBJ_PERSON) return;
$Aname = $item['author-name'];
$Alink = $item['author-link'];
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
$obj = parse_xml_string($xmlhead.$item['object']);
$links = parse_xml_string($xmlhead."<links>".unxmlify($obj->link)."</links>");
$Bname = $obj->title;
$Blink = ""; $Bphoto = "";
foreach ($links->link as $l){
$atts = $l->attributes();
switch($atts['rel']){
case "alternate": $Blink = $atts['href'];
case "photo": $Bphoto = $atts['href'];
}
}
$A = '[url=' . zrl($Alink) . ']' . $Aname . '[/url]';
$B = '[url=' . zrl($Blink) . ']' . $Bname . '[/url]';
if ($Bphoto!="") $Bphoto = '[url=' . zrl($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
// we can't have a translation string with three positions but no distinguishable text
// So here is the translate string.
$txt = t('%1$s poked %2$s');
// now translate the verb
$txt = str_replace( t('poked'), t($verb), $txt);
// then do the sprintf on the translation string
$item['body'] = sprintf($txt, $A, $B). "\n\n\n" . $Bphoto;
}
if ($item['verb']===ACTIVITY_TAG){
$r = q("SELECT * from `item`,`contact` WHERE
`item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';",
@ -867,6 +910,7 @@ function item_photo_menu($item){
if(! count($a->contacts))
load_contact_links(local_user());
}
$poke_link="";
$contact_url="";
$pm_url="";
$status_link="";
@ -896,6 +940,7 @@ function item_photo_menu($item){
}
}
if(($cid) && (! $item['self'])) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid;
$contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid;
$posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid;
@ -918,6 +963,7 @@ function item_photo_menu($item){
t("Network Posts") => $posts_link,
t("Edit Contact") => $contact_url,
t("Send PM") => $pm_url,
t("Poke") => $poke_link
);
@ -929,7 +975,7 @@ function item_photo_menu($item){
$o = "";
foreach($menu as $k=>$v){
if ($v!="") $o .= "<li><a href='$v'>$k</a></li>\n";
if ($v!="") $o .= "<li><a href=\"$v\">$k</a></li>\n";
}
return $o;
}}
@ -1009,7 +1055,6 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
$plaintext = true;
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$newpost' => 'true',
'$baseurl' => $a->get_baseurl(true),
@ -1026,6 +1071,23 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
));
$tpl = get_markup_template('jot-end.tpl');
$a->page['end'] .= replace_macros($tpl, array(
'$newpost' => 'true',
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$geotag' => $geotag,
'$nickname' => $x['nickname'],
'$ispublic' => t('Visible to <strong>everybody</strong>'),
'$linkurl' => t('Please enter a link URL:'),
'$vidurl' => t("Please enter a video link/URL:"),
'$audurl' => t("Please enter an audio link/URL:"),
'$term' => t('Tag term:'),
'$fileas' => t('Save to Folder:'),
'$whereareu' => t('Where are you right now?')
));
$tpl = get_markup_template("jot.tpl");
$jotplugins = '';
@ -1101,6 +1163,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => t('Preview'),
'$mobileapp' => t('Friendica mobile web'),
));

View file

@ -2120,7 +2120,6 @@ function diaspora_unshare($me,$contact) {
}
function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
$a = get_app();
@ -2154,8 +2153,12 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
}
}
*/
// Removal of tags
$body = preg_replace('/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $body);
/**
* Transform #tags, strip off the [url] and replace spaces with underscore
*/
$body = preg_replace_callback('/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', create_function('$match',
'return \'#\'. str_replace(\' \', \'_\', $match[2]);'
), $body);
//if(strlen($title))
// $body = "[b]".html_entity_decode($title)."[/b]\n\n".$body;

View file

@ -147,6 +147,24 @@ function notification($params) {
$itemlink = $params['link'];
}
if($params['type'] == NOTIFY_POKE) {
$subject = sprintf( t('[Friendica:Notify] %1$s poked you') , $params['source_name']);
$preamble = sprintf( t('%1$s poked you at %2$s') , $params['source_name'], $sitename);
$epreamble = sprintf( t('%1$s [url=%2$s]poked you[/url].') ,
'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]',
$params['link']);
$subject = str_replace('poked', t($params['activity']), $subject);
$preamble = str_replace('poked', t($params['activity']), $preamble);
$epreamble = str_replace('poked', t($params['activity']), $epreamble);
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
$tsitelink = sprintf( $sitelink, $siteurl );
$hsitelink = sprintf( $sitelink, '<a href="' . $siteurl . '">' . $sitename . '</a>');
$itemlink = $params['link'];
}
if($params['type'] == NOTIFY_TAGSHARE) {
$subject = sprintf( t('[Friendica:Notify] %s tagged your post') , $params['source_name']);
$preamble = sprintf( t('%1$s tagged your post at %2$s') , $params['source_name'], $sitename);

View file

@ -2107,6 +2107,118 @@ function local_delivery($importer,$data) {
$feed->enable_order_by_date(false);
$feed->init();
if($feed->error())
logger('local_delivery: Error parsing XML: ' . $feed->error());
// Check at the feed level for updated contact name and/or photo
$name_updated = '';
$new_name = '';
$photo_timestamp = '';
$photo_url = '';
$rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'owner');
if(! $rawtags)
$rawtags = $feed->get_feed_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author');
if($rawtags) {
$elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10];
if($elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated']) {
$name_updated = $elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated'];
$new_name = $elems['name'][0]['data'];
}
if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo') && ($elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated'])) {
$photo_timestamp = datetime_convert('UTC','UTC',$elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated']);
$photo_url = $elems['link'][0]['attribs']['']['href'];
}
}
if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $importer['avatar-date'])) {
logger('local_delivery: Updating photo for ' . $importer['name']);
require_once("Photo.php");
$photo_failure = false;
$have_photo = false;
$r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1",
intval($importer['id']),
intval($importer['importer_uid'])
);
if(count($r)) {
$resource_id = $r[0]['resource-id'];
$have_photo = true;
}
else {
$resource_id = photo_new_resource();
}
$img_str = fetch_url($photo_url,true);
// guess mimetype from headers or filename
$type = guess_image_type($photo_url,true);
$img = new Photo($img_str, $type);
if($img->is_valid()) {
if($have_photo) {
q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d",
dbesc($resource_id),
intval($importer['id']),
intval($importer['importer_uid'])
);
}
$img->scaleImageSquare(175);
$hash = $resource_id;
$r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 4);
$img->scaleImage(80);
$r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 5);
$img->scaleImage(48);
$r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 6);
$a = get_app();
q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s'
WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc(datetime_convert()),
dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()),
dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()),
dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()),
intval($importer['importer_uid']),
intval($importer['id'])
);
}
}
if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) {
$r = q("select * from contact where uid = %d and id = %d limit 1",
intval($importer['importer_uid']),
intval($importer['id'])
);
$x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc(notags(trim($new_name))),
dbesc(datetime_convert()),
intval($importer['importer_uid']),
intval($importer['id'])
);
// do our best to update the name on content items
if(count($r)) {
q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d",
dbesc(notags(trim($new_name))),
dbesc($r[0]['name']),
dbesc($r[0]['url']),
intval($importer['importer_uid'])
);
}
}
/*
// Currently unsupported - needs a lot of work
$reloc = $feed->get_feed_tags( NAMESPACE_DFRN, 'relocate' );
@ -2958,7 +3070,57 @@ function local_delivery($importer,$data) {
$datarray['owner-avatar'] = $importer['thumb'];
}
$r = item_store($datarray);
$posted_id = item_store($datarray);
if(stristr($datarray['verb'],ACTIVITY_POKE)) {
$verb = urldecode(substr($datarray['verb'],strpos($datarray['verb'],'#')+1));
if(! $verb)
continue;
$xo = parse_xml_string($datarray['object'],false);
if(($xo->type == ACTIVITY_OBJ_PERSON) && ($xo->id)) {
// somebody was poked/prodded. Was it me?
$links = parse_xml_string("<links>".unxmlify($xo->link)."</links>",false);
foreach($links->link as $l) {
$atts = $l->attributes();
switch($atts['rel']) {
case "alternate":
$Blink = $atts['href'];
break;
default:
break;
}
}
if($Blink && link_compare($Blink,$a->get_baseurl() . '/profile/' . $importer['nickname'])) {
// send a notification
require_once('include/enotify.php');
notification(array(
'type' => NOTIFY_POKE,
'notify_flags' => $importer['notify-flags'],
'language' => $importer['language'],
'to_name' => $importer['username'],
'to_email' => $importer['email'],
'uid' => $importer['importer_uid'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id,
'source_name' => stripslashes($datarray['author-name']),
'source_link' => $datarray['author-link'],
'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
? $importer['thumb'] : $datarray['author-avatar']),
'verb' => $datarray['verb'],
'otype' => 'person',
'activity' => $verb,
));
}
}
}
continue;
}
}

View file

@ -111,7 +111,7 @@ function reload_plugins() {
if(! function_exists('register_hook')) {
function register_hook($hook,$file,$function) {
function register_hook($hook,$file,$function,$priority=0) {
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
dbesc($hook),
@ -121,10 +121,11 @@ function register_hook($hook,$file,$function) {
if(count($r))
return true;
$r = q("INSERT INTO `hook` (`hook`, `file`, `function`) VALUES ( '%s', '%s', '%s' ) ",
$r = q("INSERT INTO `hook` (`hook`, `file`, `function`, `priority`) VALUES ( '%s', '%s', '%s', '%s' ) ",
dbesc($hook),
dbesc($file),
dbesc($function)
dbesc($function),
dbesc($priority)
);
return $r;
}}
@ -145,7 +146,7 @@ if(! function_exists('load_hooks')) {
function load_hooks() {
$a = get_app();
$a->hooks = array();
$r = q("SELECT * FROM `hook` WHERE 1");
$r = q("SELECT * FROM `hook` WHERE 1 ORDER BY `priority` DESC");
if(count($r)) {
foreach($r as $rr) {
if(! array_key_exists($rr['hook'],$a->hooks))
@ -255,6 +256,7 @@ function get_theme_info($theme){
'author' => array(),
'maintainer' => array(),
'version' => "",
'credits' => "",
'experimental' => false,
'unsupported' => false
);

View file

@ -403,7 +403,7 @@ function load_view_file($s) {
return file_get_contents("$d/$lang/$b");
$theme = current_theme();
if(file_exists("$d/theme/$theme/$b"))
return file_get_contents("$d/theme/$theme/$b");
@ -706,6 +706,22 @@ function linkify($s) {
return($s);
}}
function get_poke_verbs() {
// index is present tense verb
// value is array containing past tense verb, translation of present, translation of past
$arr = array(
'poke' => array( 'poked', t('poke'), t('poked')),
'ping' => array( 'pinged', t('ping'), t('pinged')),
'prod' => array( 'prodded', t('prod'), t('prodded')),
'slap' => array( 'slapped', t('slap'), t('slapped')),
'finger' => array( 'fingered', t('finger'), t('fingered')),
'rebuff' => array( 'rebuffed', t('rebuff'), t('rebuffed')),
);
call_hooks('poke_verbs', $arr);
return $arr;
}
/**
*
@ -1562,7 +1578,7 @@ function undo_post_tagging($s) {
function fix_mce_lf($s) {
$s = str_replace("\r\n","\n",$s);
$s = str_replace("\n\n","\n",$s);
// $s = str_replace("\n\n","\n",$s);
return $s;
}

View file

@ -118,6 +118,12 @@ if(! x($_SESSION,'authenticated'))
$a->init_pagehead();
/**
* Build the page ending -- this is stuff that goes right before
* the closing </body> tag
*/
$a->init_page_end();
if(! x($_SESSION,'sysmsg'))

1
js/acl.min.js vendored Normal file
View file

@ -0,0 +1 @@
function ACL(e,t){that=this,that.url=e,that.kp_timer=null,t==undefined&&(t=[]),that.allow_cid=t[0]||[],that.allow_gid=t[1]||[],that.deny_cid=t[2]||[],that.deny_gid=t[3]||[],that.group_uids=[],that.nw=4,that.list_content=$("#acl-list-content"),that.item_tpl=unescape($(".acl-list-item[rel=acl-template]").html()),that.showall=$("#acl-showall"),t.length==0&&that.showall.addClass("selected"),that.showall.click(that.on_showall),$(".acl-button-show").live("click",that.on_button_show),$(".acl-button-hide").live("click",that.on_button_hide),$("#acl-search").keypress(that.on_search),$("#acl-wrapper").parents("form").submit(that.on_submit),that.get(0,100)}ACL.prototype.on_submit=function(){aclfileds=$("#acl-fields").html(""),$(that.allow_gid).each(function(e,t){aclfileds.append("<input type='hidden' name='group_allow[]' value='"+t+"'>")}),$(that.allow_cid).each(function(e,t){aclfileds.append("<input type='hidden' name='contact_allow[]' value='"+t+"'>")}),$(that.deny_gid).each(function(e,t){aclfileds.append("<input type='hidden' name='group_deny[]' value='"+t+"'>")}),$(that.deny_cid).each(function(e,t){aclfileds.append("<input type='hidden' name='contact_deny[]' value='"+t+"'>")})},ACL.prototype.search=function(){var e=$("#acl-search").val();that.list_content.html(""),that.get(0,100,e)},ACL.prototype.on_search=function(e){that.kp_timer&&clearTimeout(that.kp_timer),that.kp_timer=setTimeout(that.search,1e3)},ACL.prototype.on_showall=function(e){return e.preventDefault(),e.stopPropagation(),that.showall.hasClass("selected")?!1:(that.showall.addClass("selected"),that.allow_cid=[],that.allow_gid=[],that.deny_cid=[],that.deny_gid=[],that.update_view(),!1)},ACL.prototype.on_button_show=function(e){return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),that.set_allow($(this).parent().attr("id")),!1},ACL.prototype.on_button_hide=function(e){return e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation(),that.set_deny($(this).parent().attr("id")),!1},ACL.prototype.set_allow=function(e){type=e[0],id=parseInt(e.substr(1));switch(type){case"g":that.allow_gid.indexOf(id)<0?that.allow_gid.push(id):that.allow_gid.remove(id),that.deny_gid.indexOf(id)>=0&&that.deny_gid.remove(id);break;case"c":that.allow_cid.indexOf(id)<0?that.allow_cid.push(id):that.allow_cid.remove(id),that.deny_cid.indexOf(id)>=0&&that.deny_cid.remove(id)}that.update_view()},ACL.prototype.set_deny=function(e){type=e[0],id=parseInt(e.substr(1));switch(type){case"g":that.deny_gid.indexOf(id)<0?that.deny_gid.push(id):that.deny_gid.remove(id),that.allow_gid.indexOf(id)>=0&&that.allow_gid.remove(id);break;case"c":that.deny_cid.indexOf(id)<0?that.deny_cid.push(id):that.deny_cid.remove(id),that.allow_cid.indexOf(id)>=0&&that.allow_cid.remove(id)}that.update_view()},ACL.prototype.update_view=function(){that.allow_gid.length==0&&that.allow_cid.length==0&&that.deny_gid.length==0&&that.deny_cid.length==0?(that.showall.addClass("selected"),$("#jot-perms-icon").removeClass("lock").addClass("unlock"),$("#jot-public").show(),$(".profile-jot-net input").attr("disabled",!1),typeof editor!="undefined"&&editor!=0&&$("#profile-jot-desc").html(ispublic)):(that.showall.removeClass("selected"),$("#jot-perms-icon").removeClass("unlock").addClass("lock"),$("#jot-public").hide(),$(".profile-jot-net input").attr("disabled","disabled"),$("#profile-jot-desc").html("&nbsp;")),$("#acl-list-content .acl-list-item").each(function(){$(this).removeClass("groupshow grouphide")}),$("#acl-list-content .acl-list-item").each(function(){itemid=$(this).attr("id"),type=itemid[0],id=parseInt(itemid.substr(1)),btshow=$(this).children(".acl-button-show").removeClass("selected"),bthide=$(this).children(".acl-button-hide").removeClass("selected");switch(type){case"g":var e="";that.allow_gid.indexOf(id)>=0&&(btshow.addClass("selected"),bthide.removeClass("selected"),e="groupshow"),that.deny_gid.indexOf(id)>=0&&(btshow.removeClass("selected"),bthide.addClass("selected"),e="grouphide"),$(that.group_uids[id]).each(function(t,n){e=="grouphide"&&$("#c"+n).removeClass("groupshow");if(e!=""){var r=$("#c"+n).attr("class");if(r==undefined)return!0;var i=r.indexOf("grouphide");i==-1&&$("#c"+n).addClass(e)}});break;case"c":that.allow_cid.indexOf(id)>=0&&(btshow.addClass("selected"),bthide.removeClass("selected")),that.deny_cid.indexOf(id)>=0&&(btshow.removeClass("selected"),bthide.addClass("selected"))}})},ACL.prototype.get=function(e,t,n){var r={start:e,count:t,search:n};$.ajax({type:"POST",url:that.url,data:r,dataType:"json",success:that.populate})},ACL.prototype.populate=function(e){var t=Math.ceil(e.tot/that.nw)*42;that.list_content.height(t),$(e.items).each(function(){html="<div class='acl-list-item {4} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>",html=html.format(this.photo,this.name,this.type,this.id,"",this.network,this.link),this.uids!=undefined&&(that.group_uids[this.id]=this.uids),that.list_content.append(html)}),that.update_view()};

6
js/ajaxupload.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -275,7 +275,7 @@ aStates[249]="|'Adan|'Ataq|Abyan|Al Bayda'|Al Hudaydah|Al Jawf|Al Mahrah|Al Mahw
aStates[250]="|Kosovo|Montenegro|Serbia|Vojvodina";
aStates[251]="|Central|Copperbelt|Eastern|Luapula|Lusaka|North-Western|Northern|Southern|Western";
aStates[252]="|Bulawayo|Harare|ManicalandMashonaland Central|Mashonaland East|Mashonaland West|Masvingo|Matabeleland North|Matabeleland South|Midlands";
aStates[253]="|Self Hosted|Private Server|Architects Of Sleep|DFRN|Distributed Friend Network|Free-Beer.ch|Foojbook|Free-Haven|Friendica.eu|Friendika.me.4.it|Friendika - I Ask Questions|Frndc.com|Hikado|Hipatia|Hungerfreunde|Kaluguran Community|Kak Ste?|Karl.Markx.pm|Loozah Social Club|MyFriendica.net|MyFriendNetwork|Oi!|OpenMindSpace|Recolutionari.es|SPRACI|Sysfu Social Club|theshi.re|Tumpambae|Uzmiac|Other";
aStates[253]="|Self Hosted|Private Server|Architects Of Sleep|DFRN|Distributed Friend Network|Free-Beer.ch|Foojbook|Free-Haven|Friendica.eu|Friendika.me.4.it|Friendika - I Ask Questions|Frndc.com|Hikado|Hipatia|Hungerfreunde|Kaluguran Community|Kak Ste|Karl.Markx.pm|Loozah Social Club|MyFriendica.net|MyFriendNetwork|Oi!|OpenMindSpace|Optimistisch|Recolutionari.es|Sparkling Network|SPRACI|Styliztique|Sysfu Social Club|Trevena|theshi.re|Tumpambae|Uzmiac|Other";
/*
* gArCountryInfo
* (0) Country name

11
js/country.min.js vendored Normal file

File diff suppressed because one or more lines are too long

5
js/fk.autocomplete.min.js vendored Normal file
View file

@ -0,0 +1,5 @@
/**
* Friendica people autocomplete
*
* require jQuery, jquery.textareas
*/function ACPopup(e,t){this.idsel=-1,this.element=e,this.searchText="",this.ready=!0,this.kp_timer=!1,this.url=t;var n=530,r=130;if(typeof e.editorId=="undefined")style=$(e).offset(),n=$(e).width(),r=$(e).height();else{var i=e.getContainer();typeof i!="undefined"&&(style=$(i).offset(),n=$(i).width(),r=$(i).height())}style.top=style.top+r,style.width=n,style.position="absolute",style.display="none",this.cont=$("<div class='acpopup'></div>"),this.cont.css(style),$("body").append(this.cont)}function ContactAutocomplete(e,t){this.pattern=/@([^ \n]+)$/,this.popup=null;var n=this;$(e).unbind("keydown"),$(e).unbind("keyup"),$(e).keydown(function(e){n.popup!==null&&n.popup.onkey(e)}),$(e).keyup(function(e){cpos=$(this).getSelection(),cpos.start==cpos.end&&(match=$(this).val().substring(0,cpos.start).match(n.pattern),match!==null?(n.popup===null&&(n.popup=new ACPopup(this,t)),n.popup.ready&&match[1]!==n.popup.searchText&&n.popup.search(match[1]),n.popup.ready||(n.popup=null)):n.popup!==null&&(n.popup.close(),n.popup=null))})}ACPopup.prototype.close=function(){$(this.cont).remove(),this.ready=!1},ACPopup.prototype.search=function(e){var t=this;this.searchText=e,this.kp_timer&&clearTimeout(this.kp_timer),this.kp_timer=setTimeout(function(){t._search()},500)},ACPopup.prototype._search=function(){console.log("_search");var e=this,t={start:0,count:100,search:this.searchText,type:"c"};$.ajax({type:"POST",url:this.url,data:t,dataType:"json",success:function(t){e.cont.html(""),t.tot>0?(e.cont.show(),$(t.items).each(function(){html="<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo,this.name,this.nick),e.add(html,this.nick.replace(" ","")+"+"+this.id+" - "+this.link)})):e.cont.hide()}})},ACPopup.prototype.add=function(e,n){var r=this,i=$("<div class='acpopupitem' title='"+n+"'>"+e+"</div>");i.click(function(e){t=$(this).attr("title").replace(new RegExp(" - .*"),""),typeof r.element.container=="undefined"?(el=$(r.element),sel=el.getSelection(),sel.start=sel.start-r.searchText.length,el.setSelection(sel.start,sel.end).replaceSelectedText(t+" ").collapseSelection(!1),r.close()):(txt=tinyMCE.activeEditor.getContent(),newtxt=txt.replace(r.searchText,t+" "),tinyMCE.activeEditor.setContent(newtxt),tinyMCE.activeEditor.focus(),r.close())}),$(this.cont).append(i)},ACPopup.prototype.onkey=function(e){e.keyCode=="13"&&(this.idsel>-1?(this.cont.children()[this.idsel].click(),e.preventDefault()):this.close()),e.keyCode=="38"&&(cmax=this.cont.children().size()-1,this.idsel--,this.idsel<0&&(this.idsel=cmax),e.preventDefault());if(e.keyCode=="40"||e.keyCode=="9")cmax=this.cont.children().size()-1,this.idsel++,this.idsel>cmax&&(this.idsel=0),e.preventDefault();if(e.keyCode=="38"||e.keyCode=="40"||e.keyCode=="9")this.cont.children().removeClass("selected"),$(this.cont.children()[this.idsel]).addClass("selected");e.keyCode=="27"&&this.close()},function(e){e.fn.contact_autocomplete=function(e){this.each(function(){new ContactAutocomplete(this,e)})}}(jQuery);

6
js/jquery.htmlstream.min.js vendored Normal file
View file

@ -0,0 +1,6 @@
/* jQuery ajax stream plugin
* Version 0.1
* Copyright (C) 2009 Chris Tarquini
* Licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License (http://creativecommons.org/licenses/by-sa/3.0/)
* Permissions beyond the scope of this license may be available by contacting petros000[at]hotmail.com.
*/(function(e){var t=e.ajax,n=e.get,r=e.post,i=!0;e.ajaxSetup({stream:!1,pollInterval:500}),e.enableAjaxStream=function(a){typeof a=="undefined"&&(a=!i),a?(e.ajax=s,e.get=o,e.post=u,i=!0):(e.ajax=t,e.get=n,e.post=r,i=!1)};var s=e.ajax=function(n){n=jQuery.extend(!0,n,jQuery.extend(!0,{},jQuery.ajaxSettings,n));if(n.stream){var r=0,i=0,s=null,o=0,u=!1,a=function(e){s=e,l()},f=function(){c("stream")},l=function(){u||(r=setTimeout(f,n.pollInterval))},c=function(t){typeof t=="undefined"&&(t="stream");if(s.status<3)return;var r=s.responseText;if(t=="stream"){if(r.length<=o){l();return}lastlength=r.length;if(i==r.length){l();return}}var u=r.substr(i);i=r.length,e.isFunction(n.OnDataRecieved)&&n.OnDataRecieved(u,t,s.responseText,s),s.status!=4&&l()},h=function(e,t){clearTimeout(r),u=!0,c(t)};if(e.isFunction(n.success)){var p=n.success;n.success=function(e,t){h(e,t),p(e,t)}}else n.success=h;if(e.isFunction(n.beforeSend)){var d=n.beforeSend;n.beforeSend=function(e){d(e),a(e)}}else n.beforeSend=a}t(n)},o=e.get=function(t,n,r,i,s){if(e.isFunction(n)){var o=r;r=n,e.isFunction(o)&&(s=o),n=null}e.isFunction(i)&&(s=i,i=undefined);var u=e.isFunction(s);return jQuery.ajax({type:"GET",url:t,data:n,success:r,dataType:i,stream:u,OnDataRecieved:s})},u=e.post=function(t,n,r,i,s){if(e.isFunction(n)){var o=r;r=n}e.isFunction(i)&&(s=i,i=undefined);var u=e.isFunction(s);return jQuery.ajax({type:"POST",url:t,data:n,success:r,dataType:i,stream:u,OnDataRecieved:s})}})(jQuery);

View file

@ -641,7 +641,7 @@ Array.prototype.remove = function(item) {
function previewTheme(elm) {
theme = $(elm).val();
$.getJSON('pretheme?f=&theme=' + theme,function(data) {
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>');
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><div id="theme-version">' + data.version + '</div><div id="theme-credits">' + data.credits + '</div><a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>');
});
}

1
js/main.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
js/webtoolkit.base64.min.js vendored Normal file
View file

@ -0,0 +1,6 @@
/**
*
* Base64 encode / decode
* http://www.webtoolkit.info/
*
**/var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="",n,r,i,s,o,u,a,f=0;e=Base64._utf8_encode(e);while(f<e.length)n=e.charCodeAt(f++),r=e.charCodeAt(f++),i=e.charCodeAt(f++),s=n>>2,o=(n&3)<<4|r>>4,u=(r&15)<<2|i>>6,a=i&63,isNaN(r)?u=a=64:isNaN(i)&&(a=64),t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a);return t},decode:function(e){var t="",n,r,i,s,o,u,a,f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length)s=this._keyStr.indexOf(e.charAt(f++)),o=this._keyStr.indexOf(e.charAt(f++)),u=this._keyStr.indexOf(e.charAt(f++)),a=this._keyStr.indexOf(e.charAt(f++)),n=s<<2|o>>4,r=(o&15)<<4|u>>2,i=(u&3)<<6|a,t+=String.fromCharCode(n),u!=64&&(t+=String.fromCharCode(r)),a!=64&&(t+=String.fromCharCode(i));return t=Base64._utf8_decode(t),t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);r<128?t+=String.fromCharCode(r):r>127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(r&63|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(r&63|128))}return t},_utf8_decode:function(e){var t="",n=0,r=c1=c2=0;while(n<e.length)r=e.charCodeAt(n),r<128?(t+=String.fromCharCode(r),n++):r>191&&r<224?(c2=e.charCodeAt(n+1),t+=String.fromCharCode((r&31)<<6|c2&63),n+=2):(c2=e.charCodeAt(n+1),c3=e.charCodeAt(n+2),t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63),n+=3);return t}};

View file

@ -0,0 +1,221 @@
<?php
/**
* Mobile Detect
* $Id: Mobile_Detect.php 49 2012-06-06 20:46:30Z serbanghita@gmail.com $
*
* @usage require_once 'Mobile_Detect.php';
* $detect = new Mobile_Detect();
* $detect->isMobile() or $detect->isTablet()
*
* For more specific usage see the documentation navigate to:
* http://code.google.com/p/php-mobile-detect/wiki/Mobile_Detect
*
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
class Mobile_Detect {
protected $detectionRules;
protected $userAgent = null;
protected $accept = null;
// Assume the visitor has a desktop environment.
protected $isMobile = false;
protected $isTablet = false;
protected $phoneDeviceName = null;
protected $tabletDevicename = null;
protected $operatingSystemName = null;
protected $userAgentName = null;
// List of mobile devices (phones)
protected $phoneDevices = array(
'iPhone' => '(iPhone.*Mobile|iPod|iTunes)',
'BlackBerry' => 'BlackBerry|rim[0-9]+',
'HTC' => 'HTC|HTC.*(6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT',
'Nexus' => 'Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus',
'Dell' => 'Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35',
'Motorola' => '\bDroid\b.*Build|DROIDX|HRI39|MOT\-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT909|XT910|XT912|XT928',
'Samsung' => 'Samsung|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9300 |GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-P6810|GT-P7100|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100',
'Sony' => 'E10i|SonyEricsson|SonyEricssonLT15iv',
'Asus' => 'Asus.*Galaxy',
'Palm' => 'PalmSource|Palm', // avantgo|blazer|elaine|hiptop|plucker|xiino ; @todo - complete the regex.
'Vertu' => 'Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature', // Just for fun ;)
'GenericPhone' => '(mmp|pocket|psp|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|wap|nokia|Series40|Series60|S60|SonyEricsson|N900|PPC;|MAUI.*WAP.*Browser|LG-P500)'
);
// List of tablet devices.
protected $tabletDevices = array(
'BlackBerryTablet' => 'PlayBook|RIM Tablet',
'iPad' => 'iPad|iPad.*Mobile', // @todo: check for mobile friendly emails topic.
'Kindle' => 'Kindle|Silk.*Accelerated',
'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|GT-P1000|GT-P1010|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P1000|GT-P3100|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7300|GT-P7320|GT-P7500|GT-P7510|GT-P7511',
'HTCtablet' => 'HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200',
'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617',
'AsusTablet' => 'Transformer|TF101',
'NookTablet' => 'NookColor|nook browser|BNTV250A|LogicPD Zoom2',
'AcerTablet' => 'Android.*\b(A100|A101|A200|A500|A501|A510|W500|W500P|W501|W501P)\b',
'YarvikTablet' => 'Android.*(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468)',
'GenericTablet' => 'Tablet(?!.*PC)|ViewPad7|LG-V909|MID7015|BNTV250A|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b',
);
// List of mobile Operating Systems.
protected $operatingSystems = array(
'AndroidOS' => '(android.*mobile|android(?!.*mobile))',
'BlackBerryOS' => '(blackberry|rim tablet os)',
'PalmOS' => '(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)',
'SymbianOS' => 'Symbian|SymbOS|Series60|Series40|\bS60\b',
'WindowsMobileOS' => 'IEMobile|Windows Phone|Windows CE.*(PPC|Smartphone)|MSIEMobile|Window Mobile|XBLWP7',
'iOS' => '(iphone|ipod|ipad)',
'FlashLiteOS' => '',
'JavaOS' => '',
'NokiaOS' => '',
'webOS' => '',
'badaOS' => '\bBada\b',
'BREWOS' => '',
);
// List of mobile User Agents.
protected $userAgents = array(
'Chrome' => '\bCrMo\b|Chrome\/[.0-9]* Mobile',
'Dolfin' => '\bDolfin\b',
'Opera' => 'Opera.*Mini|Opera.*Mobi|Android.*Opera',
'Skyfire' => 'skyfire',
'IE' => 'IEMobile|MSIEMobile',
'Firefox' => 'fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile',
'Bolt' => 'bolt',
'TeaShark' => 'teashark',
'Blazer' => 'Blazer',
'Safari' => 'Mobile.*Safari|Safari.*Mobile',
'Midori' => 'midori',
'GenericBrowser' => 'NokiaBrowser|OviBrowser|SEMC.*Browser'
);
function __construct(){
// Merge all rules together.
$this->detectionRules = array_merge(
$this->phoneDevices,
$this->tabletDevices,
$this->operatingSystems,
$this->userAgents
);
$this->userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null;
$this->accept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : null;
if (
isset($_SERVER['HTTP_X_WAP_PROFILE']) ||
isset($_SERVER['HTTP_X_WAP_CLIENTID']) ||
isset($_SERVER['HTTP_WAP_CONNECTION']) ||
isset($_SERVER['HTTP_PROFILE']) ||
isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) || // Reported by Nokia devices (eg. C3)
isset($_SERVER['HTTP_X_NOKIA_IPADDRESS']) ||
isset($_SERVER['HTTP_X_NOKIA_GATEWAY_ID']) ||
isset($_SERVER['HTTP_X_ORANGE_ID']) ||
isset($_SERVER['HTTP_X_VODAFONE_3GPDPCONTEXT']) ||
isset($_SERVER['HTTP_X_HUAWEI_USERID']) ||
isset($_SERVER['HTTP_UA_OS']) || // Reported by Windows Smartphones
(isset($_SERVER['HTTP_UA_CPU']) && $_SERVER['HTTP_UA_CPU'] == 'ARM') // Seen this on a HTC
) {
$this->isMobile = true;
} elseif (!empty($this->accept) && (strpos($this->accept, 'text/vnd.wap.wml') !== false || strpos($this->accept, 'application/vnd.wap.xhtml+xml') !== false)) {
$this->isMobile = true;
} else {
$this->_detect();
}
}
public function getRules()
{
return $this->detectionRules;
}
/**
* Magic overloading method.
*
* @method boolean is[...]()
* @param string $name
* @param array $arguments
* @return mixed
*/
public function __call($name, $arguments)
{
$key = substr($name, 2);
return $this->_detect($key);
}
/**
* Private method that does the detection of the
* mobile devices.
*
* @param string $key
* @return boolean|null
*/
private function _detect($key='')
{
if(empty($key)){
// Begin general search.
foreach($this->detectionRules as $_regex){
if(empty($_regex)){ continue; }
if(preg_match('/'.$_regex.'/is', $this->userAgent)){
$this->isMobile = true;
return true;
}
}
return false;
} else {
// Search for a certain key.
// Make the keys lowecase so we can match: isIphone(), isiPhone(), isiphone(), etc.
$key = strtolower($key);
$_rules = array_change_key_case($this->detectionRules);
if(array_key_exists($key, $_rules)){
if(empty($_rules[$key])){ return null; }
if(preg_match('/'.$_rules[$key].'/is', $this->userAgent)){
$this->isMobile = true;
return true;
} else {
return false;
}
} else {
trigger_error("Method $key is not defined", E_USER_WARNING);
}
return false;
}
}
/**
* Check if the device is mobile.
* Returns true if any type of mobile device detected, including special ones
* @return bool
*/
public function isMobile()
{
return $this->isMobile;
}
/**
* Check if the device is a tablet.
* Return true if any type of tablet device is detected.
* @return boolean
*/
public function isTablet()
{
foreach($this->tabletDevices as $_regex){
if(preg_match('/'.$_regex.'/is', $this->userAgent)){
$this->isTablet = true;
return true;
}
}
return false;
}
}

File diff suppressed because one or more lines are too long

View file

@ -471,6 +471,9 @@ function admin_page_dbsync(&$a) {
if($a->argc > 3 && intval($a->argv[3]) && $a->argv[2] === 'mark') {
set_config('database', 'update_' . intval($a->argv[3]), 'success');
$curr = get_config('system','build');
if(intval($curr) == intval($a->argv[3]))
set_config('system','build',intval($curr) + 1);
info( t('Update has been marked successful') . EOL);
goaway($a->get_baseurl(true) . '/admin/dbsync');
}

View file

@ -45,22 +45,16 @@ function contacts_init(&$a) {
$a->page['aside'] .= networks_widget('contacts',$_GET['nets']);
$base = $a->get_baseurl();
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
$a->page['htmlhead'] .= <<< EOT
<script>$(document).ready(function() {
var a;
a = $("#contacts-search").autocomplete({
serviceUrl: '$base/acl',
minChars: 2,
width: 350,
});
a.setOptions({ params: { type: 'a' }});
});
</script>
EOT;
$tpl = get_markup_template("contacts-head.tpl");
$a->page['htmlhead'] .= replace_macros($tpl,array(
'$baseurl' => $a->get_baseurl(true),
'$base' => $base
));
$tpl = get_markup_template("contacts-end.tpl");
$a->page['end'] .= replace_macros($tpl,array(
'$baseurl' => $a->get_baseurl(true),
'$base' => $base
));
}
@ -247,6 +241,10 @@ function contacts_content(&$a) {
'$baseurl' => $a->get_baseurl(true),
'$editselect' => $editselect,
));
$a->page['end'] .= replace_macros(get_markup_template('contact_end.tpl'), array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => $editselect,
));
require_once('include/contact_selectors.php');

View file

@ -16,15 +16,7 @@ function display_content(&$a) {
$o = '<div id="live-display"></div>' . "\r\n";
$a->page['htmlhead'] .= <<<EOT
<script>
$(document).ready(function() {
$(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl");
// make auto-complete work in more places
$(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl");
});
</script>
EOT;
$a->page['htmlhead'] .= get_markup_template('display-head.tpl');
$nick = (($a->argc > 1) ? $a->argv[1] : '');
@ -126,7 +118,7 @@ EOT;
}
else {
$r = q("SELECT `id` FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
$r = q("SELECT `id`,`deleted` FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
dbesc($item_id),
dbesc($item_id)
);

View file

@ -36,7 +36,6 @@ function editpost_content(&$a) {
$o .= '<h2>' . t('Edit post') . '</h2>';
$tpl = get_markup_template('jot-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
@ -45,6 +44,15 @@ function editpost_content(&$a) {
'$nickname' => $a->user['nickname']
));
$tpl = get_markup_template('jot-end.tpl');
$a->page['end'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
'$nickname' => $a->user['nickname']
));
$tpl = get_markup_template("jot.tpl");
@ -124,6 +132,7 @@ function editpost_content(&$a) {
'$profile_uid' => $_SESSION['uid'],
'$preview' => t('Preview'),
'$jotplugins' => $jotplugins,
'$mobileapp' => t('Friendica mobile web'),
));
return $o;

View file

@ -145,6 +145,9 @@ function events_content(&$a) {
$htpl = get_markup_template('event_head.tpl');
$a->page['htmlhead'] .= replace_macros($htpl,array('$baseurl' => $a->get_baseurl()));
$etpl = get_markup_template('event_end.tpl');
$a->page['end'] .= replace_macros($etpl,array('$baseurl' => $a->get_baseurl()));
$o ="";
// tabs
$tabs = profile_tabs($a, True);

View file

@ -18,24 +18,17 @@ function message_init(&$a) {
));
$base = $a->get_baseurl();
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
$a->page['htmlhead'] .= <<< EOT
$head_tpl = get_markup_template('message-head.tpl');
$a->page['htmlhead'] .= replace_macros($head_tpl,array(
'$baseurl' => $a->get_baseurl(true),
'$base' => $base
));
<script>$(document).ready(function() {
var a;
a = $("#recip").autocomplete({
serviceUrl: '$base/acl',
minChars: 2,
width: 350,
onSelect: function(value,data) {
$("#recip-complete").val(data);
}
});
});
</script>
EOT;
$end_tpl = get_markup_template('message-end.tpl');
$a->page['end'] .= replace_macros($end_tpl,array(
'$baseurl' => $a->get_baseurl(true),
'$base' => $base
));
}
@ -242,7 +235,6 @@ function message_content(&$a) {
$tpl = get_markup_template('msg-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
@ -250,6 +242,14 @@ function message_content(&$a) {
'$linkurl' => t('Please enter a link URL:')
));
$tpl = get_markup_template('msg-end.tpl');
$a->page['end'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$nickname' => $a->user['nickname'],
'$linkurl' => t('Please enter a link URL:')
));
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
@ -399,12 +399,17 @@ function message_content(&$a) {
require_once("include/bbcode.php");
$tpl = get_markup_template('msg-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$nickname' => $a->user['nickname'],
'$baseurl' => $a->get_baseurl(true)
));
$tpl = get_markup_template('msg-end.tpl');
$a->page['end'] .= replace_macros($tpl, array(
'$nickname' => $a->user['nickname'],
'$baseurl' => $a->get_baseurl(true)
));
$mails = array();
$seen = 0;

View file

@ -302,11 +302,16 @@ function parse_url_content(&$a) {
$image = "";
foreach ($siteinfo["images"] as $imagedata)
if($siteinfo["image"] != ""){
/*
Execute below code only if image is present in siteinfo
*/
foreach ($siteinfo["images"] as $imagedata)
if($textmode)
$image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]';
$image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]';
else
$image .= '<img height="'.$imagedata["height"].'" width="'.$imagedata["width"].'" src="'.$imagedata["src"].'" alt="photo" />';
$image .= '<img height="'.$imagedata["height"].'" width="'.$imagedata["width"].'" src="'.$imagedata["src"].'" alt="photo" />';
}
if(strlen($text)) {
if($textmode)

View file

@ -69,30 +69,11 @@ function photos_init(&$a) {
$a->page['aside'] .= $o;
$a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
$tpl = get_markup_template("photos_head.tpl");
$a->page['htmlhead'] .= replace_macros($tpl,array(
'$ispublic' => t('everybody')
));
$a->page['htmlhead'] .= <<< EOT
$(document).ready(function() {
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
selstr = $(this).text();
$('#jot-perms-icon').removeClass('unlock').addClass('lock');
$('#jot-public').hide();
});
if(selstr == null) {
$('#jot-perms-icon').removeClass('lock').addClass('unlock');
$('#jot-public').show();
}
}).trigger('change');
});
</script>
EOT;
}
return;
@ -962,7 +943,7 @@ function photos_content(&$a) {
$selname = (($datum) ? hex2bin($datum) : '');
$albumselect = '<select id="photos-upload-album-select" name="album" size="4">';
$albumselect = '';
$albumselect .= '<option value="" ' . ((! $selname) ? ' selected="selected" ' : '') . '>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>';
@ -977,8 +958,6 @@ function photos_content(&$a) {
$celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
$albumselect .= '</select>';
$uploader = '';
$ret = array('post_url' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'],
@ -988,7 +967,7 @@ function photos_content(&$a) {
call_hooks('photo_upload_form',$ret);
$default_upload = '<input type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" >
$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>';
@ -1195,15 +1174,12 @@ function photos_content(&$a) {
}
if(! $cmd !== 'edit') {
$a->page['htmlhead'] .= '<script>
$(document).keydown(function(event) {' . "\n";
if($prevlink)
$a->page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 37) { event.preventDefault(); window.location.href = \'' . $prevlink . '\'; }' . "\n";
if($nextlink)
$a->page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 39) { event.preventDefault(); window.location.href = \'' . $nextlink . '\'; }' . "\n";
$a->page['htmlhead'] .= '});</script>';
if( $cmd === 'edit') {
$tpl = get_markup_template('photo_edit_head.tpl');
$a->page['htmlhead'] .= replace_macros($tpl,array(
'$prevlink' => $prevlink,
'$nextlink' => $nextlink
));
}
if($prevlink)

206
mod/poke.php Normal file
View file

@ -0,0 +1,206 @@
<?php
require_once('include/security.php');
require_once('include/bbcode.php');
require_once('include/items.php');
function poke_init(&$a) {
if(! local_user())
return;
$uid = local_user();
$verb = notags(trim($_GET['verb']));
if(! $verb)
return;
$verbs = get_poke_verbs();
if(! array_key_exists($verb,$verbs))
return;
$activity = ACTIVITY_POKE . '#' . urlencode($verbs[$verb][0]);
$contact_id = intval($_GET['cid']);
if(! $contact_id)
return;
$parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : 0);
logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
$r = q("SELECT * FROM `contact` WHERE `id` = %d and `uid` = %d LIMIT 1",
intval($contact_id),
intval($uid)
);
if(! count($r)) {
logger('poke: no contact ' . $contact_id);
return;
}
$target = $r[0];
if($parent) {
$r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid
from item where id = %d and parent = %d and uid = %d limit 1",
intval($parent),
intval($parent),
intval($uid)
);
if(count($r)) {
$parent_uri = $r[0]['uri'];
$private = $r[0]['private'];
$allow_cid = $r[0]['allow_cid'];
$allow_gid = $r[0]['allow_gid'];
$deny_cid = $r[0]['deny_cid'];
$deny_gid = $r[0]['deny_gid'];
}
}
else {
$private = ((x($_GET,'private')) ? intval($_GET['private']) : 0);
$allow_cid = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']);
$allow_gid = (($private) ? '' : $a->user['allow_gid']);
$deny_cid = (($private) ? '' : $a->user['deny_cid']);
$deny_gid = (($private) ? '' : $a->user['deny_gid']);
}
$poster = $a->contact;
$uri = item_new_uri($a->get_hostname(),$owner_uid);
$arr = array();
$arr['uid'] = $uid;
$arr['uri'] = $uri;
$arr['parent-uri'] = (($parent_uri) ? $parent_uri : $uri);
$arr['type'] = 'activity';
$arr['wall'] = 1;
$arr['contact-id'] = $poster['id'];
$arr['owner-name'] = $poster['name'];
$arr['owner-link'] = $poster['url'];
$arr['owner-avatar'] = $poster['thumb'];
$arr['author-name'] = $poster['name'];
$arr['author-link'] = $poster['url'];
$arr['author-avatar'] = $poster['thumb'];
$arr['title'] = '';
$arr['allow_cid'] = $allow_cid;
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
$arr['last-child'] = 1;
$arr['visible'] = 1;
$arr['verb'] = $activity;
$arr['private'] = $private;
$arr['object-type'] = ACTIVITY_OBJ_PERSON;
$arr['origin'] = 1;
$arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]';
$arr['object'] = '<object><type>' . ACTIVITY_OBJ_PERSON . '</type><title>' . $target['name'] . '</title><id>' . $a->get_baseurl() . '/contact/' . $target['id'] . '</id>';
$arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $target['url'] . '" />' . "\n");
$arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $target['photo'] . '" />' . "\n");
$arr['object'] .= '</link></object>' . "\n";
$item_id = item_store($arr);
if($item_id) {
q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
dbesc($a->get_baseurl() . '/display/' . $poster['nickname'] . '/' . $item_id),
intval($uid),
intval($item_id)
);
proc_run('php',"include/notifier.php","tag","$item_id");
}
call_hooks('post_local_end', $arr);
proc_run('php',"include/notifier.php","like","$post_id");
return;
}
function poke_content(&$a) {
if(! local_user()) {
notice( t('Permission denied.') . EOL);
return;
}
$name = '';
$id = '';
if(intval($_GET['c'])) {
$r = q("select id,name from contact where id = %d and uid = %d limit 1",
intval($_GET['c']),
intval(local_user())
);
if(count($r)) {
$name = $r[0]['name'];
$id = $r[0]['id'];
}
}
$base = $a->get_baseurl();
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
$a->page['htmlhead'] .= <<< EOT
<script>$(document).ready(function() {
var a;
a = $("#poke-recip").autocomplete({
serviceUrl: '$base/acl',
minChars: 2,
width: 350,
onSelect: function(value,data) {
$("#poke-recip-complete").val(data);
}
});
a.setOptions({ params: { type: 'a' }});
});
</script>
EOT;
$parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0');
$verbs = get_poke_verbs();
$shortlist = array();
foreach($verbs as $k => $v)
if($v[1] !== 'NOTRANSLATION')
$shortlist[] = array($k,$v[1]);
$tpl = get_markup_template('poke_content.tpl');
$o = replace_macros($tpl,array(
'$title' => t('Poke/Prod'),
'$desc' => t('poke, prod or do other things to somebody'),
'$clabel' => t('Recipient'),
'$choice' => t('Choose what you wish to do to recipient'),
'$verbs' => $shortlist,
'$parent' => $parent,
'$prv_desc' => t('Make this post private'),
'$submit' => t('Submit'),
'$name' => $name,
'$id' => $id
));
return $o;
}

View file

@ -7,10 +7,16 @@ function pretheme_init(&$a) {
$info = get_theme_info($theme);
if($info) {
// unfortunately there will be no translation for this string
$desc = $info['description'] . ' ' . $info['version'];
$desc = $info['description'];
$version = $info['version'];
$credits = $info['credits'];
}
else $desc = '';
echo json_encode(array('img' => get_theme_screenshot($theme), 'desc' => $desc));
else {
$desc = '';
$version = '';
$credits = '';
}
echo json_encode(array('img' => get_theme_screenshot($theme), 'desc' => $desc, 'version' => $version, 'credits' => $credits));
}
killme();
}

View file

@ -279,6 +279,7 @@ function profile_photo_crop_ui_head(&$a, $ph){
$a->config['imagecrop_resolution'] = $smallest;
$a->config['imagecrop_ext'] = $ph->getExt();
$a->page['htmlhead'] .= get_markup_template("crophead.tpl");
$a->page['end'] .= get_markup_template("cropend.tpl");
return;
}}

View file

@ -546,6 +546,10 @@ function profiles_content(&$a) {
'$baseurl' => $a->get_baseurl(true),
'$editselect' => $editselect,
));
$a->page['end'] .= replace_macros(get_markup_template('profed_end.tpl'), array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => $editselect,
));
$opt_tpl = get_markup_template("profile-hide-friends.tpl");
@ -557,9 +561,6 @@ function profiles_content(&$a) {
'$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
));
$a->page['htmlhead'] .= "<script type=\"text/javascript\" src=\"js/country.js\" ></script>";

View file

@ -12,7 +12,7 @@ function register_post(&$a) {
call_hooks('register_post', $arr);
$max_dailies = intval(get_config('system','max_daily_registrations'));
if($max_dailes) {
if($max_dailies) {
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
if($r && $r[0]['total'] >= $max_dailies) {
return;
@ -182,7 +182,7 @@ function register_content(&$a) {
}
$max_dailies = intval(get_config('system','max_daily_registrations'));
if($max_dailes) {
if($max_dailies) {
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
if($r && $r[0]['total'] >= $max_dailies) {
logger('max daily registrations exceeded.');

View file

@ -18,30 +18,10 @@ function settings_init(&$a) {
// These lines provide the javascript needed by the acl selector
$a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
$a->page['htmlhead'] .= <<< EOT
$(document).ready(function() {
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
selstr = $(this).text();
$('#jot-perms-icon').removeClass('unlock').addClass('lock');
$('#jot-public').hide();
});
if(selstr == null) {
$('#jot-perms-icon').removeClass('lock').addClass('unlock');
$('#jot-public').show();
}
}).trigger('change');
});
</script>
EOT;
$tpl = get_markup_template("settings-head.tpl");
$a->page['htmlhead'] .= replace_macros($tpl,array(
'$ispublic' => t('everybody')
));
@ -373,6 +353,8 @@ function settings_post(&$a) {
$notify += intval($_POST['notify6']);
if(x($_POST,'notify7'))
$notify += intval($_POST['notify7']);
if(x($_POST,'notify8'))
$notify += intval($_POST['notify8']);
$email_changed = false;
@ -779,6 +761,11 @@ function settings_content(&$a) {
'$theme_config' => $theme_config,
));
$tpl = get_markup_template("settings_display_end.tpl");
$a->page['end'] .= replace_macros($tpl, array(
'$theme' => array('theme', t('Display Theme:'), $theme_selected, '', $themes)
));
return $o;
}
@ -1025,6 +1012,7 @@ function settings_content(&$a) {
'$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''),
'$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''),
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
'$h_advn' => t('Advanced Account/Page Type Settings'),

View file

@ -116,34 +116,41 @@ function wallmessage_content(&$a) {
$tpl = get_markup_template('wallmsg-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => '/(profile-jot-text|prvmail-text)/',
'$nickname' => $user['nickname'],
'$linkurl' => t('Please enter a link URL:')
));
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => '/(profile-jot-text|prvmail-text)/',
'$nickname' => $user['nickname'],
'$linkurl' => t('Please enter a link URL:')
));
$tpl = get_markup_template('wallmsg-end.tpl');
$a->page['end'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => '/(profile-jot-text|prvmail-text)/',
'$nickname' => $user['nickname'],
'$linkurl' => t('Please enter a link URL:')
));
$tpl = get_markup_template('wallmessage.tpl');
$o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'),
'$subheader' => sprintf( t('If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders.'), $user['username']),
'$to' => t('To:'),
'$subject' => t('Subject:'),
'$recipname' => $user['username'],
'$nickname' => $user['nickname'],
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
'$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),
'$readonly' => '',
'$yourmessage' => t('Your message:'),
'$select' => $select,
'$parent' => '',
'$upload' => t('Upload photo'),
'$insert' => t('Insert web link'),
'$wait' => t('Please wait')
));
$tpl = get_markup_template('wallmessage.tpl');
$o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'),
'$subheader' => sprintf( t('If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders.'), $user['username']),
'$to' => t('To:'),
'$subject' => t('Subject:'),
'$recipname' => $user['username'],
'$nickname' => $user['nickname'],
'$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''),
'$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''),
'$readonly' => '',
'$yourmessage' => t('Your message:'),
'$select' => $select,
'$parent' => '',
'$upload' => t('Upload photo'),
'$insert' => t('Insert web link'),
'$wait' => t('Please wait')
));
return $o;
}
return $o;
}

View file

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1153 );
define( 'UPDATE_VERSION' , 1154 );
/**
*
@ -1336,3 +1336,10 @@ function update_1152() {
return UPDATE_FAILED;
return UPDATE_SUCCESS;
}
function update_1153() {
$r = q("ALTER TABLE `hook` ADD `priority` INT(11) UNSIGNED NOT NULL DEFAULT '0'");
if(!$r) return UPDATE_FAILED;
return UPDATE_SUCCESS;
}

View file

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 3.0.1407\n"
"Project-Id-Version: 3.0.1421\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-07-17 10:00-0700\n"
"POT-Creation-Date: 2012-07-31 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"
@ -36,11 +36,11 @@ msgstr ""
#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44
#: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26
#: ../../mod/api.php:31 ../../mod/photos.php:135 ../../mod/photos.php:957
#: ../../mod/editpost.php:10 ../../mod/install.php:151
#: ../../mod/notifications.php:66 ../../mod/contacts.php:145
#: ../../mod/settings.php:106 ../../mod/settings.php:537
#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
#: ../../mod/api.php:31 ../../mod/photos.php:116 ../../mod/photos.php:938
#: ../../mod/editpost.php:10 ../../mod/install.php:151 ../../mod/poke.php:109
#: ../../mod/notifications.php:66 ../../mod/contacts.php:139
#: ../../mod/settings.php:86 ../../mod/settings.php:519
#: ../../mod/settings.php:524 ../../mod/manage.php:86 ../../mod/network.php:6
#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
@ -48,15 +48,15 @@ msgstr ""
#: ../../mod/register.php:38 ../../mod/regmod.php:116 ../../mod/item.php:125
#: ../../mod/item.php:141 ../../mod/profile_photo.php:19
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:153
#: ../../mod/profile_photo.php:166 ../../mod/message.php:45
#: ../../mod/message.php:175 ../../mod/allfriends.php:9
#: ../../mod/profile_photo.php:166 ../../mod/message.php:38
#: ../../mod/message.php:168 ../../mod/allfriends.php:9
#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
#: ../../mod/profiles.php:408 ../../mod/delegate.php:6
#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510
#: ../../addon/facebook/facebook.php:516 ../../addon/dav/layout.fnk.php:353
#: ../../include/items.php:3593 ../../index.php:309
#: ../../addon/facebook/facebook.php:516 ../../addon/dav/layout.fnk.php:354
#: ../../include/items.php:3813 ../../index.php:315
msgid "Permission denied."
msgstr ""
@ -85,8 +85,8 @@ msgstr ""
msgid "Return to contact editor"
msgstr ""
#: ../../mod/crepair.php:148 ../../mod/settings.php:557
#: ../../mod/settings.php:583 ../../mod/admin.php:661 ../../mod/admin.php:670
#: ../../mod/crepair.php:148 ../../mod/settings.php:539
#: ../../mod/settings.php:565 ../../mod/admin.php:664 ../../mod/admin.php:673
msgid "Name"
msgstr ""
@ -123,20 +123,20 @@ msgid "New photo from this URL"
msgstr ""
#: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107
#: ../../mod/events.php:436 ../../mod/photos.php:992 ../../mod/photos.php:1063
#: ../../mod/photos.php:1309 ../../mod/photos.php:1349
#: ../../mod/photos.php:1389 ../../mod/photos.php:1420
#: ../../mod/events.php:439 ../../mod/photos.php:971 ../../mod/photos.php:1042
#: ../../mod/photos.php:1285 ../../mod/photos.php:1325
#: ../../mod/photos.php:1365 ../../mod/photos.php:1396
#: ../../mod/install.php:246 ../../mod/install.php:284
#: ../../mod/localtime.php:45 ../../mod/content.php:691
#: ../../mod/contacts.php:343 ../../mod/settings.php:555
#: ../../mod/settings.php:709 ../../mod/settings.php:770
#: ../../mod/settings.php:971 ../../mod/group.php:85 ../../mod/message.php:294
#: ../../mod/message.php:473 ../../mod/admin.php:422 ../../mod/admin.php:658
#: ../../mod/admin.php:794 ../../mod/admin.php:993 ../../mod/admin.php:1080
#: ../../mod/profiles.php:577 ../../mod/invite.php:119
#: ../../mod/localtime.php:45 ../../mod/poke.php:169 ../../mod/content.php:691
#: ../../mod/contacts.php:341 ../../mod/settings.php:537
#: ../../mod/settings.php:691 ../../mod/settings.php:752
#: ../../mod/settings.php:958 ../../mod/group.php:85 ../../mod/message.php:294
#: ../../mod/message.php:478 ../../mod/admin.php:422 ../../mod/admin.php:661
#: ../../mod/admin.php:797 ../../mod/admin.php:996 ../../mod/admin.php:1083
#: ../../mod/profiles.php:578 ../../mod/invite.php:119
#: ../../addon/fromgplus/fromgplus.php:40
#: ../../addon/facebook/facebook.php:619
#: ../../addon/snautofollow/snautofollow.php:64
#: ../../addon/snautofollow/snautofollow.php:64 ../../addon/bg/bg.php:90
#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:210
#: ../../addon/planets/planets.php:158
@ -144,10 +144,12 @@ msgstr ""
#: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
#: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
#: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
#: ../../addon/forumlist/forumlist.php:169
#: ../../addon/impressum/impressum.php:82
#: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
#: ../../addon/qcomment/qcomment.php:61
#: ../../addon/openstreetmap/openstreetmap.php:70
#: ../../addon/group_text/group_text.php:84
#: ../../addon/libravatar/libravatar.php:99
#: ../../addon/libertree/libertree.php:90 ../../addon/altpager/altpager.php:87
#: ../../addon/mathjax/mathjax.php:42 ../../addon/editplain/editplain.php:84
@ -159,18 +161,18 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:318
#: ../../addon/statusnet/statusnet.php:325
#: ../../addon/statusnet/statusnet.php:353
#: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90
#: ../../addon/statusnet/statusnet.php:576 ../../addon/tumblr/tumblr.php:90
#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387
#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:394
#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
#: ../../addon/posterous/posterous.php:103
#: ../../view/theme/cleanzero/config.php:80
#: ../../view/theme/diabook/theme.php:757
#: ../../view/theme/diabook/config.php:190
#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
#: ../../include/conversation.php:653
#: ../../include/conversation.php:696
msgid "Submit"
msgstr ""
@ -178,16 +180,16 @@ msgstr ""
msgid "Help:"
msgstr ""
#: ../../mod/help.php:34 ../../addon/dav/layout.fnk.php:116
#: ../../mod/help.php:34 ../../addon/dav/layout.fnk.php:225
#: ../../include/nav.php:86
msgid "Help"
msgstr ""
#: ../../mod/help.php:38 ../../index.php:218
#: ../../mod/help.php:38 ../../index.php:224
msgid "Not Found"
msgstr ""
#: ../../mod/help.php:41 ../../index.php:221
#: ../../mod/help.php:41 ../../index.php:227
msgid "Page not found."
msgstr ""
@ -217,90 +219,90 @@ msgstr ""
msgid "Event title and start time are required."
msgstr ""
#: ../../mod/events.php:260
#: ../../mod/events.php:263
msgid "l, F j"
msgstr ""
#: ../../mod/events.php:282
#: ../../mod/events.php:285
msgid "Edit event"
msgstr ""
#: ../../mod/events.php:304 ../../include/text.php:1094
#: ../../mod/events.php:307 ../../include/text.php:1110
msgid "link to source"
msgstr ""
#: ../../mod/events.php:328 ../../view/theme/diabook/theme.php:131
#: ../../include/nav.php:52 ../../boot.php:1596
#: ../../mod/events.php:331 ../../view/theme/diabook/theme.php:131
#: ../../include/nav.php:52 ../../boot.php:1634
msgid "Events"
msgstr ""
#: ../../mod/events.php:329
#: ../../mod/events.php:332
msgid "Create New Event"
msgstr ""
#: ../../mod/events.php:330 ../../addon/dav/layout.fnk.php:154
#: ../../mod/events.php:333 ../../addon/dav/layout.fnk.php:263
msgid "Previous"
msgstr ""
#: ../../mod/events.php:331 ../../mod/install.php:205
#: ../../addon/dav/layout.fnk.php:157
#: ../../mod/events.php:334 ../../mod/install.php:205
#: ../../addon/dav/layout.fnk.php:266
msgid "Next"
msgstr ""
#: ../../mod/events.php:404
#: ../../mod/events.php:407
msgid "hour:minute"
msgstr ""
#: ../../mod/events.php:414
#: ../../mod/events.php:417
msgid "Event details"
msgstr ""
#: ../../mod/events.php:415
#: ../../mod/events.php:418
#, php-format
msgid "Format is %s %s. Starting date and Title are required."
msgstr ""
#: ../../mod/events.php:417
#: ../../mod/events.php:420
msgid "Event Starts:"
msgstr ""
#: ../../mod/events.php:417 ../../mod/events.php:431
#: ../../mod/events.php:420 ../../mod/events.php:434
msgid "Required"
msgstr ""
#: ../../mod/events.php:420
#: ../../mod/events.php:423
msgid "Finish date/time is not known or not relevant"
msgstr ""
#: ../../mod/events.php:422
#: ../../mod/events.php:425
msgid "Event Finishes:"
msgstr ""
#: ../../mod/events.php:425
#: ../../mod/events.php:428
msgid "Adjust for viewer timezone"
msgstr ""
#: ../../mod/events.php:427
#: ../../mod/events.php:430
msgid "Description:"
msgstr ""
#: ../../mod/events.php:429 ../../mod/directory.php:132
#: ../../include/event.php:40 ../../include/bb2diaspora.php:469
#: ../../boot.php:1173
#: ../../mod/events.php:432 ../../mod/directory.php:132
#: ../../include/event.php:40 ../../include/bb2diaspora.php:447
#: ../../boot.php:1186
msgid "Location:"
msgstr ""
#: ../../mod/events.php:431
#: ../../mod/events.php:434
msgid "Title:"
msgstr ""
#: ../../mod/events.php:433
#: ../../mod/events.php:436
msgid "Share this event"
msgstr ""
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:556
#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:538
#: ../../mod/settings.php:564 ../../addon/js_upload/js_upload.php:45
msgid "Cancel"
msgstr ""
@ -317,6 +319,7 @@ msgid "Select a tag to remove: "
msgstr ""
#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130
#: ../../addon/dav/common/wdcal_edit.inc.php:468
msgid "Remove"
msgstr ""
@ -344,55 +347,55 @@ msgid ""
msgstr ""
#: ../../mod/api.php:105 ../../mod/dfrn_request.php:833
#: ../../mod/settings.php:887 ../../mod/settings.php:893
#: ../../mod/settings.php:901 ../../mod/settings.php:905
#: ../../mod/settings.php:910 ../../mod/settings.php:916
#: ../../mod/settings.php:922 ../../mod/settings.php:928
#: ../../mod/settings.php:958 ../../mod/settings.php:959
#: ../../mod/settings.php:960 ../../mod/settings.php:961
#: ../../mod/settings.php:962 ../../mod/register.php:234
#: ../../mod/profiles.php:554
#: ../../mod/settings.php:874 ../../mod/settings.php:880
#: ../../mod/settings.php:888 ../../mod/settings.php:892
#: ../../mod/settings.php:897 ../../mod/settings.php:903
#: ../../mod/settings.php:909 ../../mod/settings.php:915
#: ../../mod/settings.php:945 ../../mod/settings.php:946
#: ../../mod/settings.php:947 ../../mod/settings.php:948
#: ../../mod/settings.php:949 ../../mod/register.php:234
#: ../../mod/profiles.php:558
msgid "Yes"
msgstr ""
#: ../../mod/api.php:106 ../../mod/dfrn_request.php:834
#: ../../mod/settings.php:887 ../../mod/settings.php:893
#: ../../mod/settings.php:901 ../../mod/settings.php:905
#: ../../mod/settings.php:910 ../../mod/settings.php:916
#: ../../mod/settings.php:922 ../../mod/settings.php:928
#: ../../mod/settings.php:958 ../../mod/settings.php:959
#: ../../mod/settings.php:960 ../../mod/settings.php:961
#: ../../mod/settings.php:962 ../../mod/register.php:235
#: ../../mod/profiles.php:555
#: ../../mod/settings.php:874 ../../mod/settings.php:880
#: ../../mod/settings.php:888 ../../mod/settings.php:892
#: ../../mod/settings.php:897 ../../mod/settings.php:903
#: ../../mod/settings.php:909 ../../mod/settings.php:915
#: ../../mod/settings.php:945 ../../mod/settings.php:946
#: ../../mod/settings.php:947 ../../mod/settings.php:948
#: ../../mod/settings.php:949 ../../mod/register.php:235
#: ../../mod/profiles.php:559
msgid "No"
msgstr ""
#: ../../mod/photos.php:46 ../../boot.php:1590
#: ../../mod/photos.php:46 ../../boot.php:1627
msgid "Photo Albums"
msgstr ""
#: ../../mod/photos.php:54 ../../mod/photos.php:156 ../../mod/photos.php:971
#: ../../mod/photos.php:1055 ../../mod/photos.php:1070
#: ../../mod/photos.php:1498 ../../mod/photos.php:1510
#: ../../mod/photos.php:54 ../../mod/photos.php:137 ../../mod/photos.php:952
#: ../../mod/photos.php:1034 ../../mod/photos.php:1049
#: ../../mod/photos.php:1474 ../../mod/photos.php:1486
#: ../../addon/communityhome/communityhome.php:110
#: ../../view/theme/diabook/theme.php:598
msgid "Contact Photos"
msgstr ""
#: ../../mod/photos.php:61 ../../mod/photos.php:1080 ../../mod/photos.php:1548
#: ../../mod/photos.php:61 ../../mod/photos.php:1059 ../../mod/photos.php:1524
msgid "Upload New Photos"
msgstr ""
#: ../../mod/photos.php:72 ../../mod/settings.php:21
#: ../../mod/photos.php:74 ../../mod/settings.php:23
msgid "everybody"
msgstr ""
#: ../../mod/photos.php:145
#: ../../mod/photos.php:126
msgid "Contact information unavailable"
msgstr ""
#: ../../mod/photos.php:156 ../../mod/photos.php:660 ../../mod/photos.php:1055
#: ../../mod/photos.php:1070 ../../mod/profile_photo.php:60
#: ../../mod/photos.php:137 ../../mod/photos.php:641 ../../mod/photos.php:1034
#: ../../mod/photos.php:1049 ../../mod/profile_photo.php:60
#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
#: ../../mod/profile_photo.php:177 ../../mod/profile_photo.php:261
#: ../../mod/profile_photo.php:270
@ -402,217 +405,217 @@ msgstr ""
msgid "Profile Photos"
msgstr ""
#: ../../mod/photos.php:166
#: ../../mod/photos.php:147
msgid "Album not found."
msgstr ""
#: ../../mod/photos.php:184 ../../mod/photos.php:1064
#: ../../mod/photos.php:165 ../../mod/photos.php:1043
msgid "Delete Album"
msgstr ""
#: ../../mod/photos.php:247 ../../mod/photos.php:1310
#: ../../mod/photos.php:228 ../../mod/photos.php:1286
msgid "Delete Photo"
msgstr ""
#: ../../mod/photos.php:591
#: ../../mod/photos.php:572
msgid "was tagged in a"
msgstr ""
#: ../../mod/photos.php:591 ../../mod/like.php:145 ../../mod/tagger.php:70
#: ../../mod/photos.php:572 ../../mod/like.php:145 ../../mod/tagger.php:70
#: ../../addon/communityhome/communityhome.php:163
#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1346
#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1362
#: ../../include/diaspora.php:1793 ../../include/conversation.php:114
#: ../../include/conversation.php:187
#: ../../include/conversation.php:230
msgid "photo"
msgstr ""
#: ../../mod/photos.php:591
#: ../../mod/photos.php:572
msgid "by"
msgstr ""
#: ../../mod/photos.php:696 ../../addon/js_upload/js_upload.php:315
#: ../../mod/photos.php:677 ../../addon/js_upload/js_upload.php:315
msgid "Image exceeds size limit of "
msgstr ""
#: ../../mod/photos.php:704
#: ../../mod/photos.php:685
msgid "Image file is empty."
msgstr ""
#: ../../mod/photos.php:736 ../../mod/profile_photo.php:126
#: ../../mod/photos.php:717 ../../mod/profile_photo.php:126
#: ../../mod/wall_upload.php:99
msgid "Unable to process image."
msgstr ""
#: ../../mod/photos.php:763 ../../mod/profile_photo.php:266
#: ../../mod/photos.php:744 ../../mod/profile_photo.php:266
#: ../../mod/wall_upload.php:125
msgid "Image upload failed."
msgstr ""
#: ../../mod/photos.php:849 ../../mod/community.php:16
#: ../../mod/photos.php:830 ../../mod/community.php:16
#: ../../mod/dfrn_request.php:759 ../../mod/viewcontacts.php:17
#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
msgid "Public access denied."
msgstr ""
#: ../../mod/photos.php:859
#: ../../mod/photos.php:840
msgid "No photos selected"
msgstr ""
#: ../../mod/photos.php:938
#: ../../mod/photos.php:919
msgid "Access to this item is restricted."
msgstr ""
#: ../../mod/photos.php:1002
#: ../../mod/photos.php:981
#, php-format
msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr ""
#: ../../mod/photos.php:1005
#: ../../mod/photos.php:984
#, php-format
msgid "You have used %1$.2f Mbytes of photo storage."
msgstr ""
#: ../../mod/photos.php:1011
#: ../../mod/photos.php:990
msgid "Upload Photos"
msgstr ""
#: ../../mod/photos.php:1015 ../../mod/photos.php:1059
#: ../../mod/photos.php:994 ../../mod/photos.php:1038
msgid "New album name: "
msgstr ""
#: ../../mod/photos.php:1016
#: ../../mod/photos.php:995
msgid "or existing album name: "
msgstr ""
#: ../../mod/photos.php:1017
#: ../../mod/photos.php:996
msgid "Do not show a status post for this upload"
msgstr ""
#: ../../mod/photos.php:1019 ../../mod/photos.php:1305
#: ../../mod/photos.php:998 ../../mod/photos.php:1281
msgid "Permissions"
msgstr ""
#: ../../mod/photos.php:1074
#: ../../mod/photos.php:1053
msgid "Edit Album"
msgstr ""
#: ../../mod/photos.php:1098 ../../mod/photos.php:1531
#: ../../mod/photos.php:1077 ../../mod/photos.php:1507
msgid "View Photo"
msgstr ""
#: ../../mod/photos.php:1133
#: ../../mod/photos.php:1112
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
#: ../../mod/photos.php:1135
#: ../../mod/photos.php:1114
msgid "Photo not available"
msgstr ""
#: ../../mod/photos.php:1185
#: ../../mod/photos.php:1164
msgid "View photo"
msgstr ""
#: ../../mod/photos.php:1185
#: ../../mod/photos.php:1164
msgid "Edit photo"
msgstr ""
#: ../../mod/photos.php:1186
#: ../../mod/photos.php:1165
msgid "Use as profile photo"
msgstr ""
#: ../../mod/photos.php:1192 ../../mod/content.php:601
#: ../../include/conversation.php:563
#: ../../mod/photos.php:1171 ../../mod/content.php:601
#: ../../include/conversation.php:606
msgid "Private Message"
msgstr ""
#: ../../mod/photos.php:1214
#: ../../mod/photos.php:1190
msgid "View Full Size"
msgstr ""
#: ../../mod/photos.php:1282
#: ../../mod/photos.php:1258
msgid "Tags: "
msgstr ""
#: ../../mod/photos.php:1285
#: ../../mod/photos.php:1261
msgid "[Remove any tag]"
msgstr ""
#: ../../mod/photos.php:1295
#: ../../mod/photos.php:1271
msgid "Rotate CW (right)"
msgstr ""
#: ../../mod/photos.php:1296
#: ../../mod/photos.php:1272
msgid "Rotate CCW (left)"
msgstr ""
#: ../../mod/photos.php:1298
#: ../../mod/photos.php:1274
msgid "New album name"
msgstr ""
#: ../../mod/photos.php:1301
#: ../../mod/photos.php:1277
msgid "Caption"
msgstr ""
#: ../../mod/photos.php:1303
#: ../../mod/photos.php:1279
msgid "Add a Tag"
msgstr ""
#: ../../mod/photos.php:1307
#: ../../mod/photos.php:1283
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
#: ../../mod/photos.php:1327 ../../mod/content.php:665
#: ../../include/conversation.php:627
#: ../../mod/photos.php:1303 ../../mod/content.php:665
#: ../../include/conversation.php:670
msgid "I like this (toggle)"
msgstr ""
#: ../../mod/photos.php:1328 ../../mod/content.php:666
#: ../../include/conversation.php:628
#: ../../mod/photos.php:1304 ../../mod/content.php:666
#: ../../include/conversation.php:671
msgid "I don't like this (toggle)"
msgstr ""
#: ../../mod/photos.php:1329 ../../include/conversation.php:1066
#: ../../mod/photos.php:1305 ../../include/conversation.php:1128
msgid "Share"
msgstr ""
#: ../../mod/photos.php:1330 ../../mod/editpost.php:104
#: ../../mod/photos.php:1306 ../../mod/editpost.php:112
#: ../../mod/content.php:482 ../../mod/content.php:842
#: ../../mod/wallmessage.php:145 ../../mod/message.php:293
#: ../../mod/message.php:474 ../../include/conversation.php:444
#: ../../include/conversation.php:804 ../../include/conversation.php:1085
#: ../../mod/wallmessage.php:152 ../../mod/message.php:293
#: ../../mod/message.php:479 ../../include/conversation.php:487
#: ../../include/conversation.php:847 ../../include/conversation.php:1147
msgid "Please wait"
msgstr ""
#: ../../mod/photos.php:1346 ../../mod/photos.php:1386
#: ../../mod/photos.php:1417 ../../mod/content.php:688
#: ../../include/conversation.php:650
#: ../../mod/photos.php:1322 ../../mod/photos.php:1362
#: ../../mod/photos.php:1393 ../../mod/content.php:688
#: ../../include/conversation.php:693
msgid "This is you"
msgstr ""
#: ../../mod/photos.php:1348 ../../mod/photos.php:1388
#: ../../mod/photos.php:1419 ../../mod/content.php:690
#: ../../include/conversation.php:652 ../../boot.php:565
#: ../../mod/photos.php:1324 ../../mod/photos.php:1364
#: ../../mod/photos.php:1395 ../../mod/content.php:690
#: ../../include/conversation.php:695 ../../boot.php:569
msgid "Comment"
msgstr ""
#: ../../mod/photos.php:1350 ../../mod/editpost.php:125
#: ../../mod/content.php:700 ../../include/conversation.php:662
#: ../../include/conversation.php:1103
#: ../../mod/photos.php:1326 ../../mod/editpost.php:133
#: ../../mod/content.php:700 ../../include/conversation.php:705
#: ../../include/conversation.php:1165
msgid "Preview"
msgstr ""
#: ../../mod/photos.php:1447 ../../mod/content.php:439
#: ../../mod/content.php:720 ../../mod/settings.php:618
#: ../../mod/settings.php:707 ../../mod/group.php:168 ../../mod/admin.php:665
#: ../../include/conversation.php:401 ../../include/conversation.php:682
#: ../../mod/photos.php:1423 ../../mod/content.php:439
#: ../../mod/content.php:720 ../../mod/settings.php:600
#: ../../mod/settings.php:689 ../../mod/group.php:168 ../../mod/admin.php:668
#: ../../include/conversation.php:444 ../../include/conversation.php:725
msgid "Delete"
msgstr ""
#: ../../mod/photos.php:1537
#: ../../mod/photos.php:1513
msgid "View Album"
msgstr ""
#: ../../mod/photos.php:1546
#: ../../mod/photos.php:1522
msgid "Recent Photos"
msgstr ""
@ -670,75 +673,79 @@ msgstr ""
msgid "Edit post"
msgstr ""
#: ../../mod/editpost.php:80 ../../include/conversation.php:1052
#: ../../mod/editpost.php:88 ../../include/conversation.php:1114
msgid "Post to Email"
msgstr ""
#: ../../mod/editpost.php:95 ../../mod/content.php:707
#: ../../mod/settings.php:617 ../../include/conversation.php:669
#: ../../mod/editpost.php:103 ../../mod/content.php:707
#: ../../mod/settings.php:599 ../../include/conversation.php:712
msgid "Edit"
msgstr ""
#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
#: ../../mod/message.php:291 ../../mod/message.php:471
#: ../../include/conversation.php:1067
#: ../../mod/editpost.php:104 ../../mod/wallmessage.php:150
#: ../../mod/message.php:291 ../../mod/message.php:476
#: ../../include/conversation.php:1129
msgid "Upload photo"
msgstr ""
#: ../../mod/editpost.php:97 ../../include/conversation.php:1069
#: ../../mod/editpost.php:105 ../../include/conversation.php:1131
msgid "Attach file"
msgstr ""
#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
#: ../../mod/message.php:292 ../../mod/message.php:472
#: ../../include/conversation.php:1071
#: ../../mod/editpost.php:106 ../../mod/wallmessage.php:151
#: ../../mod/message.php:292 ../../mod/message.php:477
#: ../../include/conversation.php:1133
msgid "Insert web link"
msgstr ""
#: ../../mod/editpost.php:99
#: ../../mod/editpost.php:107
msgid "Insert YouTube video"
msgstr ""
#: ../../mod/editpost.php:100
#: ../../mod/editpost.php:108
msgid "Insert Vorbis [.ogg] video"
msgstr ""
#: ../../mod/editpost.php:101
#: ../../mod/editpost.php:109
msgid "Insert Vorbis [.ogg] audio"
msgstr ""
#: ../../mod/editpost.php:102 ../../include/conversation.php:1077
#: ../../mod/editpost.php:110 ../../include/conversation.php:1139
msgid "Set your location"
msgstr ""
#: ../../mod/editpost.php:103 ../../include/conversation.php:1079
#: ../../mod/editpost.php:111 ../../include/conversation.php:1141
msgid "Clear browser location"
msgstr ""
#: ../../mod/editpost.php:105 ../../include/conversation.php:1086
#: ../../mod/editpost.php:113 ../../include/conversation.php:1148
msgid "Permission settings"
msgstr ""
#: ../../mod/editpost.php:113 ../../include/conversation.php:1095
#: ../../mod/editpost.php:121 ../../include/conversation.php:1157
msgid "CC: email addresses"
msgstr ""
#: ../../mod/editpost.php:114 ../../include/conversation.php:1096
#: ../../mod/editpost.php:122 ../../include/conversation.php:1158
msgid "Public post"
msgstr ""
#: ../../mod/editpost.php:117 ../../include/conversation.php:1082
#: ../../mod/editpost.php:125 ../../include/conversation.php:1144
msgid "Set title"
msgstr ""
#: ../../mod/editpost.php:119 ../../include/conversation.php:1084
#: ../../mod/editpost.php:127 ../../include/conversation.php:1146
msgid "Categories (comma-separated list)"
msgstr ""
#: ../../mod/editpost.php:120 ../../include/conversation.php:1098
#: ../../mod/editpost.php:128 ../../include/conversation.php:1160
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
#: ../../mod/editpost.php:135 ../../include/conversation.php:1166
msgid "Friendica mobile web"
msgstr ""
#: ../../mod/dfrn_request.php:93
msgid "This introduction has already been accepted."
msgstr ""
@ -820,7 +827,7 @@ msgstr ""
msgid "Disallowed profile URL."
msgstr ""
#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:122
#: ../../mod/dfrn_request.php:570 ../../mod/contacts.php:116
msgid "Failed to update contact record."
msgstr ""
@ -856,7 +863,7 @@ msgstr ""
msgid "Confirm"
msgstr ""
#: ../../mod/dfrn_request.php:715 ../../include/items.php:2984
#: ../../mod/dfrn_request.php:715 ../../include/items.php:3204
msgid "[Name Withheld]"
msgstr ""
@ -908,7 +915,7 @@ msgstr ""
msgid "StatusNet/Federated Social Web"
msgstr ""
#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:652
#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:634
#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr ""
@ -1182,7 +1189,7 @@ msgid ""
msgstr ""
#: ../../mod/localtime.php:12 ../../include/event.php:11
#: ../../include/bb2diaspora.php:447
#: ../../include/bb2diaspora.php:425
msgid "l F d, Y \\@ g:i A"
msgstr ""
@ -1215,6 +1222,26 @@ msgstr ""
msgid "Please select your timezone:"
msgstr ""
#: ../../mod/poke.php:163
msgid "Poke/Prod"
msgstr ""
#: ../../mod/poke.php:164
msgid "poke, prod or do other things to somebody"
msgstr ""
#: ../../mod/poke.php:165
msgid "Recipient"
msgstr ""
#: ../../mod/poke.php:166
msgid "Choose what you wish to do to recipient"
msgstr ""
#: ../../mod/poke.php:168
msgid "Make this post private"
msgstr ""
#: ../../mod/match.php:12
msgid "Profile Match"
msgstr ""
@ -1228,7 +1255,7 @@ msgid "is interested in:"
msgstr ""
#: ../../mod/match.php:58 ../../mod/suggest.php:59
#: ../../include/contact_widgets.php:9 ../../boot.php:1117
#: ../../include/contact_widgets.php:9 ../../boot.php:1130
msgid "Connect"
msgstr ""
@ -1257,28 +1284,28 @@ msgid "Group: "
msgstr ""
#: ../../mod/content.php:438 ../../mod/content.php:719
#: ../../include/conversation.php:400 ../../include/conversation.php:681
#: ../../include/conversation.php:443 ../../include/conversation.php:724
msgid "Select"
msgstr ""
#: ../../mod/content.php:455 ../../mod/content.php:812
#: ../../mod/content.php:813 ../../include/conversation.php:417
#: ../../include/conversation.php:774 ../../include/conversation.php:775
#: ../../mod/content.php:813 ../../include/conversation.php:460
#: ../../include/conversation.php:817 ../../include/conversation.php:818
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: ../../mod/content.php:465 ../../mod/content.php:824
#: ../../include/conversation.php:427 ../../include/conversation.php:786
#: ../../include/conversation.php:470 ../../include/conversation.php:829
#, php-format
msgid "%s from %s"
msgstr ""
#: ../../mod/content.php:480 ../../include/conversation.php:442
#: ../../mod/content.php:480 ../../include/conversation.php:485
msgid "View in context"
msgstr ""
#: ../../mod/content.php:586 ../../include/conversation.php:548
#: ../../mod/content.php:586 ../../include/conversation.php:591
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
@ -1286,93 +1313,93 @@ msgstr[0] ""
msgstr[1] ""
#: ../../mod/content.php:587 ../../addon/page/page.php:76
#: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:87
#: ../../include/contact_widgets.php:188 ../../include/conversation.php:549
#: ../../boot.php:566
#: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:119
#: ../../include/contact_widgets.php:188 ../../include/conversation.php:592
#: ../../boot.php:570
msgid "show more"
msgstr ""
#: ../../mod/content.php:665 ../../include/conversation.php:627
#: ../../mod/content.php:665 ../../include/conversation.php:670
msgid "like"
msgstr ""
#: ../../mod/content.php:666 ../../include/conversation.php:628
#: ../../mod/content.php:666 ../../include/conversation.php:671
msgid "dislike"
msgstr ""
#: ../../mod/content.php:668 ../../include/conversation.php:630
#: ../../mod/content.php:668 ../../include/conversation.php:673
msgid "Share this"
msgstr ""
#: ../../mod/content.php:668 ../../include/conversation.php:630
#: ../../mod/content.php:668 ../../include/conversation.php:673
msgid "share"
msgstr ""
#: ../../mod/content.php:692 ../../include/conversation.php:654
#: ../../mod/content.php:692 ../../include/conversation.php:697
msgid "Bold"
msgstr ""
#: ../../mod/content.php:693 ../../include/conversation.php:655
#: ../../mod/content.php:693 ../../include/conversation.php:698
msgid "Italic"
msgstr ""
#: ../../mod/content.php:694 ../../include/conversation.php:656
#: ../../mod/content.php:694 ../../include/conversation.php:699
msgid "Underline"
msgstr ""
#: ../../mod/content.php:695 ../../include/conversation.php:657
#: ../../mod/content.php:695 ../../include/conversation.php:700
msgid "Quote"
msgstr ""
#: ../../mod/content.php:696 ../../include/conversation.php:658
#: ../../mod/content.php:696 ../../include/conversation.php:701
msgid "Code"
msgstr ""
#: ../../mod/content.php:697 ../../include/conversation.php:659
#: ../../mod/content.php:697 ../../include/conversation.php:702
msgid "Image"
msgstr ""
#: ../../mod/content.php:698 ../../include/conversation.php:660
#: ../../mod/content.php:698 ../../include/conversation.php:703
msgid "Link"
msgstr ""
#: ../../mod/content.php:699 ../../include/conversation.php:661
#: ../../mod/content.php:699 ../../include/conversation.php:704
msgid "Video"
msgstr ""
#: ../../mod/content.php:732 ../../include/conversation.php:694
#: ../../mod/content.php:732 ../../include/conversation.php:737
msgid "add star"
msgstr ""
#: ../../mod/content.php:733 ../../include/conversation.php:695
#: ../../mod/content.php:733 ../../include/conversation.php:738
msgid "remove star"
msgstr ""
#: ../../mod/content.php:734 ../../include/conversation.php:696
#: ../../mod/content.php:734 ../../include/conversation.php:739
msgid "toggle star status"
msgstr ""
#: ../../mod/content.php:737 ../../include/conversation.php:699
#: ../../mod/content.php:737 ../../include/conversation.php:742
msgid "starred"
msgstr ""
#: ../../mod/content.php:738 ../../include/conversation.php:700
#: ../../mod/content.php:738 ../../include/conversation.php:743
msgid "add tag"
msgstr ""
#: ../../mod/content.php:742 ../../include/conversation.php:704
#: ../../mod/content.php:742 ../../include/conversation.php:747
msgid "save to folder"
msgstr ""
#: ../../mod/content.php:814 ../../include/conversation.php:776
#: ../../mod/content.php:814 ../../include/conversation.php:819
msgid "to"
msgstr ""
#: ../../mod/content.php:815 ../../include/conversation.php:777
#: ../../mod/content.php:815 ../../include/conversation.php:820
msgid "Wall-to-Wall"
msgstr ""
#: ../../mod/content.php:816 ../../include/conversation.php:778
#: ../../mod/content.php:816 ../../include/conversation.php:821
msgid "via Wall-To-Wall:"
msgstr ""
@ -1391,8 +1418,8 @@ msgid "Discard"
msgstr ""
#: ../../mod/notifications.php:51 ../../mod/notifications.php:160
#: ../../mod/notifications.php:206 ../../mod/contacts.php:316
#: ../../mod/contacts.php:370
#: ../../mod/notifications.php:206 ../../mod/contacts.php:314
#: ../../mod/contacts.php:368
msgid "Ignore"
msgstr ""
@ -1417,7 +1444,7 @@ msgstr ""
msgid "Introductions"
msgstr ""
#: ../../mod/notifications.php:100 ../../mod/message.php:183
#: ../../mod/notifications.php:100 ../../mod/message.php:176
#: ../../include/nav.php:128
msgid "Messages"
msgstr ""
@ -1444,7 +1471,7 @@ msgid "suggested by %s"
msgstr ""
#: ../../mod/notifications.php:153 ../../mod/notifications.php:200
#: ../../mod/contacts.php:376
#: ../../mod/contacts.php:374
msgid "Hide this contact from others"
msgstr ""
@ -1457,7 +1484,7 @@ msgid "if applicable"
msgstr ""
#: ../../mod/notifications.php:157 ../../mod/notifications.php:204
#: ../../mod/admin.php:663
#: ../../mod/admin.php:666
msgid "Approve"
msgstr ""
@ -1566,307 +1593,307 @@ msgstr ""
msgid "Home Notifications"
msgstr ""
#: ../../mod/contacts.php:83 ../../mod/contacts.php:163
#: ../../mod/contacts.php:77 ../../mod/contacts.php:157
msgid "Could not access contact record."
msgstr ""
#: ../../mod/contacts.php:97
#: ../../mod/contacts.php:91
msgid "Could not locate selected profile."
msgstr ""
#: ../../mod/contacts.php:120
#: ../../mod/contacts.php:114
msgid "Contact updated."
msgstr ""
#: ../../mod/contacts.php:185
#: ../../mod/contacts.php:179
msgid "Contact has been blocked"
msgstr ""
#: ../../mod/contacts.php:185
#: ../../mod/contacts.php:179
msgid "Contact has been unblocked"
msgstr ""
#: ../../mod/contacts.php:199
#: ../../mod/contacts.php:193
msgid "Contact has been ignored"
msgstr ""
#: ../../mod/contacts.php:199
#: ../../mod/contacts.php:193
msgid "Contact has been unignored"
msgstr ""
#: ../../mod/contacts.php:215
#: ../../mod/contacts.php:209
msgid "Contact has been archived"
msgstr ""
#: ../../mod/contacts.php:215
#: ../../mod/contacts.php:209
msgid "Contact has been unarchived"
msgstr ""
#: ../../mod/contacts.php:228
#: ../../mod/contacts.php:222
msgid "Contact has been removed."
msgstr ""
#: ../../mod/contacts.php:258
#: ../../mod/contacts.php:256
#, php-format
msgid "You are mutual friends with %s"
msgstr ""
#: ../../mod/contacts.php:262
#: ../../mod/contacts.php:260
#, php-format
msgid "You are sharing with %s"
msgstr ""
#: ../../mod/contacts.php:267
#: ../../mod/contacts.php:265
#, php-format
msgid "%s is sharing with you"
msgstr ""
#: ../../mod/contacts.php:284
#: ../../mod/contacts.php:282
msgid "Private communications are not available for this contact."
msgstr ""
#: ../../mod/contacts.php:287
#: ../../mod/contacts.php:285
msgid "Never"
msgstr ""
#: ../../mod/contacts.php:291
#: ../../mod/contacts.php:289
msgid "(Update was successful)"
msgstr ""
#: ../../mod/contacts.php:291
#: ../../mod/contacts.php:289
msgid "(Update was not successful)"
msgstr ""
#: ../../mod/contacts.php:293
#: ../../mod/contacts.php:291
msgid "Suggest friends"
msgstr ""
#: ../../mod/contacts.php:297
#: ../../mod/contacts.php:295
#, php-format
msgid "Network type: %s"
msgstr ""
#: ../../mod/contacts.php:300 ../../include/contact_widgets.php:183
#: ../../mod/contacts.php:298 ../../include/contact_widgets.php:183
#, php-format
msgid "%d contact in common"
msgid_plural "%d contacts in common"
msgstr[0] ""
msgstr[1] ""
#: ../../mod/contacts.php:305
#: ../../mod/contacts.php:303
msgid "View all contacts"
msgstr ""
#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
#: ../../mod/admin.php:667
#: ../../mod/contacts.php:308 ../../mod/contacts.php:367
#: ../../mod/admin.php:670
msgid "Unblock"
msgstr ""
#: ../../mod/contacts.php:310 ../../mod/contacts.php:369
#: ../../mod/admin.php:666
#: ../../mod/contacts.php:308 ../../mod/contacts.php:367
#: ../../mod/admin.php:669
msgid "Block"
msgstr ""
#: ../../mod/contacts.php:313
#: ../../mod/contacts.php:311
msgid "Toggle Blocked status"
msgstr ""
#: ../../mod/contacts.php:316 ../../mod/contacts.php:370
#: ../../mod/contacts.php:314 ../../mod/contacts.php:368
msgid "Unignore"
msgstr ""
#: ../../mod/contacts.php:319
#: ../../mod/contacts.php:317
msgid "Toggle Ignored status"
msgstr ""
#: ../../mod/contacts.php:323
#: ../../mod/contacts.php:321
msgid "Unarchive"
msgstr ""
#: ../../mod/contacts.php:323
#: ../../mod/contacts.php:321
msgid "Archive"
msgstr ""
#: ../../mod/contacts.php:326
#: ../../mod/contacts.php:324
msgid "Toggle Archive status"
msgstr ""
#: ../../mod/contacts.php:329
#: ../../mod/contacts.php:327
msgid "Repair"
msgstr ""
#: ../../mod/contacts.php:332
#: ../../mod/contacts.php:330
msgid "Advanced Contact Settings"
msgstr ""
#: ../../mod/contacts.php:338
#: ../../mod/contacts.php:336
msgid "Communications lost with this contact!"
msgstr ""
#: ../../mod/contacts.php:341
#: ../../mod/contacts.php:339
msgid "Contact Editor"
msgstr ""
#: ../../mod/contacts.php:344
#: ../../mod/contacts.php:342
msgid "Profile Visibility"
msgstr ""
#: ../../mod/contacts.php:345
#: ../../mod/contacts.php:343
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr ""
#: ../../mod/contacts.php:346
#: ../../mod/contacts.php:344
msgid "Contact Information / Notes"
msgstr ""
#: ../../mod/contacts.php:347
#: ../../mod/contacts.php:345
msgid "Edit contact notes"
msgstr ""
#: ../../mod/contacts.php:352 ../../mod/contacts.php:544
#: ../../mod/contacts.php:350 ../../mod/contacts.php:542
#: ../../mod/viewcontacts.php:62 ../../mod/nogroup.php:40
#, php-format
msgid "Visit %s's profile [%s]"
msgstr ""
#: ../../mod/contacts.php:353
#: ../../mod/contacts.php:351
msgid "Block/Unblock contact"
msgstr ""
#: ../../mod/contacts.php:354
#: ../../mod/contacts.php:352
msgid "Ignore contact"
msgstr ""
#: ../../mod/contacts.php:355
#: ../../mod/contacts.php:353
msgid "Repair URL settings"
msgstr ""
#: ../../mod/contacts.php:356
#: ../../mod/contacts.php:354
msgid "View conversations"
msgstr ""
#: ../../mod/contacts.php:358
#: ../../mod/contacts.php:356
msgid "Delete contact"
msgstr ""
#: ../../mod/contacts.php:362
#: ../../mod/contacts.php:360
msgid "Last update:"
msgstr ""
#: ../../mod/contacts.php:364
#: ../../mod/contacts.php:362
msgid "Update public posts"
msgstr ""
#: ../../mod/contacts.php:366 ../../mod/admin.php:1138
#: ../../mod/contacts.php:364 ../../mod/admin.php:1141
msgid "Update now"
msgstr ""
#: ../../mod/contacts.php:373
#: ../../mod/contacts.php:371
msgid "Currently blocked"
msgstr ""
#: ../../mod/contacts.php:374
#: ../../mod/contacts.php:372
msgid "Currently ignored"
msgstr ""
#: ../../mod/contacts.php:375
#: ../../mod/contacts.php:373
msgid "Currently archived"
msgstr ""
#: ../../mod/contacts.php:376
#: ../../mod/contacts.php:374
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr ""
#: ../../mod/contacts.php:429
#: ../../mod/contacts.php:427
msgid "Suggestions"
msgstr ""
#: ../../mod/contacts.php:432
#: ../../mod/contacts.php:430
msgid "Suggest potential friends"
msgstr ""
#: ../../mod/contacts.php:435 ../../mod/group.php:191
#: ../../mod/contacts.php:433 ../../mod/group.php:191
msgid "All Contacts"
msgstr ""
#: ../../mod/contacts.php:438
#: ../../mod/contacts.php:436
msgid "Show all contacts"
msgstr ""
#: ../../mod/contacts.php:441
#: ../../mod/contacts.php:439
msgid "Unblocked"
msgstr ""
#: ../../mod/contacts.php:444
#: ../../mod/contacts.php:442
msgid "Only show unblocked contacts"
msgstr ""
#: ../../mod/contacts.php:448
#: ../../mod/contacts.php:446
msgid "Blocked"
msgstr ""
#: ../../mod/contacts.php:451
#: ../../mod/contacts.php:449
msgid "Only show blocked contacts"
msgstr ""
#: ../../mod/contacts.php:455
#: ../../mod/contacts.php:453
msgid "Ignored"
msgstr ""
#: ../../mod/contacts.php:458
#: ../../mod/contacts.php:456
msgid "Only show ignored contacts"
msgstr ""
#: ../../mod/contacts.php:462
#: ../../mod/contacts.php:460
msgid "Archived"
msgstr ""
#: ../../mod/contacts.php:465
#: ../../mod/contacts.php:463
msgid "Only show archived contacts"
msgstr ""
#: ../../mod/contacts.php:469
#: ../../mod/contacts.php:467
msgid "Hidden"
msgstr ""
#: ../../mod/contacts.php:472
#: ../../mod/contacts.php:470
msgid "Only show hidden contacts"
msgstr ""
#: ../../mod/contacts.php:520
#: ../../mod/contacts.php:518
msgid "Mutual Friendship"
msgstr ""
#: ../../mod/contacts.php:524
#: ../../mod/contacts.php:522
msgid "is a fan of yours"
msgstr ""
#: ../../mod/contacts.php:528
#: ../../mod/contacts.php:526
msgid "you are a fan of"
msgstr ""
#: ../../mod/contacts.php:545 ../../mod/nogroup.php:41
#: ../../mod/contacts.php:543 ../../mod/nogroup.php:41
msgid "Edit contact"
msgstr ""
#: ../../mod/contacts.php:566 ../../view/theme/diabook/theme.php:129
#: ../../mod/contacts.php:564 ../../view/theme/diabook/theme.php:129
#: ../../include/nav.php:139
msgid "Contacts"
msgstr ""
#: ../../mod/contacts.php:570
#: ../../mod/contacts.php:568
msgid "Search your contacts"
msgstr ""
#: ../../mod/contacts.php:571 ../../mod/directory.php:57
#: ../../mod/contacts.php:569 ../../mod/directory.php:57
msgid "Finding: "
msgstr ""
#: ../../mod/contacts.php:572 ../../mod/directory.php:59
#: ../../mod/contacts.php:570 ../../mod/directory.php:59
#: ../../include/contact_widgets.php:33
msgid "Find"
msgstr ""
@ -1888,10 +1915,10 @@ msgstr ""
#: ../../mod/register.php:90 ../../mod/register.php:144
#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
#: ../../addon/facebook/facebook.php:702
#: ../../addon/facebook/facebook.php:1192
#: ../../addon/facebook/facebook.php:1200
#: ../../addon/public_server/public_server.php:62
#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2993
#: ../../boot.php:767
#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3213
#: ../../boot.php:779
msgid "Administrator"
msgstr ""
@ -1901,7 +1928,7 @@ msgid ""
"Password reset failed."
msgstr ""
#: ../../mod/lostpass.php:83 ../../boot.php:899
#: ../../mod/lostpass.php:83 ../../boot.php:912
msgid "Password Reset"
msgstr ""
@ -1945,524 +1972,529 @@ msgstr ""
msgid "Reset"
msgstr ""
#: ../../mod/settings.php:50 ../../include/nav.php:137
#: ../../mod/settings.php:30 ../../include/nav.php:137
msgid "Account settings"
msgstr ""
#: ../../mod/settings.php:55
#: ../../mod/settings.php:35
msgid "Display settings"
msgstr ""
#: ../../mod/settings.php:61
#: ../../mod/settings.php:41
msgid "Connector settings"
msgstr ""
#: ../../mod/settings.php:66
#: ../../mod/settings.php:46
msgid "Plugin settings"
msgstr ""
#: ../../mod/settings.php:71
#: ../../mod/settings.php:51
msgid "Connected apps"
msgstr ""
#: ../../mod/settings.php:76
#: ../../mod/settings.php:56
msgid "Export personal data"
msgstr ""
#: ../../mod/settings.php:81
#: ../../mod/settings.php:61
msgid "Remove account"
msgstr ""
#: ../../mod/settings.php:89 ../../mod/admin.php:753 ../../mod/admin.php:958
#: ../../addon/dav/layout.fnk.php:116 ../../addon/mathjax/mathjax.php:36
#: ../../mod/settings.php:69 ../../mod/admin.php:756 ../../mod/admin.php:961
#: ../../addon/dav/layout.fnk.php:225 ../../addon/mathjax/mathjax.php:36
#: ../../view/theme/diabook/theme.php:643
#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
msgid "Settings"
msgstr ""
#: ../../mod/settings.php:133
#: ../../mod/settings.php:113
msgid "Missing some important data!"
msgstr ""
#: ../../mod/settings.php:136 ../../mod/settings.php:581
#: ../../mod/settings.php:116 ../../mod/settings.php:563
msgid "Update"
msgstr ""
#: ../../mod/settings.php:241
#: ../../mod/settings.php:221
msgid "Failed to connect with email account using the settings provided."
msgstr ""
#: ../../mod/settings.php:246
#: ../../mod/settings.php:226
msgid "Email settings updated."
msgstr ""
#: ../../mod/settings.php:305
#: ../../mod/settings.php:285
msgid "Passwords do not match. Password unchanged."
msgstr ""
#: ../../mod/settings.php:310
#: ../../mod/settings.php:290
msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
#: ../../mod/settings.php:321
#: ../../mod/settings.php:301
msgid "Password changed."
msgstr ""
#: ../../mod/settings.php:323
#: ../../mod/settings.php:303
msgid "Password update failed. Please try again."
msgstr ""
#: ../../mod/settings.php:386
#: ../../mod/settings.php:368
msgid " Please use a shorter name."
msgstr ""
#: ../../mod/settings.php:388
#: ../../mod/settings.php:370
msgid " Name too short."
msgstr ""
#: ../../mod/settings.php:394
#: ../../mod/settings.php:376
msgid " Not valid email."
msgstr ""
#: ../../mod/settings.php:396
#: ../../mod/settings.php:378
msgid " Cannot change to that email."
msgstr ""
#: ../../mod/settings.php:450
#: ../../mod/settings.php:432
msgid "Private forum has no privacy permissions. Using default privacy group."
msgstr ""
#: ../../mod/settings.php:454
#: ../../mod/settings.php:436
msgid "Private forum has no privacy permissions and no default privacy group."
msgstr ""
#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:495
#: ../../mod/settings.php:466 ../../addon/facebook/facebook.php:495
#: ../../addon/impressum/impressum.php:77
#: ../../addon/openstreetmap/openstreetmap.php:80
#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
#: ../../addon/twitter/twitter.php:382
#: ../../addon/twitter/twitter.php:389
msgid "Settings updated."
msgstr ""
#: ../../mod/settings.php:554 ../../mod/settings.php:580
#: ../../mod/settings.php:616
#: ../../mod/settings.php:536 ../../mod/settings.php:562
#: ../../mod/settings.php:598
msgid "Add application"
msgstr ""
#: ../../mod/settings.php:558 ../../mod/settings.php:584
#: ../../addon/statusnet/statusnet.php:561
#: ../../mod/settings.php:540 ../../mod/settings.php:566
#: ../../addon/statusnet/statusnet.php:570
msgid "Consumer Key"
msgstr ""
#: ../../mod/settings.php:559 ../../mod/settings.php:585
#: ../../addon/statusnet/statusnet.php:560
#: ../../mod/settings.php:541 ../../mod/settings.php:567
#: ../../addon/statusnet/statusnet.php:569
msgid "Consumer Secret"
msgstr ""
#: ../../mod/settings.php:560 ../../mod/settings.php:586
#: ../../mod/settings.php:542 ../../mod/settings.php:568
msgid "Redirect"
msgstr ""
#: ../../mod/settings.php:561 ../../mod/settings.php:587
#: ../../mod/settings.php:543 ../../mod/settings.php:569
msgid "Icon url"
msgstr ""
#: ../../mod/settings.php:572
#: ../../mod/settings.php:554
msgid "You can't edit this application."
msgstr ""
#: ../../mod/settings.php:615
#: ../../mod/settings.php:597
msgid "Connected Apps"
msgstr ""
#: ../../mod/settings.php:619
#: ../../mod/settings.php:601
msgid "Client key starts with"
msgstr ""
#: ../../mod/settings.php:620
#: ../../mod/settings.php:602
msgid "No name"
msgstr ""
#: ../../mod/settings.php:621
#: ../../mod/settings.php:603
msgid "Remove authorization"
msgstr ""
#: ../../mod/settings.php:632
#: ../../mod/settings.php:614
msgid "No Plugin settings configured"
msgstr ""
#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
#: ../../mod/settings.php:622 ../../addon/widgets/widgets.php:123
msgid "Plugin Settings"
msgstr ""
#: ../../mod/settings.php:652 ../../mod/settings.php:653
#: ../../mod/settings.php:634 ../../mod/settings.php:635
#, php-format
msgid "Built-in support for %s connectivity is %s"
msgstr ""
#: ../../mod/settings.php:652 ../../mod/settings.php:653
#: ../../mod/settings.php:634 ../../mod/settings.php:635
msgid "enabled"
msgstr ""
#: ../../mod/settings.php:652 ../../mod/settings.php:653
#: ../../mod/settings.php:634 ../../mod/settings.php:635
msgid "disabled"
msgstr ""
#: ../../mod/settings.php:653
#: ../../mod/settings.php:635
msgid "StatusNet"
msgstr ""
#: ../../mod/settings.php:685
#: ../../mod/settings.php:667
msgid "Email access is disabled on this site."
msgstr ""
#: ../../mod/settings.php:691
#: ../../mod/settings.php:673
msgid "Connector Settings"
msgstr ""
#: ../../mod/settings.php:696
#: ../../mod/settings.php:678
msgid "Email/Mailbox Setup"
msgstr ""
#: ../../mod/settings.php:697
#: ../../mod/settings.php:679
msgid ""
"If you wish to communicate with email contacts using this service "
"(optional), please specify how to connect to your mailbox."
msgstr ""
#: ../../mod/settings.php:698
#: ../../mod/settings.php:680
msgid "Last successful email check:"
msgstr ""
#: ../../mod/settings.php:700
#: ../../mod/settings.php:682
msgid "IMAP server name:"
msgstr ""
#: ../../mod/settings.php:701
#: ../../mod/settings.php:683
msgid "IMAP port:"
msgstr ""
#: ../../mod/settings.php:702
#: ../../mod/settings.php:684
msgid "Security:"
msgstr ""
#: ../../mod/settings.php:702 ../../mod/settings.php:707
#: ../../mod/settings.php:684 ../../mod/settings.php:689
#: ../../addon/dav/common/wdcal_edit.inc.php:191
msgid "None"
msgstr ""
#: ../../mod/settings.php:703
#: ../../mod/settings.php:685
msgid "Email login name:"
msgstr ""
#: ../../mod/settings.php:704
#: ../../mod/settings.php:686
msgid "Email password:"
msgstr ""
#: ../../mod/settings.php:705
#: ../../mod/settings.php:687
msgid "Reply-to address:"
msgstr ""
#: ../../mod/settings.php:706
#: ../../mod/settings.php:688
msgid "Send public posts to all email contacts:"
msgstr ""
#: ../../mod/settings.php:707
#: ../../mod/settings.php:689
msgid "Action after import:"
msgstr ""
#: ../../mod/settings.php:707
#: ../../mod/settings.php:689
msgid "Mark as seen"
msgstr ""
#: ../../mod/settings.php:707
#: ../../mod/settings.php:689
msgid "Move to folder"
msgstr ""
#: ../../mod/settings.php:708
#: ../../mod/settings.php:690
msgid "Move to folder:"
msgstr ""
#: ../../mod/settings.php:768
#: ../../mod/settings.php:750
msgid "Display Settings"
msgstr ""
#: ../../mod/settings.php:774
#: ../../mod/settings.php:756 ../../mod/settings.php:766
msgid "Display Theme:"
msgstr ""
#: ../../mod/settings.php:775
#: ../../mod/settings.php:757
msgid "Update browser every xx seconds"
msgstr ""
#: ../../mod/settings.php:775
#: ../../mod/settings.php:757
msgid "Minimum of 10 seconds, no maximum"
msgstr ""
#: ../../mod/settings.php:776
#: ../../mod/settings.php:758
msgid "Number of items to display on the network page:"
msgstr ""
#: ../../mod/settings.php:776
#: ../../mod/settings.php:758
msgid "Maximum of 100 items"
msgstr ""
#: ../../mod/settings.php:777
#: ../../mod/settings.php:759
msgid "Don't show emoticons"
msgstr ""
#: ../../mod/settings.php:848
#: ../../mod/settings.php:835
msgid "Normal Account Page"
msgstr ""
#: ../../mod/settings.php:849
#: ../../mod/settings.php:836
msgid "This account is a normal personal profile"
msgstr ""
#: ../../mod/settings.php:852
#: ../../mod/settings.php:839
msgid "Soapbox Page"
msgstr ""
#: ../../mod/settings.php:853
#: ../../mod/settings.php:840
msgid "Automatically approve all connection/friend requests as read-only fans"
msgstr ""
#: ../../mod/settings.php:856
#: ../../mod/settings.php:843
msgid "Community Forum/Celebrity Account"
msgstr ""
#: ../../mod/settings.php:857
#: ../../mod/settings.php:844
msgid "Automatically approve all connection/friend requests as read-write fans"
msgstr ""
#: ../../mod/settings.php:860
#: ../../mod/settings.php:847
msgid "Automatic Friend Page"
msgstr ""
#: ../../mod/settings.php:861
#: ../../mod/settings.php:848
msgid "Automatically approve all connection/friend requests as friends"
msgstr ""
#: ../../mod/settings.php:864
#: ../../mod/settings.php:851
msgid "Private Forum [Experimental]"
msgstr ""
#: ../../mod/settings.php:865
#: ../../mod/settings.php:852
msgid "Private forum - approved members only"
msgstr ""
#: ../../mod/settings.php:877
#: ../../mod/settings.php:864
msgid "OpenID:"
msgstr ""
#: ../../mod/settings.php:877
#: ../../mod/settings.php:864
msgid "(Optional) Allow this OpenID to login to this account."
msgstr ""
#: ../../mod/settings.php:887
#: ../../mod/settings.php:874
msgid "Publish your default profile in your local site directory?"
msgstr ""
#: ../../mod/settings.php:893
#: ../../mod/settings.php:880
msgid "Publish your default profile in the global social directory?"
msgstr ""
#: ../../mod/settings.php:901
#: ../../mod/settings.php:888
msgid "Hide your contact/friend list from viewers of your default profile?"
msgstr ""
#: ../../mod/settings.php:905
#: ../../mod/settings.php:892
msgid "Hide your profile details from unknown viewers?"
msgstr ""
#: ../../mod/settings.php:910
#: ../../mod/settings.php:897
msgid "Allow friends to post to your profile page?"
msgstr ""
#: ../../mod/settings.php:916
#: ../../mod/settings.php:903
msgid "Allow friends to tag your posts?"
msgstr ""
#: ../../mod/settings.php:922
#: ../../mod/settings.php:909
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
#: ../../mod/settings.php:928
#: ../../mod/settings.php:915
msgid "Permit unknown people to send you private mail?"
msgstr ""
#: ../../mod/settings.php:936
#: ../../mod/settings.php:923
msgid "Profile is <strong>not published</strong>."
msgstr ""
#: ../../mod/settings.php:939 ../../mod/profile_photo.php:214
#: ../../mod/settings.php:926 ../../mod/profile_photo.php:214
msgid "or"
msgstr ""
#: ../../mod/settings.php:944
#: ../../mod/settings.php:931
msgid "Your Identity Address is"
msgstr ""
#: ../../mod/settings.php:955
#: ../../mod/settings.php:942
msgid "Automatically expire posts after this many days:"
msgstr ""
#: ../../mod/settings.php:955
#: ../../mod/settings.php:942
msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr ""
#: ../../mod/settings.php:956
#: ../../mod/settings.php:943
msgid "Advanced expiration settings"
msgstr ""
#: ../../mod/settings.php:957
#: ../../mod/settings.php:944
msgid "Advanced Expiration"
msgstr ""
#: ../../mod/settings.php:958
#: ../../mod/settings.php:945
msgid "Expire posts:"
msgstr ""
#: ../../mod/settings.php:959
#: ../../mod/settings.php:946
msgid "Expire personal notes:"
msgstr ""
#: ../../mod/settings.php:960
#: ../../mod/settings.php:947
msgid "Expire starred posts:"
msgstr ""
#: ../../mod/settings.php:961
#: ../../mod/settings.php:948
msgid "Expire photos:"
msgstr ""
#: ../../mod/settings.php:962
#: ../../mod/settings.php:949
msgid "Only expire posts by others:"
msgstr ""
#: ../../mod/settings.php:969
#: ../../mod/settings.php:956
msgid "Account Settings"
msgstr ""
#: ../../mod/settings.php:977
#: ../../mod/settings.php:964
msgid "Password Settings"
msgstr ""
#: ../../mod/settings.php:978
#: ../../mod/settings.php:965
msgid "New Password:"
msgstr ""
#: ../../mod/settings.php:979
#: ../../mod/settings.php:966
msgid "Confirm:"
msgstr ""
#: ../../mod/settings.php:979
#: ../../mod/settings.php:966
msgid "Leave password fields blank unless changing"
msgstr ""
#: ../../mod/settings.php:983
#: ../../mod/settings.php:970
msgid "Basic Settings"
msgstr ""
#: ../../mod/settings.php:984 ../../include/profile_advanced.php:15
#: ../../mod/settings.php:971 ../../include/profile_advanced.php:15
msgid "Full Name:"
msgstr ""
#: ../../mod/settings.php:985
#: ../../mod/settings.php:972
msgid "Email Address:"
msgstr ""
#: ../../mod/settings.php:986
#: ../../mod/settings.php:973
msgid "Your Timezone:"
msgstr ""
#: ../../mod/settings.php:987
#: ../../mod/settings.php:974
msgid "Default Post Location:"
msgstr ""
#: ../../mod/settings.php:988
#: ../../mod/settings.php:975
msgid "Use Browser Location:"
msgstr ""
#: ../../mod/settings.php:991
#: ../../mod/settings.php:978
msgid "Security and Privacy Settings"
msgstr ""
#: ../../mod/settings.php:993
#: ../../mod/settings.php:980
msgid "Maximum Friend Requests/Day:"
msgstr ""
#: ../../mod/settings.php:993 ../../mod/settings.php:1012
#: ../../mod/settings.php:980 ../../mod/settings.php:999
msgid "(to prevent spam abuse)"
msgstr ""
#: ../../mod/settings.php:994
#: ../../mod/settings.php:981
msgid "Default Post Permissions"
msgstr ""
#: ../../mod/settings.php:995
#: ../../mod/settings.php:982
msgid "(click to open/close)"
msgstr ""
#: ../../mod/settings.php:1012
#: ../../mod/settings.php:999
msgid "Maximum private messages per day from unknown people:"
msgstr ""
#: ../../mod/settings.php:1015
#: ../../mod/settings.php:1002
msgid "Notification Settings"
msgstr ""
#: ../../mod/settings.php:1016
#: ../../mod/settings.php:1003
msgid "By default post a status message when:"
msgstr ""
#: ../../mod/settings.php:1017
#: ../../mod/settings.php:1004
msgid "accepting a friend request"
msgstr ""
#: ../../mod/settings.php:1018
#: ../../mod/settings.php:1005
msgid "joining a forum/community"
msgstr ""
#: ../../mod/settings.php:1019
#: ../../mod/settings.php:1006
msgid "making an <em>interesting</em> profile change"
msgstr ""
#: ../../mod/settings.php:1020
#: ../../mod/settings.php:1007
msgid "Send a notification email when:"
msgstr ""
#: ../../mod/settings.php:1021
#: ../../mod/settings.php:1008
msgid "You receive an introduction"
msgstr ""
#: ../../mod/settings.php:1022
#: ../../mod/settings.php:1009
msgid "Your introductions are confirmed"
msgstr ""
#: ../../mod/settings.php:1023
#: ../../mod/settings.php:1010
msgid "Someone writes on your profile wall"
msgstr ""
#: ../../mod/settings.php:1024
#: ../../mod/settings.php:1011
msgid "Someone writes a followup comment"
msgstr ""
#: ../../mod/settings.php:1025
#: ../../mod/settings.php:1012
msgid "You receive a private message"
msgstr ""
#: ../../mod/settings.php:1026
#: ../../mod/settings.php:1013
msgid "You receive a friend suggestion"
msgstr ""
#: ../../mod/settings.php:1027
#: ../../mod/settings.php:1014
msgid "You are tagged in a post"
msgstr ""
#: ../../mod/settings.php:1030
#: ../../mod/settings.php:1015
msgid "You are poked/prodded/etc. in a post"
msgstr ""
#: ../../mod/settings.php:1018
msgid "Advanced Account/Page Type Settings"
msgstr ""
#: ../../mod/settings.php:1031
#: ../../mod/settings.php:1019
msgid "Change the behaviour of this account for special situations"
msgstr ""
@ -2564,14 +2596,15 @@ msgstr ""
msgid "Invalid contact."
msgstr ""
#: ../../mod/notes.php:44 ../../boot.php:1602
#: ../../mod/notes.php:44 ../../boot.php:1641
msgid "Personal Notes"
msgstr ""
#: ../../mod/notes.php:63 ../../mod/filer.php:30
#: ../../addon/facebook/facebook.php:770
#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:677
#: ../../addon/privacy_image_cache/privacy_image_cache.php:236
#: ../../addon/dav/layout.fnk.php:441 ../../addon/dav/layout.fnk.php:488
#: ../../include/text.php:677
msgid "Save"
msgstr ""
@ -2580,7 +2613,7 @@ msgstr ""
msgid "Number of daily wall messages for %s exceeded. Message failed."
msgstr ""
#: ../../mod/wallmessage.php:56 ../../mod/message.php:66
#: ../../mod/wallmessage.php:56 ../../mod/message.php:59
msgid "No recipient selected."
msgstr ""
@ -2588,15 +2621,15 @@ msgstr ""
msgid "Unable to check your home location."
msgstr ""
#: ../../mod/wallmessage.php:62 ../../mod/message.php:73
#: ../../mod/wallmessage.php:62 ../../mod/message.php:66
msgid "Message could not be sent."
msgstr ""
#: ../../mod/wallmessage.php:65 ../../mod/message.php:76
#: ../../mod/wallmessage.php:65 ../../mod/message.php:69
msgid "Message collection failure."
msgstr ""
#: ../../mod/wallmessage.php:68 ../../mod/message.php:79
#: ../../mod/wallmessage.php:68 ../../mod/message.php:72
msgid "Message sent."
msgstr ""
@ -2604,34 +2637,35 @@ msgstr ""
msgid "No recipient."
msgstr ""
#: ../../mod/wallmessage.php:124 ../../mod/message.php:250
#: ../../include/conversation.php:1020
#: ../../mod/wallmessage.php:123 ../../mod/wallmessage.php:131
#: ../../mod/message.php:242 ../../mod/message.php:250
#: ../../include/conversation.php:1065 ../../include/conversation.php:1082
msgid "Please enter a link URL:"
msgstr ""
#: ../../mod/wallmessage.php:131 ../../mod/message.php:278
#: ../../mod/wallmessage.php:138 ../../mod/message.php:278
msgid "Send Private Message"
msgstr ""
#: ../../mod/wallmessage.php:132
#: ../../mod/wallmessage.php:139
#, php-format
msgid ""
"If you wish for %s to respond, please check that the privacy settings on "
"your site allow private mail from unknown senders."
msgstr ""
#: ../../mod/wallmessage.php:133 ../../mod/message.php:279
#: ../../mod/message.php:462
#: ../../mod/wallmessage.php:140 ../../mod/message.php:279
#: ../../mod/message.php:467
msgid "To:"
msgstr ""
#: ../../mod/wallmessage.php:134 ../../mod/message.php:284
#: ../../mod/message.php:464
#: ../../mod/wallmessage.php:141 ../../mod/message.php:284
#: ../../mod/message.php:469
msgid "Subject:"
msgstr ""
#: ../../mod/wallmessage.php:140 ../../mod/message.php:288
#: ../../mod/message.php:467 ../../mod/invite.php:113
#: ../../mod/wallmessage.php:147 ../../mod/message.php:288
#: ../../mod/message.php:472 ../../mod/invite.php:113
msgid "Your message:"
msgstr ""
@ -2773,7 +2807,7 @@ msgstr ""
msgid "Group name changed."
msgstr ""
#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:308
#: ../../mod/group.php:72 ../../mod/profperm.php:19 ../../index.php:314
msgid "Permission denied"
msgstr ""
@ -2815,7 +2849,7 @@ msgstr ""
#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84
#: ../../include/nav.php:50 ../../boot.php:1581
#: ../../include/nav.php:50 ../../boot.php:1617
msgid "Profile"
msgstr ""
@ -2919,7 +2953,7 @@ msgstr ""
msgid "Choose a nickname: "
msgstr ""
#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:865
#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:878
msgid "Register"
msgstr ""
@ -2928,17 +2962,17 @@ msgid "People Search"
msgstr ""
#: ../../mod/like.php:145 ../../mod/like.php:298 ../../mod/tagger.php:70
#: ../../addon/facebook/facebook.php:1586
#: ../../addon/facebook/facebook.php:1594
#: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167
#: ../../view/theme/diabook/theme.php:565
#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1793
#: ../../include/conversation.php:109 ../../include/conversation.php:118
#: ../../include/conversation.php:182 ../../include/conversation.php:191
#: ../../include/conversation.php:225 ../../include/conversation.php:234
msgid "status"
msgstr ""
#: ../../mod/like.php:162 ../../addon/facebook/facebook.php:1590
#: ../../mod/like.php:162 ../../addon/facebook/facebook.php:1598
#: ../../addon/communityhome/communityhome.php:172
#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1809
#: ../../include/conversation.php:126
@ -2952,8 +2986,8 @@ msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
#: ../../mod/admin.php:702 ../../mod/admin.php:901 ../../mod/display.php:37
#: ../../mod/display.php:142 ../../include/items.php:3472
#: ../../mod/admin.php:705 ../../mod/admin.php:904 ../../mod/display.php:37
#: ../../mod/display.php:142 ../../include/items.php:3692
msgid "Item not found."
msgstr ""
@ -2962,7 +2996,7 @@ msgid "Access denied."
msgstr ""
#: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130
#: ../../include/nav.php:51 ../../boot.php:1587
#: ../../include/nav.php:51 ../../boot.php:1624
msgid "Photos"
msgstr ""
@ -3056,7 +3090,7 @@ msgstr ""
msgid "Upload Profile Photo"
msgstr ""
#: ../../mod/profile_photo.php:212
#: ../../mod/profile_photo.php:212 ../../addon/dav/layout.fnk.php:152
msgid "Upload"
msgstr ""
@ -3106,15 +3140,15 @@ msgstr ""
msgid "New Message"
msgstr ""
#: ../../mod/message.php:70
#: ../../mod/message.php:63
msgid "Unable to locate contact information."
msgstr ""
#: ../../mod/message.php:198
#: ../../mod/message.php:191
msgid "Message deleted."
msgstr ""
#: ../../mod/message.php:228
#: ../../mod/message.php:221
msgid "Conversation removed."
msgstr ""
@ -3137,7 +3171,7 @@ msgstr ""
msgid "%s and You"
msgstr ""
#: ../../mod/message.php:350 ../../mod/message.php:455
#: ../../mod/message.php:350 ../../mod/message.php:460
msgid "Delete conversation"
msgstr ""
@ -3156,17 +3190,17 @@ msgstr[1] ""
msgid "Message not available."
msgstr ""
#: ../../mod/message.php:438
#: ../../mod/message.php:443
msgid "Delete message"
msgstr ""
#: ../../mod/message.php:457
#: ../../mod/message.php:462
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr ""
#: ../../mod/message.php:461
#: ../../mod/message.php:466
msgid "Send Reply"
msgstr ""
@ -3187,15 +3221,15 @@ msgstr ""
msgid "Site"
msgstr ""
#: ../../mod/admin.php:97 ../../mod/admin.php:657 ../../mod/admin.php:669
#: ../../mod/admin.php:97 ../../mod/admin.php:660 ../../mod/admin.php:672
msgid "Users"
msgstr ""
#: ../../mod/admin.php:98 ../../mod/admin.php:751 ../../mod/admin.php:793
#: ../../mod/admin.php:98 ../../mod/admin.php:754 ../../mod/admin.php:796
msgid "Plugins"
msgstr ""
#: ../../mod/admin.php:99 ../../mod/admin.php:956 ../../mod/admin.php:992
#: ../../mod/admin.php:99 ../../mod/admin.php:959 ../../mod/admin.php:995
msgid "Themes"
msgstr ""
@ -3203,7 +3237,7 @@ msgstr ""
msgid "DB updates"
msgstr ""
#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1079
#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1082
msgid "Logs"
msgstr ""
@ -3219,19 +3253,19 @@ msgstr ""
msgid "User registrations waiting for confirmation"
msgstr ""
#: ../../mod/admin.php:183 ../../mod/admin.php:639
#: ../../mod/admin.php:183 ../../mod/admin.php:642
msgid "Normal Account"
msgstr ""
#: ../../mod/admin.php:184 ../../mod/admin.php:640
#: ../../mod/admin.php:184 ../../mod/admin.php:643
msgid "Soapbox Account"
msgstr ""
#: ../../mod/admin.php:185 ../../mod/admin.php:641
#: ../../mod/admin.php:185 ../../mod/admin.php:644
msgid "Community/Celebrity Account"
msgstr ""
#: ../../mod/admin.php:186 ../../mod/admin.php:642
#: ../../mod/admin.php:186 ../../mod/admin.php:645
msgid "Automatic Friend Account"
msgstr ""
@ -3247,9 +3281,9 @@ msgstr ""
msgid "Message queues"
msgstr ""
#: ../../mod/admin.php:212 ../../mod/admin.php:420 ../../mod/admin.php:656
#: ../../mod/admin.php:750 ../../mod/admin.php:792 ../../mod/admin.php:955
#: ../../mod/admin.php:991 ../../mod/admin.php:1078
#: ../../mod/admin.php:212 ../../mod/admin.php:420 ../../mod/admin.php:659
#: ../../mod/admin.php:753 ../../mod/admin.php:795 ../../mod/admin.php:958
#: ../../mod/admin.php:994 ../../mod/admin.php:1081
msgid "Administration"
msgstr ""
@ -3313,7 +3347,7 @@ msgstr ""
msgid "Advanced"
msgstr ""
#: ../../mod/admin.php:430 ../../addon/statusnet/statusnet.php:558
#: ../../mod/admin.php:430 ../../addon/statusnet/statusnet.php:567
msgid "Site name"
msgstr ""
@ -3554,226 +3588,226 @@ msgid ""
"default 50."
msgstr ""
#: ../../mod/admin.php:474
#: ../../mod/admin.php:477
msgid "Update has been marked successful"
msgstr ""
#: ../../mod/admin.php:484
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
#: ../../mod/admin.php:487
#, php-format
msgid "Update %s was successfully applied."
msgid "Executing %s failed. Check system logs."
msgstr ""
#: ../../mod/admin.php:491
#: ../../mod/admin.php:490
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgid "Update %s was successfully applied."
msgstr ""
#: ../../mod/admin.php:494
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
#: ../../mod/admin.php:497
#, php-format
msgid "Update function %s could not be found."
msgstr ""
#: ../../mod/admin.php:509
#: ../../mod/admin.php:512
msgid "No failed updates."
msgstr ""
#: ../../mod/admin.php:513
#: ../../mod/admin.php:516
msgid "Failed Updates"
msgstr ""
#: ../../mod/admin.php:514
#: ../../mod/admin.php:517
msgid ""
"This does not include updates prior to 1139, which did not return a status."
msgstr ""
#: ../../mod/admin.php:515
#: ../../mod/admin.php:518
msgid "Mark success (if update was manually applied)"
msgstr ""
#: ../../mod/admin.php:516
#: ../../mod/admin.php:519
msgid "Attempt to execute this update step automatically"
msgstr ""
#: ../../mod/admin.php:541
#: ../../mod/admin.php:544
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
#: ../../mod/admin.php:548
#: ../../mod/admin.php:551
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
#: ../../mod/admin.php:587
#: ../../mod/admin.php:590
#, php-format
msgid "User '%s' deleted"
msgstr ""
#: ../../mod/admin.php:595
#: ../../mod/admin.php:598
#, php-format
msgid "User '%s' unblocked"
msgstr ""
#: ../../mod/admin.php:595
#: ../../mod/admin.php:598
#, php-format
msgid "User '%s' blocked"
msgstr ""
#: ../../mod/admin.php:659
#: ../../mod/admin.php:662
msgid "select all"
msgstr ""
#: ../../mod/admin.php:660
#: ../../mod/admin.php:663
msgid "User registrations waiting for confirm"
msgstr ""
#: ../../mod/admin.php:661
#: ../../mod/admin.php:664
msgid "Request date"
msgstr ""
#: ../../mod/admin.php:661 ../../mod/admin.php:670
#: ../../mod/admin.php:664 ../../mod/admin.php:673
#: ../../include/contact_selectors.php:79
msgid "Email"
msgstr ""
#: ../../mod/admin.php:662
#: ../../mod/admin.php:665
msgid "No registrations."
msgstr ""
#: ../../mod/admin.php:664
#: ../../mod/admin.php:667
msgid "Deny"
msgstr ""
#: ../../mod/admin.php:670
#: ../../mod/admin.php:673
msgid "Register date"
msgstr ""
#: ../../mod/admin.php:670
#: ../../mod/admin.php:673
msgid "Last login"
msgstr ""
#: ../../mod/admin.php:670
#: ../../mod/admin.php:673
msgid "Last item"
msgstr ""
#: ../../mod/admin.php:670
#: ../../mod/admin.php:673
msgid "Account"
msgstr ""
#: ../../mod/admin.php:672
#: ../../mod/admin.php:675
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
#: ../../mod/admin.php:673
#: ../../mod/admin.php:676
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
#: ../../mod/admin.php:714
#: ../../mod/admin.php:717
#, php-format
msgid "Plugin %s disabled."
msgstr ""
#: ../../mod/admin.php:718
#: ../../mod/admin.php:721
#, php-format
msgid "Plugin %s enabled."
msgstr ""
#: ../../mod/admin.php:728 ../../mod/admin.php:926
#: ../../mod/admin.php:731 ../../mod/admin.php:929
msgid "Disable"
msgstr ""
#: ../../mod/admin.php:730 ../../mod/admin.php:928
#: ../../mod/admin.php:733 ../../mod/admin.php:931
msgid "Enable"
msgstr ""
#: ../../mod/admin.php:752 ../../mod/admin.php:957
#: ../../mod/admin.php:755 ../../mod/admin.php:960
msgid "Toggle"
msgstr ""
#: ../../mod/admin.php:760 ../../mod/admin.php:967
#: ../../mod/admin.php:763 ../../mod/admin.php:970
msgid "Author: "
msgstr ""
#: ../../mod/admin.php:761 ../../mod/admin.php:968
#: ../../mod/admin.php:764 ../../mod/admin.php:971
msgid "Maintainer: "
msgstr ""
#: ../../mod/admin.php:890
#: ../../mod/admin.php:893
msgid "No themes found."
msgstr ""
#: ../../mod/admin.php:949
#: ../../mod/admin.php:952
msgid "Screenshot"
msgstr ""
#: ../../mod/admin.php:997
#: ../../mod/admin.php:1000
msgid "[Experimental]"
msgstr ""
#: ../../mod/admin.php:998
#: ../../mod/admin.php:1001
msgid "[Unsupported]"
msgstr ""
#: ../../mod/admin.php:1025
#: ../../mod/admin.php:1028
msgid "Log settings updated."
msgstr ""
#: ../../mod/admin.php:1081
#: ../../mod/admin.php:1084
msgid "Clear"
msgstr ""
#: ../../mod/admin.php:1087
#: ../../mod/admin.php:1090
msgid "Debugging"
msgstr ""
#: ../../mod/admin.php:1088
#: ../../mod/admin.php:1091
msgid "Log file"
msgstr ""
#: ../../mod/admin.php:1088
#: ../../mod/admin.php:1091
msgid ""
"Must be writable by web server. Relative to your Friendica top-level "
"directory."
msgstr ""
#: ../../mod/admin.php:1089
#: ../../mod/admin.php:1092
msgid "Log level"
msgstr ""
#: ../../mod/admin.php:1139
#: ../../mod/admin.php:1142
msgid "Close"
msgstr ""
#: ../../mod/admin.php:1145
#: ../../mod/admin.php:1148
msgid "FTP Host"
msgstr ""
#: ../../mod/admin.php:1146
#: ../../mod/admin.php:1149
msgid "FTP Path"
msgstr ""
#: ../../mod/admin.php:1147
#: ../../mod/admin.php:1150
msgid "FTP User"
msgstr ""
#: ../../mod/admin.php:1148
#: ../../mod/admin.php:1151
msgid "FTP Password"
msgstr ""
#: ../../mod/profile.php:21 ../../boot.php:1030
#: ../../mod/profile.php:21 ../../boot.php:1043
msgid "Requested profile is not available."
msgstr ""
@ -3860,7 +3894,7 @@ msgstr ""
msgid "No contacts in common."
msgstr ""
#: ../../mod/share.php:28 ../../include/bb2diaspora.php:286
#: ../../mod/share.php:28
msgid "link"
msgstr ""
@ -3938,7 +3972,7 @@ msgstr ""
msgid "Address"
msgstr ""
#: ../../mod/profiles.php:205 ../../addon/dav/layout.fnk.php:310
#: ../../mod/profiles.php:205 ../../addon/dav/common/wdcal_edit.inc.php:183
msgid "Location"
msgstr ""
@ -3985,210 +4019,211 @@ msgstr ""
msgid "Profile unavailable to clone."
msgstr ""
#: ../../mod/profiles.php:553
#: ../../mod/profiles.php:557
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
#: ../../mod/profiles.php:576
#: ../../mod/profiles.php:577
msgid "Edit Profile Details"
msgstr ""
#: ../../mod/profiles.php:578
#: ../../mod/profiles.php:579
msgid "View this profile"
msgstr ""
#: ../../mod/profiles.php:579
#: ../../mod/profiles.php:580
msgid "Create a new profile using these settings"
msgstr ""
#: ../../mod/profiles.php:580
#: ../../mod/profiles.php:581
msgid "Clone this profile"
msgstr ""
#: ../../mod/profiles.php:581
#: ../../mod/profiles.php:582
msgid "Delete this profile"
msgstr ""
#: ../../mod/profiles.php:582
#: ../../mod/profiles.php:583
msgid "Profile Name:"
msgstr ""
#: ../../mod/profiles.php:583
#: ../../mod/profiles.php:584
msgid "Your Full Name:"
msgstr ""
#: ../../mod/profiles.php:584
#: ../../mod/profiles.php:585
msgid "Title/Description:"
msgstr ""
#: ../../mod/profiles.php:585
#: ../../mod/profiles.php:586
msgid "Your Gender:"
msgstr ""
#: ../../mod/profiles.php:586
#: ../../mod/profiles.php:587
#, php-format
msgid "Birthday (%s):"
msgstr ""
#: ../../mod/profiles.php:587
#: ../../mod/profiles.php:588
msgid "Street Address:"
msgstr ""
#: ../../mod/profiles.php:588
#: ../../mod/profiles.php:589
msgid "Locality/City:"
msgstr ""
#: ../../mod/profiles.php:589
#: ../../mod/profiles.php:590
msgid "Postal/Zip Code:"
msgstr ""
#: ../../mod/profiles.php:590
#: ../../mod/profiles.php:591
msgid "Country:"
msgstr ""
#: ../../mod/profiles.php:591
#: ../../mod/profiles.php:592
msgid "Region/State:"
msgstr ""
#: ../../mod/profiles.php:592
#: ../../mod/profiles.php:593
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
#: ../../mod/profiles.php:593
#: ../../mod/profiles.php:594
msgid "Who: (if applicable)"
msgstr ""
#: ../../mod/profiles.php:594
#: ../../mod/profiles.php:595
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
#: ../../mod/profiles.php:595
#: ../../mod/profiles.php:596
msgid "Since [date]:"
msgstr ""
#: ../../mod/profiles.php:596 ../../include/profile_advanced.php:46
#: ../../mod/profiles.php:597 ../../include/profile_advanced.php:46
msgid "Sexual Preference:"
msgstr ""
#: ../../mod/profiles.php:597
#: ../../mod/profiles.php:598
msgid "Homepage URL:"
msgstr ""
#: ../../mod/profiles.php:598 ../../include/profile_advanced.php:50
#: ../../mod/profiles.php:599 ../../include/profile_advanced.php:50
msgid "Hometown:"
msgstr ""
#: ../../mod/profiles.php:599 ../../include/profile_advanced.php:54
#: ../../mod/profiles.php:600 ../../include/profile_advanced.php:54
msgid "Political Views:"
msgstr ""
#: ../../mod/profiles.php:600
#: ../../mod/profiles.php:601
msgid "Religious Views:"
msgstr ""
#: ../../mod/profiles.php:601
#: ../../mod/profiles.php:602
msgid "Public Keywords:"
msgstr ""
#: ../../mod/profiles.php:602
#: ../../mod/profiles.php:603
msgid "Private Keywords:"
msgstr ""
#: ../../mod/profiles.php:603 ../../include/profile_advanced.php:62
#: ../../mod/profiles.php:604 ../../include/profile_advanced.php:62
msgid "Likes:"
msgstr ""
#: ../../mod/profiles.php:604 ../../include/profile_advanced.php:64
#: ../../mod/profiles.php:605 ../../include/profile_advanced.php:64
msgid "Dislikes:"
msgstr ""
#: ../../mod/profiles.php:605
#: ../../mod/profiles.php:606
msgid "Example: fishing photography software"
msgstr ""
#: ../../mod/profiles.php:606
#: ../../mod/profiles.php:607
msgid "(Used for suggesting potential friends, can be seen by others)"
msgstr ""
#: ../../mod/profiles.php:607
#: ../../mod/profiles.php:608
msgid "(Used for searching profiles, never shown to others)"
msgstr ""
#: ../../mod/profiles.php:608
#: ../../mod/profiles.php:609
msgid "Tell us about yourself..."
msgstr ""
#: ../../mod/profiles.php:609
#: ../../mod/profiles.php:610
msgid "Hobbies/Interests"
msgstr ""
#: ../../mod/profiles.php:610
#: ../../mod/profiles.php:611
msgid "Contact information and Social Networks"
msgstr ""
#: ../../mod/profiles.php:611
#: ../../mod/profiles.php:612
msgid "Musical interests"
msgstr ""
#: ../../mod/profiles.php:612
#: ../../mod/profiles.php:613
msgid "Books, literature"
msgstr ""
#: ../../mod/profiles.php:613
#: ../../mod/profiles.php:614
msgid "Television"
msgstr ""
#: ../../mod/profiles.php:614
#: ../../mod/profiles.php:615
msgid "Film/dance/culture/entertainment"
msgstr ""
#: ../../mod/profiles.php:615
#: ../../mod/profiles.php:616
msgid "Love/romance"
msgstr ""
#: ../../mod/profiles.php:616
#: ../../mod/profiles.php:617
msgid "Work/employment"
msgstr ""
#: ../../mod/profiles.php:617
#: ../../mod/profiles.php:618
msgid "School/education"
msgstr ""
#: ../../mod/profiles.php:622
#: ../../mod/profiles.php:623
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr ""
#: ../../mod/profiles.php:632 ../../mod/directory.php:109
#: ../../mod/profiles.php:633 ../../mod/directory.php:109
msgid "Age: "
msgstr ""
#: ../../mod/profiles.php:671
#: ../../mod/profiles.php:672
msgid "Edit/Manage Profiles"
msgstr ""
#: ../../mod/profiles.php:672 ../../boot.php:1139
#: ../../mod/profiles.php:673 ../../boot.php:1152
msgid "Change profile photo"
msgstr ""
#: ../../mod/profiles.php:673 ../../boot.php:1140
#: ../../mod/profiles.php:674 ../../boot.php:1153
msgid "Create New Profile"
msgstr ""
#: ../../mod/profiles.php:684 ../../boot.php:1150
#: ../../mod/profiles.php:685 ../../boot.php:1163
msgid "Profile Image"
msgstr ""
#: ../../mod/profiles.php:686 ../../boot.php:1153
#: ../../mod/profiles.php:687 ../../boot.php:1166
msgid "visible to everybody"
msgstr ""
#: ../../mod/profiles.php:687 ../../boot.php:1154
#: ../../mod/profiles.php:688 ../../boot.php:1167
msgid "Edit visibility"
msgstr ""
#: ../../mod/filer.php:29 ../../include/conversation.php:1024
#: ../../mod/filer.php:29 ../../include/conversation.php:1069
#: ../../include/conversation.php:1086
msgid "Save to Folder:"
msgstr ""
@ -4196,7 +4231,7 @@ msgstr ""
msgid "- select -"
msgstr ""
#: ../../mod/tagger.php:103 ../../include/conversation.php:199
#: ../../mod/tagger.php:103 ../../include/conversation.php:242
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
@ -4312,17 +4347,17 @@ msgid "Gender: "
msgstr ""
#: ../../mod/directory.php:134 ../../include/profile_advanced.php:17
#: ../../boot.php:1175
#: ../../boot.php:1188
msgid "Gender:"
msgstr ""
#: ../../mod/directory.php:136 ../../include/profile_advanced.php:37
#: ../../boot.php:1178
#: ../../boot.php:1191
msgid "Status:"
msgstr ""
#: ../../mod/directory.php:138 ../../include/profile_advanced.php:48
#: ../../boot.php:1180
#: ../../boot.php:1193
msgid "Homepage:"
msgstr ""
@ -4688,7 +4723,7 @@ msgstr ""
msgid "Activate Real-Time Updates"
msgstr ""
#: ../../addon/facebook/facebook.php:799 ../../addon/dav/layout.fnk.php:360
#: ../../addon/facebook/facebook.php:799 ../../addon/dav/layout.fnk.php:361
msgid "The new values have been saved."
msgstr ""
@ -4702,23 +4737,23 @@ msgid ""
"conflict."
msgstr ""
#: ../../addon/facebook/facebook.php:1141
#: ../../addon/facebook/facebook.php:1149
msgid "View on Friendica"
msgstr ""
#: ../../addon/facebook/facebook.php:1174
#: ../../addon/facebook/facebook.php:1182
msgid "Facebook post failed. Queued for retry."
msgstr ""
#: ../../addon/facebook/facebook.php:1214
#: ../../addon/facebook/facebook.php:1222
msgid "Your Facebook connection became invalid. Please Re-authenticate."
msgstr ""
#: ../../addon/facebook/facebook.php:1215
#: ../../addon/facebook/facebook.php:1223
msgid "Facebook connection became invalid"
msgstr ""
#: ../../addon/facebook/facebook.php:1216
#: ../../addon/facebook/facebook.php:1224
#, php-format
msgid ""
"Hi %1$s,\n"
@ -4740,23 +4775,35 @@ msgstr ""
msgid "Automatically follow any StatusNet followers/mentioners"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:184
#: ../../addon/bg/bg.php:51
msgid "Bg settings updated."
msgstr ""
#: ../../addon/bg/bg.php:82
msgid "Bg Settings"
msgstr ""
#: ../../addon/bg/bg.php:84 ../../addon/numfriends/numfriends.php:79
msgid "How many contacts to display on profile sidebar"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:233
msgid "Lifetime of the cache (in hours)"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:189
#: ../../addon/privacy_image_cache/privacy_image_cache.php:238
msgid "Cache Statistics"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
#: ../../addon/privacy_image_cache/privacy_image_cache.php:241
msgid "Number of items"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
#: ../../addon/privacy_image_cache/privacy_image_cache.php:243
msgid "Size of the cache"
msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:196
#: ../../addon/privacy_image_cache/privacy_image_cache.php:245
msgid "Delete the whole cache"
msgstr ""
@ -4794,6 +4841,156 @@ msgstr ""
msgid "Connect on Friendica!"
msgstr ""
#: ../../addon/morepokes/morepokes.php:19
msgid "bitchslap"
msgstr ""
#: ../../addon/morepokes/morepokes.php:19
msgid "bitchslapped"
msgstr ""
#: ../../addon/morepokes/morepokes.php:20
msgid "shag"
msgstr ""
#: ../../addon/morepokes/morepokes.php:20
msgid "shagged"
msgstr ""
#: ../../addon/morepokes/morepokes.php:21
msgid "do something obscenely biological to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:21
msgid "did something obscenely biological to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:22
msgid "point out the new poke feature to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:22
msgid "pointed out the new poke feature to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:23
msgid "declare undying love for"
msgstr ""
#: ../../addon/morepokes/morepokes.php:23
msgid "declared undying love for"
msgstr ""
#: ../../addon/morepokes/morepokes.php:24
msgid "set fire to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:25
msgid "patent"
msgstr ""
#: ../../addon/morepokes/morepokes.php:25
msgid "patented"
msgstr ""
#: ../../addon/morepokes/morepokes.php:26
msgid "stroke beard"
msgstr ""
#: ../../addon/morepokes/morepokes.php:26
msgid "stroked their beard at"
msgstr ""
#: ../../addon/morepokes/morepokes.php:27
msgid ""
"bemoan the declining standards of modern secondary and tertiary education to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:27
msgid ""
"bemoans the declining standards of modern secondary and tertiary education to"
msgstr ""
#: ../../addon/morepokes/morepokes.php:28
msgid "hug"
msgstr ""
#: ../../addon/morepokes/morepokes.php:28
msgid "hugged"
msgstr ""
#: ../../addon/morepokes/morepokes.php:29
msgid "kiss"
msgstr ""
#: ../../addon/morepokes/morepokes.php:29
msgid "kissed"
msgstr ""
#: ../../addon/morepokes/morepokes.php:30
msgid "raise eyebrows at"
msgstr ""
#: ../../addon/morepokes/morepokes.php:30
msgid "raised their eyebrows at"
msgstr ""
#: ../../addon/morepokes/morepokes.php:31
msgid "insult"
msgstr ""
#: ../../addon/morepokes/morepokes.php:31
msgid "insulted"
msgstr ""
#: ../../addon/morepokes/morepokes.php:32
msgid "praise"
msgstr ""
#: ../../addon/morepokes/morepokes.php:32
msgid "praised"
msgstr ""
#: ../../addon/morepokes/morepokes.php:33
msgid "be dubious of"
msgstr ""
#: ../../addon/morepokes/morepokes.php:33
msgid "was dubious of"
msgstr ""
#: ../../addon/morepokes/morepokes.php:34
msgid "eat"
msgstr ""
#: ../../addon/morepokes/morepokes.php:34
msgid "ate"
msgstr ""
#: ../../addon/morepokes/morepokes.php:35
msgid "giggle and fawn at"
msgstr ""
#: ../../addon/morepokes/morepokes.php:35
msgid "giggled and fawned at"
msgstr ""
#: ../../addon/morepokes/morepokes.php:36
msgid "doubt"
msgstr ""
#: ../../addon/morepokes/morepokes.php:36
msgid "doubted"
msgstr ""
#: ../../addon/morepokes/morepokes.php:37
msgid "glare"
msgstr ""
#: ../../addon/morepokes/morepokes.php:37
msgid "glared at"
msgstr ""
#: ../../addon/yourls/yourls.php:55
msgid "YourLS Settings"
msgstr ""
@ -4878,10 +5075,11 @@ msgid "%s - Click to open/close"
msgstr ""
#: ../../addon/page/page.php:61 ../../addon/page/page.php:91
#: ../../addon/forumlist/forumlist.php:54
msgid "Forums"
msgstr ""
#: ../../addon/page/page.php:129
#: ../../addon/page/page.php:129 ../../addon/forumlist/forumlist.php:88
msgid "Forums:"
msgstr ""
@ -4893,7 +5091,7 @@ msgstr ""
msgid "Page Settings"
msgstr ""
#: ../../addon/page/page.php:196
#: ../../addon/page/page.php:196 ../../addon/forumlist/forumlist.php:155
msgid "How many forums to display on sidebar without paging"
msgstr ""
@ -4917,7 +5115,7 @@ msgstr ""
#: ../../addon/communityhome/communityhome.php:34
#: ../../addon/communityhome/twillingham/communityhome.php:28
#: ../../addon/communityhome/twillingham/communityhome.php:34
#: ../../include/nav.php:64 ../../boot.php:886
#: ../../include/nav.php:64 ../../boot.php:899
msgid "Login"
msgstr ""
@ -4945,205 +5143,533 @@ msgid "Latest likes"
msgstr ""
#: ../../addon/communityhome/communityhome.php:155
#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1344
#: ../../include/conversation.php:106 ../../include/conversation.php:179
#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1360
#: ../../include/conversation.php:106 ../../include/conversation.php:222
msgid "event"
msgstr ""
#: ../../addon/dav/common/wdcal_configuration.php:126
msgid "U.S. Time Format (mm/dd/YYYY)"
#: ../../addon/dav/dav_caldav_backend_virtual_friendica.inc.php:36
msgid "Friendicy-Native events"
msgstr ""
#: ../../addon/dav/common/wdcal_configuration.php:205
msgid "German Time Format (dd.mm.YYYY)"
msgstr ""
#: ../../addon/dav/common/calendar.fnk.php:517
#: ../../addon/dav/common/calendar.fnk.php:533
#: ../../addon/dav/layout.fnk.php:200
msgid "Error"
msgstr ""
#: ../../addon/dav/common/calendar.fnk.php:568
#: ../../addon/dav/common/calendar.fnk.php:637
#: ../../addon/dav/common/calendar.fnk.php:664
#: ../../addon/dav/layout.fnk.php:231
#: ../../addon/dav/common/wdcal_backend.inc.php:92
#: ../../addon/dav/common/wdcal_backend.inc.php:166
#: ../../addon/dav/common/wdcal_backend.inc.php:178
#: ../../addon/dav/common/wdcal_backend.inc.php:206
#: ../../addon/dav/common/wdcal_backend.inc.php:214
#: ../../addon/dav/common/wdcal_backend.inc.php:229
msgid "No access"
msgstr ""
#: ../../addon/dav/layout.fnk.php:119
msgid "New event"
#: ../../addon/dav/common/wdcal_edit.inc.php:30
#: ../../addon/dav/common/wdcal_edit.inc.php:738
msgid "Could not open component for editing"
msgstr ""
#: ../../addon/dav/layout.fnk.php:123
msgid "Today"
msgstr ""
#: ../../addon/dav/layout.fnk.php:132
msgid "Day"
msgstr ""
#: ../../addon/dav/layout.fnk.php:139
msgid "Week"
msgstr ""
#: ../../addon/dav/layout.fnk.php:146
msgid "Month"
msgstr ""
#: ../../addon/dav/layout.fnk.php:151
msgid "Reload"
msgstr ""
#: ../../addon/dav/layout.fnk.php:162
msgid "Date"
msgstr ""
#: ../../addon/dav/layout.fnk.php:224
msgid "Not found"
msgstr ""
#: ../../addon/dav/layout.fnk.php:292 ../../addon/dav/layout.fnk.php:365
#: ../../addon/dav/common/wdcal_edit.inc.php:140
#: ../../addon/dav/layout.fnk.php:143 ../../addon/dav/layout.fnk.php:422
msgid "Go back to the calendar"
msgstr ""
#: ../../addon/dav/layout.fnk.php:300
msgid "Starts"
#: ../../addon/dav/common/wdcal_edit.inc.php:144
msgid "Event data"
msgstr ""
#: ../../addon/dav/layout.fnk.php:305
msgid "Ends"
msgstr ""
#: ../../addon/dav/layout.fnk.php:312
msgid "Description"
msgstr ""
#: ../../addon/dav/layout.fnk.php:315
msgid "Notification"
msgstr ""
#: ../../addon/dav/layout.fnk.php:324
msgid "Minutes"
msgstr ""
#: ../../addon/dav/layout.fnk.php:327
msgid "Hours"
msgstr ""
#: ../../addon/dav/layout.fnk.php:330
msgid "Days"
msgstr ""
#: ../../addon/dav/layout.fnk.php:331
msgid "before"
msgstr ""
#: ../../addon/dav/layout.fnk.php:367
msgid "Calendar Settings"
msgstr ""
#: ../../addon/dav/layout.fnk.php:373
msgid "Date format"
msgstr ""
#: ../../addon/dav/layout.fnk.php:382
msgid "Time zone"
msgstr ""
#: ../../addon/dav/layout.fnk.php:387
msgid "Limitations"
msgstr ""
#: ../../addon/dav/layout.fnk.php:391 ../../addon/libravatar/libravatar.php:82
msgid "Warning"
msgstr ""
#: ../../addon/dav/layout.fnk.php:395
msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
msgstr ""
#: ../../addon/dav/layout.fnk.php:402
msgid "Synchronizing this calendar with the iPhone"
msgstr ""
#: ../../addon/dav/layout.fnk.php:413
msgid "Synchronizing your Friendica-Contacts with the iPhone"
msgstr ""
#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:37
msgid "Friendica-Contacts"
msgstr ""
#: ../../addon/dav/dav_carddav_backend_friendica_community.inc.php:38
msgid "Your Friendica-Contacts"
msgstr ""
#: ../../addon/dav/main.php:244
#: ../../addon/dav/common/wdcal_edit.inc.php:146 ../../addon/dav/main.php:206
msgid "Calendar"
msgstr ""
#: ../../addon/dav/main.php:247
#: ../../addon/dav/common/wdcal_edit.inc.php:163
msgid "Special color"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:169
msgid "Subject"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:173
msgid "Starts"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:178
msgid "Ends"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:185
msgid "Description"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:188
msgid "Recurrence"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:190
msgid "Frequency"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:194
#: ../../include/contact_selectors.php:59
msgid "Daily"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:197
#: ../../include/contact_selectors.php:60
msgid "Weekly"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:200
#: ../../include/contact_selectors.php:61
msgid "Monthly"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:203
msgid "Yearly"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:214
#: ../../include/datetime.php:288
msgid "days"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:215
#: ../../include/datetime.php:287
msgid "weeks"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:216
#: ../../include/datetime.php:286
msgid "months"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:217
#: ../../include/datetime.php:285
msgid "years"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:218
msgid "Interval"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:218
msgid "All %select% %time%"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:222
#: ../../addon/dav/common/wdcal_edit.inc.php:260
#: ../../addon/dav/common/wdcal_edit.inc.php:481
msgid "Days"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:231
#: ../../addon/dav/common/wdcal_edit.inc.php:254
#: ../../addon/dav/common/wdcal_edit.inc.php:270
#: ../../addon/dav/common/wdcal_edit.inc.php:293
#: ../../addon/dav/common/wdcal_edit.inc.php:305 ../../include/text.php:880
msgid "Sunday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:235
#: ../../addon/dav/common/wdcal_edit.inc.php:274
#: ../../addon/dav/common/wdcal_edit.inc.php:308 ../../include/text.php:880
msgid "Monday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:238
#: ../../addon/dav/common/wdcal_edit.inc.php:277 ../../include/text.php:880
msgid "Tuesday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:241
#: ../../addon/dav/common/wdcal_edit.inc.php:280 ../../include/text.php:880
msgid "Wednesday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:244
#: ../../addon/dav/common/wdcal_edit.inc.php:283 ../../include/text.php:880
msgid "Thursday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:247
#: ../../addon/dav/common/wdcal_edit.inc.php:286 ../../include/text.php:880
msgid "Friday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:250
#: ../../addon/dav/common/wdcal_edit.inc.php:289 ../../include/text.php:880
msgid "Saturday"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:297
msgid "First day of week:"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:350
#: ../../addon/dav/common/wdcal_edit.inc.php:373
msgid "Day of month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:354
msgid "#num#th of each month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:357
msgid "#num#th-last of each month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:360
msgid "#num#th #wkday# of each month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:363
msgid "#num#th-last #wkday# of each month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:372
#: ../../addon/dav/layout.fnk.php:255
msgid "Month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:377
msgid "#num#th of the given month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:380
msgid "#num#th-last of the given month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:383
msgid "#num#th #wkday# of the given month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:386
msgid "#num#th-last #wkday# of the given month"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:413
msgid "Repeat until"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:417
msgid "Infinite"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:420
msgid "Until the following date"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:423
msgid "Number of times"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:429
msgid "Exceptions"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:432
msgid "none"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:449
msgid "Notification"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:466
msgid "Notify by"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:469
msgid "E-Mail"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:470
msgid "On Friendica / Display"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:474
msgid "Time"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:478
msgid "Hours"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:479
msgid "Minutes"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:480
msgid "Seconds"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:482
msgid "Weeks"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:485
msgid "before the"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:486
msgid "start of the event"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:487
msgid "end of the event"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:492
msgid "Add a notification"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:687
msgid "The event #name# will start at #date"
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:696
msgid "#name# is about to begin."
msgstr ""
#: ../../addon/dav/common/wdcal_edit.inc.php:769
msgid "Saved"
msgstr ""
#: ../../addon/dav/common/wdcal_configuration.php:148
msgid "U.S. Time Format (mm/dd/YYYY)"
msgstr ""
#: ../../addon/dav/common/wdcal_configuration.php:243
msgid "German Time Format (dd.mm.YYYY)"
msgstr ""
#: ../../addon/dav/common/dav_caldav_backend_private.inc.php:39
msgid "Private Events"
msgstr ""
#: ../../addon/dav/dav_carddav_backend_virtual_friendica.inc.php:53
msgid "Friendica-Contacts"
msgstr ""
#: ../../addon/dav/dav_carddav_backend_virtual_friendica.inc.php:54
msgid "Your Friendica-Contacts"
msgstr ""
#: ../../addon/dav/layout.fnk.php:99 ../../addon/dav/layout.fnk.php:136
msgid ""
"Something went wrong when trying to import the file. Sorry. Maybe some "
"events were imported anyway."
msgstr ""
#: ../../addon/dav/layout.fnk.php:131
msgid "Something went wrong when trying to import the file. Sorry."
msgstr ""
#: ../../addon/dav/layout.fnk.php:134
msgid "The ICS-File has been imported."
msgstr ""
#: ../../addon/dav/layout.fnk.php:138
msgid "No file was uploaded."
msgstr ""
#: ../../addon/dav/layout.fnk.php:147
msgid "Import a ICS-file"
msgstr ""
#: ../../addon/dav/layout.fnk.php:150
msgid "ICS-File"
msgstr ""
#: ../../addon/dav/layout.fnk.php:151
msgid "Overwrite all #num# existing events"
msgstr ""
#: ../../addon/dav/layout.fnk.php:228
msgid "New event"
msgstr ""
#: ../../addon/dav/layout.fnk.php:232
msgid "Today"
msgstr ""
#: ../../addon/dav/layout.fnk.php:241
msgid "Day"
msgstr ""
#: ../../addon/dav/layout.fnk.php:248
msgid "Week"
msgstr ""
#: ../../addon/dav/layout.fnk.php:260
msgid "Reload"
msgstr ""
#: ../../addon/dav/layout.fnk.php:271
msgid "Date"
msgstr ""
#: ../../addon/dav/layout.fnk.php:313
msgid "Error"
msgstr ""
#: ../../addon/dav/layout.fnk.php:380
msgid "The calendar has been updated."
msgstr ""
#: ../../addon/dav/layout.fnk.php:393
msgid "The new calendar has been created."
msgstr ""
#: ../../addon/dav/layout.fnk.php:417
msgid "The calendar has been deleted."
msgstr ""
#: ../../addon/dav/layout.fnk.php:424
msgid "Calendar Settings"
msgstr ""
#: ../../addon/dav/layout.fnk.php:430
msgid "Date format"
msgstr ""
#: ../../addon/dav/layout.fnk.php:439
msgid "Time zone"
msgstr ""
#: ../../addon/dav/layout.fnk.php:445
msgid "Calendars"
msgstr ""
#: ../../addon/dav/layout.fnk.php:487
msgid "Create a new calendar"
msgstr ""
#: ../../addon/dav/layout.fnk.php:496
msgid "Limitations"
msgstr ""
#: ../../addon/dav/layout.fnk.php:500 ../../addon/libravatar/libravatar.php:82
msgid "Warning"
msgstr ""
#: ../../addon/dav/layout.fnk.php:504
msgid "Synchronization (iPhone, Thunderbird Lightning, Android, ...)"
msgstr ""
#: ../../addon/dav/layout.fnk.php:511
msgid "Synchronizing this calendar with the iPhone"
msgstr ""
#: ../../addon/dav/layout.fnk.php:522
msgid "Synchronizing your Friendica-Contacts with the iPhone"
msgstr ""
#: ../../addon/dav/main.php:169
msgid ""
"The current version of this plugin has not been set up correctly. Please "
"contact the system administrator of your installation of friendica to fix "
"this."
msgstr ""
#: ../../addon/dav/main.php:209
msgid "Extended calendar with CalDAV-support"
msgstr ""
#: ../../addon/dav/main.php:263
#: ../../addon/dav/main.php:246 ../../addon/dav/main.php:247
#: ../../include/delivery.php:463 ../../include/enotify.php:26
#: ../../include/notifier.php:685
msgid "noreply"
msgstr ""
#: ../../addon/dav/main.php:249
msgid "Notification: "
msgstr ""
#: ../../addon/dav/main.php:276
msgid "The database tables have been installed."
msgstr ""
#: ../../addon/dav/main.php:264
#: ../../addon/dav/main.php:277
msgid "An error occurred during the installation."
msgstr ""
#: ../../addon/dav/main.php:280
#: ../../addon/dav/main.php:283
msgid "The database tables have been updated."
msgstr ""
#: ../../addon/dav/main.php:285
msgid "An error occurred during the update."
msgstr ""
#: ../../addon/dav/main.php:301
msgid "No system-wide settings yet."
msgstr ""
#: ../../addon/dav/main.php:283
#: ../../addon/dav/main.php:304
msgid "Database status"
msgstr ""
#: ../../addon/dav/main.php:286
#: ../../addon/dav/main.php:307
msgid "Installed"
msgstr ""
#: ../../addon/dav/main.php:289
#: ../../addon/dav/main.php:310
msgid "Upgrade needed"
msgstr ""
#: ../../addon/dav/main.php:289
#: ../../addon/dav/main.php:310
msgid ""
"Please back up all calendar data (the tables beginning with dav_*) before "
"proceeding. While all calendar events <i>should</i> be converted to the new "
"database structure, it's always safe to have a backup. Below, you can have a "
"look at the database-queries that will be made when pressing the 'update'-"
"button."
msgstr ""
#: ../../addon/dav/main.php:310
msgid "Upgrade"
msgstr ""
#: ../../addon/dav/main.php:292
#: ../../addon/dav/main.php:313
msgid "Not installed"
msgstr ""
#: ../../addon/dav/main.php:292
#: ../../addon/dav/main.php:313
msgid "Install"
msgstr ""
#: ../../addon/dav/main.php:297
#: ../../addon/dav/main.php:317
msgid "Unknown"
msgstr ""
#: ../../addon/dav/main.php:317
msgid ""
"Something really went wrong. I cannot recover from this state automatically, "
"sorry. Please go to the database backend, back up the data, and delete all "
"tables beginning with 'dav_' manually. Afterwards, this installation routine "
"should be able to reinitialize the tables automatically."
msgstr ""
#: ../../addon/dav/main.php:322
msgid "Troubleshooting"
msgstr ""
#: ../../addon/dav/main.php:298
#: ../../addon/dav/main.php:323
msgid "Manual creation of the database tables:"
msgstr ""
#: ../../addon/dav/main.php:299
#: ../../addon/dav/main.php:324
msgid "Show SQL-statements"
msgstr ""
#: ../../addon/dav/calendar.friendica.fnk.php:151
#: ../../addon/dav/calendar.friendica.fnk.php:193
msgid "Private Calendar"
msgstr ""
#: ../../addon/dav/calendar.friendica.fnk.php:158
#: ../../addon/dav/calendar.friendica.fnk.php:194
msgid "Friendica Events: Mine"
msgstr ""
#: ../../addon/dav/calendar.friendica.fnk.php:161
#: ../../addon/dav/calendar.friendica.fnk.php:195
msgid "Friendica Events: Contacts"
msgstr ""
@ -5381,6 +5907,30 @@ msgstr ""
msgid "URL to embed:"
msgstr ""
#: ../../addon/forumlist/forumlist.php:57
msgid "show/hide"
msgstr ""
#: ../../addon/forumlist/forumlist.php:72
msgid "No forum subscriptions"
msgstr ""
#: ../../addon/forumlist/forumlist.php:124
msgid "Forumlist settings updated."
msgstr ""
#: ../../addon/forumlist/forumlist.php:153
msgid "Forumlist Settings"
msgstr ""
#: ../../addon/forumlist/forumlist.php:158
msgid "Randomise Forumlist/Forum list"
msgstr ""
#: ../../addon/forumlist/forumlist.php:161
msgid "Show forumlists/forums on profile forumlist"
msgstr ""
#: ../../addon/impressum/impressum.php:36
msgid "Impressum"
msgstr ""
@ -5539,6 +6089,19 @@ msgstr ""
msgid "The default zoom level. (1:world, 18:highest)"
msgstr ""
#: ../../addon/group_text/group_text.php:46
#: ../../addon/editplain/editplain.php:46
msgid "Editplain settings updated."
msgstr ""
#: ../../addon/group_text/group_text.php:76
msgid "Group Text"
msgstr ""
#: ../../addon/group_text/group_text.php:78
msgid "Use a text only (non-image) group selector in the \"group edit\" menu"
msgstr ""
#: ../../addon/libravatar/libravatar.php:14
msgid "Could NOT install Libravatar successfully.<br>It requires PHP >= 5.3"
msgstr ""
@ -5659,10 +6222,6 @@ msgid ""
"be either the MathJax CDN or another installation of MathJax."
msgstr ""
#: ../../addon/editplain/editplain.php:46
msgid "Editplain settings updated."
msgstr ""
#: ../../addon/editplain/editplain.php:76
msgid "Editplain Settings"
msgstr ""
@ -5868,7 +6427,7 @@ msgstr ""
msgid "Clear OAuth configuration"
msgstr ""
#: ../../addon/statusnet/statusnet.php:559
#: ../../addon/statusnet/statusnet.php:568
msgid "API URL"
msgstr ""
@ -5908,10 +6467,6 @@ msgstr ""
msgid "Numfriends Settings"
msgstr ""
#: ../../addon/numfriends/numfriends.php:79
msgid "How many contacts to display on profile sidebar"
msgstr ""
#: ../../addon/gnot/gnot.php:48
msgid "Gnot settings updated."
msgstr ""
@ -6085,11 +6640,11 @@ msgstr ""
msgid "Send linked #-tags and @-names to Twitter"
msgstr ""
#: ../../addon/twitter/twitter.php:389
#: ../../addon/twitter/twitter.php:396
msgid "Consumer key"
msgstr ""
#: ../../addon/twitter/twitter.php:390
#: ../../addon/twitter/twitter.php:397
msgid "Consumer secret"
msgstr ""
@ -6490,18 +7045,6 @@ msgstr ""
msgid "Twice daily"
msgstr ""
#: ../../include/contact_selectors.php:59
msgid "Daily"
msgstr ""
#: ../../include/contact_selectors.php:60
msgid "Weekly"
msgstr ""
#: ../../include/contact_selectors.php:61
msgid "Monthly"
msgstr ""
#: ../../include/contact_selectors.php:77
msgid "OStatus"
msgstr ""
@ -6758,11 +7301,11 @@ msgstr ""
msgid "Ask me"
msgstr ""
#: ../../include/event.php:20 ../../include/bb2diaspora.php:453
#: ../../include/event.php:20 ../../include/bb2diaspora.php:431
msgid "Starts:"
msgstr ""
#: ../../include/event.php:30 ../../include/bb2diaspora.php:461
#: ../../include/event.php:30 ../../include/bb2diaspora.php:439
msgid "Finishes:"
msgstr ""
@ -6770,11 +7313,6 @@ msgstr ""
msgid "(no subject)"
msgstr ""
#: ../../include/delivery.php:463 ../../include/enotify.php:26
#: ../../include/notifier.php:685
msgid "noreply"
msgstr ""
#: ../../include/Scrape.php:572
msgid " on Last.fm"
msgstr ""
@ -6814,127 +7352,147 @@ msgid_plural "%d Contacts"
msgstr[0] ""
msgstr[1] ""
#: ../../include/text.php:864
msgid "Monday"
#: ../../include/text.php:715
msgid "poke"
msgstr ""
#: ../../include/text.php:864
msgid "Tuesday"
#: ../../include/text.php:715 ../../include/conversation.php:201
msgid "poked"
msgstr ""
#: ../../include/text.php:864
msgid "Wednesday"
#: ../../include/text.php:716
msgid "ping"
msgstr ""
#: ../../include/text.php:864
msgid "Thursday"
#: ../../include/text.php:716
msgid "pinged"
msgstr ""
#: ../../include/text.php:864
msgid "Friday"
#: ../../include/text.php:717
msgid "prod"
msgstr ""
#: ../../include/text.php:864
msgid "Saturday"
#: ../../include/text.php:717
msgid "prodded"
msgstr ""
#: ../../include/text.php:864
msgid "Sunday"
#: ../../include/text.php:718
msgid "slap"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:718
msgid "slapped"
msgstr ""
#: ../../include/text.php:719
msgid "finger"
msgstr ""
#: ../../include/text.php:719
msgid "fingered"
msgstr ""
#: ../../include/text.php:720
msgid "rebuff"
msgstr ""
#: ../../include/text.php:720
msgid "rebuffed"
msgstr ""
#: ../../include/text.php:884
msgid "January"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "February"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "March"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "April"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "May"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "June"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "July"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "August"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "September"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "October"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "November"
msgstr ""
#: ../../include/text.php:868
#: ../../include/text.php:884
msgid "December"
msgstr ""
#: ../../include/text.php:954
#: ../../include/text.php:970
msgid "bytes"
msgstr ""
#: ../../include/text.php:974 ../../include/text.php:989
#: ../../include/text.php:990 ../../include/text.php:1005
msgid "remove"
msgstr ""
#: ../../include/text.php:974 ../../include/text.php:989
#: ../../include/text.php:990 ../../include/text.php:1005
msgid "[remove]"
msgstr ""
#: ../../include/text.php:977
#: ../../include/text.php:993
msgid "Categories:"
msgstr ""
#: ../../include/text.php:992
#: ../../include/text.php:1008
msgid "Filed under:"
msgstr ""
#: ../../include/text.php:1008 ../../include/text.php:1020
#: ../../include/text.php:1024 ../../include/text.php:1036
msgid "Click to open/close"
msgstr ""
#: ../../include/text.php:1126 ../../include/user.php:236
#: ../../include/text.php:1142 ../../include/user.php:236
msgid "default"
msgstr ""
#: ../../include/text.php:1138
#: ../../include/text.php:1154
msgid "Select an alternate language"
msgstr ""
#: ../../include/text.php:1348
#: ../../include/text.php:1364
msgid "activity"
msgstr ""
#: ../../include/text.php:1350
#: ../../include/text.php:1366
msgid "comment"
msgstr ""
#: ../../include/text.php:1351
#: ../../include/text.php:1367
msgid "post"
msgstr ""
#: ../../include/text.php:1506
#: ../../include/text.php:1522
msgid "Item filed"
msgstr ""
@ -6942,11 +7500,11 @@ msgstr ""
msgid "Sharing notification from Diaspora network"
msgstr ""
#: ../../include/diaspora.php:2174
#: ../../include/diaspora.php:2177
msgid "Attachments:"
msgstr ""
#: ../../include/network.php:842
#: ../../include/network.php:843
msgid "view full size"
msgstr ""
@ -6993,7 +7551,7 @@ msgstr ""
msgid "Contacts not in any group"
msgstr ""
#: ../../include/nav.php:46 ../../boot.php:885
#: ../../include/nav.php:46 ../../boot.php:898
msgid "Logout"
msgstr ""
@ -7001,7 +7559,7 @@ msgstr ""
msgid "End this session"
msgstr ""
#: ../../include/nav.php:49 ../../boot.php:1575
#: ../../include/nav.php:49 ../../boot.php:1610
msgid "Status"
msgstr ""
@ -7081,11 +7639,11 @@ msgstr ""
msgid "Manage other pages"
msgstr ""
#: ../../include/nav.php:138 ../../boot.php:1133
#: ../../include/nav.php:138 ../../boot.php:1146
msgid "Profiles"
msgstr ""
#: ../../include/nav.php:138 ../../boot.php:1133
#: ../../include/nav.php:138 ../../boot.php:1146
msgid "Manage/edit profiles"
msgstr ""
@ -7198,26 +7756,10 @@ msgstr ""
msgid "less than a second ago"
msgstr ""
#: ../../include/datetime.php:285
msgid "years"
msgstr ""
#: ../../include/datetime.php:286
msgid "months"
msgstr ""
#: ../../include/datetime.php:287
msgid "week"
msgstr ""
#: ../../include/datetime.php:287
msgid "weeks"
msgstr ""
#: ../../include/datetime.php:288
msgid "days"
msgstr ""
#: ../../include/datetime.php:289
msgid "hour"
msgstr ""
@ -7247,12 +7789,12 @@ msgstr ""
msgid "%1$d %2$s ago"
msgstr ""
#: ../../include/datetime.php:472 ../../include/items.php:1561
#: ../../include/datetime.php:472 ../../include/items.php:1620
#, php-format
msgid "%s's birthday"
msgstr ""
#: ../../include/datetime.php:473 ../../include/items.php:1562
#: ../../include/datetime.php:473 ../../include/items.php:1621
#, php-format
msgid "Happy Birthday %s"
msgstr ""
@ -7261,11 +7803,11 @@ msgstr ""
msgid "From: "
msgstr ""
#: ../../include/bbcode.php:102 ../../include/bbcode.php:313
#: ../../include/bbcode.php:102 ../../include/bbcode.php:317
msgid "Image/photo"
msgstr ""
#: ../../include/bbcode.php:278 ../../include/bbcode.php:298
#: ../../include/bbcode.php:282 ../../include/bbcode.php:302
msgid "$1 wrote:"
msgstr ""
@ -7350,7 +7892,8 @@ msgid "%s commented on an item/conversation you have been following."
msgstr ""
#: ../../include/enotify.php:116 ../../include/enotify.php:131
#: ../../include/enotify.php:144 ../../include/enotify.php:157
#: ../../include/enotify.php:144 ../../include/enotify.php:162
#: ../../include/enotify.php:175
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
@ -7385,68 +7928,83 @@ msgstr ""
msgid "%1$s [url=%2$s]tagged you[/url]."
msgstr ""
#: ../../include/enotify.php:151
#, php-format
msgid "[Friendica:Notify] %s tagged your post"
msgstr ""
#: ../../include/enotify.php:152
#, php-format
msgid "%1$s tagged your post at %2$s"
msgid "[Friendica:Notify] %1$s poked you"
msgstr ""
#: ../../include/enotify.php:153
#, php-format
msgid "%1$s tagged [url=%2$s]your post[/url]"
msgid "%1$s poked you at %2$s"
msgstr ""
#: ../../include/enotify.php:164
msgid "[Friendica:Notify] Introduction received"
msgstr ""
#: ../../include/enotify.php:165
#: ../../include/enotify.php:154
#, php-format
msgid "You've received an introduction from '%1$s' at %2$s"
msgid "%1$s [url=%2$s]poked you[/url]."
msgstr ""
#: ../../include/enotify.php:166
#: ../../include/enotify.php:169
#, php-format
msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
msgid "[Friendica:Notify] %s tagged your post"
msgstr ""
#: ../../include/enotify.php:169 ../../include/enotify.php:187
#: ../../include/enotify.php:170
#, php-format
msgid "You may visit their profile at %s"
msgid "%1$s tagged your post at %2$s"
msgstr ""
#: ../../include/enotify.php:171
#, php-format
msgid "%1$s tagged [url=%2$s]your post[/url]"
msgstr ""
#: ../../include/enotify.php:182
msgid "[Friendica:Notify] Introduction received"
msgstr ""
#: ../../include/enotify.php:183
#, php-format
msgid "You've received an introduction from '%1$s' at %2$s"
msgstr ""
#: ../../include/enotify.php:184
#, php-format
msgid "You've received [url=%1$s]an introduction[/url] from %2$s."
msgstr ""
#: ../../include/enotify.php:187 ../../include/enotify.php:205
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
#: ../../include/enotify.php:189
#, php-format
msgid "Please visit %s to approve or reject the introduction."
msgstr ""
#: ../../include/enotify.php:178
#: ../../include/enotify.php:196
msgid "[Friendica:Notify] Friend suggestion received"
msgstr ""
#: ../../include/enotify.php:179
#: ../../include/enotify.php:197
#, php-format
msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
#: ../../include/enotify.php:180
#: ../../include/enotify.php:198
#, php-format
msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s."
msgstr ""
#: ../../include/enotify.php:185
#: ../../include/enotify.php:203
msgid "Name:"
msgstr ""
#: ../../include/enotify.php:186
#: ../../include/enotify.php:204
msgid "Photo:"
msgstr ""
#: ../../include/enotify.php:189
#: ../../include/enotify.php:207
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
@ -7506,23 +8064,18 @@ msgstr ""
msgid "following"
msgstr ""
#: ../../include/items.php:2991
#: ../../include/items.php:3211
msgid "A new person is sharing with you at "
msgstr ""
#: ../../include/items.php:2991
#: ../../include/items.php:3211
msgid "You have a new follower at "
msgstr ""
#: ../../include/items.php:3660
#: ../../include/items.php:3880
msgid "Archives"
msgstr ""
#: ../../include/bb2diaspora.php:286 ../../include/bb2diaspora.php:296
#: ../../include/bb2diaspora.php:297
msgid "image/photo"
msgstr ""
#: ../../include/user.php:38
msgid "An invitation is required."
msgstr ""
@ -7613,247 +8166,256 @@ msgstr ""
msgid "stopped following"
msgstr ""
#: ../../include/Contact.php:218 ../../include/conversation.php:915
#: ../../include/Contact.php:220 ../../include/conversation.php:966
msgid "Poke"
msgstr ""
#: ../../include/Contact.php:221 ../../include/conversation.php:960
msgid "View Status"
msgstr ""
#: ../../include/Contact.php:219 ../../include/conversation.php:916
#: ../../include/Contact.php:222 ../../include/conversation.php:961
msgid "View Profile"
msgstr ""
#: ../../include/Contact.php:220 ../../include/conversation.php:917
#: ../../include/Contact.php:223 ../../include/conversation.php:962
msgid "View Photos"
msgstr ""
#: ../../include/Contact.php:221 ../../include/Contact.php:234
#: ../../include/conversation.php:918
#: ../../include/Contact.php:224 ../../include/Contact.php:237
#: ../../include/conversation.php:963
msgid "Network Posts"
msgstr ""
#: ../../include/Contact.php:222 ../../include/Contact.php:234
#: ../../include/conversation.php:919
#: ../../include/Contact.php:225 ../../include/Contact.php:237
#: ../../include/conversation.php:964
msgid "Edit Contact"
msgstr ""
#: ../../include/Contact.php:223 ../../include/Contact.php:234
#: ../../include/conversation.php:920
#: ../../include/Contact.php:226 ../../include/Contact.php:237
#: ../../include/conversation.php:965
msgid "Send PM"
msgstr ""
#: ../../include/conversation.php:224
#: ../../include/conversation.php:197
#, php-format
msgid "%1$s poked %2$s"
msgstr ""
#: ../../include/conversation.php:267
msgid "post/item"
msgstr ""
#: ../../include/conversation.php:225
#: ../../include/conversation.php:268
#, php-format
msgid "%1$s marked %2$s's %3$s as favorite"
msgstr ""
#: ../../include/conversation.php:823
#: ../../include/conversation.php:866
msgid "Delete Selected Items"
msgstr ""
#: ../../include/conversation.php:978
#: ../../include/conversation.php:1024
#, php-format
msgid "%s likes this."
msgstr ""
#: ../../include/conversation.php:978
#: ../../include/conversation.php:1024
#, php-format
msgid "%s doesn't like this."
msgstr ""
#: ../../include/conversation.php:982
#: ../../include/conversation.php:1028
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgstr ""
#: ../../include/conversation.php:984
#: ../../include/conversation.php:1030
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgstr ""
#: ../../include/conversation.php:990
#: ../../include/conversation.php:1036
msgid "and"
msgstr ""
#: ../../include/conversation.php:993
#: ../../include/conversation.php:1039
#, php-format
msgid ", and %d other people"
msgstr ""
#: ../../include/conversation.php:994
#: ../../include/conversation.php:1040
#, php-format
msgid "%s like this."
msgstr ""
#: ../../include/conversation.php:994
#: ../../include/conversation.php:1040
#, php-format
msgid "%s don't like this."
msgstr ""
#: ../../include/conversation.php:1019
#: ../../include/conversation.php:1064 ../../include/conversation.php:1081
msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: ../../include/conversation.php:1021
#: ../../include/conversation.php:1066 ../../include/conversation.php:1083
msgid "Please enter a video link/URL:"
msgstr ""
#: ../../include/conversation.php:1022
#: ../../include/conversation.php:1067 ../../include/conversation.php:1084
msgid "Please enter an audio link/URL:"
msgstr ""
#: ../../include/conversation.php:1023
#: ../../include/conversation.php:1068 ../../include/conversation.php:1085
msgid "Tag term:"
msgstr ""
#: ../../include/conversation.php:1025
#: ../../include/conversation.php:1070 ../../include/conversation.php:1087
msgid "Where are you right now?"
msgstr ""
#: ../../include/conversation.php:1068
#: ../../include/conversation.php:1130
msgid "upload photo"
msgstr ""
#: ../../include/conversation.php:1070
#: ../../include/conversation.php:1132
msgid "attach file"
msgstr ""
#: ../../include/conversation.php:1072
#: ../../include/conversation.php:1134
msgid "web link"
msgstr ""
#: ../../include/conversation.php:1073
#: ../../include/conversation.php:1135
msgid "Insert video link"
msgstr ""
#: ../../include/conversation.php:1074
#: ../../include/conversation.php:1136
msgid "video link"
msgstr ""
#: ../../include/conversation.php:1075
#: ../../include/conversation.php:1137
msgid "Insert audio link"
msgstr ""
#: ../../include/conversation.php:1076
#: ../../include/conversation.php:1138
msgid "audio link"
msgstr ""
#: ../../include/conversation.php:1078
#: ../../include/conversation.php:1140
msgid "set location"
msgstr ""
#: ../../include/conversation.php:1080
#: ../../include/conversation.php:1142
msgid "clear location"
msgstr ""
#: ../../include/conversation.php:1087
#: ../../include/conversation.php:1149
msgid "permissions"
msgstr ""
#: ../../include/plugin.php:388 ../../include/plugin.php:390
#: ../../include/plugin.php:390 ../../include/plugin.php:392
msgid "Click here to upgrade."
msgstr ""
#: ../../include/plugin.php:396
#: ../../include/plugin.php:398
msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
#: ../../include/plugin.php:401
#: ../../include/plugin.php:403
msgid "This action is not available under your subscription plan."
msgstr ""
#: ../../boot.php:564
#: ../../boot.php:568
msgid "Delete this item?"
msgstr ""
#: ../../boot.php:567
#: ../../boot.php:571
msgid "show fewer"
msgstr ""
#: ../../boot.php:762
#: ../../boot.php:774
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
#: ../../boot.php:764
#: ../../boot.php:776
#, php-format
msgid "Update Error at %s"
msgstr ""
#: ../../boot.php:864
#: ../../boot.php:877
msgid "Create a New Account"
msgstr ""
#: ../../boot.php:888
#: ../../boot.php:901
msgid "Nickname or Email address: "
msgstr ""
#: ../../boot.php:889
#: ../../boot.php:902
msgid "Password: "
msgstr ""
#: ../../boot.php:892
#: ../../boot.php:905
msgid "Or login using OpenID: "
msgstr ""
#: ../../boot.php:898
#: ../../boot.php:911
msgid "Forgot your password?"
msgstr ""
#: ../../boot.php:1065
#: ../../boot.php:1078
msgid "Edit profile"
msgstr ""
#: ../../boot.php:1125
#: ../../boot.php:1138
msgid "Message"
msgstr ""
#: ../../boot.php:1241 ../../boot.php:1320
#: ../../boot.php:1260 ../../boot.php:1346
msgid "g A l F d"
msgstr ""
#: ../../boot.php:1242 ../../boot.php:1321
#: ../../boot.php:1261 ../../boot.php:1347
msgid "F d"
msgstr ""
#: ../../boot.php:1287 ../../boot.php:1361
#: ../../boot.php:1306 ../../boot.php:1387
msgid "[today]"
msgstr ""
#: ../../boot.php:1299
#: ../../boot.php:1318
msgid "Birthday Reminders"
msgstr ""
#: ../../boot.php:1300
#: ../../boot.php:1319
msgid "Birthdays this week:"
msgstr ""
#: ../../boot.php:1354
#: ../../boot.php:1380
msgid "[No description]"
msgstr ""
#: ../../boot.php:1372
#: ../../boot.php:1398
msgid "Event Reminders"
msgstr ""
#: ../../boot.php:1373
#: ../../boot.php:1399
msgid "Events this week:"
msgstr ""
#: ../../boot.php:1578
#: ../../boot.php:1613
msgid "Status Messages and Posts"
msgstr ""
#: ../../boot.php:1584
#: ../../boot.php:1620
msgid "Profile Details"
msgstr ""
#: ../../boot.php:1599
#: ../../boot.php:1637
msgid "Events and Calendar"
msgstr ""
#: ../../boot.php:1605
#: ../../boot.php:1644
msgid "Only You Can See This"
msgstr ""