Merge remote-tracking branch 'upstream/develop' into 1505-ostatus

This commit is contained in:
Michael Vogel 2015-05-29 10:55:07 +02:00
commit 594f3e2815
21 changed files with 1858 additions and 1387 deletions

View file

@ -785,12 +785,21 @@ function diaspora_is_redmatrix($url) {
} }
function diaspora_plink($addr, $guid) { function diaspora_plink($addr, $guid) {
$r = q("SELECT `url`, `nick` FROM `fcontact` WHERE `addr`='%s' LIMIT 1", $addr); $r = q("SELECT `url`, `nick`, `network` FROM `fcontact` WHERE `addr`='%s' LIMIT 1", $addr);
// Fallback // Fallback
if (!$r) if (!$r)
return 'https://'.substr($addr,strpos($addr,'@')+1).'/posts/'.$guid; return 'https://'.substr($addr,strpos($addr,'@')+1).'/posts/'.$guid;
// Friendica contacts are often detected as Diaspora contacts in the "fcontact" table
// So we try another way as well.
$s = q("SELECT `network` FROM `gcontact` WHERE `nurl`='%s' LIMIT 1", dbesc(normalise_link($r[0]["url"])));
if ($s)
$r[0]["network"] = $s[0]["network"];
if ($r[0]["network"] == NETWORK_DFRN)
return(str_replace("/profile/".$r[0]["nick"]."/", "/display/".$guid, $r[0]["url"]."/"));
if (diaspora_is_redmatrix($r[0]["url"])) if (diaspora_is_redmatrix($r[0]["url"]))
return $r[0]["url"]."/?f=&mid=".$guid; return $r[0]["url"]."/?f=&mid=".$guid;
@ -833,12 +842,19 @@ function diaspora_post($importer,$xml,$msg) {
$body = diaspora2bb($xml->raw_message); $body = diaspora2bb($xml->raw_message);
// Add OEmbed and other information to the body
if (!diaspora_is_redmatrix($contact['url']))
$body = add_page_info_to_body($body, false, true);
$datarray = array(); $datarray = array();
$datarray["object"] = json_encode($xml);
if($xml->photo->remote_photo_path AND $xml->photo->remote_photo_name)
$datarray["object-type"] = ACTIVITY_OBJ_PHOTO;
else {
$datarray['object-type'] = ACTIVITY_OBJ_NOTE;
// Add OEmbed and other information to the body
if (!diaspora_is_redmatrix($contact['url']))
$body = add_page_info_to_body($body, false, true);
}
$str_tags = ''; $str_tags = '';
$cnt = preg_match_all('/@\[url=(.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER); $cnt = preg_match_all('/@\[url=(.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
@ -872,7 +888,10 @@ function diaspora_post($importer,$xml,$msg) {
$datarray['author-avatar'] = $contact['thumb']; $datarray['author-avatar'] = $contact['thumb'];
$datarray['body'] = $body; $datarray['body'] = $body;
$datarray['tag'] = $str_tags; $datarray['tag'] = $str_tags;
$datarray['app'] = 'Diaspora'; if ($xml->provider_display_name)
$datarray["app"] = unxmlify($xml->provider_display_name);
else
$datarray['app'] = 'Diaspora';
// if empty content it might be a photo that hasn't arrived yet. If a photo arrives, we'll make it visible. // if empty content it might be a photo that hasn't arrived yet. If a photo arrives, we'll make it visible.
@ -921,6 +940,8 @@ function diaspora_store_by_guid($guid, $server, $uid = 0) {
$author = $item["author"]; $author = $item["author"];
$guid = $item["guid"]; $guid = $item["guid"];
$private = $item["private"]; $private = $item["private"];
$object = $item["object"];
$objecttype = $item["object-type"];
$message_id = $author.':'.$guid; $message_id = $author.':'.$guid;
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `guid` = '%s' LIMIT 1", $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `guid` = '%s' LIMIT 1",
@ -954,6 +975,8 @@ function diaspora_store_by_guid($guid, $server, $uid = 0) {
$datarray['tag'] = $str_tags; $datarray['tag'] = $str_tags;
$datarray['app'] = $app; $datarray['app'] = $app;
$datarray['visible'] = ((strlen($body)) ? 1 : 0); $datarray['visible'] = ((strlen($body)) ? 1 : 0);
$datarray['object'] = $object;
$datarray['object-type'] = $objecttype;
if ($datarray['contact-id'] == 0) if ($datarray['contact-id'] == 0)
return false; return false;
@ -1001,11 +1024,14 @@ function diaspora_fetch_message($guid, $server, $level = 0) {
$item["guid"] = unxmlify($source_xml->post->status_message->guid); $item["guid"] = unxmlify($source_xml->post->status_message->guid);
$item["private"] = (unxmlify($source_xml->post->status_message->public) == 'false'); $item["private"] = (unxmlify($source_xml->post->status_message->public) == 'false');
$item["object"] = json_encode($source_xml->post);
if(strlen($source_xml->post->asphoto->objectId) && ($source_xml->post->asphoto->objectId != 0) && ($source_xml->post->asphoto->image_url)) { if(strlen($source_xml->post->asphoto->objectId) && ($source_xml->post->asphoto->objectId != 0) && ($source_xml->post->asphoto->image_url)) {
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
$body = '[url=' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '][img]' . notags(unxmlify($source_xml->post->asphoto->objectId)) . '[/img][/url]' . "\n"; $body = '[url=' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '][img]' . notags(unxmlify($source_xml->post->asphoto->objectId)) . '[/img][/url]' . "\n";
$body = scale_external_images($body,false); $body = scale_external_images($body,false);
} elseif($source_xml->post->asphoto->image_url) { } elseif($source_xml->post->asphoto->image_url) {
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
$body = '[img]' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '[/img]' . "\n"; $body = '[img]' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '[/img]' . "\n";
$body = scale_external_images($body); $body = scale_external_images($body);
} elseif($source_xml->post->status_message) { } elseif($source_xml->post->status_message) {
@ -1015,18 +1041,25 @@ function diaspora_fetch_message($guid, $server, $level = 0) {
if($source_xml->post->status_message->photo->remote_photo_path AND if($source_xml->post->status_message->photo->remote_photo_path AND
$source_xml->post->status_message->photo->remote_photo_name) { $source_xml->post->status_message->photo->remote_photo_name) {
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
$remote_photo_path = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_path)); $remote_photo_path = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_path));
$remote_photo_name = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_name)); $remote_photo_name = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_name));
$body = '[img]'.$remote_photo_path.$remote_photo_name.'[/img]'."\n".$body; $body = '[img]'.$remote_photo_path.$remote_photo_name.'[/img]'."\n".$body;
logger('embedded picture link found: '.$body, LOGGER_DEBUG); logger('embedded picture link found: '.$body, LOGGER_DEBUG);
} } else
$item["object-type"] = ACTIVITY_OBJ_NOTE;
$body = scale_external_images($body); $body = scale_external_images($body);
// Add OEmbed and other information to the body // Add OEmbed and other information to the body
$body = add_page_info_to_body($body, false, true); // To-Do: It could be a repeated redmatrix item
// Then we shouldn't add further data to it
if ($item["object-type"] == ACTIVITY_OBJ_NOTE)
$body = add_page_info_to_body($body, false, true);
} elseif($source_xml->post->reshare) { } elseif($source_xml->post->reshare) {
// Reshare of a reshare // Reshare of a reshare
return diaspora_fetch_message($source_xml->post->reshare->root_guid, $server, ++$level); return diaspora_fetch_message($source_xml->post->reshare->root_guid, $server, ++$level);
@ -1081,16 +1114,17 @@ function diaspora_reshare($importer,$xml,$msg) {
$orig_author = notags(unxmlify($xml->root_diaspora_id)); $orig_author = notags(unxmlify($xml->root_diaspora_id));
$orig_guid = notags(unxmlify($xml->root_guid)); $orig_guid = notags(unxmlify($xml->root_guid));
$orig_url = $a->get_baseurl()."/display/".$orig_guid;
$create_original_post = false; $create_original_post = false;
// Do we already have this item? // Do we already have this item?
$r = q("SELECT `body`, `tag`, `app`, `created`, `author-link`, `plink` FROM `item` WHERE `guid` = '%s' AND `visible` AND NOT `deleted` AND `body` != '' LIMIT 1", $r = q("SELECT `body`, `tag`, `app`, `created`, `plink`, `object`, `object-type`, `uri` FROM `item` WHERE `guid` = '%s' AND `visible` AND NOT `deleted` AND `body` != '' LIMIT 1",
dbesc($orig_guid), dbesc($orig_guid),
dbesc(NETWORK_DIASPORA) dbesc(NETWORK_DIASPORA)
); );
if(count($r)) { if(count($r)) {
logger('reshared message '.$orig_guid." reshared by ".$guid.' already exists on system: '.$orig_url); logger('reshared message '.$orig_guid." reshared by ".$guid.' already exists on system.');
// Maybe it is already a reshared item? // Maybe it is already a reshared item?
// Then refetch the content, since there can be many side effects with reshared posts from other networks or reshares from reshares // Then refetch the content, since there can be many side effects with reshared posts from other networks or reshares from reshares
@ -1102,9 +1136,10 @@ function diaspora_reshare($importer,$xml,$msg) {
$str_tags = $r[0]["tag"]; $str_tags = $r[0]["tag"];
$app = $r[0]["app"]; $app = $r[0]["app"];
$orig_created = $r[0]["created"]; $orig_created = $r[0]["created"];
$orig_author = $r[0]["author-link"]; $orig_plink = $r[0]["plink"];
$create_original_post = ($body != ""); $orig_uri = $r[0]["uri"];
$orig_url = $a->get_baseurl()."/display/".$orig_guid; $object = $r[0]["object"];
$objecttype = $r[0]["object-type"];
} }
} }
@ -1113,8 +1148,6 @@ function diaspora_reshare($importer,$xml,$msg) {
$str_tags = ""; $str_tags = "";
$app = ""; $app = "";
$orig_url = 'https://'.substr($orig_author,strpos($orig_author,'@')+1).'/posts/'.$orig_guid;
$server = 'https://'.substr($orig_author,strpos($orig_author,'@')+1); $server = 'https://'.substr($orig_author,strpos($orig_author,'@')+1);
logger('1st try: reshared message '.$orig_guid." reshared by ".$guid.' will be fetched from original server: '.$server); logger('1st try: reshared message '.$orig_guid." reshared by ".$guid.' will be fetched from original server: '.$server);
$item = diaspora_fetch_message($orig_guid, $server); $item = diaspora_fetch_message($orig_guid, $server);
@ -1142,11 +1175,16 @@ function diaspora_reshare($importer,$xml,$msg) {
$orig_created = $item["created"]; $orig_created = $item["created"];
$orig_author = $item["author"]; $orig_author = $item["author"];
$orig_guid = $item["guid"]; $orig_guid = $item["guid"];
$orig_plink = diaspora_plink($orig_author, $orig_guid);
$orig_uri = $orig_author.':'.$orig_guid;
$create_original_post = ($body != ""); $create_original_post = ($body != "");
$orig_url = $a->get_baseurl()."/display/".$orig_guid; $object = $item["object"];
$objecttype = $item["object-type"];
} }
} }
$plink = diaspora_plink($diaspora_handle, $guid);
$person = find_diaspora_person_by_handle($orig_author); $person = find_diaspora_person_by_handle($orig_author);
$created = unxmlify($xml->created_at); $created = unxmlify($xml->created_at);
@ -1154,8 +1192,6 @@ function diaspora_reshare($importer,$xml,$msg) {
$datarray = array(); $datarray = array();
$plink = diaspora_plink($diaspora_handle, $guid);
$datarray['uid'] = $importer['uid']; $datarray['uid'] = $importer['uid'];
$datarray['contact-id'] = $contact['id']; $datarray['contact-id'] = $contact['id'];
$datarray['wall'] = 0; $datarray['wall'] = 0;
@ -1184,6 +1220,9 @@ function diaspora_reshare($importer,$xml,$msg) {
$datarray['body'] = $body; $datarray['body'] = $body;
} }
$datarray["object"] = json_encode($xml);
$datarray['object-type'] = $objecttype;
$datarray['tag'] = $str_tags; $datarray['tag'] = $str_tags;
$datarray['app'] = $app; $datarray['app'] = $app;
@ -1199,9 +1238,10 @@ function diaspora_reshare($importer,$xml,$msg) {
$datarray2['uid'] = 0; $datarray2['uid'] = 0;
$datarray2['contact-id'] = get_contact($person['url'], 0); $datarray2['contact-id'] = get_contact($person['url'], 0);
$datarray2['guid'] = $orig_guid; $datarray2['guid'] = $orig_guid;
$datarray2['uri'] = $datarray2['parent-uri'] = $orig_author.':'.$orig_guid; $datarray2['uri'] = $datarray2['parent-uri'] = $orig_uri;
$datarray2['changed'] = $datarray2['created'] = $datarray2['edited'] = $datarray2['commented'] = $datarray2['received'] = datetime_convert('UTC','UTC',$orig_created); $datarray2['changed'] = $datarray2['created'] = $datarray2['edited'] = $datarray2['commented'] = $datarray2['received'] = datetime_convert('UTC','UTC',$orig_created);
$datarray2['plink'] = diaspora_plink($orig_author, $orig_guid); $datarray2['parent'] = 0;
$datarray2['plink'] = $orig_plink;
$datarray2['author-name'] = $person['name']; $datarray2['author-name'] = $person['name'];
$datarray2['author-link'] = $person['url']; $datarray2['author-link'] = $person['url'];
@ -1210,6 +1250,7 @@ function diaspora_reshare($importer,$xml,$msg) {
$datarray2['owner-link'] = $datarray2['author-link']; $datarray2['owner-link'] = $datarray2['author-link'];
$datarray2['owner-avatar'] = $datarray2['author-avatar']; $datarray2['owner-avatar'] = $datarray2['author-avatar'];
$datarray2['body'] = $body; $datarray2['body'] = $body;
$datarray2["object"] = $object;
DiasporaFetchGuid($datarray2); DiasporaFetchGuid($datarray2);
$message_id = item_store($datarray2); $message_id = item_store($datarray2);
@ -1295,6 +1336,8 @@ function diaspora_asphoto($importer,$xml,$msg) {
$datarray['author-link'] = $contact['url']; $datarray['author-link'] = $contact['url'];
$datarray['author-avatar'] = $contact['thumb']; $datarray['author-avatar'] = $contact['thumb'];
$datarray['body'] = $body; $datarray['body'] = $body;
$datarray["object"] = json_encode($xml);
$datarray['object-type'] = ACTIVITY_OBJ_PHOTO;
$datarray['app'] = 'Diaspora/Cubbi.es'; $datarray['app'] = 'Diaspora/Cubbi.es';
@ -1464,6 +1507,8 @@ function diaspora_comment($importer,$xml,$msg) {
$datarray['author-link'] = $person['url']; $datarray['author-link'] = $person['url'];
$datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']); $datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']);
$datarray['body'] = $body; $datarray['body'] = $body;
$datarray["object"] = json_encode($xml);
$datarray["object-type"] = ACTIVITY_OBJ_COMMENT;
// We can't be certain what the original app is if the message is relayed. // We can't be certain what the original app is if the message is relayed.
if(($parent_item['origin']) && (! $parent_author_signature)) if(($parent_item['origin']) && (! $parent_author_signature))
@ -1790,7 +1835,7 @@ function diaspora_message($importer,$xml,$msg) {
dbesc($person['name']), dbesc($person['name']),
dbesc($person['photo']), dbesc($person['photo']),
dbesc($person['url']), dbesc($person['url']),
intval($contact['id']), intval($contact['id']),
dbesc($conversation['subject']), dbesc($conversation['subject']),
dbesc($body), dbesc($body),
0, 0,
@ -2059,7 +2104,7 @@ function diaspora_like($importer,$xml,$msg) {
$activity = ACTIVITY_LIKE; $activity = ACTIVITY_LIKE;
$post_type = (($parent_item['resource-id']) ? t('photo') : t('status')); $post_type = (($parent_item['resource-id']) ? t('photo') : t('status'));
$objtype = (($parent_item['resource-id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE ); $objtype = (($parent_item['resource-id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
$link = xmlify('<link rel="alternate" type="text/html" href="' . $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $parent_item['id'] . '" />' . "\n") ; $link = xmlify('<link rel="alternate" type="text/html" href="' . $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $parent_item['id'] . '" />' . "\n") ;
$body = $parent_item['body']; $body = $parent_item['body'];
@ -2878,7 +2923,7 @@ function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) {
$target_type = (($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); $target_type = (($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
} }
else { else {
$tpl = get_markup_template('diaspora_signed_retract.tpl'); $tpl = get_markup_template('diaspora_signed_retract.tpl');
$target_type = 'StatusMessage'; $target_type = 'StatusMessage';
} }
@ -2924,7 +2969,7 @@ function diaspora_send_mail($item,$owner,$contact) {
$body = bb2diaspora($item['body']); $body = bb2diaspora($item['body']);
$created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C'); $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
$signed_text = $item['guid'] . ';' . $cnv['guid'] . ';' . $body . ';' $signed_text = $item['guid'] . ';' . $cnv['guid'] . ';' . $body . ';'
. $created . ';' . $myaddr . ';' . $cnv['guid']; . $created . ';' . $myaddr . ';' . $cnv['guid'];

View file

@ -464,12 +464,27 @@ function get_atom_elements($feed, $item, $contact = array()) {
// look for a photo. We should check media size and find the best one, // look for a photo. We should check media size and find the best one,
// but for now let's just find any author photo // but for now let's just find any author photo
// Additionally we look for an alternate author link. On OStatus this one is the one we want.
// Search for ostatus conversation url
$authorlinks = $item->feed->data["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["feed"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"]["http://www.w3.org/2005/Atom"]["link"];
if (is_array($authorlinks)) {
foreach ($authorlinks as $link) {
$linkdata = array_shift($link["attribs"]);
if ($linkdata["rel"] == "alternate")
$res["author-link"] = $linkdata["href"];
};
}
$rawauthor = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'author'); $rawauthor = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'author');
if($rawauthor && $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']) { if($rawauthor && $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']) {
$base = $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']; $base = $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link'];
foreach($base as $link) { foreach($base as $link) {
if($link['attribs']['']['rel'] === 'alternate')
$res['author-link'] = unxmlify($link['attribs']['']['href']);
if(!x($res, 'author-avatar') || !$res['author-avatar']) { if(!x($res, 'author-avatar') || !$res['author-avatar']) {
if($link['attribs']['']['rel'] === 'photo' || $link['attribs']['']['rel'] === 'avatar') if($link['attribs']['']['rel'] === 'photo' || $link['attribs']['']['rel'] === 'avatar')
$res['author-avatar'] = unxmlify($link['attribs']['']['href']); $res['author-avatar'] = unxmlify($link['attribs']['']['href']);
@ -828,7 +843,7 @@ function get_atom_elements($feed, $item, $contact = array()) {
logger('get_atom_elements: Looking for status.net repeated message'); logger('get_atom_elements: Looking for status.net repeated message');
$message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"]; $message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"];
$orig_uri = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["id"][0]["data"]; $orig_id = ostatus_convert_href($child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["id"][0]["data"]);
$author = $child[SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]; $author = $child[SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10];
$uri = $author["uri"][0]["data"]; $uri = $author["uri"][0]["data"];
$name = $author["name"][0]["data"]; $name = $author["name"][0]["data"];
@ -836,10 +851,10 @@ function get_atom_elements($feed, $item, $contact = array()) {
$avatar = $avatar["href"]; $avatar = $avatar["href"];
if (($name != "") and ($uri != "") and ($avatar != "") and ($message != "")) { if (($name != "") and ($uri != "") and ($avatar != "") and ($message != "")) {
logger('get_atom_elements: fixing sender of repeated message.'); logger('get_atom_elements: fixing sender of repeated message. '.$orig_id, LOGGER_DEBUG);
if (!intval(get_config('system','wall-to-wall_share'))) { if (!intval(get_config('system','wall-to-wall_share'))) {
$prefix = share_header($name, $uri, $avatar, "", "", $orig_uri); $prefix = share_header($name, $uri, $avatar, "", "", $orig_link);
$res["body"] = $prefix.html2bbcode($message)."[/share]"; $res["body"] = $prefix.html2bbcode($message)."[/share]";
} else { } else {
@ -864,8 +879,11 @@ function get_atom_elements($feed, $item, $contact = array()) {
$conversation = array_shift($link["attribs"]); $conversation = array_shift($link["attribs"]);
if ($conversation["rel"] == "ostatus:conversation") { if ($conversation["rel"] == "ostatus:conversation") {
$res["ostatus_conversation"] = $conversation["href"]; $res["ostatus_conversation"] = ostatus_convert_href($conversation["href"]);
logger('get_atom_elements: found conversation url '.$res["ostatus_conversation"]); logger('get_atom_elements: found conversation url '.$res["ostatus_conversation"]);
} elseif ($conversation["rel"] == "alternate") {
$res["plink"] = $conversation["href"];
logger('get_atom_elements: found plink '.$res["plink"]);
} }
}; };
} }
@ -1090,6 +1108,14 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
unset($arr['dsprsig']); unset($arr['dsprsig']);
} }
// Converting the plink
if ($arr['network'] == NETWORK_OSTATUS) {
if (isset($arr['plink']))
$arr['plink'] = ostatus_convert_href($arr['plink']);
elseif (isset($arr['uri']))
$arr['plink'] = ostatus_convert_href($arr['uri']);
}
// if an OStatus conversation url was passed in, it is stored and then // if an OStatus conversation url was passed in, it is stored and then
// removed from the array. // removed from the array.
$ostatus_conversation = null; $ostatus_conversation = null;
@ -1115,7 +1141,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
/* check for create date and expire time */ /* check for create date and expire time */
$uid = intval($arr['uid']); $uid = intval($arr['uid']);
$r = q("SELECT expire FROM user WHERE uid = %d", $uid); $r = q("SELECT expire FROM user WHERE uid = %d", intval($uid));
if(count($r)) { if(count($r)) {
$expire_interval = $r[0]['expire']; $expire_interval = $r[0]['expire'];
if ($expire_interval>0) { if ($expire_interval>0) {
@ -1141,6 +1167,19 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
} }
} }
// If there is no guid then take the same guid that was taken before for the same plink
if ((trim($arr['guid']) == "") AND (trim($arr['plink']) != "")) {
logger('item_store: checking for an existing guid for plink '.$arr['plink'], LOGGER_DEBUG);
$r = q("SELECT `guid` FROM `item` WHERE `plink` = '%s' AND `guid` != '' LIMIT 1",
dbesc(trim($arr['plink']))
);
if(count($r)) {
$arr['guid'] = $r[0]["guid"];
logger('item_store: found guid '.$arr['guid'].' for plink '.$arr['plink'], LOGGER_DEBUG);
}
}
// Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin. // Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
// Deactivated, since the bbcode parser can handle with it - and it destroys posts with some smileys that contain "<" // Deactivated, since the bbcode parser can handle with it - and it destroys posts with some smileys that contain "<"
//if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false)) //if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
@ -1347,12 +1386,36 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
} }
} }
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
dbesc($arr['uri']), dbesc($arr['uri']),
dbesc($arr['network']),
intval($arr['uid']) intval($arr['uid'])
); );
if($r && count($r)) { if($r && count($r)) {
logger('item-store: duplicate item ignored. ' . print_r($arr,true)); logger('duplicated item with the same uri found. ' . print_r($arr,true));
return 0;
}
$r = q("SELECT `id` FROM `item` WHERE `plink` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
dbesc($arr['plink']),
dbesc($arr['network']),
intval($arr['uid'])
);
if($r && count($r)) {
logger('duplicated item with the same plink found. ' . print_r($arr,true));
return 0;
}
// Check for an existing post with the same content. There seems to be a problem with OStatus.
$r = q("SELECT `id` FROM `item` WHERE `body` = '%s' AND `network` = '%s' AND `created` = '%s' AND `contact-id` = %d AND `uid` = %d LIMIT 1",
dbesc($arr['body']),
dbesc($arr['network']),
dbesc($arr['created']),
intval($arr['contact-id']),
intval($arr['uid'])
);
if($r && count($r)) {
logger('duplicated item with the same body found. ' . print_r($arr,true));
return 0; return 0;
} }
@ -2167,6 +2230,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
return; return;
} }
// Test - remove before flight
// if ($contact['network'] === NETWORK_OSTATUS) {
// $tempfile = tempnam(get_temppath(), "ostatus");
// file_put_contents($tempfile, $xml);
// }
$feed = new SimplePie(); $feed = new SimplePie();
$feed->set_raw_data($xml); $feed->set_raw_data($xml);
if($datedir) if($datedir)
@ -4745,6 +4814,18 @@ function drop_item($id,$interactive = true) {
// ignore the result // ignore the result
} }
// If item has attachments, drop them
foreach(explode(",",$item['attach']) as $attach){
preg_match("|attach/(\d+)|", $attach, $matches);
q("DELETE FROM `attach` WHERE `id` = %d AND `uid` = %d",
intval($matches[1]),
local_user()
);
// ignore the result
}
// clean up item_id and sign meta-data tables // clean up item_id and sign meta-data tables
/* /*
@ -4821,6 +4902,7 @@ function drop_item($id,$interactive = true) {
// Add a relayable_retraction signature for Diaspora. // Add a relayable_retraction signature for Diaspora.
store_diaspora_retract_sig($item, $a->user, $a->get_baseurl()); store_diaspora_retract_sig($item, $a->user, $a->get_baseurl());
} }
$drop_id = intval($item['id']); $drop_id = intval($item['id']);
// send the notification upstream/downstream as the case may be // send the notification upstream/downstream as the case may be

View file

@ -1,8 +1,33 @@
<?php <?php
require_once("include/Contact.php");
define('OSTATUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes define('OSTATUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes
define('OSTATUS_DEFAULT_POLL_TIMEFRAME', 1440); // given in minutes define('OSTATUS_DEFAULT_POLL_TIMEFRAME', 1440); // given in minutes
function check_conversations() { function ostatus_convert_href($href) {
$elements = explode(":",$href);
if ((count($elements) <= 2) OR ($elements[0] != "tag"))
return $href;
$server = explode(",", $elements[1]);
$conversation = explode("=", $elements[2]);
if ((count($elements) == 4) AND ($elements[2] == "post"))
return "http://".$server[0]."/notice/".$elements[3];
if ((count($conversation) != 2) OR ($conversation[1] ==""))
return $href;
if ($elements[3] == "objectType=thread")
return "http://".$server[0]."/conversation/".$conversation[1];
else
return "http://".$server[0]."/notice/".$conversation[1];
return $href;
}
function check_conversations($override = false) {
$last = get_config('system','ostatus_last_poll'); $last = get_config('system','ostatus_last_poll');
$poll_interval = intval(get_config('system','ostatus_poll_interval')); $poll_interval = intval(get_config('system','ostatus_poll_interval'));
@ -10,16 +35,16 @@ function check_conversations() {
$poll_interval = OSTATUS_DEFAULT_POLL_INTERVAL; $poll_interval = OSTATUS_DEFAULT_POLL_INTERVAL;
// Don't poll if the interval is set negative // Don't poll if the interval is set negative
if ($poll_interval < 0) if (($poll_interval < 0) AND !$override)
return; return;
$poll_timeframe = intval(get_config('system','ostatus_poll_timeframe')); $poll_timeframe = intval(get_config('system','ostatus_poll_timeframe'));
if(! $poll_timeframe) if (!$poll_timeframe)
$poll_timeframe = OSTATUS_DEFAULT_POLL_TIMEFRAME; $poll_timeframe = OSTATUS_DEFAULT_POLL_TIMEFRAME;
if($last) { if ($last AND !$override) {
$next = $last + ($poll_interval * 60); $next = $last + ($poll_interval * 60);
if($next > time()) { if ($next > time()) {
logger('poll interval not reached'); logger('poll interval not reached');
return; return;
} }
@ -36,7 +61,7 @@ function check_conversations() {
complete_conversation($id, $url); complete_conversation($id, $url);
} }
logger(' cron_end'); logger('cron_end');
set_config('system','ostatus_last_poll', time()); set_config('system','ostatus_last_poll', time());
} }
@ -44,6 +69,8 @@ function check_conversations() {
function complete_conversation($itemid, $conversation_url, $only_add_conversation = false) { function complete_conversation($itemid, $conversation_url, $only_add_conversation = false) {
global $a; global $a;
$conversation_url = ostatus_convert_href($conversation_url);
if (intval(get_config('system','ostatus_poll_interval')) == -2) if (intval(get_config('system','ostatus_poll_interval')) == -2)
return; return;
@ -107,12 +134,16 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
$items = array_reverse($items); $items = array_reverse($items);
foreach ($items as $single_conv) { foreach ($items as $single_conv) {
// status.net changed the format of the activity streams. This is a quick fix. if (isset($single_conv->object->id))
if (@is_string($single_conv->object->id))
$single_conv->id = $single_conv->object->id; $single_conv->id = $single_conv->object->id;
if (@!$single_conv->id AND $single_conv->provider->url AND $single_conv->statusnet_notice_info->local_id) logger("Got id ".$single_conv->id, LOGGER_DEBUG);
$single_conv->id = $single_conv->provider->url."notice/".$single_conv->statusnet_notice_info->local_id;
$plink = ostatus_convert_href($single_conv->id);
if (isset($single_conv->object->url))
$plink = ostatus_convert_href($single_conv->object->url);
logger("Got url ".$plink, LOGGER_DEBUG);
if (@!$single_conv->id) if (@!$single_conv->id)
continue; continue;
@ -120,8 +151,9 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
if ($first_id == "") { if ($first_id == "") {
$first_id = $single_conv->id; $first_id = $single_conv->id;
$new_parents = q("SELECT `id`, `uri`, `contact-id`, `type`, `verb`, `visible` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1", $new_parents = q("SELECT `id`, `uri`, `contact-id`, `type`, `verb`, `visible` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s') LIMIT 1",
intval($message["uid"]), dbesc($first_id)); intval($message["uid"]), dbesc($first_id),
dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN));
if ($new_parents) { if ($new_parents) {
$parent = $new_parents[0]; $parent = $new_parents[0];
logger('adopting new parent '.$parent["id"].' for '.$itemid); logger('adopting new parent '.$parent["id"].' for '.$itemid);
@ -136,12 +168,21 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
else else
$parent_uri = $parent["uri"]; $parent_uri = $parent["uri"];
$message_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1", $message_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `plink` = '%s' AND `network` IN ('%s','%s') LIMIT 1",
intval($message["uid"]), dbesc($single_conv->id)); intval($message["uid"]), dbesc($plink),
dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN));
if (!$message_exists)
$message_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s') LIMIT 1",
intval($message["uid"]), dbesc($single_conv->id),
dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN));
if ($message_exists) { if ($message_exists) {
if ($parent["id"] != 0) { if ($parent["id"] != 0) {
$existing_message = $message_exists[0]; $existing_message = $message_exists[0];
logger('updating id '.$existing_message["id"].' to parent '.$parent["id"].' uri '.$parent["uri"].' thread '.$parent_uri, LOGGER_DEBUG);
// This is partly bad, since the entry in the thread table isn't updated // This is partly bad, since the entry in the thread table isn't updated
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `thr-parent` = '%s' WHERE `id` = %d", $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `thr-parent` = '%s' WHERE `id` = %d",
intval($parent["id"]), intval($parent["id"]),
@ -152,21 +193,32 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
continue; continue;
} }
$actor = $single_conv->actor->id;
if (isset($single_conv->actor->url))
$actor = $single_conv->actor->url;
$contact = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` != '%s'", $contact = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` != '%s'",
$message["uid"], normalise_link($single_conv->actor->id), NETWORK_STATUSNET); $message["uid"], normalise_link($actor), NETWORK_STATUSNET);
if (count($contact)) { if (count($contact)) {
logger("Found contact for url ".$single_conv->actor->id, LOGGER_DEBUG); logger("Found contact for url ".$actor, LOGGER_DEBUG);
$contact_id = $contact[0]["id"]; $contact_id = $contact[0]["id"];
} else { } else {
logger("No contact found for url ".$single_conv->actor->id, LOGGER_DEBUG); logger("No contact found for url ".$actor, LOGGER_DEBUG);
// Adding a global contact
// To-Do: Use this data for the post
$global_contact_id = get_contact($actor, 0);
logger("Global contact ".$global_contact_id." found for url ".$actor, LOGGER_DEBUG);
$contact_id = $parent["contact-id"]; $contact_id = $parent["contact-id"];
} }
$arr = array(); $arr = array();
$arr["network"] = NETWORK_OSTATUS; $arr["network"] = NETWORK_OSTATUS;
$arr["uri"] = $single_conv->id; $arr["uri"] = $single_conv->id;
$arr["plink"] = $single_conv->id; $arr["plink"] = $plink;
$arr["uid"] = $message["uid"]; $arr["uid"] = $message["uid"];
$arr["contact-id"] = $contact_id; $arr["contact-id"] = $contact_id;
if ($parent["id"] != 0) if ($parent["id"] != 0)
@ -182,17 +234,26 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
if ($arr["owner-name"] == '') if ($arr["owner-name"] == '')
$arr["owner-name"] = $single_conv->actor->displayName; $arr["owner-name"] = $single_conv->actor->displayName;
$arr["owner-link"] = $single_conv->actor->id; $arr["owner-link"] = $actor;
$arr["owner-avatar"] = $single_conv->actor->image->url; $arr["owner-avatar"] = $single_conv->actor->image->url;
//$arr["author-name"] = $single_conv->actor->contact->displayName; //$arr["author-name"] = $single_conv->actor->contact->displayName;
//$arr["author-name"] = $single_conv->actor->contact->preferredUsername; //$arr["author-name"] = $single_conv->actor->contact->preferredUsername;
$arr["author-name"] = $arr["owner-name"]; $arr["author-name"] = $arr["owner-name"];
$arr["author-link"] = $single_conv->actor->id; $arr["author-link"] = $actor;
$arr["author-avatar"] = $single_conv->actor->image->url; $arr["author-avatar"] = $single_conv->actor->image->url;
$arr["body"] = html2bbcode($single_conv->content); $arr["body"] = html2bbcode($single_conv->content);
$arr["app"] = strip_tags($single_conv->statusnet_notice_info->source);
if ($arr["app"] == "") if (isset($single_conv->status_net->notice_info->source))
$arr["app"] = strip_tags($single_conv->status_net->notice_info->source);
elseif (isset($single_conv->statusnet->notice_info->source))
$arr["app"] = strip_tags($single_conv->statusnet->notice_info->source);
elseif (isset($single_conv->statusnet_notice_info->source))
$arr["app"] = strip_tags($single_conv->statusnet_notice_info->source);
elseif (isset($single_conv->provider->displayName))
$arr["app"] = $single_conv->provider->displayName; $arr["app"] = $single_conv->provider->displayName;
else
$arr["app"] = "OStatus";
$arr["verb"] = $parent["verb"]; $arr["verb"] = $parent["verb"];
$arr["visible"] = $parent["visible"]; $arr["visible"] = $parent["visible"];
$arr["location"] = $single_conv->location->displayName; $arr["location"] = $single_conv->location->displayName;
@ -206,6 +267,8 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
$newitem = item_store($arr); $newitem = item_store($arr);
logger('Stored new item '.$plink.' under id '.$newitem, LOGGER_DEBUG);
// Add the conversation entry (but don't fetch the whole conversation) // Add the conversation entry (but don't fetch the whole conversation)
complete_conversation($newitem, $conversation_url, true); complete_conversation($newitem, $conversation_url, true);

View file

@ -20,13 +20,15 @@ function allfriends_content(&$a) {
intval(local_user()) intval(local_user())
); );
$a->page['aside'] .= '<div class="vcard">' $vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
. '<div class="fn label">' . $c[0]['name'] . '</div>' '$name' => $c[0]['name'],
. '<div id="profile-photo-wrapper">' '$photo' => $c[0]['photo'],
. '<a href="/contacts/' . $cid . '"><img class="photo" width="175" height="175" 'url' => z_root() . '/contacts/' . $cid
src="' . $c[0]['photo'] . '" alt="' . $c[0]['name'] . '" /></div>' ));
. '</div>';
if(! x($a->page,'aside'))
$a->page['aside'] = '';
$a->page['aside'] .= $vcard_widget;
if(! count($c)) if(! count($c))
return; return;

View file

@ -28,13 +28,15 @@ function common_content(&$a) {
); );
} }
$a->page['aside'] .= '<div class="vcard">' $vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
. '<div class="fn label">' . $c[0]['name'] . '</div>' '$name' => $c[0]['name'],
. '<div id="profile-photo-wrapper">' '$photo' => $c[0]['photo'],
. '<img class="photo" width="175" height="175" 'url' => z_root() . '/contacts/' . $cid
src="' . $c[0]['photo'] . '" alt="' . $c[0]['name'] . '" /></div>' ));
. '</div>';
if(! x($a->page,'aside'))
$a->page['aside'] = '';
$a->page['aside'] .= $vcard_widget;
if(! count($c)) if(! count($c))
return; return;

View file

@ -22,11 +22,12 @@ function crepair_init(&$a) {
if($contact_id) { if($contact_id) {
$a->data['contact'] = $r[0]; $a->data['contact'] = $r[0];
$o .= '<div class="vcard">'; $tpl = get_markup_template("vcard-widget.tpl");
$o .= '<div class="fn">' . $a->data['contact']['name'] . '</div>'; $vcard_widget .= replace_macros($tpl, array(
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->data['contact']['photo'] . '" alt="' . $a->data['contact']['name'] . '" /></div>'; '$name' => $a->data['contact']['name'],
$o .= '</div>'; '$photo' => $a->data['contact']['photo']
$a->page['aside'] .= $o; ));
$a->page['aside'] .= $vcard_widget;
} }
} }

View file

@ -59,21 +59,30 @@ function events_post(&$a) {
// and we'll waste a bunch of time responding to it. Time that // and we'll waste a bunch of time responding to it. Time that
// could've been spent doing something else. // could've been spent doing something else.
if(strcmp($finish,$start) < 0)
$finish = $start;
$summary = escape_tags(trim($_POST['summary'])); $summary = escape_tags(trim($_POST['summary']));
$desc = escape_tags(trim($_POST['desc'])); $desc = escape_tags(trim($_POST['desc']));
$location = escape_tags(trim($_POST['location'])); $location = escape_tags(trim($_POST['location']));
$type = 'event'; $type = 'event';
$action = ($event_id == '') ? 'new' : "event/" . $event_id;
$onerror_url = $a->get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
if(strcmp($finish,$start) < 0 && !$nofinish) {
notice( t('Event can not end before it has started.') . EOL);
if(intval($_REQUEST['preview'])) {
echo( t('Event can not end before it has started.'));
killme();
}
goaway($onerror_url);
}
if((! $summary) || (! $start)) { if((! $summary) || (! $start)) {
notice( t('Event title and start time are required.') . EOL); notice( t('Event title and start time are required.') . EOL);
if(intval($_REQUEST['preview'])) { if(intval($_REQUEST['preview'])) {
echo( t('Event title and start time are required.')); echo( t('Event title and start time are required.'));
killme(); killme();
} }
goaway($a->get_baseurl() . '/events/new'); goaway($onerror_url);
} }
$share = ((intval($_POST['share'])) ? intval($_POST['share']) : 0); $share = ((intval($_POST['share'])) ? intval($_POST['share']) : 0);

View file

@ -30,10 +30,14 @@ function photos_init(&$a) {
$a->data['user'] = $r[0]; $a->data['user'] = $r[0];
$o .= '<div class="vcard">'; $profilephoto = $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg');
$o .= '<div class="fn">' . $a->data['user']['username'] . '</div>';
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg') . '" alt="' . $a->data['user']['username'] . '" /></div>'; $tpl = get_markup_template("vcard-widget.tpl");
$o .= '</div>';
$vcard_widget .= replace_macros($tpl, array(
'$name' => $a->data['user']['username'],
'$photo' => $profilephoto
));
$sql_extra = permissions_sql($a->data['user']['uid']); $sql_extra = permissions_sql($a->data['user']['uid']);
@ -72,6 +76,7 @@ function photos_init(&$a) {
if(! x($a->page,'aside')) if(! x($a->page,'aside'))
$a->page['aside'] = ''; $a->page['aside'] = '';
$a->page['aside'] .= $vcard_widget;
$a->page['aside'] .= $o; $a->page['aside'] .= $o;

View file

@ -177,9 +177,9 @@ function search_content(&$a) {
if($tag) if($tag)
$o .= '<h2>Items tagged with: ' . $search . '</h2>'; $o .= '<h2>' . sprintf( t('Items tagged with: %s'), $search) . '</h2>';
else else
$o .= '<h2>Search results for: ' . $search . '</h2>'; $o .= '<h2>' . sprintf( t('Search results for: %s'), $search) . '</h2>';
logger("Start Conversation for '".$search."'", LOGGER_DEBUG); logger("Start Conversation for '".$search."'", LOGGER_DEBUG);
$o .= conversation($a,$r,'search',false); $o .= conversation($a,$r,'search',false);

View file

@ -28,10 +28,14 @@ function videos_init(&$a) {
$a->data['user'] = $r[0]; $a->data['user'] = $r[0];
$o .= '<div class="vcard">'; $profilephoto = $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg');
$o .= '<div class="fn">' . $a->data['user']['username'] . '</div>';
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg') . '" alt="' . $a->data['user']['username'] . '" /></div>'; $tpl = get_markup_template("vcard-widget.tpl");
$o .= '</div>';
$vcard_widget = replace_macros($tpl, array(
'$name' => $a->data['user']['username'],
'$photo' => $profilephoto
));
/*$sql_extra = permissions_sql($a->data['user']['uid']); /*$sql_extra = permissions_sql($a->data['user']['uid']);
@ -43,12 +47,12 @@ function videos_init(&$a) {
if(count($albums)) { if(count($albums)) {
$a->data['albums'] = $albums; $a->data['albums'] = $albums;
$albums_visible = ((intval($a->data['user']['hidewall']) && (! local_user()) && (! remote_user())) ? false : true); $albums_visible = ((intval($a->data['user']['hidewall']) && (! local_user()) && (! remote_user())) ? false : true);
if($albums_visible) { if($albums_visible) {
$o .= '<div id="side-bar-photos-albums" class="widget">'; $o .= '<div id="side-bar-photos-albums" class="widget">';
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>'; $o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>';
$o .= '<ul>'; $o .= '<ul>';
foreach($albums as $album) { foreach($albums as $album) {
@ -57,7 +61,7 @@ function videos_init(&$a) {
if((! strlen($album['album'])) || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos'))) if((! strlen($album['album'])) || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue; continue;
$o .= '<li>' . '<a href="photos/' . $a->argv[1] . '/album/' . bin2hex($album['album']) . '" >' . $album['album'] . '</a></li>'; $o .= '<li>' . '<a href="photos/' . $a->argv[1] . '/album/' . bin2hex($album['album']) . '" >' . $album['album'] . '</a></li>';
} }
$o .= '</ul>'; $o .= '</ul>';
} }
@ -70,7 +74,7 @@ function videos_init(&$a) {
if(! x($a->page,'aside')) if(! x($a->page,'aside'))
$a->page['aside'] = ''; $a->page['aside'] = '';
$a->page['aside'] .= $o; $a->page['aside'] .= $vcard_widget;
$tpl = get_markup_template("videos_head.tpl"); $tpl = get_markup_template("videos_head.tpl");
@ -92,9 +96,76 @@ function videos_init(&$a) {
function videos_post(&$a) { function videos_post(&$a) {
return; $owner_uid = $a->data['user']['uid'];
if (local_user() != $owner_uid) goaway($a->get_baseurl() . '/videos/' . $a->data['user']['nickname']);
if(($a->argc == 2) && x($_POST,'delete') && x($_POST, 'id')) {
// Check if we should do HTML-based delete confirmation
if(!x($_REQUEST,'confirm')) {
if(x($_REQUEST,'canceled')) goaway($a->get_baseurl() . '/videos/' . $a->data['user']['nickname']);
$drop_url = $a->query_string;
$a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'post',
'$message' => t('Do you really want to delete this video?'),
'$extra_inputs' => [
['name'=>'id', 'value'=> $_POST['id']],
['name'=>'delete', 'value'=>'x']
],
'$confirm' => t('Delete Video'),
'$confirm_url' => $drop_url,
'$confirm_name' => 'confirm', // Needed so that confirmation will bring us back into this if statement
'$cancel' => t('Cancel'),
));
$a->error = 1; // Set $a->error so the other module functions don't execute
return;
}
$video_id = $_POST['id'];
$r = q("SELECT `id` FROM `attach` WHERE `uid` = %d AND `id` = '%s' LIMIT 1",
intval(local_user()),
dbesc($video_id)
);
if(count($r)) {
q("DELETE FROM `attach` WHERE `uid` = %d AND `id` = '%s'",
intval(local_user()),
dbesc($video_id)
);
$i = q("SELECT * FROM `item` WHERE `attach` like '%%attach/%s%%' AND `uid` = %d LIMIT 1",
dbesc($video_id),
intval(local_user())
);
#echo "<pre>"; var_dump($i); killme();
if(count($i)) {
q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc($i[0]['uri']),
intval(local_user())
);
create_tags_from_itemuri($i[0]['uri'], local_user());
delete_thread_uri($i[0]['uri'], local_user());
$url = $a->get_baseurl();
$drop_id = intval($i[0]['id']);
if($i[0]['visible'])
proc_run('php',"include/notifier.php","drop","$drop_id");
}
}
goaway($a->get_baseurl() . '/videos/' . $a->data['user']['nickname']);
return; // NOTREACHED
}
goaway($a->get_baseurl() . '/videos/' . $a->data['user']['nickname']);
// DELETED -- look at mod/photos.php if you want to implement
} }
@ -115,8 +186,8 @@ function videos_content(&$a) {
notice( t('Public access denied.') . EOL); notice( t('Public access denied.') . EOL);
return; return;
} }
require_once('include/bbcode.php'); require_once('include/bbcode.php');
require_once('include/security.php'); require_once('include/security.php');
require_once('include/conversation.php'); require_once('include/conversation.php');
@ -131,7 +202,7 @@ function videos_content(&$a) {
$_SESSION['video_return'] = $a->cmd; $_SESSION['video_return'] = $a->cmd;
// //
// Parse arguments // Parse arguments
// //
if($a->argc > 3) { if($a->argc > 3) {
@ -233,7 +304,7 @@ function videos_content(&$a) {
// tabs // tabs
$_is_owner = (local_user() && (local_user() == $owner_uid)); $_is_owner = (local_user() && (local_user() == $owner_uid));
$o .= profile_tabs($a,$_is_owner, $a->data['user']['nickname']); $o .= profile_tabs($a,$_is_owner, $a->data['user']['nickname']);
// //
// dispatch request // dispatch request
@ -251,7 +322,7 @@ function videos_content(&$a) {
return; // no albums for now return; // no albums for now
// DELETED -- look at mod/photos.php if you want to implement // DELETED -- look at mod/photos.php if you want to implement
} }
if($datatype === 'video') { if($datatype === 'video') {
@ -307,20 +378,21 @@ function videos_content(&$a) {
'name' => $name_e, 'name' => $name_e,
'alt' => t('View Album'), 'alt' => t('View Album'),
), ),
); );
} }
} }
$tpl = get_markup_template('videos_recent.tpl'); $tpl = get_markup_template('videos_recent.tpl');
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$title' => t('Recent Videos'), '$title' => t('Recent Videos'),
'$can_post' => $can_post, '$can_post' => $can_post,
'$upload' => array(t('Upload New Videos'), $a->get_baseurl().'/videos/'.$a->data['user']['nickname'].'/upload'), '$upload' => array(t('Upload New Videos'), $a->get_baseurl().'/videos/'.$a->data['user']['nickname'].'/upload'),
'$videos' => $videos, '$videos' => $videos,
'$delete_url' => (($can_post)?$a->get_baseurl().'/videos/'.$a->data['user']['nickname']:False)
)); ));
$o .= paginate($a); $o .= paginate($a);
return $o; return $o;
} }

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 3.4.0\n" "Project-Id-Version: 3.4.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-21 10:43+0200\n" "POT-Creation-Date: 2015-05-24 10:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -29,9 +29,9 @@ msgstr ""
#: ../../mod/photos.php:1084 ../../mod/photos.php:1203 #: ../../mod/photos.php:1084 ../../mod/photos.php:1203
#: ../../mod/photos.php:1514 ../../mod/photos.php:1565 #: ../../mod/photos.php:1514 ../../mod/photos.php:1565
#: ../../mod/photos.php:1609 ../../mod/photos.php:1697 #: ../../mod/photos.php:1609 ../../mod/photos.php:1697
#: ../../mod/invite.php:140 ../../mod/events.php:491 ../../mod/mood.php:137 #: ../../mod/invite.php:140 ../../mod/events.php:500 ../../mod/mood.php:137
#: ../../mod/message.php:335 ../../mod/message.php:564 #: ../../mod/message.php:335 ../../mod/message.php:564
#: ../../mod/profiles.php:686 ../../mod/install.php:248 #: ../../mod/profiles.php:682 ../../mod/install.php:248
#: ../../mod/install.php:286 ../../mod/crepair.php:190 #: ../../mod/install.php:286 ../../mod/crepair.php:190
#: ../../mod/content.php:710 ../../mod/poke.php:199 ../../mod/localtime.php:45 #: ../../mod/content.php:710 ../../mod/poke.php:199 ../../mod/localtime.php:45
msgid "Submit" msgid "Submit"
@ -233,7 +233,7 @@ msgid "Your photos"
msgstr "" msgstr ""
#: ../../view/theme/diabook/theme.php:127 ../../boot.php:2156 #: ../../view/theme/diabook/theme.php:127 ../../boot.php:2156
#: ../../include/nav.php:80 ../../mod/events.php:382 #: ../../include/nav.php:80 ../../mod/events.php:385
msgid "Events" msgid "Events"
msgstr "" msgstr ""
@ -260,7 +260,7 @@ msgid "event"
msgstr "" msgstr ""
#: ../../view/theme/diabook/theme.php:466 #: ../../view/theme/diabook/theme.php:466
#: ../../view/theme/diabook/theme.php:475 ../../include/diaspora.php:2060 #: ../../view/theme/diabook/theme.php:475 ../../include/diaspora.php:2061
#: ../../include/conversation.php:121 ../../include/conversation.php:130 #: ../../include/conversation.php:121 ../../include/conversation.php:130
#: ../../include/conversation.php:248 ../../include/conversation.php:257 #: ../../include/conversation.php:248 ../../include/conversation.php:257
#: ../../mod/like.php:149 ../../mod/like.php:319 ../../mod/subthread.php:87 #: ../../mod/like.php:149 ../../mod/like.php:319 ../../mod/subthread.php:87
@ -268,14 +268,14 @@ msgstr ""
msgid "status" msgid "status"
msgstr "" msgstr ""
#: ../../view/theme/diabook/theme.php:471 ../../include/diaspora.php:2060 #: ../../view/theme/diabook/theme.php:471 ../../include/diaspora.php:2061
#: ../../include/conversation.php:126 ../../include/conversation.php:253 #: ../../include/conversation.php:126 ../../include/conversation.php:253
#: ../../include/text.php:1995 ../../mod/like.php:149 #: ../../include/text.php:1995 ../../mod/like.php:149
#: ../../mod/subthread.php:87 ../../mod/tagger.php:62 #: ../../mod/subthread.php:87 ../../mod/tagger.php:62
msgid "photo" msgid "photo"
msgstr "" msgstr ""
#: ../../view/theme/diabook/theme.php:480 ../../include/diaspora.php:2076 #: ../../view/theme/diabook/theme.php:480 ../../include/diaspora.php:2077
#: ../../include/conversation.php:137 ../../mod/like.php:166 #: ../../include/conversation.php:137 ../../mod/like.php:166
#, php-format #, php-format
msgid "%1$s likes %2$s's %3$s" msgid "%1$s likes %2$s's %3$s"
@ -375,7 +375,7 @@ msgstr ""
msgid "Permission denied" msgid "Permission denied"
msgstr "" msgstr ""
#: ../../index.php:382 ../../include/items.php:4838 ../../mod/attach.php:33 #: ../../index.php:382 ../../include/items.php:4851 ../../mod/attach.php:33
#: ../../mod/wallmessage.php:9 ../../mod/wallmessage.php:33 #: ../../mod/wallmessage.php:9 ../../mod/wallmessage.php:33
#: ../../mod/wallmessage.php:79 ../../mod/wallmessage.php:103 #: ../../mod/wallmessage.php:79 ../../mod/wallmessage.php:103
#: ../../mod/group.php:19 ../../mod/delegate.php:12 #: ../../mod/group.php:19 ../../mod/delegate.php:12
@ -389,9 +389,9 @@ msgstr ""
#: ../../mod/notes.php:20 ../../mod/network.php:4 ../../mod/photos.php:134 #: ../../mod/notes.php:20 ../../mod/network.php:4 ../../mod/photos.php:134
#: ../../mod/photos.php:1050 ../../mod/follow.php:9 ../../mod/follow.php:39 #: ../../mod/photos.php:1050 ../../mod/follow.php:9 ../../mod/follow.php:39
#: ../../mod/follow.php:78 ../../mod/uimport.php:23 ../../mod/invite.php:15 #: ../../mod/follow.php:78 ../../mod/uimport.php:23 ../../mod/invite.php:15
#: ../../mod/invite.php:101 ../../mod/events.php:152 ../../mod/mood.php:114 #: ../../mod/invite.php:101 ../../mod/events.php:155 ../../mod/mood.php:114
#: ../../mod/message.php:38 ../../mod/message.php:174 #: ../../mod/message.php:38 ../../mod/message.php:174
#: ../../mod/profiles.php:165 ../../mod/profiles.php:618 #: ../../mod/profiles.php:165 ../../mod/profiles.php:614
#: ../../mod/install.php:151 ../../mod/crepair.php:119 ../../mod/poke.php:135 #: ../../mod/install.php:151 ../../mod/crepair.php:119 ../../mod/poke.php:135
#: ../../mod/display.php:501 ../../mod/dfrn_confirm.php:55 #: ../../mod/display.php:501 ../../mod/dfrn_confirm.php:55
#: ../../mod/item.php:169 ../../mod/item.php:185 #: ../../mod/item.php:169 ../../mod/item.php:185
@ -415,8 +415,9 @@ msgstr ""
msgid "Comment" msgid "Comment"
msgstr "" msgstr ""
#: ../../boot.php:751 ../../include/contact_widgets.php:205 #: ../../boot.php:751 ../../include/items.php:4962
#: ../../object/Item.php:393 ../../mod/content.php:606 #: ../../include/contact_widgets.php:205 ../../object/Item.php:393
#: ../../mod/content.php:606
msgid "show more" msgid "show more"
msgstr "" msgstr ""
@ -515,28 +516,28 @@ msgstr ""
msgid "Manage/edit profiles" msgid "Manage/edit profiles"
msgstr "" msgstr ""
#: ../../boot.php:1600 ../../boot.php:1626 ../../mod/profiles.php:804 #: ../../boot.php:1600 ../../boot.php:1626 ../../mod/profiles.php:800
msgid "Change profile photo" msgid "Change profile photo"
msgstr "" msgstr ""
#: ../../boot.php:1601 ../../mod/profiles.php:805 #: ../../boot.php:1601 ../../mod/profiles.php:801
msgid "Create New Profile" msgid "Create New Profile"
msgstr "" msgstr ""
#: ../../boot.php:1611 ../../mod/profiles.php:816 #: ../../boot.php:1611 ../../mod/profiles.php:812
msgid "Profile Image" msgid "Profile Image"
msgstr "" msgstr ""
#: ../../boot.php:1614 ../../mod/profiles.php:818 #: ../../boot.php:1614 ../../mod/profiles.php:814
msgid "visible to everybody" msgid "visible to everybody"
msgstr "" msgstr ""
#: ../../boot.php:1615 ../../mod/profiles.php:819 #: ../../boot.php:1615 ../../mod/profiles.php:815
msgid "Edit visibility" msgid "Edit visibility"
msgstr "" msgstr ""
#: ../../boot.php:1637 ../../include/event.php:42 #: ../../boot.php:1637 ../../include/event.php:42
#: ../../include/bb2diaspora.php:155 ../../mod/events.php:483 #: ../../include/bb2diaspora.php:155 ../../mod/events.php:492
#: ../../mod/directory.php:136 #: ../../mod/directory.php:136
msgid "Location:" msgid "Location:"
msgstr "" msgstr ""
@ -803,12 +804,12 @@ msgstr ""
msgid "Ability to mute notifications for a thread" msgid "Ability to mute notifications for a thread"
msgstr "" msgstr ""
#: ../../include/items.php:2330 ../../include/datetime.php:477 #: ../../include/items.php:2330 ../../include/datetime.php:457
#, php-format #, php-format
msgid "%s's birthday" msgid "%s's birthday"
msgstr "" msgstr ""
#: ../../include/items.php:2331 ../../include/datetime.php:478 #: ../../include/items.php:2331 ../../include/datetime.php:458
#, php-format #, php-format
msgid "Happy Birthday %s" msgid "Happy Birthday %s"
msgstr "" msgstr ""
@ -839,21 +840,22 @@ msgstr ""
#: ../../mod/contacts.php:411 ../../mod/register.php:233 #: ../../mod/contacts.php:411 ../../mod/register.php:233
#: ../../mod/dfrn_request.php:845 ../../mod/api.php:105 #: ../../mod/dfrn_request.php:845 ../../mod/api.php:105
#: ../../mod/suggest.php:29 ../../mod/follow.php:54 ../../mod/message.php:209 #: ../../mod/suggest.php:29 ../../mod/follow.php:54 ../../mod/message.php:209
#: ../../mod/profiles.php:661 ../../mod/profiles.php:664 #: ../../mod/profiles.php:657 ../../mod/profiles.php:660
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: ../../include/items.php:4686 ../../include/conversation.php:1128 #: ../../include/items.php:4686 ../../include/conversation.php:1128
#: ../../mod/settings.php:622 ../../mod/settings.php:648 #: ../../mod/settings.php:622 ../../mod/settings.php:648
#: ../../mod/contacts.php:414 ../../mod/editpost.php:148 #: ../../mod/contacts.php:414 ../../mod/videos.php:116
#: ../../mod/dfrn_request.php:859 ../../mod/fbrowser.php:81 #: ../../mod/editpost.php:148 ../../mod/dfrn_request.php:859
#: ../../mod/fbrowser.php:116 ../../mod/suggest.php:32 #: ../../mod/fbrowser.php:81 ../../mod/fbrowser.php:116
#: ../../mod/photos.php:203 ../../mod/photos.php:292 ../../mod/follow.php:65 #: ../../mod/suggest.php:32 ../../mod/photos.php:203 ../../mod/photos.php:292
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/message.php:212 #: ../../mod/follow.php:65 ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
#: ../../mod/message.php:212
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: ../../include/items.php:4904 #: ../../include/items.php:4956
msgid "Archives" msgid "Archives"
msgstr "" msgstr ""
@ -1349,11 +1351,11 @@ msgstr ""
msgid "for %1$d %2$s" msgid "for %1$d %2$s"
msgstr "" msgstr ""
#: ../../include/profile_advanced.php:46 ../../mod/profiles.php:714 #: ../../include/profile_advanced.php:46 ../../mod/profiles.php:710
msgid "Sexual Preference:" msgid "Sexual Preference:"
msgstr "" msgstr ""
#: ../../include/profile_advanced.php:50 ../../mod/profiles.php:716 #: ../../include/profile_advanced.php:50 ../../mod/profiles.php:712
msgid "Hometown:" msgid "Hometown:"
msgstr "" msgstr ""
@ -1361,7 +1363,7 @@ msgstr ""
msgid "Tags:" msgid "Tags:"
msgstr "" msgstr ""
#: ../../include/profile_advanced.php:54 ../../mod/profiles.php:717 #: ../../include/profile_advanced.php:54 ../../mod/profiles.php:713
msgid "Political Views:" msgid "Political Views:"
msgstr "" msgstr ""
@ -1373,11 +1375,11 @@ msgstr ""
msgid "Hobbies/Interests:" msgid "Hobbies/Interests:"
msgstr "" msgstr ""
#: ../../include/profile_advanced.php:62 ../../mod/profiles.php:721 #: ../../include/profile_advanced.php:62 ../../mod/profiles.php:717
msgid "Likes:" msgid "Likes:"
msgstr "" msgstr ""
#: ../../include/profile_advanced.php:64 ../../mod/profiles.php:722 #: ../../include/profile_advanced.php:64 ../../mod/profiles.php:718
msgid "Dislikes:" msgid "Dislikes:"
msgstr "" msgstr ""
@ -1783,71 +1785,75 @@ msgstr ""
msgid "Miscellaneous" msgid "Miscellaneous"
msgstr "" msgstr ""
#: ../../include/datetime.php:153 ../../include/datetime.php:290 #: ../../include/datetime.php:141
msgid "year" msgid "YYYY-MM-DD or MM-DD"
msgstr "" msgstr ""
#: ../../include/datetime.php:158 ../../include/datetime.php:291 #: ../../include/datetime.php:256
msgid "month"
msgstr ""
#: ../../include/datetime.php:163 ../../include/datetime.php:293
msgid "day"
msgstr ""
#: ../../include/datetime.php:276
msgid "never" msgid "never"
msgstr "" msgstr ""
#: ../../include/datetime.php:282 #: ../../include/datetime.php:262
msgid "less than a second ago" msgid "less than a second ago"
msgstr "" msgstr ""
#: ../../include/datetime.php:290 #: ../../include/datetime.php:270
msgid "year"
msgstr ""
#: ../../include/datetime.php:270
msgid "years" msgid "years"
msgstr "" msgstr ""
#: ../../include/datetime.php:291 #: ../../include/datetime.php:271
msgid "month"
msgstr ""
#: ../../include/datetime.php:271
msgid "months" msgid "months"
msgstr "" msgstr ""
#: ../../include/datetime.php:292 #: ../../include/datetime.php:272
msgid "week" msgid "week"
msgstr "" msgstr ""
#: ../../include/datetime.php:292 #: ../../include/datetime.php:272
msgid "weeks" msgid "weeks"
msgstr "" msgstr ""
#: ../../include/datetime.php:293 #: ../../include/datetime.php:273
msgid "day"
msgstr ""
#: ../../include/datetime.php:273
msgid "days" msgid "days"
msgstr "" msgstr ""
#: ../../include/datetime.php:294 #: ../../include/datetime.php:274
msgid "hour" msgid "hour"
msgstr "" msgstr ""
#: ../../include/datetime.php:294 #: ../../include/datetime.php:274
msgid "hours" msgid "hours"
msgstr "" msgstr ""
#: ../../include/datetime.php:295 #: ../../include/datetime.php:275
msgid "minute" msgid "minute"
msgstr "" msgstr ""
#: ../../include/datetime.php:295 #: ../../include/datetime.php:275
msgid "minutes" msgid "minutes"
msgstr "" msgstr ""
#: ../../include/datetime.php:296 #: ../../include/datetime.php:276
msgid "second" msgid "second"
msgstr "" msgstr ""
#: ../../include/datetime.php:296 #: ../../include/datetime.php:276
msgid "seconds" msgid "seconds"
msgstr "" msgstr ""
#: ../../include/datetime.php:305 #: ../../include/datetime.php:285
#, php-format #, php-format
msgid "%1$d %2$s ago" msgid "%1$d %2$s ago"
msgstr "" msgstr ""
@ -1986,7 +1992,7 @@ msgstr ""
msgid "Sharing notification from Diaspora network" msgid "Sharing notification from Diaspora network"
msgstr "" msgstr ""
#: ../../include/diaspora.php:2493 #: ../../include/diaspora.php:2494
msgid "Attachments:" msgid "Attachments:"
msgstr "" msgstr ""
@ -2261,7 +2267,7 @@ msgstr ""
#: ../../include/conversation.php:1125 ../../object/Item.php:690 #: ../../include/conversation.php:1125 ../../object/Item.php:690
#: ../../mod/editpost.php:145 ../../mod/photos.php:1566 #: ../../mod/editpost.php:145 ../../mod/photos.php:1566
#: ../../mod/photos.php:1610 ../../mod/photos.php:1698 #: ../../mod/photos.php:1610 ../../mod/photos.php:1698
#: ../../mod/events.php:489 ../../mod/content.php:719 #: ../../mod/events.php:498 ../../mod/content.php:719
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
@ -2533,7 +2539,7 @@ msgstr ""
msgid "December" msgid "December"
msgstr "" msgstr ""
#: ../../include/text.php:1424 ../../mod/videos.php:301 #: ../../include/text.php:1424 ../../mod/videos.php:368
msgid "View Video" msgid "View Video"
msgstr "" msgstr ""
@ -2546,7 +2552,7 @@ msgid "Click to open/close"
msgstr "" msgstr ""
#: ../../include/text.php:1674 ../../include/text.php:1684 #: ../../include/text.php:1674 ../../include/text.php:1684
#: ../../mod/events.php:347 #: ../../mod/events.php:350
msgid "link to source" msgid "link to source"
msgstr "" msgstr ""
@ -3868,8 +3874,8 @@ msgstr ""
#: ../../mod/settings.php:1108 ../../mod/settings.php:1109 #: ../../mod/settings.php:1108 ../../mod/settings.php:1109
#: ../../mod/settings.php:1110 ../../mod/register.php:234 #: ../../mod/settings.php:1110 ../../mod/register.php:234
#: ../../mod/dfrn_request.php:845 ../../mod/api.php:106 #: ../../mod/dfrn_request.php:845 ../../mod/api.php:106
#: ../../mod/follow.php:54 ../../mod/profiles.php:661 #: ../../mod/follow.php:54 ../../mod/profiles.php:657
#: ../../mod/profiles.php:665 #: ../../mod/profiles.php:661
msgid "No" msgid "No"
msgstr "" msgstr ""
@ -4643,30 +4649,38 @@ msgstr ""
msgid "Tips for New Members" msgid "Tips for New Members"
msgstr "" msgstr ""
#: ../../mod/videos.php:115 ../../mod/dfrn_request.php:777 #: ../../mod/videos.php:108
msgid "Do you really want to delete this video?"
msgstr ""
#: ../../mod/videos.php:113
msgid "Delete Video"
msgstr ""
#: ../../mod/videos.php:182 ../../mod/dfrn_request.php:777
#: ../../mod/viewcontacts.php:19 ../../mod/photos.php:920 #: ../../mod/viewcontacts.php:19 ../../mod/photos.php:920
#: ../../mod/search.php:89 ../../mod/community.php:18 #: ../../mod/search.php:89 ../../mod/community.php:18
#: ../../mod/display.php:214 ../../mod/directory.php:33 #: ../../mod/display.php:214 ../../mod/directory.php:33
msgid "Public access denied." msgid "Public access denied."
msgstr "" msgstr ""
#: ../../mod/videos.php:125 #: ../../mod/videos.php:192
msgid "No videos selected" msgid "No videos selected"
msgstr "" msgstr ""
#: ../../mod/videos.php:226 ../../mod/photos.php:1031 #: ../../mod/videos.php:293 ../../mod/photos.php:1031
msgid "Access to this item is restricted." msgid "Access to this item is restricted."
msgstr "" msgstr ""
#: ../../mod/videos.php:308 ../../mod/photos.php:1808 #: ../../mod/videos.php:375 ../../mod/photos.php:1808
msgid "View Album" msgid "View Album"
msgstr "" msgstr ""
#: ../../mod/videos.php:317 #: ../../mod/videos.php:384
msgid "Recent Videos" msgid "Recent Videos"
msgstr "" msgstr ""
#: ../../mod/videos.php:319 #: ../../mod/videos.php:386
msgid "Upload New Videos" msgid "Upload New Videos"
msgstr "" msgstr ""
@ -6642,72 +6656,67 @@ msgstr ""
msgid "is interested in:" msgid "is interested in:"
msgstr "" msgstr ""
#: ../../mod/events.php:68 ../../mod/events.php:70 #: ../../mod/events.php:71 ../../mod/events.php:73
msgid "Event title and start time are required." msgid "Event title and start time are required."
msgstr "" msgstr ""
#: ../../mod/events.php:303 #: ../../mod/events.php:306
msgid "l, F j" msgid "l, F j"
msgstr "" msgstr ""
#: ../../mod/events.php:325 #: ../../mod/events.php:328
msgid "Edit event" msgid "Edit event"
msgstr "" msgstr ""
#: ../../mod/events.php:383 #: ../../mod/events.php:386
msgid "Create New Event" msgid "Create New Event"
msgstr "" msgstr ""
#: ../../mod/events.php:384 #: ../../mod/events.php:387
msgid "Previous" msgid "Previous"
msgstr "" msgstr ""
#: ../../mod/events.php:385 ../../mod/install.php:207 #: ../../mod/events.php:388 ../../mod/install.php:207
msgid "Next" msgid "Next"
msgstr "" msgstr ""
#: ../../mod/events.php:458 #: ../../mod/events.php:480
msgid "hour:minute"
msgstr ""
#: ../../mod/events.php:468
msgid "Event details" msgid "Event details"
msgstr "" msgstr ""
#: ../../mod/events.php:469 #: ../../mod/events.php:481
#, php-format msgid "Starting date and Title are required."
msgid "Format is %s %s. Starting date and Title are required."
msgstr "" msgstr ""
#: ../../mod/events.php:471 #: ../../mod/events.php:482
msgid "Event Starts:" msgid "Event Starts:"
msgstr "" msgstr ""
#: ../../mod/events.php:471 ../../mod/events.php:485 #: ../../mod/events.php:482 ../../mod/events.php:494
msgid "Required" msgid "Required"
msgstr "" msgstr ""
#: ../../mod/events.php:474 #: ../../mod/events.php:484
msgid "Finish date/time is not known or not relevant" msgid "Finish date/time is not known or not relevant"
msgstr "" msgstr ""
#: ../../mod/events.php:476 #: ../../mod/events.php:486
msgid "Event Finishes:" msgid "Event Finishes:"
msgstr "" msgstr ""
#: ../../mod/events.php:479 #: ../../mod/events.php:488
msgid "Adjust for viewer timezone" msgid "Adjust for viewer timezone"
msgstr "" msgstr ""
#: ../../mod/events.php:481 #: ../../mod/events.php:490
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: ../../mod/events.php:485 #: ../../mod/events.php:494
msgid "Title:" msgid "Title:"
msgstr "" msgstr ""
#: ../../mod/events.php:487 #: ../../mod/events.php:496
msgid "Share this event" msgid "Share this event"
msgstr "" msgstr ""
@ -6842,7 +6851,7 @@ msgid "Not available."
msgstr "" msgstr ""
#: ../../mod/profiles.php:18 ../../mod/profiles.php:133 #: ../../mod/profiles.php:18 ../../mod/profiles.php:133
#: ../../mod/profiles.php:179 ../../mod/profiles.php:630 #: ../../mod/profiles.php:179 ../../mod/profiles.php:626
#: ../../mod/dfrn_confirm.php:64 #: ../../mod/dfrn_confirm.php:64
msgid "Profile not found." msgid "Profile not found."
msgstr "" msgstr ""
@ -6867,278 +6876,277 @@ msgstr ""
msgid "Profile Name is required." msgid "Profile Name is required."
msgstr "" msgstr ""
#: ../../mod/profiles.php:340 #: ../../mod/profiles.php:336
msgid "Marital Status" msgid "Marital Status"
msgstr "" msgstr ""
#: ../../mod/profiles.php:344 #: ../../mod/profiles.php:340
msgid "Romantic Partner" msgid "Romantic Partner"
msgstr "" msgstr ""
#: ../../mod/profiles.php:348 #: ../../mod/profiles.php:344
msgid "Likes" msgid "Likes"
msgstr "" msgstr ""
#: ../../mod/profiles.php:352 #: ../../mod/profiles.php:348
msgid "Dislikes" msgid "Dislikes"
msgstr "" msgstr ""
#: ../../mod/profiles.php:356 #: ../../mod/profiles.php:352
msgid "Work/Employment" msgid "Work/Employment"
msgstr "" msgstr ""
#: ../../mod/profiles.php:359 #: ../../mod/profiles.php:355
msgid "Religion" msgid "Religion"
msgstr "" msgstr ""
#: ../../mod/profiles.php:363 #: ../../mod/profiles.php:359
msgid "Political Views" msgid "Political Views"
msgstr "" msgstr ""
#: ../../mod/profiles.php:367 #: ../../mod/profiles.php:363
msgid "Gender" msgid "Gender"
msgstr "" msgstr ""
#: ../../mod/profiles.php:371 #: ../../mod/profiles.php:367
msgid "Sexual Preference" msgid "Sexual Preference"
msgstr "" msgstr ""
#: ../../mod/profiles.php:375 #: ../../mod/profiles.php:371
msgid "Homepage" msgid "Homepage"
msgstr "" msgstr ""
#: ../../mod/profiles.php:379 ../../mod/profiles.php:698 #: ../../mod/profiles.php:375 ../../mod/profiles.php:694
msgid "Interests" msgid "Interests"
msgstr "" msgstr ""
#: ../../mod/profiles.php:383 #: ../../mod/profiles.php:379
msgid "Address" msgid "Address"
msgstr "" msgstr ""
#: ../../mod/profiles.php:390 ../../mod/profiles.php:694 #: ../../mod/profiles.php:386 ../../mod/profiles.php:690
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: ../../mod/profiles.php:473 #: ../../mod/profiles.php:469
msgid "Profile updated." msgid "Profile updated."
msgstr "" msgstr ""
#: ../../mod/profiles.php:568 #: ../../mod/profiles.php:564
msgid " and " msgid " and "
msgstr "" msgstr ""
#: ../../mod/profiles.php:576 #: ../../mod/profiles.php:572
msgid "public profile" msgid "public profile"
msgstr "" msgstr ""
#: ../../mod/profiles.php:579 #: ../../mod/profiles.php:575
#, php-format #, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;" msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr "" msgstr ""
#: ../../mod/profiles.php:580 #: ../../mod/profiles.php:576
#, php-format #, php-format
msgid " - Visit %1$s's %2$s" msgid " - Visit %1$s's %2$s"
msgstr "" msgstr ""
#: ../../mod/profiles.php:583 #: ../../mod/profiles.php:579
#, php-format #, php-format
msgid "%1$s has an updated %2$s, changing %3$s." msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "" msgstr ""
#: ../../mod/profiles.php:658 #: ../../mod/profiles.php:654
msgid "Hide contacts and friends:" msgid "Hide contacts and friends:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:663 #: ../../mod/profiles.php:659
msgid "Hide your contact/friend list from viewers of this profile?" msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "" msgstr ""
#: ../../mod/profiles.php:685 #: ../../mod/profiles.php:681
msgid "Edit Profile Details" msgid "Edit Profile Details"
msgstr "" msgstr ""
#: ../../mod/profiles.php:687 #: ../../mod/profiles.php:683
msgid "Change Profile Photo" msgid "Change Profile Photo"
msgstr "" msgstr ""
#: ../../mod/profiles.php:688 #: ../../mod/profiles.php:684
msgid "View this profile" msgid "View this profile"
msgstr "" msgstr ""
#: ../../mod/profiles.php:689 #: ../../mod/profiles.php:685
msgid "Create a new profile using these settings" msgid "Create a new profile using these settings"
msgstr "" msgstr ""
#: ../../mod/profiles.php:690 #: ../../mod/profiles.php:686
msgid "Clone this profile" msgid "Clone this profile"
msgstr "" msgstr ""
#: ../../mod/profiles.php:691 #: ../../mod/profiles.php:687
msgid "Delete this profile" msgid "Delete this profile"
msgstr "" msgstr ""
#: ../../mod/profiles.php:692 #: ../../mod/profiles.php:688
msgid "Basic information" msgid "Basic information"
msgstr "" msgstr ""
#: ../../mod/profiles.php:693 #: ../../mod/profiles.php:689
msgid "Profile picture" msgid "Profile picture"
msgstr "" msgstr ""
#: ../../mod/profiles.php:695 #: ../../mod/profiles.php:691
msgid "Preferences" msgid "Preferences"
msgstr "" msgstr ""
#: ../../mod/profiles.php:696 #: ../../mod/profiles.php:692
msgid "Status information" msgid "Status information"
msgstr "" msgstr ""
#: ../../mod/profiles.php:697 #: ../../mod/profiles.php:693
msgid "Additional information" msgid "Additional information"
msgstr "" msgstr ""
#: ../../mod/profiles.php:699 ../../mod/newmember.php:36 #: ../../mod/profiles.php:695 ../../mod/newmember.php:36
#: ../../mod/profile_photo.php:244 #: ../../mod/profile_photo.php:244
msgid "Upload Profile Photo" msgid "Upload Profile Photo"
msgstr "" msgstr ""
#: ../../mod/profiles.php:700 #: ../../mod/profiles.php:696
msgid "Profile Name:" msgid "Profile Name:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:701 #: ../../mod/profiles.php:697
msgid "Your Full Name:" msgid "Your Full Name:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:702 #: ../../mod/profiles.php:698
msgid "Title/Description:" msgid "Title/Description:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:703 #: ../../mod/profiles.php:699
msgid "Your Gender:" msgid "Your Gender:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:704 #: ../../mod/profiles.php:700
#, php-format msgid "Birthday :"
msgid "Birthday (%s):"
msgstr "" msgstr ""
#: ../../mod/profiles.php:705 #: ../../mod/profiles.php:701
msgid "Street Address:" msgid "Street Address:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:706 #: ../../mod/profiles.php:702
msgid "Locality/City:" msgid "Locality/City:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:707 #: ../../mod/profiles.php:703
msgid "Postal/Zip Code:" msgid "Postal/Zip Code:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:708 #: ../../mod/profiles.php:704
msgid "Country:" msgid "Country:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:709 #: ../../mod/profiles.php:705
msgid "Region/State:" msgid "Region/State:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:710 #: ../../mod/profiles.php:706
msgid "<span class=\"heart\">&hearts;</span> Marital Status:" msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:711 #: ../../mod/profiles.php:707
msgid "Who: (if applicable)" msgid "Who: (if applicable)"
msgstr "" msgstr ""
#: ../../mod/profiles.php:712 #: ../../mod/profiles.php:708
msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "" msgstr ""
#: ../../mod/profiles.php:713 #: ../../mod/profiles.php:709
msgid "Since [date]:" msgid "Since [date]:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:715 #: ../../mod/profiles.php:711
msgid "Homepage URL:" msgid "Homepage URL:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:718 #: ../../mod/profiles.php:714
msgid "Religious Views:" msgid "Religious Views:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:719 #: ../../mod/profiles.php:715
msgid "Public Keywords:" msgid "Public Keywords:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:720 #: ../../mod/profiles.php:716
msgid "Private Keywords:" msgid "Private Keywords:"
msgstr "" msgstr ""
#: ../../mod/profiles.php:723 #: ../../mod/profiles.php:719
msgid "Example: fishing photography software" msgid "Example: fishing photography software"
msgstr "" msgstr ""
#: ../../mod/profiles.php:724 #: ../../mod/profiles.php:720
msgid "(Used for suggesting potential friends, can be seen by others)" msgid "(Used for suggesting potential friends, can be seen by others)"
msgstr "" msgstr ""
#: ../../mod/profiles.php:725 #: ../../mod/profiles.php:721
msgid "(Used for searching profiles, never shown to others)" msgid "(Used for searching profiles, never shown to others)"
msgstr "" msgstr ""
#: ../../mod/profiles.php:726 #: ../../mod/profiles.php:722
msgid "Tell us about yourself..." msgid "Tell us about yourself..."
msgstr "" msgstr ""
#: ../../mod/profiles.php:727 #: ../../mod/profiles.php:723
msgid "Hobbies/Interests" msgid "Hobbies/Interests"
msgstr "" msgstr ""
#: ../../mod/profiles.php:728 #: ../../mod/profiles.php:724
msgid "Contact information and Social Networks" msgid "Contact information and Social Networks"
msgstr "" msgstr ""
#: ../../mod/profiles.php:729 #: ../../mod/profiles.php:725
msgid "Musical interests" msgid "Musical interests"
msgstr "" msgstr ""
#: ../../mod/profiles.php:730 #: ../../mod/profiles.php:726
msgid "Books, literature" msgid "Books, literature"
msgstr "" msgstr ""
#: ../../mod/profiles.php:731 #: ../../mod/profiles.php:727
msgid "Television" msgid "Television"
msgstr "" msgstr ""
#: ../../mod/profiles.php:732 #: ../../mod/profiles.php:728
msgid "Film/dance/culture/entertainment" msgid "Film/dance/culture/entertainment"
msgstr "" msgstr ""
#: ../../mod/profiles.php:733 #: ../../mod/profiles.php:729
msgid "Love/romance" msgid "Love/romance"
msgstr "" msgstr ""
#: ../../mod/profiles.php:734 #: ../../mod/profiles.php:730
msgid "Work/employment" msgid "Work/employment"
msgstr "" msgstr ""
#: ../../mod/profiles.php:735 #: ../../mod/profiles.php:731
msgid "School/education" msgid "School/education"
msgstr "" msgstr ""
#: ../../mod/profiles.php:740 #: ../../mod/profiles.php:736
msgid "" msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> " "This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet." "be visible to anybody using the internet."
msgstr "" msgstr ""
#: ../../mod/profiles.php:750 ../../mod/directory.php:113 #: ../../mod/profiles.php:746 ../../mod/directory.php:113
msgid "Age: " msgid "Age: "
msgstr "" msgstr ""
#: ../../mod/profiles.php:803 #: ../../mod/profiles.php:799
msgid "Edit/Manage Profiles" msgid "Edit/Manage Profiles"
msgstr "" msgstr ""

File diff suppressed because it is too large Load diff

View file

@ -76,13 +76,6 @@ $a->strings["Page not found."] = "Stránka nenalezena";
$a->strings["Permission denied"] = "Nedostatečné oprávnění"; $a->strings["Permission denied"] = "Nedostatečné oprávnění";
$a->strings["Permission denied."] = "Přístup odmítnut."; $a->strings["Permission denied."] = "Přístup odmítnut.";
$a->strings["toggle mobile"] = "přepnout mobil"; $a->strings["toggle mobile"] = "přepnout mobil";
$a->strings["Do you wish to confirm your identity (<tt>%s</tt>) with <tt>%s</tt>"] = "Přejete si potvrdit vaši identitu (<tt>%s</tt>) s <tt>%s</tt>";
$a->strings["Confirm"] = "Potvrdit";
$a->strings["Do not confirm"] = "Nepotvrzovat";
$a->strings["Trust This Site"] = "Důvěřovat tomuto webu";
$a->strings["No Identifier Sent"] = "Nezaslán žádný identifikátor";
$a->strings["Requested identity don't match logged in user."] = "Požadovaná identita neodpovídá přihlášenému uživateli";
$a->strings["Please wait; you are being redirected to <%s>"] = "Čekejte prosím, budete přesměrován na <%s>";
$a->strings["Delete this item?"] = "Odstranit tuto položku?"; $a->strings["Delete this item?"] = "Odstranit tuto položku?";
$a->strings["Comment"] = "Okomentovat"; $a->strings["Comment"] = "Okomentovat";
$a->strings["show more"] = "zobrazit více"; $a->strings["show more"] = "zobrazit více";
@ -194,6 +187,7 @@ $a->strings["edit"] = "editovat";
$a->strings["Groups"] = "Skupiny"; $a->strings["Groups"] = "Skupiny";
$a->strings["Edit group"] = "Editovat skupinu"; $a->strings["Edit group"] = "Editovat skupinu";
$a->strings["Create a new group"] = "Vytvořit novou skupinu"; $a->strings["Create a new group"] = "Vytvořit novou skupinu";
$a->strings["Group Name: "] = "Název skupiny: ";
$a->strings["Contacts not in any group"] = "Kontakty, které nejsou v žádné skupině"; $a->strings["Contacts not in any group"] = "Kontakty, které nejsou v žádné skupině";
$a->strings["add"] = "přidat"; $a->strings["add"] = "přidat";
$a->strings["Wall Photos"] = "Fotografie na zdi"; $a->strings["Wall Photos"] = "Fotografie na zdi";
@ -745,7 +739,6 @@ $a->strings["Group not found."] = "Skupina nenalezena.";
$a->strings["Group name changed."] = "Název skupiny byl změněn."; $a->strings["Group name changed."] = "Název skupiny byl změněn.";
$a->strings["Save Group"] = "Uložit Skupinu"; $a->strings["Save Group"] = "Uložit Skupinu";
$a->strings["Create a group of contacts/friends."] = "Vytvořit skupinu kontaktů / přátel."; $a->strings["Create a group of contacts/friends."] = "Vytvořit skupinu kontaktů / přátel.";
$a->strings["Group Name: "] = "Název skupiny: ";
$a->strings["Group removed."] = "Skupina odstraněna. "; $a->strings["Group removed."] = "Skupina odstraněna. ";
$a->strings["Unable to remove group."] = "Nelze odstranit skupinu."; $a->strings["Unable to remove group."] = "Nelze odstranit skupinu.";
$a->strings["Group Editor"] = "Editor skupin"; $a->strings["Group Editor"] = "Editor skupin";
@ -844,6 +837,9 @@ $a->strings["Plugin Settings"] = "Nastavení doplňku";
$a->strings["Off"] = "Vypnuto"; $a->strings["Off"] = "Vypnuto";
$a->strings["On"] = "Zapnuto"; $a->strings["On"] = "Zapnuto";
$a->strings["Additional Features"] = "Další Funkčnosti"; $a->strings["Additional Features"] = "Další Funkčnosti";
$a->strings["General Social Media Settings"] = "General Social Media nastavení";
$a->strings["Disable intelligent shortening"] = "Vypnout inteligentní zkracování";
$a->strings["Normally the system tries to find the best link to add to shortened posts. If this option is enabled then every shortened post will always point to the original friendica post."] = "Normálně se systém snaží nalézt nejlepší link pro přidání zkrácených příspěvků. Pokud je tato volba aktivní, pak každý zkrácený příspěvek bude vždy ukazovat na originální friencika příspěvek";
$a->strings["Built-in support for %s connectivity is %s"] = "Vestavěná podpora pro připojení s %s je %s"; $a->strings["Built-in support for %s connectivity is %s"] = "Vestavěná podpora pro připojení s %s je %s";
$a->strings["enabled"] = "povoleno"; $a->strings["enabled"] = "povoleno";
$a->strings["disabled"] = "zakázáno"; $a->strings["disabled"] = "zakázáno";
@ -950,6 +946,9 @@ $a->strings["You receive a private message"] = "obdržíte soukromou zprávu";
$a->strings["You receive a friend suggestion"] = "Obdržel jste návrh přátelství"; $a->strings["You receive a friend suggestion"] = "Obdržel jste návrh přátelství";
$a->strings["You are tagged in a post"] = "Jste označen v příspěvku"; $a->strings["You are tagged in a post"] = "Jste označen v příspěvku";
$a->strings["You are poked/prodded/etc. in a post"] = "Byl Jste šťouchnout v příspěvku"; $a->strings["You are poked/prodded/etc. in a post"] = "Byl Jste šťouchnout v příspěvku";
$a->strings["Activate desktop notifications"] = "Aktivovat upozornění na desktopu";
$a->strings["Note: This is an experimental feature, as being not supported by each browser"] = "Poznámka: Jedná se o experimentální funkci, protože není podporovaná všemi prohlížeči";
$a->strings["You will now receive desktop notifications!"] = "Nyní obdržíte notifikace na desktopu!";
$a->strings["Text-only notification emails"] = "Pouze textové notifikační e-maily"; $a->strings["Text-only notification emails"] = "Pouze textové notifikační e-maily";
$a->strings["Send text only notification emails, without the html part"] = "Posílat pouze textové notifikační e-maily, bez html části."; $a->strings["Send text only notification emails, without the html part"] = "Posílat pouze textové notifikační e-maily, bez html části.";
$a->strings["Advanced Account/Page Type Settings"] = "Pokročilé nastavení účtu/stránky"; $a->strings["Advanced Account/Page Type Settings"] = "Pokročilé nastavení účtu/stránky";
@ -1116,6 +1115,7 @@ $a->strings["Invalid profile URL."] = "Neplatné URL profilu.";
$a->strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána."; $a->strings["Your introduction has been sent."] = "Vaše žádost o propojení byla odeslána.";
$a->strings["Please login to confirm introduction."] = "Prosím přihlašte se k potvrzení žádosti o propojení."; $a->strings["Please login to confirm introduction."] = "Prosím přihlašte se k potvrzení žádosti o propojení.";
$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do <strong>tohoto</strong> profilu."; $a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Jste přihlášeni pod nesprávnou identitou Prosím, přihlaste se do <strong>tohoto</strong> profilu.";
$a->strings["Confirm"] = "Potvrdit";
$a->strings["Hide this contact"] = "Skrýt tento kontakt"; $a->strings["Hide this contact"] = "Skrýt tento kontakt";
$a->strings["Welcome home %s."] = "Vítejte doma %s."; $a->strings["Welcome home %s."] = "Vítejte doma %s.";
$a->strings["Please confirm your introduction/connection request to %s."] = "Prosím potvrďte Vaši žádost o propojení %s."; $a->strings["Please confirm your introduction/connection request to %s."] = "Prosím potvrďte Vaši žádost o propojení %s.";
@ -1277,6 +1277,8 @@ $a->strings["Poll interval"] = "Dotazovací interval";
$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Tímto nastavením ovlivníte prodlení mezi aktualizačními procesy běžícími na pozadí, čímž můžete snížit systémovou zátěž. Pokud 0, použijte doručovací interval."; $a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Tímto nastavením ovlivníte prodlení mezi aktualizačními procesy běžícími na pozadí, čímž můžete snížit systémovou zátěž. Pokud 0, použijte doručovací interval.";
$a->strings["Maximum Load Average"] = "Maximální průměrné zatížení"; $a->strings["Maximum Load Average"] = "Maximální průměrné zatížení";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximální zatížení systému před pozastavením procesů zajišťujících doručování aktualizací - defaultně 50"; $a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximální zatížení systému před pozastavením procesů zajišťujících doručování aktualizací - defaultně 50";
$a->strings["Maximum Load Average (Frontend)"] = "Maximální průměrné zatížení (Frontend)";
$a->strings["Maximum system load before the frontend quits service - default 50."] = "Maximální zatížení systému předtím, než frontend ukončí službu - defaultně 50";
$a->strings["Use MySQL full text engine"] = "Použít fulltextový vyhledávací stroj MySQL"; $a->strings["Use MySQL full text engine"] = "Použít fulltextový vyhledávací stroj MySQL";
$a->strings["Activates the full text engine. Speeds up search - but can only search for four and more characters."] = "Aktivuje fulltextový vyhledávací stroj. Zrychluje vyhledávání ale pouze pro vyhledávání čtyř a více znaků"; $a->strings["Activates the full text engine. Speeds up search - but can only search for four and more characters."] = "Aktivuje fulltextový vyhledávací stroj. Zrychluje vyhledávání ale pouze pro vyhledávání čtyř a více znaků";
$a->strings["Suppress Language"] = "Potlačit Jazyk"; $a->strings["Suppress Language"] = "Potlačit Jazyk";
@ -1451,6 +1453,7 @@ $a->strings["Private photo"] = "Soukromé fotografie";
$a->strings["Public photo"] = "Veřejné fotografie"; $a->strings["Public photo"] = "Veřejné fotografie";
$a->strings["Recent Photos"] = "Aktuální fotografie"; $a->strings["Recent Photos"] = "Aktuální fotografie";
$a->strings["The post was created"] = "Příspěvek byl vytvořen"; $a->strings["The post was created"] = "Příspěvek byl vytvořen";
$a->strings["You already added this contact."] = "Již jste si tento kontakt přidali.";
$a->strings["Contact added"] = "Kontakt přidán"; $a->strings["Contact added"] = "Kontakt přidán";
$a->strings["Move account"] = "Přesunout účet"; $a->strings["Move account"] = "Přesunout účet";
$a->strings["You can import an account from another Friendica server."] = "Můžete importovat účet z jiného Friendica serveru."; $a->strings["You can import an account from another Friendica server."] = "Můžete importovat účet z jiného Friendica serveru.";
@ -1510,6 +1513,7 @@ $a->strings["bb2dia2bb: "] = "bb2dia2bb: ";
$a->strings["bb2md2html2bb: "] = "bb2md2html2bb: "; $a->strings["bb2md2html2bb: "] = "bb2md2html2bb: ";
$a->strings["Source input (Diaspora format): "] = "Vstupní data (ve formátu Diaspora): "; $a->strings["Source input (Diaspora format): "] = "Vstupní data (ve formátu Diaspora): ";
$a->strings["diaspora2bb: "] = "diaspora2bb: "; $a->strings["diaspora2bb: "] = "diaspora2bb: ";
$a->strings["Not Extended"] = "Nerozšířeně";
$a->strings["Tag removed"] = "Štítek odstraněn"; $a->strings["Tag removed"] = "Štítek odstraněn";
$a->strings["Remove Item Tag"] = "Odebrat štítek položky"; $a->strings["Remove Item Tag"] = "Odebrat štítek položky";
$a->strings["Select a tag to remove: "] = "Vyberte štítek k odebrání: "; $a->strings["Select a tag to remove: "] = "Vyberte štítek k odebrání: ";
@ -1717,6 +1721,7 @@ $a->strings["Return to contact editor"] = "Návrat k editoru kontaktu";
$a->strings["No mirroring"] = "Žádné zrcadlení"; $a->strings["No mirroring"] = "Žádné zrcadlení";
$a->strings["Mirror as forwarded posting"] = "Zrcadlit pro přeposlané příspěvky"; $a->strings["Mirror as forwarded posting"] = "Zrcadlit pro přeposlané příspěvky";
$a->strings["Mirror as my own posting"] = "Zrcadlit jako mé vlastní příspěvky"; $a->strings["Mirror as my own posting"] = "Zrcadlit jako mé vlastní příspěvky";
$a->strings["Refetch contact data"] = "Znovu načíst data kontaktu";
$a->strings["Account Nickname"] = "Přezdívka účtu"; $a->strings["Account Nickname"] = "Přezdívka účtu";
$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - upřednostněno před Jménem/Přezdívkou"; $a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - upřednostněno před Jménem/Přezdívkou";
$a->strings["Account URL"] = "URL adresa účtu"; $a->strings["Account URL"] = "URL adresa účtu";

View file

@ -1,6 +1,9 @@
<div class="vcard"> <div class="vcard">
<div class="fn"><a href="{{$url}}">{{$name}}</a></div> <div class="fn">{{$name}}</div>
<div id="profile-photo-wrapper"><a href="{{$url}}"><img class="photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></a></div> {{if $url}}
</div> <div id="profile-photo-wrapper"><a href="{{$url}}"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></a></div>
{{else}}
<div id="profile-photo-wrapper"><img class="vcard-photo photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
{{/if}}
</div>

View file

@ -9,5 +9,11 @@
</video> </video>
{{*<div class="video-top-album-name"><a href="{{$video.album.link}}" class="video-top-album-link" title="{{$video.album.alt}}" >{{$video.album.name}}</a></div>*}} {{*<div class="video-top-album-name"><a href="{{$video.album.link}}" class="video-top-album-link" title="{{$video.album.alt}}" >{{$video.album.name}}</a></div>*}}
{{if $delete_url }}
<form method="post" action="{{$delete_url}}">
<input type="submit" name="delete" value="X" class="video-delete"></input>
<input type="hidden" name="id" value="{{$video.id}}"></input>
</form>
{{/if}}
</div> </div>

View file

@ -22,7 +22,7 @@ a:hover {text-decoration: underline; }
input { input {
border: 1px solid #666666; border: 1px solid #666666;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
padding: 3px; padding: 3px;
} }
@ -50,7 +50,7 @@ code {
background: #EEE; background: #EEE;
color: #444; color: #444;
padding: 10px; padding: 10px;
margin-top: 20px; margin-top: 20px;
} }
blockquote { blockquote {
@ -91,7 +91,7 @@ nav {
display: block; display: block;
margin: 0px 10%; margin: 0px 10%;
border-bottom: 1px solid #babdb6; border-bottom: 1px solid #babdb6;
position: relative; position: relative;
} }
nav #site-location { nav #site-location {
color: #888a85; color: #888a85;
@ -151,9 +151,9 @@ nav #banner #logo-text a:hover { text-decoration: none; }
border: 1px solid #babdb6; border: 1px solid #babdb6;
border-bottom: 0px; border-bottom: 0px;
background-color: #aec0d3; background-color: #aec0d3;
color: #565854; color: #565854;
-moz-border-radius: 3px 3px 0px 0px; -moz-border-radius: 3px 3px 0px 0px;
border-radius: 3px 3px 0px 0px; border-radius: 3px 3px 0px 0px;
} }
nav .nav-link { nav .nav-link {
float: right; float: right;
@ -173,7 +173,7 @@ nav .nav-link {
.nav-ajax-left { .nav-ajax-left {
font-size: 0.8em; font-size: 0.8em;
float: left; float: left;
margin-top: 62px; margin-top: 62px;
} }
@ -228,12 +228,12 @@ section {
background-position: top right; background-position: top right;
background-repeat: no-repeat; background-repeat: no-repeat;
min-height: 112px; min-height: 112px;
} }
.tabs { .tabs {
height: 27px; height: 27px;
background-image: url(head.jpg); background-image: url(head.jpg);
background-repeat: repeat-x; background-repeat: repeat-x;
background-position: 0px -20px; background-position: 0px -20px;
border-bottom: 1px solid #babdb6; border-bottom: 1px solid #babdb6;
padding:0px; padding:0px;
@ -248,7 +248,7 @@ section {
} }
.tab.active { .tab.active {
font-weight: bold; font-weight: bold;
} }
@ -278,14 +278,14 @@ div.wall-item-content-wrapper.shiny {
} }
/* from default */ /* from default */
#jot-perms-icon, #jot-perms-icon,
#profile-location, #profile-location,
#profile-nolocation, #profile-nolocation,
#profile-youtube, #profile-youtube,
#profile-video, #profile-video,
#profile-audio, #profile-audio,
#profile-link, #profile-link,
#profile-title, #profile-title,
#wall-image-upload, #wall-image-upload,
#wall-file-upload, #wall-file-upload,
#profile-upload-wrapper, #profile-upload-wrapper,
@ -313,13 +313,13 @@ div.wall-item-content-wrapper.shiny {
#jot-category::-webkit-input-placeholder{font-weight: normal;} #jot-category::-webkit-input-placeholder{font-weight: normal;}
#jot-title:-moz-placeholder{font-weight: normal;} #jot-title:-moz-placeholder{font-weight: normal;}
#jot-category:-moz-placeholder{font-weight: normal;} #jot-category:-moz-placeholder{font-weight: normal;}
#jot-title:hover, #jot-title:hover,
#jot-title:focus, #jot-title:focus,
#jot-category:hover, #jot-category:hover,
#jot-category:focus { #jot-category:focus {
border: 1px solid #cccccc; border: 1px solid #cccccc;
} }
.jothidden { display:none; } .jothidden { display:none; }
@ -343,7 +343,7 @@ div.wall-item-content-wrapper.shiny {
.group-selected, .nets-selected, .fileas-selected, .categories-selected { .group-selected, .nets-selected, .fileas-selected, .categories-selected {
padding: 3px; padding: 3px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
border: 1px solid #CCCCCC; border: 1px solid #CCCCCC;
background: #F8F8F8; background: #F8F8F8;
font-weight: bold; font-weight: bold;
@ -352,7 +352,7 @@ div.wall-item-content-wrapper.shiny {
.settings-widget .selected { .settings-widget .selected {
padding: 3px; padding: 3px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
border: 1px solid #CCCCCC; border: 1px solid #CCCCCC;
background: #F8F8F8; background: #F8F8F8;
font-weight: bold; font-weight: bold;
@ -813,7 +813,7 @@ input#dfrn-url {
clear: left; clear: left;
color: #666666; color: #666666;
display: block; display: block;
margin-bottom: 20px margin-bottom: 20px
} }
#profile-edit-profile-name-end, #profile-edit-profile-name-end,
@ -944,7 +944,7 @@ input#dfrn-url {
border: 1px solid #CCC; border: 1px solid #CCC;
position: relative; position: relative;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
} }
.tread-wrapper .tread-wrapper { .tread-wrapper .tread-wrapper {
@ -987,7 +987,7 @@ input#dfrn-url {
display: block; display: block;
position: absolute; position: absolute;
background-image: url("photo-menu.jpg"); background-image: url("photo-menu.jpg");
background-position: top left; background-position: top left;
background-repeat: no-repeat; background-repeat: no-repeat;
margin: 0px; padding: 0px; margin: 0px; padding: 0px;
width: 16px; width: 16px;
@ -996,7 +996,7 @@ input#dfrn-url {
overflow: hidden; overflow: hidden;
text-indent: 40px; text-indent: 40px;
display: none; display: none;
} }
.wall-item-photo-menu { .wall-item-photo-menu {
width: auto; width: auto;
@ -1047,7 +1047,7 @@ input#dfrn-url {
/*margin-top: 10px;*/ /*margin-top: 10px;*/
left: 105px; left: 105px;
position: absolute; position: absolute;
top: 1px; top: 1px;
} }
.comment .wall-item-lock { .comment .wall-item-lock {
left: 65px; left: 65px;
@ -1100,11 +1100,11 @@ input#dfrn-url {
} }
.star-item { .star-item {
margin-left: 10px; margin-left: 10px;
float: left; float: left;
} }
.tag-item { .tag-item {
margin-left: 10px; margin-left: 10px;
float: left; float: left;
} }
.filer-item { .filer-item {
@ -1141,7 +1141,7 @@ input#dfrn-url {
border: none; border: none;
} }
.comment .wall-item-photo { .comment .wall-item-photo {
width: 50px !important; width: 50px !important;
height: 50px !important; height: 50px !important;
} }
.wall-item-content { .wall-item-content {
@ -1240,7 +1240,7 @@ blockquote.shared_content {
.comment .wall-item-tools { .comment .wall-item-tools {
background:none; background:none;
} }
.comment-edit-wrapper { .comment-edit-wrapper {
margin-top: 15px; margin-top: 15px;
@ -1270,7 +1270,7 @@ blockquote.shared_content {
float: left; float: left;
margin-top: 10px; margin-top: 10px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
border: 1px solid #cccccc; border: 1px solid #cccccc;
padding: 3px 1px 1px 3px; padding: 3px 1px 1px 3px;
} }
@ -1676,7 +1676,7 @@ blockquote.shared_content {
.contact-photo-menu-button { .contact-photo-menu-button {
position: absolute; position: absolute;
background-image: url("photo-menu.jpg"); background-image: url("photo-menu.jpg");
background-position: top left; background-position: top left;
background-repeat: no-repeat; background-repeat: no-repeat;
margin: 0px; padding: 0px; margin: 0px; padding: 0px;
width: 16px; width: 16px;
@ -1685,7 +1685,7 @@ blockquote.shared_content {
overflow: hidden; overflow: hidden;
text-indent: 40px; text-indent: 40px;
display: none; display: none;
} }
.contact-photo-menu { .contact-photo-menu {
width: auto; width: auto;
@ -1723,7 +1723,7 @@ blockquote.shared_content {
border: 1px solid #cccccc; border: 1px solid #cccccc;
padding: 3px 0px 0px 5px; padding: 3px 0px 0px 5px;
-moz-border-radius: 3px; -moz-border-radius: 3px;
border-radius: 3px; border-radius: 3px;
} }
@ -1777,7 +1777,7 @@ blockquote.shared_content {
overflow: auto; overflow: auto;
} }
#acl-list-content { #acl-list-content {
} }
.acl-list-item { .acl-list-item {
display: block; display: block;
@ -1794,7 +1794,7 @@ blockquote.shared_content {
margin: 4px; margin: 4px;
} }
.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
.acl-list-item a { .acl-list-item a {
font-size: 8px; font-size: 8px;
display: block; display: block;
width: 40px; width: 40px;
@ -2111,15 +2111,15 @@ aside input[type='text'] {
margin-top: 15px; margin-top: 15px;
margin-right: 15px; margin-right: 15px;
margin-left: 15px; margin-left: 15px;
/* width: 200px; height: 200px; /* width: 200px; height: 200px;
overflow: hidden; overflow: hidden;
position: relative; */ position: relative; */
} }
.photo-album-image-wrapper .caption { .photo-album-image-wrapper .caption {
display: none; display: none;
width: 100%; width: 100%;
/* position: absolute; */ /* position: absolute; */
bottom: 0px; bottom: 0px;
padding: 0.5em 0.5em 0px 0.5em; padding: 0.5em 0.5em 0px 0.5em;
background-color: rgba(245, 245, 255, 0.8); background-color: rgba(245, 245, 255, 0.8);
border-bottom: 2px solid #CCC; border-bottom: 2px solid #CCC;
@ -2141,14 +2141,14 @@ aside input[type='text'] {
margin-right: 15px; margin-right: 15px;
margin-left: 15px; margin-left: 15px;
margin-bottom: 15px; margin-bottom: 15px;
/* width: 200px; height: 200px; /* width: 200px; height: 200px;
overflow: hidden; */ overflow: hidden; */
} }
.photo-top-album-name { .photo-top-album-name {
width: 100%; width: 100%;
min-height: 2em; min-height: 2em;
/* position: absolute; */ /* position: absolute; */
bottom: 0px; bottom: 0px;
padding: 0px 3px; padding: 0px 3px;
padding-top: 0.5em; padding-top: 0.5em;
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
@ -2236,7 +2236,7 @@ aside input[type='text'] {
} }
#profile-jot-banner-end { #profile-jot-banner-end {
/* clear: both; */ /* clear: both; */
} }
#photos-upload-select-files-text { #photos-upload-select-files-text {
@ -2464,7 +2464,7 @@ aside input[type='text'] {
} }
/* end from default */ /* end from default */
.fn { .fn {
padding: 0px 0px 5px 12px; padding: 0px 0px 5px 12px;
@ -2483,7 +2483,7 @@ aside input[type='text'] {
#birthday-title { #birthday-title {
float: left; float: left;
font-weight: bold; font-weight: bold;
} }
#birthday-adjust { #birthday-adjust {
@ -2607,7 +2607,7 @@ aside input[type='text'] {
clear: both; clear: both;
} }
.calendar { .calendar {
font-family: Courier, monospace; font-family: Courier, monospace;
} }
@ -2791,7 +2791,7 @@ aside input[type='text'] {
#netsearch-box { #netsearch-box {
margin-top: 20px; margin-top: 20px;
} }
#netsearch-box #search-submit { #netsearch-box #search-submit {
@ -2898,7 +2898,7 @@ aside input[type='text'] {
.settings-heading { .settings-heading {
border-bottom: 1px solid #babdb6; border-bottom: 1px solid #babdb6;
} }
/** /**
* Form fields * Form fields
@ -2924,7 +2924,7 @@ aside input[type='text'] {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: #666666; color: #666666;
} }
@ -2972,7 +2972,7 @@ aside input[type='text'] {
font-weight: bold; font-weight: bold;
background-color: #FF0000; background-color: #FF0000;
padding: 0em 0.3em; padding: 0em 0.3em;
} }
#adminpage dl { #adminpage dl {
clear: left; clear: left;
@ -3027,7 +3027,7 @@ aside input[type='text'] {
/* /*
* UPDATE * UPDATE
*/ */
.popup { .popup {
width: 100%; height: 100%; width: 100%; height: 100%;
top:0px; left:0px; top:0px; left:0px;
position: absolute; position: absolute;
@ -3048,7 +3048,7 @@ aside input[type='text'] {
border: 4px solid #000000; border: 4px solid #000000;
background-color: #FFFFFF; background-color: #FFFFFF;
} }
.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } .popup .panel .panel_text { display: block; overflow: auto; height: 80%; }
.popup .panel .panel_in { width: 100%; height: 100%; position: relative; } .popup .panel .panel_in { width: 100%; height: 100%; position: relative; }
.popup .panel .panel_actions { width: 100%; bottom: 4px; left: 0px; position: absolute; } .popup .panel .panel_actions { width: 100%; bottom: 4px; left: 0px; position: absolute; }
.panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px} .panel_text .progress { width: 50%; overflow: hidden; height: auto; border: 1px solid #cccccc; margin-bottom: 5px}
@ -3061,7 +3061,7 @@ aside input[type='text'] {
height: auto; overflow: auto; height: auto; overflow: auto;
border-bottom: 2px solid #cccccc; border-bottom: 2px solid #cccccc;
padding-bottom: 1em; padding-bottom: 1em;
margin-bottom: 1em; margin-bottom: 1em;
} }
.oauthapp img { .oauthapp img {
float: left; float: left;
@ -3365,7 +3365,7 @@ ul.menu-popup {
} }
#recip { #recip {
} }
.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; } .autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
.autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; } .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
@ -3400,10 +3400,10 @@ ul.menu-popup {
} }
@media all and (max-width: 760px) { @media all and (max-width: 760px) {
body { background-image: none; } body { background-image: none; }
nav, aside, section, footer { nav, aside, section, footer {
margin: 0px; margin: 0px;
float: none; float: none;
position: relative; position: relative;
width: 100%; width: 100%;
padding: 0.5em; padding: 0.5em;
height: auto; height: auto;
@ -3416,11 +3416,11 @@ ul.menu-popup {
aside { overflow: hidden; min-height: 0; height: 1em;} aside { overflow: hidden; min-height: 0; height: 1em;}
aside:hover, aside:focus { height: auto; } aside:hover, aside:focus { height: auto; }
nav .nav-link { nav .nav-link {
float: left; float: left;
width: 23%; width: 23%;
min-width: 100px; min-width: 100px;
height: 15px; height: 15px;
display: block; display: block;
margin: 0.4em 2px 0 0; margin: 0.4em 2px 0 0;
@ -3431,11 +3431,11 @@ ul.menu-popup {
background-color: rgb(174, 192,211)!important; background-color: rgb(174, 192,211)!important;
} }
.nav-commlink.selected, .nav-commlink.selected,
.nav-commlink { .nav-commlink {
border-bottom: 0px; border-bottom: 0px;
padding: 6px 3px; padding: 6px 3px;
min-width: 100px; min-width: 100px;
float: left; float: left;
margin-top: 0.4em; margin-top: 0.4em;
width: 23%; width: 23%;
bottom: auto; bottom: auto;
@ -3446,3 +3446,25 @@ ul.menu-popup {
ul.menu-popup { left: 0px; top 20px; } ul.menu-popup { left: 0px; top 20px; }
} }
/* videos page */
.videos .video-top-wrapper {
width: 300px;
float: left;
margin: 0px 10px 10px 0px;
position: relative;
}
.videos .video-top-wrapper .video-js {
width: 300px!important;
height: 232px!important;
}
.videos .video-top-wrapper .video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
.videos .video-top-wrapper:hover .video-delete {
opacity: 1;
}

View file

@ -1965,6 +1965,27 @@ ul.tabs li .active {
width: 50px; width: 50px;
float: left; float: left;
} }
/* videos page */
.videos .video-top-wrapper {
width: 200px;
float: left;
margin: 0px 10px 10px 0px;
position: relative;
}
.videos .video-top-wrapper .video-js {
width: 200px!important;
height: 132px!important;
}
.videos .video-top-wrapper .video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
.videos .video-top-wrapper:hover .video-delete {
opacity: 1;
}
/* photo albums */ /* photo albums */
#photo-edit-link-wrap { #photo-edit-link-wrap {
margin-bottom: 10px; margin-bottom: 10px;

View file

@ -1965,6 +1965,27 @@ ul.tabs li .active {
width: 50px; width: 50px;
float: left; float: left;
} }
/* videos page */
.videos .video-top-wrapper {
width: 200px;
float: left;
margin: 0px 10px 10px 0px;
position: relative;
}
.videos .video-top-wrapper .video-js {
width: 200px!important;
height: 132px!important;
}
.videos .video-top-wrapper .video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
.videos .video-top-wrapper:hover .video-delete {
opacity: 1;
}
/* photo albums */ /* photo albums */
#photo-edit-link-wrap { #photo-edit-link-wrap {
margin-bottom: 10px; margin-bottom: 10px;

View file

@ -1965,6 +1965,27 @@ ul.tabs li .active {
width: 50px; width: 50px;
float: left; float: left;
} }
/* videos page */
.videos .video-top-wrapper {
width: 200px;
float: left;
margin: 0px 10px 10px 0px;
position: relative;
}
.videos .video-top-wrapper .video-js {
width: 200px!important;
height: 132px!important;
}
.videos .video-top-wrapper .video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
.videos .video-top-wrapper:hover .video-delete {
opacity: 1;
}
/* photo albums */ /* photo albums */
#photo-edit-link-wrap { #photo-edit-link-wrap {
margin-bottom: 10px; margin-bottom: 10px;

View file

@ -36,7 +36,7 @@ h4 { font-size: 1.1em }
-o-transition: all @d ease-in-out; -o-transition: all @d ease-in-out;
-ms-transition: all @d ease-in-out; -ms-transition: all @d ease-in-out;
transition: all @d ease-in-out; transition: all @d ease-in-out;
} }
a, a:link { color: @Link; text-decoration: none; } a, a:link { color: @Link; text-decoration: none; }
@ -56,7 +56,7 @@ blockquote {
padding: 1em; padding: 1em;
margin-left: 1em; margin-left: 1em;
border-left: 1em solid @BlockquoteBorderColor; border-left: 1em solid @BlockquoteBorderColor;
} }
code { code {
@ -68,7 +68,7 @@ code {
background: #EEE; background: #EEE;
color: #444; color: #444;
padding: 10px; padding: 10px;
margin-top: 20px; margin-top: 20px;
} }
#panel { #panel {
@ -81,12 +81,14 @@ code {
list-style: none; list-style: none;
border: 3px solid @MenuBorder; border: 3px solid @MenuBorder;
z-index: 100000; z-index: 100000;
.shadow(); .shadow();
} }
/* tool */ /* tool */
.tool { .tool {
height: auto; overflow: auto; height: auto; overflow: auto;
.label { float: left;} .label { float: left;}
@ -95,6 +97,8 @@ code {
} }
/* popup notifications */ /* popup notifications */
#jGrowl.top-right { #jGrowl.top-right {
top: 30px; top: 30px;
@ -130,7 +134,7 @@ header {
#site-location { #site-location {
display: none; display: none;
} }
#banner { #banner {
overflow: hidden; overflow: hidden;
text-align: center; text-align: center;
@ -140,9 +144,8 @@ header {
#logo-text { font-size: 22px } #logo-text { font-size: 22px }
} }
} }
/* nav */ /* nav */
nav { nav {
width: 100%; height: 32px; width: 100%; height: 32px;
position: fixed; left: 0px; top: 0px; position: fixed; left: 0px; top: 0px;
padding: 0px; padding: 0px;
@ -156,13 +159,13 @@ nav {
ul { ul {
margin: 0px; margin: 0px;
padding: 0px 20px; padding: 0px 20px;
li { li {
list-style: none; list-style: none;
margin: 0px; padding: 0px; margin: 0px; padding: 0px;
float: left; float: left;
.menu-popup{ left: 0px; right: auto; } .menu-popup{ left: 0px; right: auto; }
} }
} }
.nav-menu-icon { .nav-menu-icon {
@ -171,11 +174,11 @@ nav {
padding: 5px; padding: 5px;
margin: 0px 10px; margin: 0px 10px;
.roundtop(); .roundtop();
&.selected { &.selected {
background-color: @NavbarSelectedBg; background-color: @NavbarSelectedBg;
} }
img { width: 22px; height: 22px; } img { width: 22px; height: 22px; }
.nav-notify { top: 3px; } .nav-notify { top: 3px; }
} }
@ -190,7 +193,7 @@ nav {
&.selected { &.selected {
border-bottom: 3px solid @NavbarSelectedBorder; border-bottom: 3px solid @NavbarSelectedBorder;
} }
} }
.nav-notify { .nav-notify {
@ -204,26 +207,26 @@ nav {
right: -10px; right: -10px;
min-width: 15px; min-width: 15px;
text-align: right; text-align: right;
&.show{ display: block; } &.show{ display: block; }
} }
#nav-help-link, #nav-help-link,
#nav-search-link, #nav-search-link,
#nav-directory-link, #nav-directory-link,
#nav-apps-link, #nav-apps-link,
#nav-site-linkmenu { #nav-site-linkmenu {
float: right; float: right;
.menu-popup{ right: 0px; left: auto; } .menu-popup{ right: 0px; left: auto; }
} }
#nav-notifications-linkmenu.on .icon.s22.notify, #nav-notifications-linkmenu.on .icon.s22.notify,
#nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/22/notify_on.png") } #nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/22/notify_on.png") }
#nav-introductions-link.on .icon.s22.intro, #nav-introductions-link.on .icon.s22.intro,
#nav-introductions-link.selected .icon.s22.intro { background-image: url("icons/contacts_on.png") } #nav-introductions-link.selected .icon.s22.intro { background-image: url("icons/contacts_on.png") }
#nav-messages-link.on .icon.s22.mail, #nav-messages-link.on .icon.s22.mail,
#nav-messages-link.selected .icon.s22.mail { background-image: url("icons/messages_on.png") } #nav-messages-link.selected .icon.s22.mail { background-image: url("icons/messages_on.png") }
#nav-apps-link.selected { background-color: @NavbarSelectedBg; } #nav-apps-link.selected { background-color: @NavbarSelectedBg; }
} }
@ -239,9 +242,9 @@ ul.menu-popup {
list-style: none; list-style: none;
border: 3px solid @MenuBorder; border: 3px solid @MenuBorder;
z-index: 100000; z-index: 100000;
.shadow(); .shadow();
a { display: block; color: @MenuItem; padding: 5px 10px; text-decoration: none;} a { display: block; color: @MenuItem; padding: 5px 10px; text-decoration: none;}
a:hover { background-color: @MenuItemHoverBg; } a:hover { background-color: @MenuItemHoverBg; }
.menu-sep { border-top: 1px solid @MenuItemSeparator; } .menu-sep { border-top: 1px solid @MenuItemSeparator; }
@ -253,12 +256,12 @@ ul.menu-popup {
color: @MenuEmpty; color: @MenuEmpty;
} }
.toolbar { .toolbar {
background-color: @MenuEmpty; background-color: @MenuEmpty;
height: auto; overflow: auto; height: auto; overflow: auto;
a { float: right; } a { float: right; }
a:hover { background-color: @MenuBg; } a:hover { background-color: @MenuBg; }
} }
} }
/* autocomplete popup */ /* autocomplete popup */
@ -272,7 +275,7 @@ ul.menu-popup {
z-index:100000; z-index:100000;
.shadow(); .shadow();
} }
.autocomplete > div, .autocomplete > div,
.acpopupitem { .acpopupitem {
color: @MenuItem; padding: 4px; color: @MenuItem; padding: 4px;
clear:left; clear:left;
@ -299,8 +302,10 @@ ul.menu-popup {
} }
/* aside 230px*/ /* aside 230px*/
aside { aside {
display: table-cell; display: table-cell;
vertical-align: top; vertical-align: top;
width: 200px; width: 200px;
@ -315,7 +320,7 @@ aside {
dl { height: auto; overflow: auto; } dl { height: auto; overflow: auto; }
dt {float: left; margin-left: 0px; width: 35%; text-align: right; color: @VCardLabelColor; } dt {float: left; margin-left: 0px; width: 35%; text-align: right; color: @VCardLabelColor; }
dd {float: left; margin-left: 4px; width: 60%;} dd {float: left; margin-left: 4px; width: 60%;}
} }
#profile-extra-links { #profile-extra-links {
@ -332,7 +337,7 @@ aside {
text-transform:uppercase; text-transform:uppercase;
padding: 4px 2px 2px 35px; padding: 4px 2px 2px 35px;
margin-top: 3px; margin-top: 3px;
&:hover { text-decoration: none; background-color: @AsideConnectHoverBg; } &:hover { text-decoration: none; background-color: @AsideConnectHoverBg; }
} }
#dfrn-request-link { #dfrn-request-link {
@ -343,12 +348,12 @@ aside {
font-weight: bold; font-weight: bold;
text-transform:uppercase; text-transform:uppercase;
padding: 4px 2px 2px 35px; padding: 4px 2px 2px 35px;
&:hover { text-decoration: none; background-color: @AsideConnectHoverBg; } &:hover { text-decoration: none; background-color: @AsideConnectHoverBg; }
} }
#profiles-menu { width: 20em; } #profiles-menu { width: 20em; }
.posted-date-selector-months { margin-left: 10px; } .posted-date-selector-months { margin-left: 10px; }
} }
@ -415,11 +420,11 @@ aside {
width: 60px; width: 60px;
height: 60px; height: 60px;
}*/ }*/
/* widget */ /* widget */
.widget { .widget {
margin-bottom: 2em; margin-bottom: 2em;
h3 { padding: 0px; margin: 2px;} h3 { padding: 0px; margin: 2px;}
.action { .opaque(0.1); } .action { .opaque(0.1); }
input.action { .opaque(0.5); } input.action { .opaque(0.5); }
@ -429,14 +434,14 @@ aside {
ul { padding: 0px;} ul { padding: 0px;}
ul li {padding-left: 16px; min-height: 16px; list-style: none; } ul li {padding-left: 16px; min-height: 16px; list-style: none; }
.tool.selected { .tool.selected {
background: url('../../../images/selected.png') no-repeat left center; background: url('../../../images/selected.png') no-repeat left center;
} }
/*.action .s10 { width: 10px; overflow: hidden; padding: 0px;} /*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
.action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/ .action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
} }
/* widget: search */ /* widget: search */
@ -447,7 +452,7 @@ aside {
/* section 800px */ /* section 800px */
section { section {
display: table-cell; display: table-cell;
vertical-align: top; vertical-align: top;
width: 770px; width: 770px;
@ -459,7 +464,7 @@ section {
} }
/* wall item */ /* wall item */
.tread-wrapper { .tread-wrapper {
background-color: @ThreadBackgroundColor; background-color: @ThreadBackgroundColor;
position: relative; position: relative;
padding: 10px; padding: 10px;
@ -473,10 +478,10 @@ section {
.wall-item-container { .wall-item-container {
display: table; display: table;
width: 750px; width: 750px;
.wall-item-item, .wall-item-item,
.wall-item-bottom { display: table-row; } .wall-item-bottom { display: table-row; }
.wall-item-bottom { .opaque(0.5); } .wall-item-bottom { .opaque(0.5); }
&:hover .wall-item-bottom { .opaque(1); } &:hover .wall-item-bottom { .opaque(1); }
.wall-item-info { .wall-item-info {
@ -484,8 +489,8 @@ section {
vertical-align: top; vertical-align: top;
text-align: left; text-align: left;
width: 60px; width: 60px;
} }
.wall-item-location { .wall-item-location {
word-wrap: break-word; word-wrap: break-word;
width: 50px; width: 50px;
@ -498,45 +503,45 @@ section {
} }
.wall-item-content img { max-width: 700px; } .wall-item-content img { max-width: 700px; }
.wall-item-links, .wall-item-links,
.wall-item-actions { .wall-item-actions {
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
.icon { .icon {
.opaque(0.5); .opaque(0.5);
} }
.icon:hover { .icon:hover {
.opaque(1.0); .opaque(1.0);
} }
} }
.wall-item-ago { padding-right: 40px; } .wall-item-ago { padding-right: 40px; }
.wall-item-name { font-weight: bold; } .wall-item-name { font-weight: bold; }
.wall-item-actions-author { float: left; width: 20em; margin-top: 0.5em; } .wall-item-actions-author { float: left; width: 20em; margin-top: 0.5em; }
.wall-item-actions-social { float: left; margin-top: 0.5em; .wall-item-actions-social { float: left; margin-top: 0.5em;
a { margin-right: 3em; } a { margin-right: 3em; }
} }
.wall-item-actions-tools { float: right; width: 15%; .wall-item-actions-tools { float: right; width: 15%;
a { float: right; } a { float: right; }
input { float: right; } input { float: right; }
} }
} }
.wall-item-container.comment { .wall-item-container.comment {
.contact-photo-wrapper { margin-left: 16px; } .contact-photo-wrapper { margin-left: 16px; }
.contact-photo { .contact-photo {
width: 32px; height: 32px; width: 32px; height: 32px;
} }
.contact-photo-menu-button { .contact-photo-menu-button {
top: 15px !important; top: 15px !important;
left: 0px !important; left: 0px !important;
} }
.wall-item-links { padding-left: 12px; } .wall-item-links { padding-left: 12px; }
.commentbox { .commentbox {
height: 0px; height: 0px;
overflow: hidden; overflow: hidden;
@ -546,7 +551,7 @@ section {
} }
.transition(); .transition();
} }
&:hover .commentbox { &:hover .commentbox {
height:auto; overflow: visible; height:auto; overflow: visible;
.wall-item-comment-wrapper { .wall-item-comment-wrapper {
@ -563,9 +568,9 @@ section {
.opaque(0.5); .opaque(0.5);
} }
.contact-photo-wrapper { margin-left: 32px; } .contact-photo-wrapper { margin-left: 32px; }
.contact-photo { .contact-photo {
width: 16px; height: 16px; width: 16px; height: 16px;
} }
.contact-photo-menu-button { .contact-photo-menu-button {
top: 15px !important; top: 15px !important;
left: 15px !important; left: 15px !important;
@ -576,8 +581,8 @@ section {
.wall-item-comment-wrapper { .wall-item-comment-wrapper {
margin: 1em 2em 1em 60px; margin: 1em 2em 1em 60px;
.comment-edit-photo { display: none; } .comment-edit-photo { display: none; }
textarea { textarea {
height: 1em; width: 100%; font-size: 10px; height: 1em; width: 100%; font-size: 10px;
color: @CommentBoxEmptyColor; color: @CommentBoxEmptyColor;
border: 1px solid @CommentBoxEmptyBorderColor; border: 1px solid @CommentBoxEmptyBorderColor;
@ -588,7 +593,7 @@ section {
color: @CommentBoxFullColor; color: @CommentBoxFullColor;
border: 1px solid @CommentBoxFullBorderColor; border: 1px solid @CommentBoxFullBorderColor;
} }
&.photo { &.photo {
margin: 1em 2em 1em 0px; margin: 1em 2em 1em 0px;
} }
@ -601,10 +606,10 @@ section {
border: 1px solid @Grey5; border: 1px solid @Grey5;
margin-top: 10px; margin-top: 10px;
background-color: @JotPreviewBackgroundColor; background-color: @JotPreviewBackgroundColor;
.contact-photo { width: 32px; height: 32px; margin-left: 16px; .contact-photo { width: 32px; height: 32px; margin-left: 16px;
/*background: url(../../../images/icons/22/user.png) no-repeat center center;*/ /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
} }
.contact-photo-menu-button { .contact-photo-menu-button {
top: 15px !important; top: 15px !important;
left: 15px !important; left: 15px !important;
@ -612,8 +617,8 @@ section {
.wall-item-links { padding-left: 12px; } .wall-item-links { padding-left: 12px; }
.wall-item-container { width: 90%; } .wall-item-container { width: 90%; }
.tread-wrapper { .tread-wrapper {
width: 90%; padding: 0; margin: 10px 0; width: 90%; padding: 0; margin: 10px 0;
background-color: @JotPreviewBackgroundColor; background-color: @JotPreviewBackgroundColor;
border-bottom: 0px; border-bottom: 0px;
} }
@ -659,7 +664,7 @@ section {
opacity: 0.5; opacity: 0.5;
}*/ }*/
.wwto { .wwto {
position: absolute !important; position: absolute !important;
background: #FFFFFF; background: #FFFFFF;
border: 2px solid @Metalic3; border: 2px solid @Metalic3;
@ -688,7 +693,7 @@ section {
float: none; float: none;
margin-right: 0px; margin-right: 0px;
} }
} }
.type-link { .type-link {
blockquote { blockquote {
@ -728,7 +733,7 @@ blockquote.shared_content {
.oembed.video { .oembed.video {
> a.embed_video { > a.embed_video {
display: block; display: block;
float: none; float: none;
> div { > div {
@ -746,45 +751,45 @@ blockquote.shared_content {
.children { .children {
margin-top: 1em; margin-top: 1em;
.hide-comments-outer { margin-left:60px; } .hide-comments-outer { margin-left:60px; }
.wwto { display: none; } .wwto { display: none; }
.comment-edit-preview { width: 660px; .comment-edit-preview { width: 660px;
.wall-item-container { width: 610px; } .wall-item-container { width: 610px; }
} }
& .children { & .children {
margin-left: 40px; margin-left: 40px;
.wall-item-container { width: 710px; } .wall-item-container { width: 710px; }
.comment-edit-preview { width: 620px; .comment-edit-preview { width: 620px;
.wall-item-container { width: 620px; } .wall-item-container { width: 620px; }
} }
& .children { & .children {
.wall-item-container { width: 670px; } .wall-item-container { width: 670px; }
.comment-edit-preview { width: 580px; .comment-edit-preview { width: 580px;
.wall-item-container { width: 580px; } .wall-item-container { width: 580px; }
} }
& .children { & .children {
.wall-item-container { width: 630px; } .wall-item-container { width: 630px; }
.comment-edit-preview { width: 540px; .comment-edit-preview { width: 540px;
.wall-item-container { width: 540px; } .wall-item-container { width: 540px; }
} }
& .children { & .children {
.wall-item-container { width: 590px; } .wall-item-container { width: 590px; }
.comment-edit-preview { width: 500px; .comment-edit-preview { width: 500px;
.wall-item-container { width: 500px; } .wall-item-container { width: 500px; }
} }
.children { .children {
margin-left: 0px; margin-left: 0px;
.hide-comments-outer { margin-left: 0px; } .hide-comments-outer { margin-left: 0px; }
} }
} }
} }
} }
} }
} }
@ -813,8 +818,8 @@ span[id^="showmore-wrap"] {
.contact-select { position: absolute; top:64px; left:64px; display:none; } .contact-select { position: absolute; top:64px; left:64px; display:none; }
.contact-select:checked, .contact-select:checked,
.contact-photo:hover .contact-select { display:block; } .contact-photo:hover .contact-select { display:block; }
#contacts-actions { #contacts-actions {
position: absolute; position: absolute;
left: 800px; left: 800px;
width: 200px; width: 200px;
background-color: @MenuBg; background-color: @MenuBg;
@ -838,12 +843,12 @@ span[id^="showmore-wrap"] {
#contacts-actions { left: 40px; } #contacts-actions { left: 40px; }
} }
.contact-photo { .contact-photo {
width: 48px; height: 48px; width: 48px; height: 48px;
img { width: 48px; height: 48px; } img { width: 48px; height: 48px; }
overflow: hidden; overflow: hidden;
display: block; display: block;
} }
.contact-photo-menu-button { .contact-photo-menu-button {
display: none; display: none;
position: absolute; position: absolute;
@ -857,30 +862,30 @@ span[id^="showmore-wrap"] {
height: 90px; height: 90px;
padding-right: 10px; padding-right: 10px;
margin: 0 10px 10px 0px; margin: 0 10px 10px 0px;
.contact-photo-wrapper { .contact-photo-wrapper {
float: left; float: left;
margin-right: 10px; margin-right: 10px;
} }
.contact-photo { .contact-photo {
width: 80px; height: 80px; width: 80px; height: 80px;
img { width: 80px; height: 80px; } img { width: 80px; height: 80px; }
} }
.contact-photo-menu-button { .contact-photo-menu-button {
left: 0px; left: 0px;
top: 63px; top: 63px;
} }
} }
.directory-item { .directory-item {
float: left; float: left;
width: 200px; width: 200px;
height: 200px; height: 200px;
.contact-photo { .contact-photo {
width: 175px; height: 175px; width: 175px; height: 175px;
img { width: 175px; height: 175px; } img { width: 175px; height: 175px; }
} }
} }
.contact-name { font-weight: bold; padding-top: 15px; } .contact-name { font-weight: bold; padding-top: 15px; }
.contact-details { .contact-details {
color: @Grey3; white-space: nowrap; color: @Grey3; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -891,8 +896,8 @@ span[id^="showmore-wrap"] {
#jot { #jot {
width: 100%; width: 100%;
margin: 0px 2em 20px 0px; margin: 0px 2em 20px 0px;
.profile-jot-text { .profile-jot-text {
height: 1em; width: 99%; font-size: 10px; height: 1em; width: 99%; font-size: 10px;
color: @CommentBoxEmptyColor; color: @CommentBoxEmptyColor;
@ -939,7 +944,7 @@ span[id^="showmore-wrap"] {
border-left: 10px solid @JotPermissionLockBackgroundColor; border-left: 10px solid @JotPermissionLockBackgroundColor;
background-color: @JotPermissionLockBackgroundColor; background-color: @JotPermissionLockBackgroundColor;
} }
} }
li.submit { li.submit {
float: right; float: right;
@ -985,12 +990,12 @@ span[id^="showmore-wrap"] {
&:-moz-placeholder { &:-moz-placeholder {
font-weight: normal; font-weight: normal;
} }
&:hover { border: 1px solid @CommentBoxEmptyBorderColor } &:hover { border: 1px solid @CommentBoxEmptyBorderColor }
&:focus { border: 1px solid @CommentBoxEmptyBorderColor } &:focus { border: 1px solid @CommentBoxEmptyBorderColor }
} }
#character-counter { #character-counter {
width: 40px; width: 40px;
float: right; float: right;
@ -999,7 +1004,7 @@ span[id^="showmore-wrap"] {
line-height: 20px; line-height: 20px;
padding-right: 20px; padding-right: 20px;
} }
#jot-category { #jot-category {
border: 0px; border: 0px;
margin: 0px; margin: 0px;
@ -1031,6 +1036,7 @@ span[id^="showmore-wrap"] {
} }
#acl-wrapper { #acl-wrapper {
width: 690px; width: 690px;
float:left; float:left;
@ -1067,7 +1073,7 @@ span[id^="showmore-wrap"] {
overflow: auto; overflow: auto;
} }
#acl-list-content { #acl-list-content {
} }
.acl-list-item { .acl-list-item {
display: block; display: block;
@ -1084,7 +1090,7 @@ span[id^="showmore-wrap"] {
margin: 4px; margin: 4px;
} }
.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} .acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
.acl-list-item a { .acl-list-item a {
font-size: 8px; font-size: 8px;
display: block; display: block;
width: 40px; width: 40px;
@ -1129,12 +1135,12 @@ ul.tabs {
li { li {
float: left; float: left;
margin-left: 20px; margin-left: 20px;
.active { .active {
border-bottom: 1px solid @LinkVisited; border-bottom: 1px solid @LinkVisited;
} }
} }
} }
@ -1143,7 +1149,7 @@ ul.tabs {
#group-update-wrapper{ #group-update-wrapper{
height: auto; overflow: auto; height: auto; overflow: auto;
#group { #group {
width:300px; width:300px;
float:left; float:left;
margin-right:20px; margin-right:20px;
} }
@ -1172,6 +1178,7 @@ ul.tabs {
overflow: auto; overflow: auto;
width: 100%; width: 100%;
label { label {
float: left; float: left;
width: 200px; width: 200px;
@ -1184,15 +1191,16 @@ ul.tabs {
input[type="checkbox"], input[type="radio"]{ input[type="checkbox"], input[type="radio"]{
width: auto; width: auto;
} }
textarea { height: 100px; } textarea { height: 100px; }
.field_help { .field_help {
display: block; display: block;
margin-left: 200px; margin-left: 200px;
color: @FieldHelpColor; color: @FieldHelpColor;
} }
.onoff { .onoff {
float: left; float: left;
width: 80px; width: 80px;
@ -1264,7 +1272,7 @@ ul.tabs {
} }
#profile-edit-profile-name, #profile-edit-profile-name,
#profile-edit-name, #profile-edit-name,
#gender-select, #gender-select,
#profile-edit-pdesc, #profile-edit-pdesc,
#profile-edit-gender, #profile-edit-gender,
#profile-edit-dob, #profile-edit-dob,
@ -1289,7 +1297,7 @@ ul.tabs {
height: auto; overflow: auto; height: auto; overflow: auto;
border-bottom: 2px solid #cccccc; border-bottom: 2px solid #cccccc;
padding-bottom: 1em; padding-bottom: 1em;
margin-bottom: 1em; margin-bottom: 1em;
} }
.oauthapp img { .oauthapp img {
float: left; float: left;
@ -1310,11 +1318,37 @@ ul.tabs {
width: 50px; float: left; width: 50px; float: left;
} }
/* videos page */
.videos {
.video-top-wrapper {
width: 200px; float: left;
margin: 0px 10px 10px 0px;
position: relative;
.video-js {
width: 200px!important;
height: 132px!important;
}
.video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
&:hover .video-delete {
opacity: 1;
}
}
}
/* photo albums */ /* photo albums */
@photosize: 150px; @photosize: 150px;
#photo-edit-link-wrap { margin-bottom: 10px; } #photo-edit-link-wrap { margin-bottom: 10px; }
#album-edit-link { #album-edit-link {
border-right: 1px solid @MenuBorder; border-right: 1px solid @MenuBorder;
float: left; float: left;
@ -1347,21 +1381,21 @@ ul.tabs {
width:@photosize; height: @photosize; width:@photosize; height: @photosize;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
img { width: @photosize; } img { width: @photosize; }
.photo-top-album-name, .photo-top-album-name,
.caption{ .caption{
position: absolute; position: absolute;
color: @Menu; color: @Menu;
background-color: @MenuBg; background-color: @MenuBg;
width: 100%; width: 100%;
.shadow(0px, 5px); .shadow(0px, 5px);
.transition(0.5s); .transition(0.5s);
bottom: -@photosize; bottom: -@photosize;
} }
&:hover .photo-top-album-name, &:hover .photo-top-album-name,
&:hover .caption { &:hover .caption {
bottom: 0px; bottom: 0px;
@ -1381,8 +1415,8 @@ ul.tabs {
background: url("../../../images/icons/22/image.png") no-repeat top left; background: url("../../../images/icons/22/image.png") no-repeat top left;
padding-left: 23px; padding-left: 23px;
min-height: 22px; min-height: 22px;
padding-top: 6px; padding-top: 6px;
/* a { display: block;}*/ /* a { display: block;}*/
} }
#photo-caption { #photo-caption {
@ -1430,14 +1464,14 @@ ul.tabs {
top: 10px; top: 10px;
left: -10px; left: -10px;
} }
.contact-photo { .contact-photo {
width: 80px; height: 80px; width: 80px; height: 80px;
img { width: 80px; height: 80px; } img { width: 80px; height: 80px; }
} }
.contact-photo-menu-button { .contact-photo-menu-button {
left: 0px; left: 0px;
top: 63px; top: 63px;
} }
} }
/* messages */ /* messages */
@ -1458,10 +1492,10 @@ ul.tabs {
background-color: @MailListBackgroundColor; background-color: @MailListBackgroundColor;
margin-bottom: 5px; margin-bottom: 5px;
width: 100%; height: auto; overflow: hidden; width: 100%; height: auto; overflow: hidden;
span { display: block; float: left; width: 20%; overflow: hidden;} span { display: block; float: left; width: 20%; overflow: hidden;}
.mail-subject { .mail-subject {
width: 30%; width: 30%;
padding:4px 0px 0px 4px; padding:4px 0px 0px 4px;
a { display: block; } a { display: block; }
@ -1470,7 +1504,7 @@ ul.tabs {
.mail-date { padding: 4px 4px 0px 4px; } .mail-date { padding: 4px 4px 0px 4px; }
.mail-from { padding: 4px 4px 0px 4px; } .mail-from { padding: 4px 4px 0px 4px; }
.mail-count { padding: 4px 4px 0px 4px; text-align: right;} .mail-count { padding: 4px 4px 0px 4px; text-align: right;}
.mail-delete { float: right; } .mail-delete { float: right; }
} }
@ -1482,7 +1516,7 @@ ul.tabs {
span { float: left; overflow: hidden; padding: 4px 0px 0px 10px;} span { float: left; overflow: hidden; padding: 4px 0px 0px 10px;}
.mail-delete { float: right; .opaque(0.5);} .mail-delete { float: right; .opaque(0.5);}
&:hover .mail-delete { .opaque(1); } &:hover .mail-delete { .opaque(1); }
} }
/* theme screenshot */ /* theme screenshot */
@ -1511,7 +1545,7 @@ footer { height: 100px; display: table-row; }
font-weight: bold; font-weight: bold;
background-color: #FF0000; background-color: #FF0000;
padding: 0em 0.3em; padding: 0em 0.3em;
} }
#adminpage { #adminpage {
dl { dl {
@ -1558,25 +1592,26 @@ footer { height: 100px; display: table-row; }
} }
table { table {
width:100%; width:100%;
border-bottom: 1px solid #000000; border-bottom: 1px solid #000000;
margin: 5px 0px; margin: 5px 0px;
th { th {
text-align: left; text-align: left;
} }
td .icon { td .icon {
float: left; float: left;
} }
tr:hover { tr:hover {
background-color: #bbc7d7; background-color: #bbc7d7;
} }
} }
table#users img { table#users img {
width: 16px; height: 16px; width: 16px; height: 16px;
} }
.selectall { text-align: right; } .selectall { text-align: right; }
} }
/* edit buttons for comments */ /* edit buttons for comments */
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); } .icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
.comment-edit-bb { .comment-edit-bb {
list-style: none; list-style: none;
@ -1660,3 +1695,4 @@ footer { height: 100px; display: table-row; }
border: 0px; border: 0px;
color: @FieldHelpColor; color: @FieldHelpColor;
} }

View file

@ -7,7 +7,7 @@
@import url("css/font-awesome.css") all; @import url("css/font-awesome.css") all;
@import url("css/font2.css") all; @import url("css/font2.css") all;
img { img {
border: 0px; border: 0px;
} }
@ -32,7 +32,7 @@ img {
} }
.admin.linklist { .admin.linklist {
border: 0px; border: 0px;
padding: 0px; padding: 0px;
list-style: none; list-style: none;
margin-top: 0px; margin-top: 0px;
@ -135,7 +135,7 @@ img {
padding: 1px; padding: 1px;
color: #999; color: #999;
vertical-align: text-top; vertical-align: text-top;
} }
.icon:hover { .icon:hover {
text-decoration: none; text-decoration: none;
@ -201,8 +201,8 @@ div.pager a {
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
} }
span.pager_first a, span.pager_n a, span.pager_first a, span.pager_n a,
span.pager_last a, span.pager_prev a, span.pager_next a, span.pager_last a, span.pager_prev a, span.pager_next a,
span.scroll_loader_text { span.scroll_loader_text {
color: darkgray; color: darkgray;
@ -389,7 +389,7 @@ code {
opacity: 1; opacity: 1;
} }
.sidebar-group-li:hover, #sidebar-new-group:hover, #hide-forum-list:hover, .sidebar-group-li:hover, #sidebar-new-group:hover, #hide-forum-list:hover,
#sidebar-ungrouped:hover, .side-link:hover, .nets-ul li:hover, #forum-list div:hover, #sidebar-ungrouped:hover, .side-link:hover, .nets-ul li:hover, #forum-list div:hover,
.nets-all:hover, .saved-search-li:hover, li.tool:hover, .admin.link:hover, aside h4 a:hover, #message-new:hover { .nets-all:hover, .saved-search-li:hover, li.tool:hover, .admin.link:hover, aside h4 a:hover, #message-new:hover {
/* background-color: #ddd; */ /* background-color: #ddd; */
@ -1466,7 +1466,7 @@ section.minimal {
} }
#profile-jot-form #jot-title, #profile-jot-form #jot-category { #profile-jot-form #jot-title, #profile-jot-form #jot-category {
border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px;
font-weight: bold; font-weight: bold;
height: 20px; height: 20px;
@ -1966,13 +1966,13 @@ ul.tabs a {
margin-bottom: 2px; margin-bottom: 2px;
} }
#event-notice:hover, #birthday-notice:hover, ul.tabs li .active, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active,
.comment-edit-submit-wrapper .fakelink:hover { .comment-edit-submit-wrapper .fakelink:hover {
color: black; color: black;
} }
span.pager_current, span.pager_n a:hover, span.pager_current, span.pager_n a:hover,
span.pager_first a:hover, span.pager_last a:hover, span.pager_first a:hover, span.pager_last a:hover,
span.pager_prev a:hover, span.pager_next a:hover, span.pager_prev a:hover, span.pager_next a:hover,
ul.tabs a:hover { ul.tabs a:hover {
border-bottom: 2px solid #244C5E; border-bottom: 2px solid #244C5E;
@ -2092,7 +2092,7 @@ aside form .field label {
.profile-edit-side-div { .profile-edit-side-div {
/* display: none; */ /* display: none; */
float: right; float: right;
} }
/* aside div.clear { /* aside div.clear {
@ -2169,9 +2169,9 @@ aside form .field label {
.contact-photo-menu-button { .contact-photo-menu-button {
position: relative; position: relative;
background-image: url("../../../images/icons/16/menu.png"); background-image: url("../../../images/icons/16/menu.png");
background-position: top left; background-position: top left;
background-repeat: no-repeat; background-repeat: no-repeat;
margin: 0px 0px -16px 0px; margin: 0px 0px -16px 0px;
padding: 0px; padding: 0px;
width: 16px; width: 16px;
height: 16px; height: 16px;
@ -2179,7 +2179,7 @@ aside form .field label {
overflow: hidden; overflow: hidden;
text-indent: 40px; text-indent: 40px;
display: none; display: none;
} }
.contact-photo-menu { .contact-photo-menu {
width: 11em; width: 11em;
@ -2194,13 +2194,13 @@ aside form .field label {
} }
.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } .contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
.contact-photo-menu li a { .contact-photo-menu li a {
display: block; display: block;
padding: 5px 10px; padding: 5px 10px;
color: #2d2d2d; color: #2d2d2d;
text-decoration: none; text-decoration: none;
} }
.contact-photo-menu li a:hover { .contact-photo-menu li a:hover {
background-color: #bdcdd4; background-color: #bdcdd4;
} }
/* page footer */ /* page footer */
@ -2237,7 +2237,7 @@ blockquote {
} }
.contact-block-textdiv { width: 150px; height: 34px; float: left; } .contact-block-textdiv { width: 150px; height: 34px; float: left; }
#contact-block-end { clear: both; } #contact-block-end { clear: both; }
#group-edit-wrapper { #group-edit-wrapper {
margin-bottom: 10px; margin-bottom: 10px;
@ -2426,7 +2426,7 @@ a.mail-list-link {
clear: both; clear: both;
} }
.calendar { .calendar {
font-family: Courier, monospace; font-family: Courier, monospace;
} }
@ -2574,14 +2574,14 @@ a.mail-list-link {
float: left; float: left;
margin-top: 15px; margin-top: 15px;
margin-right: 15px; margin-right: 15px;
width: 200px; height: 200px; width: 200px; height: 200px;
overflow: hidden; overflow: hidden;
} }
.photo-top-album-name { .photo-top-album-name {
width: 100%; width: 100%;
min-height: 2em; min-height: 2em;
position: absolute; position: absolute;
bottom: 0px; bottom: 0px;
padding: 0px 3px; padding: 0px 3px;
padding-top: 0.5em; padding-top: 0.5em;
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
@ -2612,15 +2612,15 @@ a.mail-list-link {
.menu-profile-list-item{ .menu-profile-list-item{
padding-left: 5px; padding-left: 5px;
vertical-align: middle; vertical-align: middle;
} }
.menu-profile-list-item:hover{ .menu-profile-list-item:hover{
text-decoration: none; text-decoration: none;
} }
.autocomplete { .autocomplete {
width: 350px; width: 350px;
color: black; color: black;
border: 1px solid rgb(210, 210, 210); border: 1px solid rgb(210, 210, 210);
background-color: white; background-color: white;
cursor: pointer; cursor: pointer;
text-align: left; text-align: left;
@ -2628,7 +2628,7 @@ a.mail-list-link {
overflow: auto; overflow: auto;
display: block; display: block;
background-position: initial initial; background-position: initial initial;
background-repeat: initial initial; background-repeat: initial initial;
} }
.mail-list-wrapper { .mail-list-wrapper {
background-color: #f6f7f8; background-color: #f6f7f8;
@ -2828,3 +2828,24 @@ a.mail-list-link {
.profile-view-actions{ .profile-view-actions{
float:right; float:right;
} }
/* videos page */
.videos .video-top-wrapper {
width: 300px;
float: left;
margin: 0px 10px 10px 0px;
position: relative;
}
.videos .video-top-wrapper .video-js {
width: 300px!important;
height: 232px!important;
}
.videos .video-top-wrapper .video-delete {
position: absolute;
opacity: 0;
right: 0px;
top: 0px;
transition: opacity 0.5s;
}
.videos .video-top-wrapper:hover .video-delete {
opacity: 1;
}