From ac47edb775bc5ca51ae82747679656077ebde936 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 18 Jul 2012 16:28:19 -0700 Subject: [PATCH 01/73] rev update --- boot.php | 2 +- util/messages.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boot.php b/boot.php index 6695d4e521..f0e319b97f 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1407' ); +define ( 'FRIENDICA_VERSION', '3.0.1408' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/util/messages.po b/util/messages.po index 7b4d43bcf1..914ad9ce22 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1407\n" +"Project-Id-Version: 3.0.1408\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-17 10:00-0700\n" +"POT-Creation-Date: 2012-07-18 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From b6a3471608476d974ab3d74c7d3ddbaa769219a0 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 15:27:22 -0700 Subject: [PATCH 02/73] rev update --- boot.php | 2 +- util/messages.po | 61 +++++++++++++++++++++++++----------------------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/boot.php b/boot.php index f0e319b97f..2e83bbb7f4 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1408' ); +define ( 'FRIENDICA_VERSION', '3.0.1409' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/util/messages.po b/util/messages.po index 914ad9ce22..9155007995 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1408\n" +"Project-Id-Version: 3.0.1409\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-18 10:00-0700\n" +"POT-Creation-Date: 2012-07-19 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,7 +56,7 @@ msgstr "" #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510 #: ../../addon/facebook/facebook.php:516 ../../addon/dav/layout.fnk.php:353 -#: ../../include/items.php:3593 ../../index.php:309 +#: ../../include/items.php:3651 ../../index.php:309 msgid "Permission denied." msgstr "" @@ -136,7 +136,7 @@ msgstr "" #: ../../mod/profiles.php:577 ../../mod/invite.php:119 #: ../../addon/fromgplus/fromgplus.php:40 #: ../../addon/facebook/facebook.php:619 -#: ../../addon/snautofollow/snautofollow.php:64 +#: ../../addon/snautofollow/snautofollow.php:64 ../../addon/bg/bg.php:90 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93 #: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:210 #: ../../addon/planets/planets.php:158 @@ -285,7 +285,7 @@ msgid "Description:" msgstr "" #: ../../mod/events.php:429 ../../mod/directory.php:132 -#: ../../include/event.php:40 ../../include/bb2diaspora.php:469 +#: ../../include/event.php:40 ../../include/bb2diaspora.php:447 #: ../../boot.php:1173 msgid "Location:" msgstr "" @@ -856,7 +856,7 @@ msgstr "" msgid "Confirm" msgstr "" -#: ../../mod/dfrn_request.php:715 ../../include/items.php:2984 +#: ../../mod/dfrn_request.php:715 ../../include/items.php:3042 msgid "[Name Withheld]" msgstr "" @@ -1182,7 +1182,7 @@ msgid "" msgstr "" #: ../../mod/localtime.php:12 ../../include/event.php:11 -#: ../../include/bb2diaspora.php:447 +#: ../../include/bb2diaspora.php:425 msgid "l F d, Y \\@ g:i A" msgstr "" @@ -1890,7 +1890,7 @@ msgstr "" #: ../../addon/facebook/facebook.php:702 #: ../../addon/facebook/facebook.php:1192 #: ../../addon/public_server/public_server.php:62 -#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2993 +#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3051 #: ../../boot.php:767 msgid "Administrator" msgstr "" @@ -2953,7 +2953,7 @@ msgstr "" #: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159 #: ../../mod/admin.php:702 ../../mod/admin.php:901 ../../mod/display.php:37 -#: ../../mod/display.php:142 ../../include/items.php:3472 +#: ../../mod/display.php:142 ../../include/items.php:3530 msgid "Item not found." msgstr "" @@ -3860,7 +3860,7 @@ msgstr "" msgid "No contacts in common." msgstr "" -#: ../../mod/share.php:28 ../../include/bb2diaspora.php:286 +#: ../../mod/share.php:28 msgid "link" msgstr "" @@ -4740,6 +4740,18 @@ msgstr "" msgid "Automatically follow any StatusNet followers/mentioners" msgstr "" +#: ../../addon/bg/bg.php:51 +msgid "Bg settings updated." +msgstr "" + +#: ../../addon/bg/bg.php:82 +msgid "Bg Settings" +msgstr "" + +#: ../../addon/bg/bg.php:84 ../../addon/numfriends/numfriends.php:79 +msgid "How many contacts to display on profile sidebar" +msgstr "" + #: ../../addon/privacy_image_cache/privacy_image_cache.php:184 msgid "Lifetime of the cache (in hours)" msgstr "" @@ -5908,10 +5920,6 @@ msgstr "" msgid "Numfriends Settings" msgstr "" -#: ../../addon/numfriends/numfriends.php:79 -msgid "How many contacts to display on profile sidebar" -msgstr "" - #: ../../addon/gnot/gnot.php:48 msgid "Gnot settings updated." msgstr "" @@ -6758,11 +6766,11 @@ msgstr "" msgid "Ask me" msgstr "" -#: ../../include/event.php:20 ../../include/bb2diaspora.php:453 +#: ../../include/event.php:20 ../../include/bb2diaspora.php:431 msgid "Starts:" msgstr "" -#: ../../include/event.php:30 ../../include/bb2diaspora.php:461 +#: ../../include/event.php:30 ../../include/bb2diaspora.php:439 msgid "Finishes:" msgstr "" @@ -6946,7 +6954,7 @@ msgstr "" msgid "Attachments:" msgstr "" -#: ../../include/network.php:842 +#: ../../include/network.php:843 msgid "view full size" msgstr "" @@ -7247,12 +7255,12 @@ msgstr "" msgid "%1$d %2$s ago" msgstr "" -#: ../../include/datetime.php:472 ../../include/items.php:1561 +#: ../../include/datetime.php:472 ../../include/items.php:1620 #, php-format msgid "%s's birthday" msgstr "" -#: ../../include/datetime.php:473 ../../include/items.php:1562 +#: ../../include/datetime.php:473 ../../include/items.php:1621 #, php-format msgid "Happy Birthday %s" msgstr "" @@ -7261,11 +7269,11 @@ msgstr "" msgid "From: " msgstr "" -#: ../../include/bbcode.php:102 ../../include/bbcode.php:313 +#: ../../include/bbcode.php:102 ../../include/bbcode.php:317 msgid "Image/photo" msgstr "" -#: ../../include/bbcode.php:278 ../../include/bbcode.php:298 +#: ../../include/bbcode.php:282 ../../include/bbcode.php:302 msgid "$1 wrote:" msgstr "" @@ -7506,23 +7514,18 @@ msgstr "" msgid "following" msgstr "" -#: ../../include/items.php:2991 +#: ../../include/items.php:3049 msgid "A new person is sharing with you at " msgstr "" -#: ../../include/items.php:2991 +#: ../../include/items.php:3049 msgid "You have a new follower at " msgstr "" -#: ../../include/items.php:3660 +#: ../../include/items.php:3718 msgid "Archives" msgstr "" -#: ../../include/bb2diaspora.php:286 ../../include/bb2diaspora.php:296 -#: ../../include/bb2diaspora.php:297 -msgid "image/photo" -msgstr "" - #: ../../include/user.php:38 msgid "An invitation is required." msgstr "" From d442bbc482201af7a8a1a4fe889ecae2b3157985 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 18:17:16 -0700 Subject: [PATCH 03/73] have fun... --- boot.php | 4 +- include/conversation.php | 43 +++++++++++ include/text.php | 14 ++++ mod/poke.php | 149 +++++++++++++++++++++++++++++++++++++++ view/poke_content.tpl | 29 ++++++++ 5 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 mod/poke.php create mode 100644 view/poke_content.tpl diff --git a/boot.php b/boot.php index 2e83bbb7f4..4f52db8638 100644 --- a/boot.php +++ b/boot.php @@ -215,7 +215,7 @@ define ( 'TERM_OBJ_PHOTO', 2 ); * various namespaces we may need to parse */ -define ( 'NAMESPACE_ZOT', 'http://purl.org/macgirvin/zot' ); +define ( 'NAMESPACE_ZOT', 'http://purl.org/zot' ); define ( 'NAMESPACE_DFRN' , 'http://purl.org/macgirvin/dfrn/1.0' ); define ( 'NAMESPACE_THREAD' , 'http://purl.org/syndication/thread/1.0' ); define ( 'NAMESPACE_TOMB' , 'http://purl.org/atompub/tombstones/1.0' ); @@ -250,6 +250,8 @@ define ( 'ACTIVITY_UPDATE', NAMESPACE_ACTIVITY_SCHEMA . 'update' ); define ( 'ACTIVITY_TAG', NAMESPACE_ACTIVITY_SCHEMA . 'tag' ); define ( 'ACTIVITY_FAVORITE', NAMESPACE_ACTIVITY_SCHEMA . 'favorite' ); +define ( 'ACTIVITY_POKE', NAMESPACE_ZOT . '/activity/poke' ); + define ( 'ACTIVITY_OBJ_COMMENT', NAMESPACE_ACTIVITY_SCHEMA . 'comment' ); define ( 'ACTIVITY_OBJ_NOTE', NAMESPACE_ACTIVITY_SCHEMA . 'note' ); define ( 'ACTIVITY_OBJ_PERSON', NAMESPACE_ACTIVITY_SCHEMA . 'person' ); diff --git a/include/conversation.php b/include/conversation.php index 546e27db67..44cd92c391 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -162,6 +162,49 @@ function localize_item(&$item){ $item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto; } + if (stristr($item['verb'],ACTIVITY_POKE)) { + $verb = urldecode(substr($item['verb'],strpos($item['verb'],'#')+1)); + if(! $verb) + return; + if ($item['object-type']=="" || $item['object-type']!== ACTIVITY_OBJ_PERSON) return; + + $Aname = $item['author-name']; + $Alink = $item['author-link']; + + $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; + + $obj = parse_xml_string($xmlhead.$item['object']); + $links = parse_xml_string($xmlhead."".unxmlify($obj->link).""); + + $Bname = $obj->title; + $Blink = ""; $Bphoto = ""; + foreach ($links->link as $l){ + $atts = $l->attributes(); + switch($atts['rel']){ + case "alternate": $Blink = $atts['href']; + case "photo": $Bphoto = $atts['href']; + } + + } + + $A = '[url=' . zrl($Alink) . ']' . $Aname . '[/url]'; + $B = '[url=' . zrl($Blink) . ']' . $Bname . '[/url]'; + if ($Bphoto!="") $Bphoto = '[url=' . zrl($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]'; + + // we can't have a translation string with three positions but no distinguishable text + // So here is the translate string. + + $txt = t('%1$s poked %2$s'); + + // now translate the verb + + $txt = str_replace( t('poked'), t($verb), $txt); + + // then do the sprintf on the translation string + + $item['body'] = sprintf($txt, $A, $B). "\n\n\n" . $Bphoto; + + } if ($item['verb']===ACTIVITY_TAG){ $r = q("SELECT * from `item`,`contact` WHERE `item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';", diff --git a/include/text.php b/include/text.php index 83819d0950..a390a2855f 100644 --- a/include/text.php +++ b/include/text.php @@ -706,6 +706,20 @@ function linkify($s) { return($s); }} +function get_poke_verbs() { + + // index is present tense verb + // value is array containing past tense verb, translation of present, translation of past + + $arr = array( + 'poke' => array( 'poked', t('poke'), t('poked')), + 'prod' => array( 'prodded', t('prod'), t('prodded')), + 'slap' => array( 'slapped', t('slap'), t('slapped')), + 'finger' => array( 'fingered', t('finger'), t('fingered')) + ); + call_hooks('poke_verbs', $arr); + return $arr; +} /** * diff --git a/mod/poke.php b/mod/poke.php new file mode 100644 index 0000000000..29b732f425 --- /dev/null +++ b/mod/poke.php @@ -0,0 +1,149 @@ +contact; + + $uri = item_new_uri($a->get_hostname(),$owner_uid); + + $arr = array(); + + $arr['uid'] = $uid; + $arr['uri'] = $uri; + $arr['parent-uri'] = $uri; + $arr['type'] = 'activity'; + $arr['wall'] = 1; + $arr['contact-id'] = $target['id']; + $arr['owner-name'] = $poster['name']; + $arr['owner-link'] = $poster['url']; + $arr['owner-avatar'] = $poster['thumb']; + $arr['author-name'] = $poster['name']; + $arr['author-link'] = $poster['url']; + $arr['author-avatar'] = $poster['thumb']; + $arr['title'] = ''; + $arr['allow_cid'] = $a->user['allow_cid']; + $arr['allow_gid'] = $a->user['allow_gid']; + $arr['deny_cid'] = $a->user['deny_cid']; + $arr['deny_gid'] = $a->user['deny_gid']; + $arr['last-child'] = 1; + $arr['visible'] = 1; + $arr['verb'] = $activity; + $arr['object-type'] = ACTIVITY_OBJ_PERSON; + + $arr['origin'] = 1; + $arr['body'] = '[url=' . $poster['url'] . ']' . $poster['name'] . '[/url]' . ' ' . t($verbs[$verb][0]) . ' ' . '[url=' . $target['url'] . ']' . $target['name'] . '[/url]'; + + $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $target['name'] . '' . $a->get_baseurl() . '/contact/' . $target['id'] . ''; + $arr['object'] .= '' . xmlify('' . "\n"); + + $arr['object'] .= xmlify('' . "\n"); + $arr['object'] .= '' . "\n"; + + $item_id = item_store($arr); + if($item_id) { + q("UPDATE `item` SET `plink` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1", + dbesc($a->get_baseurl() . '/display/' . $poster['nickname'] . '/' . $item_id), + intval($uid), + intval($item_id) + ); + proc_run('php',"include/notifier.php","tag","$item_id"); + } + + + call_hooks('post_local_end', $arr); + + proc_run('php',"include/notifier.php","like","$post_id"); + + return; +} + + + +function poke_content(&$a) { + + $base = $a->get_baseurl(); + + $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= <<< EOT + + +EOT; + + + $verbs = get_poke_verbs(); + + $shortlist = array(); + foreach($verbs as $k => $v) + $shortlist[] = array($k,$v[1]); + + + $tpl = get_markup_template('poke_content.tpl'); + + $o = replace_macros($tpl,array( + '$title' => t('Poke/Prod'), + '$desc' => t('poke, prod or do other things to somebody'), + '$clabel' => t('Recipient'), + '$choice' => t('Choose what you wish to do to recipient'), + '$verbs' => $shortlist, + '$submit' => t('Submit') + )); + + return $o; + +} \ No newline at end of file diff --git a/view/poke_content.tpl b/view/poke_content.tpl new file mode 100644 index 0000000000..09b3d8db43 --- /dev/null +++ b/view/poke_content.tpl @@ -0,0 +1,29 @@ +

$title

+ +
$desc
+ +
+
+
+ +
$clabel
+
+ + + +
+
+
$choice
+
+
+ +
+
+ + +
+ From 2f641ecdc86f91bd7e4abfe45de7318d6f6f7024 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 18:50:33 -0700 Subject: [PATCH 04/73] id mismatch --- mod/poke.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/poke.php b/mod/poke.php index 29b732f425..8fe07b4cd7 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -54,7 +54,7 @@ function poke_init(&$a) { $arr['parent-uri'] = $uri; $arr['type'] = 'activity'; $arr['wall'] = 1; - $arr['contact-id'] = $target['id']; + $arr['contact-id'] = $poster['id']; $arr['owner-name'] = $poster['name']; $arr['owner-link'] = $poster['url']; $arr['owner-avatar'] = $poster['thumb']; From b78bd8cc94a3f13a5feb753c1fe6b0fdebfdcbf3 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 19:48:33 -0700 Subject: [PATCH 05/73] duplicate input names --- view/theme/duepuntozero/prv_message.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/theme/duepuntozero/prv_message.tpl b/view/theme/duepuntozero/prv_message.tpl index b5cda9c85e..e103497e10 100644 --- a/view/theme/duepuntozero/prv_message.tpl +++ b/view/theme/duepuntozero/prv_message.tpl @@ -9,7 +9,7 @@ $parent
$to
{{ if $showinputs }} - + {{ else }} $select From a54278649f73f1562a89c8e57e9018d9dcf4d9db Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 20:13:40 -0700 Subject: [PATCH 06/73] poke notifications --- boot.php | 1 + include/enotify.php | 18 ++++++++++++++++ include/items.php | 52 ++++++++++++++++++++++++++++++++++++++++++++- mod/settings.php | 3 +++ view/settings.tpl | 1 + 5 files changed, 74 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 4f52db8638..beaaeb2475 100644 --- a/boot.php +++ b/boot.php @@ -191,6 +191,7 @@ define ( 'NOTIFY_SUGGEST', 0x0020 ); define ( 'NOTIFY_PROFILE', 0x0040 ); define ( 'NOTIFY_TAGSELF', 0x0080 ); define ( 'NOTIFY_TAGSHARE', 0x0100 ); +define ( 'NOTIFY_POKE', 0x0200 ); define ( 'NOTIFY_SYSTEM', 0x8000 ); diff --git a/include/enotify.php b/include/enotify.php index 814bd06a4c..5109914762 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -147,6 +147,24 @@ function notification($params) { $itemlink = $params['link']; } + if($params['type'] == NOTIFY_POKE) { + + $subject = sprintf( t('[Friendica:Notify] %1$s poked you') , $params['source_name']); + $preamble = sprintf( t('%1$s poked you at %2$s') , $params['source_name'], $sitename); + $epreamble = sprintf( t('%1$s [url=%2$s]poked you[/url].') , + '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', + $params['link']); + + $subject = str_replace('poked', t($params['activity']), $subject); + $preamble = str_replace('poked', t($params['activity']), $preamble); + $epreamble = str_replace('poked', t($params['activity']), $epreamble); + + $sitelink = t('Please visit %s to view and/or reply to the conversation.'); + $tsitelink = sprintf( $sitelink, $siteurl ); + $hsitelink = sprintf( $sitelink, '' . $sitename . ''); + $itemlink = $params['link']; + } + if($params['type'] == NOTIFY_TAGSHARE) { $subject = sprintf( t('[Friendica:Notify] %s tagged your post') , $params['source_name']); $preamble = sprintf( t('%1$s tagged your post at %2$s') , $params['source_name'], $sitename); diff --git a/include/items.php b/include/items.php index b933804fd9..fe729000cc 100755 --- a/include/items.php +++ b/include/items.php @@ -2958,7 +2958,57 @@ function local_delivery($importer,$data) { $datarray['owner-avatar'] = $importer['thumb']; } - $r = item_store($datarray); + $posted_id = item_store($datarray); + + if(stristr($datarray['verb'],ACTIVITY_POKE)) { + $verb = urldecode(substr($datarray['verb'],strpos($datarray['verb'],'#')+1)); + if(! $verb) + continue; + $xo = parse_xml_string($datarray['object'],false); + + if(($xo->type == ACTIVITY_OBJ_PERSON) && ($xo->id)) { + + // somebody was poked/prodded. Was it me? + + $links = parse_xml_string("".unxmlify($xo->link)."",false); + + foreach($links->link as $l) { + $atts = $l->attributes(); + switch($atts['rel']) { + case "alternate": + $Blink = $atts['href']; + break; + default: + break; + } + } + if($Blink && link_compare($Blink,$a->get_baseurl() . '/profile/' . $importer['nickname'])) { + + // send a notification + require_once('include/enotify.php'); + + notification(array( + 'type' => NOTIFY_POKE, + 'notify_flags' => $importer['notify-flags'], + 'language' => $importer['language'], + 'to_name' => $importer['username'], + 'to_email' => $importer['email'], + 'uid' => $importer['importer_uid'], + 'item' => $datarray, + 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, + 'source_name' => stripslashes($datarray['author-name']), + 'source_link' => $datarray['author-link'], + 'source_photo' => ((link_compare($datarray['author-link'],$importer['url'])) + ? $importer['thumb'] : $datarray['author-avatar']), + 'verb' => $datarray['verb'], + 'otype' => 'person', + 'activity' => $verb, + + )); + } + } + } + continue; } } diff --git a/mod/settings.php b/mod/settings.php index b1c3cf7d40..0d9d35f692 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -373,6 +373,8 @@ function settings_post(&$a) { $notify += intval($_POST['notify6']); if(x($_POST,'notify7')) $notify += intval($_POST['notify7']); + if(x($_POST,'notify8')) + $notify += intval($_POST['notify8']); $email_changed = false; @@ -1025,6 +1027,7 @@ function settings_content(&$a) { '$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''), '$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''), '$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''), + '$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''), '$h_advn' => t('Advanced Account/Page Type Settings'), diff --git a/view/settings.tpl b/view/settings.tpl index 99ee9b51ef..bebd0c12a8 100644 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -123,6 +123,7 @@ $group_select {{inc field_intcheckbox.tpl with $field=$notify5 }}{{endinc}} {{inc field_intcheckbox.tpl with $field=$notify6 }}{{endinc}} {{inc field_intcheckbox.tpl with $field=$notify7 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify8 }}{{endinc}} From 1a75507f784f860e3228a58928e5ac00eb0a216b Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 20:30:40 -0700 Subject: [PATCH 07/73] check permission --- mod/poke.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mod/poke.php b/mod/poke.php index 8fe07b4cd7..851396e68b 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -102,6 +102,11 @@ function poke_init(&$a) { function poke_content(&$a) { + if(! local_user()) { + notice( t('Permission denied.') . EOL); + return; + } + $base = $a->get_baseurl(); $a->page['htmlhead'] .= ''; From d1243c9ad78ce75ca82f0c07829e9f277428c149 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 20:54:23 -0700 Subject: [PATCH 08/73] allow to prefill - url/poke?f=&c=nn - nn is contact id --- mod/poke.php | 19 ++++++++++++++++++- view/poke_content.tpl | 4 ++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/mod/poke.php b/mod/poke.php index 851396e68b..f4660e624d 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -107,6 +107,21 @@ function poke_content(&$a) { return; } + $name = ''; + $id = ''; + + if(intval($_GET['c'])) { + $r = q("select id,name from contact where id = %d and uid = %d limit 1", + intval($_GET['c']), + intval(local_user()) + ); + if(count($r)) { + $name = $r[0]['name']; + $id = $r[0]['id']; + } + } + + $base = $a->get_baseurl(); $a->page['htmlhead'] .= ''; @@ -146,7 +161,9 @@ EOT; '$clabel' => t('Recipient'), '$choice' => t('Choose what you wish to do to recipient'), '$verbs' => $shortlist, - '$submit' => t('Submit') + '$submit' => t('Submit'), + '$name' => $name, + '$id' => $id )); return $o; diff --git a/view/poke_content.tpl b/view/poke_content.tpl index 09b3d8db43..f81d04c6c5 100644 --- a/view/poke_content.tpl +++ b/view/poke_content.tpl @@ -8,8 +8,8 @@
$clabel

- - + +

From 64bd6345827f80b51af06cd66e0c05afb4a3c4f2 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 21:03:31 -0700 Subject: [PATCH 09/73] add poke to contact photo menu --- include/Contact.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/Contact.php b/include/Contact.php index 14e1a52cdd..ecc271a8e0 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -192,6 +192,7 @@ function contact_photo_menu($contact) { $status_link=""; $photos_link=""; $posts_link=""; + $poke_link=""; $sparkle = false; if($contact['network'] === NETWORK_DFRN) { @@ -211,10 +212,12 @@ function contact_photo_menu($contact) { $pm_url = $a->get_baseurl() . '/message/new/' . $contact['id']; } + $poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id']; $contact_url = $a->get_baseurl() . '/contacts/' . $contact['id']; $posts_link = $a->get_baseurl() . '/network/?cid=' . $contact['id']; $menu = Array( + t("Poke") => $poke_link, t("View Status") => $status_link, t("View Profile") => $profile_link, t("View Photos") => $photos_link, From 9c72b45f36dcdf141c0698c2e6219bf914827881 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 21:27:22 -0700 Subject: [PATCH 10/73] and the main photo menu --- include/conversation.php | 5 ++++- mod/poke.php | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 44cd92c391..4a9142bb20 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -910,6 +910,7 @@ function item_photo_menu($item){ if(! count($a->contacts)) load_contact_links(local_user()); } + $poke_link=""; $contact_url=""; $pm_url=""; $status_link=""; @@ -939,6 +940,7 @@ function item_photo_menu($item){ } } if(($cid) && (! $item['self'])) { + $poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $cid; $contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid; $posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid; @@ -961,6 +963,7 @@ function item_photo_menu($item){ t("Network Posts") => $posts_link, t("Edit Contact") => $contact_url, t("Send PM") => $pm_url, + t("Poke") => $poke_link ); @@ -972,7 +975,7 @@ function item_photo_menu($item){ $o = ""; foreach($menu as $k=>$v){ - if ($v!="") $o .= "
  • $k
  • \n"; + if ($v!="") $o .= "
  • $k
  • \n"; } return $o; }} diff --git a/mod/poke.php b/mod/poke.php index f4660e624d..8fdbaa5170 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -150,7 +150,8 @@ EOT; $shortlist = array(); foreach($verbs as $k => $v) - $shortlist[] = array($k,$v[1]); + if($v[1] !== 'NOTRANSLATION') + $shortlist[] = array($k,$v[1]); $tpl = get_markup_template('poke_content.tpl'); From 700569c7d6431c4df37ce8300627adb228a9774e Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 19 Jul 2012 22:40:45 -0700 Subject: [PATCH 11/73] this is the one I'll probably use the most --- include/text.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/text.php b/include/text.php index a390a2855f..86df6ad17f 100644 --- a/include/text.php +++ b/include/text.php @@ -713,6 +713,7 @@ function get_poke_verbs() { $arr = array( 'poke' => array( 'poked', t('poke'), t('poked')), + 'ping' => array( 'pinged', t('ping'), t('pinged')), 'prod' => array( 'prodded', t('prod'), t('prodded')), 'slap' => array( 'slapped', t('slap'), t('slapped')), 'finger' => array( 'fingered', t('finger'), t('fingered')) From 43d986cab2dd7543f17ecb4719a13f7310f14e37 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Jul 2012 00:47:30 -0700 Subject: [PATCH 12/73] one for the ladies who get poked by undesirables. --- include/text.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/text.php b/include/text.php index 86df6ad17f..bfa832425d 100644 --- a/include/text.php +++ b/include/text.php @@ -716,7 +716,8 @@ function get_poke_verbs() { 'ping' => array( 'pinged', t('ping'), t('pinged')), 'prod' => array( 'prodded', t('prod'), t('prodded')), 'slap' => array( 'slapped', t('slap'), t('slapped')), - 'finger' => array( 'fingered', t('finger'), t('fingered')) + 'finger' => array( 'fingered', t('finger'), t('fingered')), + 'rebuff' => array( 'rebuffed', t('rebuff'), t('rebuffed')), ); call_hooks('poke_verbs', $arr); return $arr; From 0ff93edeeef9cdb640395deaf1d1df586a809275 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Jul 2012 04:03:32 -0700 Subject: [PATCH 13/73] poke privacy --- mod/poke.php | 12 ++++++++---- view/poke_content.tpl | 5 ++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mod/poke.php b/mod/poke.php index 8fdbaa5170..085415a76a 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -28,6 +28,8 @@ function poke_init(&$a) { return; + $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0); + logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG); @@ -62,13 +64,14 @@ function poke_init(&$a) { $arr['author-link'] = $poster['url']; $arr['author-avatar'] = $poster['thumb']; $arr['title'] = ''; - $arr['allow_cid'] = $a->user['allow_cid']; - $arr['allow_gid'] = $a->user['allow_gid']; - $arr['deny_cid'] = $a->user['deny_cid']; - $arr['deny_gid'] = $a->user['deny_gid']; + $arr['allow_cid'] = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']); + $arr['allow_gid'] = (($private) ? '' : $a->user['allow_gid']); + $arr['deny_cid'] = (($private) ? '' : $a->user['deny_cid']); + $arr['deny_gid'] = (($private) ? '' : $a->user['deny_gid']); $arr['last-child'] = 1; $arr['visible'] = 1; $arr['verb'] = $activity; + $arr['private'] = $private; $arr['object-type'] = ACTIVITY_OBJ_PERSON; $arr['origin'] = 1; @@ -162,6 +165,7 @@ EOT; '$clabel' => t('Recipient'), '$choice' => t('Choose what you wish to do to recipient'), '$verbs' => $shortlist, + '$prv_desc' => t('Make this post private'), '$submit' => t('Submit'), '$name' => $name, '$id' => $id diff --git a/view/poke_content.tpl b/view/poke_content.tpl index f81d04c6c5..18438787a3 100644 --- a/view/poke_content.tpl +++ b/view/poke_content.tpl @@ -23,7 +23,10 @@

    - +
    $prv_desc
    + +
    +
    From 8c83828f839678b0ad0bb975ba6831e493c13aea Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 20 Jul 2012 15:12:21 -0700 Subject: [PATCH 14/73] rev update --- boot.php | 2 +- util/messages.po | 853 +++++++++++++++++++++++++++-------------------- 2 files changed, 484 insertions(+), 371 deletions(-) diff --git a/boot.php b/boot.php index beaaeb2475..cc5bb22fb5 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1409' ); +define ( 'FRIENDICA_VERSION', '3.0.1410' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/util/messages.po b/util/messages.po index 9155007995..fc19fc7f9a 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1409\n" +"Project-Id-Version: 3.0.1410\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-19 10:00-0700\n" +"POT-Creation-Date: 2012-07-20 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,10 +37,10 @@ msgstr "" #: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44 #: ../../mod/fsuggest.php:78 ../../mod/events.php:140 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/photos.php:135 ../../mod/photos.php:957 -#: ../../mod/editpost.php:10 ../../mod/install.php:151 +#: ../../mod/editpost.php:10 ../../mod/install.php:151 ../../mod/poke.php:109 #: ../../mod/notifications.php:66 ../../mod/contacts.php:145 -#: ../../mod/settings.php:106 ../../mod/settings.php:537 -#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6 +#: ../../mod/settings.php:106 ../../mod/settings.php:539 +#: ../../mod/settings.php:544 ../../mod/manage.php:86 ../../mod/network.php:6 #: ../../mod/notes.php:20 ../../mod/wallmessage.php:9 #: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79 #: ../../mod/wallmessage.php:103 ../../mod/attach.php:33 @@ -56,7 +56,7 @@ msgstr "" #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:510 #: ../../addon/facebook/facebook.php:516 ../../addon/dav/layout.fnk.php:353 -#: ../../include/items.php:3651 ../../index.php:309 +#: ../../include/items.php:3701 ../../index.php:309 msgid "Permission denied." msgstr "" @@ -85,8 +85,8 @@ msgstr "" msgid "Return to contact editor" msgstr "" -#: ../../mod/crepair.php:148 ../../mod/settings.php:557 -#: ../../mod/settings.php:583 ../../mod/admin.php:661 ../../mod/admin.php:670 +#: ../../mod/crepair.php:148 ../../mod/settings.php:559 +#: ../../mod/settings.php:585 ../../mod/admin.php:661 ../../mod/admin.php:670 msgid "Name" msgstr "" @@ -127,10 +127,10 @@ msgstr "" #: ../../mod/photos.php:1309 ../../mod/photos.php:1349 #: ../../mod/photos.php:1389 ../../mod/photos.php:1420 #: ../../mod/install.php:246 ../../mod/install.php:284 -#: ../../mod/localtime.php:45 ../../mod/content.php:691 -#: ../../mod/contacts.php:343 ../../mod/settings.php:555 -#: ../../mod/settings.php:709 ../../mod/settings.php:770 -#: ../../mod/settings.php:971 ../../mod/group.php:85 ../../mod/message.php:294 +#: ../../mod/localtime.php:45 ../../mod/poke.php:169 ../../mod/content.php:691 +#: ../../mod/contacts.php:343 ../../mod/settings.php:557 +#: ../../mod/settings.php:711 ../../mod/settings.php:772 +#: ../../mod/settings.php:973 ../../mod/group.php:85 ../../mod/message.php:294 #: ../../mod/message.php:473 ../../mod/admin.php:422 ../../mod/admin.php:658 #: ../../mod/admin.php:794 ../../mod/admin.php:993 ../../mod/admin.php:1080 #: ../../mod/profiles.php:577 ../../mod/invite.php:119 @@ -159,18 +159,18 @@ msgstr "" #: ../../addon/statusnet/statusnet.php:318 #: ../../addon/statusnet/statusnet.php:325 #: ../../addon/statusnet/statusnet.php:353 -#: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90 +#: ../../addon/statusnet/statusnet.php:576 ../../addon/tumblr/tumblr.php:90 #: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88 #: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48 #: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180 -#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387 +#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:394 #: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102 #: ../../addon/posterous/posterous.php:103 #: ../../view/theme/cleanzero/config.php:80 #: ../../view/theme/diabook/theme.php:757 #: ../../view/theme/diabook/config.php:190 #: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70 -#: ../../include/conversation.php:653 +#: ../../include/conversation.php:696 msgid "Submit" msgstr "" @@ -225,12 +225,12 @@ msgstr "" msgid "Edit event" msgstr "" -#: ../../mod/events.php:304 ../../include/text.php:1094 +#: ../../mod/events.php:304 ../../include/text.php:1110 msgid "link to source" msgstr "" #: ../../mod/events.php:328 ../../view/theme/diabook/theme.php:131 -#: ../../include/nav.php:52 ../../boot.php:1596 +#: ../../include/nav.php:52 ../../boot.php:1599 msgid "Events" msgstr "" @@ -286,7 +286,7 @@ msgstr "" #: ../../mod/events.php:429 ../../mod/directory.php:132 #: ../../include/event.php:40 ../../include/bb2diaspora.php:447 -#: ../../boot.php:1173 +#: ../../boot.php:1176 msgid "Location:" msgstr "" @@ -299,8 +299,8 @@ msgid "Share this event" msgstr "" #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 -#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:556 -#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45 +#: ../../mod/dfrn_request.php:845 ../../mod/settings.php:558 +#: ../../mod/settings.php:584 ../../addon/js_upload/js_upload.php:45 msgid "Cancel" msgstr "" @@ -344,30 +344,30 @@ msgid "" msgstr "" #: ../../mod/api.php:105 ../../mod/dfrn_request.php:833 -#: ../../mod/settings.php:887 ../../mod/settings.php:893 -#: ../../mod/settings.php:901 ../../mod/settings.php:905 -#: ../../mod/settings.php:910 ../../mod/settings.php:916 -#: ../../mod/settings.php:922 ../../mod/settings.php:928 -#: ../../mod/settings.php:958 ../../mod/settings.php:959 +#: ../../mod/settings.php:889 ../../mod/settings.php:895 +#: ../../mod/settings.php:903 ../../mod/settings.php:907 +#: ../../mod/settings.php:912 ../../mod/settings.php:918 +#: ../../mod/settings.php:924 ../../mod/settings.php:930 #: ../../mod/settings.php:960 ../../mod/settings.php:961 -#: ../../mod/settings.php:962 ../../mod/register.php:234 +#: ../../mod/settings.php:962 ../../mod/settings.php:963 +#: ../../mod/settings.php:964 ../../mod/register.php:234 #: ../../mod/profiles.php:554 msgid "Yes" msgstr "" #: ../../mod/api.php:106 ../../mod/dfrn_request.php:834 -#: ../../mod/settings.php:887 ../../mod/settings.php:893 -#: ../../mod/settings.php:901 ../../mod/settings.php:905 -#: ../../mod/settings.php:910 ../../mod/settings.php:916 -#: ../../mod/settings.php:922 ../../mod/settings.php:928 -#: ../../mod/settings.php:958 ../../mod/settings.php:959 +#: ../../mod/settings.php:889 ../../mod/settings.php:895 +#: ../../mod/settings.php:903 ../../mod/settings.php:907 +#: ../../mod/settings.php:912 ../../mod/settings.php:918 +#: ../../mod/settings.php:924 ../../mod/settings.php:930 #: ../../mod/settings.php:960 ../../mod/settings.php:961 -#: ../../mod/settings.php:962 ../../mod/register.php:235 +#: ../../mod/settings.php:962 ../../mod/settings.php:963 +#: ../../mod/settings.php:964 ../../mod/register.php:235 #: ../../mod/profiles.php:555 msgid "No" msgstr "" -#: ../../mod/photos.php:46 ../../boot.php:1590 +#: ../../mod/photos.php:46 ../../boot.php:1593 msgid "Photo Albums" msgstr "" @@ -420,9 +420,9 @@ msgstr "" #: ../../mod/photos.php:591 ../../mod/like.php:145 ../../mod/tagger.php:70 #: ../../addon/communityhome/communityhome.php:163 -#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1346 +#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1362 #: ../../include/diaspora.php:1793 ../../include/conversation.php:114 -#: ../../include/conversation.php:187 +#: ../../include/conversation.php:230 msgid "photo" msgstr "" @@ -521,7 +521,7 @@ msgid "Use as profile photo" msgstr "" #: ../../mod/photos.php:1192 ../../mod/content.php:601 -#: ../../include/conversation.php:563 +#: ../../include/conversation.php:606 msgid "Private Message" msgstr "" @@ -562,49 +562,49 @@ msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "" #: ../../mod/photos.php:1327 ../../mod/content.php:665 -#: ../../include/conversation.php:627 +#: ../../include/conversation.php:670 msgid "I like this (toggle)" msgstr "" #: ../../mod/photos.php:1328 ../../mod/content.php:666 -#: ../../include/conversation.php:628 +#: ../../include/conversation.php:671 msgid "I don't like this (toggle)" msgstr "" -#: ../../mod/photos.php:1329 ../../include/conversation.php:1066 +#: ../../mod/photos.php:1329 ../../include/conversation.php:1112 msgid "Share" msgstr "" #: ../../mod/photos.php:1330 ../../mod/editpost.php:104 #: ../../mod/content.php:482 ../../mod/content.php:842 #: ../../mod/wallmessage.php:145 ../../mod/message.php:293 -#: ../../mod/message.php:474 ../../include/conversation.php:444 -#: ../../include/conversation.php:804 ../../include/conversation.php:1085 +#: ../../mod/message.php:474 ../../include/conversation.php:487 +#: ../../include/conversation.php:847 ../../include/conversation.php:1131 msgid "Please wait" msgstr "" #: ../../mod/photos.php:1346 ../../mod/photos.php:1386 #: ../../mod/photos.php:1417 ../../mod/content.php:688 -#: ../../include/conversation.php:650 +#: ../../include/conversation.php:693 msgid "This is you" msgstr "" #: ../../mod/photos.php:1348 ../../mod/photos.php:1388 #: ../../mod/photos.php:1419 ../../mod/content.php:690 -#: ../../include/conversation.php:652 ../../boot.php:565 +#: ../../include/conversation.php:695 ../../boot.php:568 msgid "Comment" msgstr "" #: ../../mod/photos.php:1350 ../../mod/editpost.php:125 -#: ../../mod/content.php:700 ../../include/conversation.php:662 -#: ../../include/conversation.php:1103 +#: ../../mod/content.php:700 ../../include/conversation.php:705 +#: ../../include/conversation.php:1149 msgid "Preview" msgstr "" #: ../../mod/photos.php:1447 ../../mod/content.php:439 -#: ../../mod/content.php:720 ../../mod/settings.php:618 -#: ../../mod/settings.php:707 ../../mod/group.php:168 ../../mod/admin.php:665 -#: ../../include/conversation.php:401 ../../include/conversation.php:682 +#: ../../mod/content.php:720 ../../mod/settings.php:620 +#: ../../mod/settings.php:709 ../../mod/group.php:168 ../../mod/admin.php:665 +#: ../../include/conversation.php:444 ../../include/conversation.php:725 msgid "Delete" msgstr "" @@ -670,28 +670,28 @@ msgstr "" msgid "Edit post" msgstr "" -#: ../../mod/editpost.php:80 ../../include/conversation.php:1052 +#: ../../mod/editpost.php:80 ../../include/conversation.php:1098 msgid "Post to Email" msgstr "" #: ../../mod/editpost.php:95 ../../mod/content.php:707 -#: ../../mod/settings.php:617 ../../include/conversation.php:669 +#: ../../mod/settings.php:619 ../../include/conversation.php:712 msgid "Edit" msgstr "" #: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143 #: ../../mod/message.php:291 ../../mod/message.php:471 -#: ../../include/conversation.php:1067 +#: ../../include/conversation.php:1113 msgid "Upload photo" msgstr "" -#: ../../mod/editpost.php:97 ../../include/conversation.php:1069 +#: ../../mod/editpost.php:97 ../../include/conversation.php:1115 msgid "Attach file" msgstr "" #: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144 #: ../../mod/message.php:292 ../../mod/message.php:472 -#: ../../include/conversation.php:1071 +#: ../../include/conversation.php:1117 msgid "Insert web link" msgstr "" @@ -707,35 +707,35 @@ msgstr "" msgid "Insert Vorbis [.ogg] audio" msgstr "" -#: ../../mod/editpost.php:102 ../../include/conversation.php:1077 +#: ../../mod/editpost.php:102 ../../include/conversation.php:1123 msgid "Set your location" msgstr "" -#: ../../mod/editpost.php:103 ../../include/conversation.php:1079 +#: ../../mod/editpost.php:103 ../../include/conversation.php:1125 msgid "Clear browser location" msgstr "" -#: ../../mod/editpost.php:105 ../../include/conversation.php:1086 +#: ../../mod/editpost.php:105 ../../include/conversation.php:1132 msgid "Permission settings" msgstr "" -#: ../../mod/editpost.php:113 ../../include/conversation.php:1095 +#: ../../mod/editpost.php:113 ../../include/conversation.php:1141 msgid "CC: email addresses" msgstr "" -#: ../../mod/editpost.php:114 ../../include/conversation.php:1096 +#: ../../mod/editpost.php:114 ../../include/conversation.php:1142 msgid "Public post" msgstr "" -#: ../../mod/editpost.php:117 ../../include/conversation.php:1082 +#: ../../mod/editpost.php:117 ../../include/conversation.php:1128 msgid "Set title" msgstr "" -#: ../../mod/editpost.php:119 ../../include/conversation.php:1084 +#: ../../mod/editpost.php:119 ../../include/conversation.php:1130 msgid "Categories (comma-separated list)" msgstr "" -#: ../../mod/editpost.php:120 ../../include/conversation.php:1098 +#: ../../mod/editpost.php:120 ../../include/conversation.php:1144 msgid "Example: bob@example.com, mary@example.com" msgstr "" @@ -856,7 +856,7 @@ msgstr "" msgid "Confirm" msgstr "" -#: ../../mod/dfrn_request.php:715 ../../include/items.php:3042 +#: ../../mod/dfrn_request.php:715 ../../include/items.php:3092 msgid "[Name Withheld]" msgstr "" @@ -908,7 +908,7 @@ msgstr "" msgid "StatusNet/Federated Social Web" msgstr "" -#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:652 +#: ../../mod/dfrn_request.php:839 ../../mod/settings.php:654 #: ../../include/contact_selectors.php:80 msgid "Diaspora" msgstr "" @@ -1215,6 +1215,26 @@ msgstr "" msgid "Please select your timezone:" msgstr "" +#: ../../mod/poke.php:163 +msgid "Poke/Prod" +msgstr "" + +#: ../../mod/poke.php:164 +msgid "poke, prod or do other things to somebody" +msgstr "" + +#: ../../mod/poke.php:165 +msgid "Recipient" +msgstr "" + +#: ../../mod/poke.php:166 +msgid "Choose what you wish to do to recipient" +msgstr "" + +#: ../../mod/poke.php:168 +msgid "Make this post private" +msgstr "" + #: ../../mod/match.php:12 msgid "Profile Match" msgstr "" @@ -1228,7 +1248,7 @@ msgid "is interested in:" msgstr "" #: ../../mod/match.php:58 ../../mod/suggest.php:59 -#: ../../include/contact_widgets.php:9 ../../boot.php:1117 +#: ../../include/contact_widgets.php:9 ../../boot.php:1120 msgid "Connect" msgstr "" @@ -1257,28 +1277,28 @@ msgid "Group: " msgstr "" #: ../../mod/content.php:438 ../../mod/content.php:719 -#: ../../include/conversation.php:400 ../../include/conversation.php:681 +#: ../../include/conversation.php:443 ../../include/conversation.php:724 msgid "Select" msgstr "" #: ../../mod/content.php:455 ../../mod/content.php:812 -#: ../../mod/content.php:813 ../../include/conversation.php:417 -#: ../../include/conversation.php:774 ../../include/conversation.php:775 +#: ../../mod/content.php:813 ../../include/conversation.php:460 +#: ../../include/conversation.php:817 ../../include/conversation.php:818 #, php-format msgid "View %s's profile @ %s" msgstr "" #: ../../mod/content.php:465 ../../mod/content.php:824 -#: ../../include/conversation.php:427 ../../include/conversation.php:786 +#: ../../include/conversation.php:470 ../../include/conversation.php:829 #, php-format msgid "%s from %s" msgstr "" -#: ../../mod/content.php:480 ../../include/conversation.php:442 +#: ../../mod/content.php:480 ../../include/conversation.php:485 msgid "View in context" msgstr "" -#: ../../mod/content.php:586 ../../include/conversation.php:548 +#: ../../mod/content.php:586 ../../include/conversation.php:591 #, php-format msgid "%d comment" msgid_plural "%d comments" @@ -1287,92 +1307,92 @@ msgstr[1] "" #: ../../mod/content.php:587 ../../addon/page/page.php:76 #: ../../addon/page/page.php:110 ../../addon/showmore/showmore.php:87 -#: ../../include/contact_widgets.php:188 ../../include/conversation.php:549 -#: ../../boot.php:566 +#: ../../include/contact_widgets.php:188 ../../include/conversation.php:592 +#: ../../boot.php:569 msgid "show more" msgstr "" -#: ../../mod/content.php:665 ../../include/conversation.php:627 +#: ../../mod/content.php:665 ../../include/conversation.php:670 msgid "like" msgstr "" -#: ../../mod/content.php:666 ../../include/conversation.php:628 +#: ../../mod/content.php:666 ../../include/conversation.php:671 msgid "dislike" msgstr "" -#: ../../mod/content.php:668 ../../include/conversation.php:630 +#: ../../mod/content.php:668 ../../include/conversation.php:673 msgid "Share this" msgstr "" -#: ../../mod/content.php:668 ../../include/conversation.php:630 +#: ../../mod/content.php:668 ../../include/conversation.php:673 msgid "share" msgstr "" -#: ../../mod/content.php:692 ../../include/conversation.php:654 +#: ../../mod/content.php:692 ../../include/conversation.php:697 msgid "Bold" msgstr "" -#: ../../mod/content.php:693 ../../include/conversation.php:655 +#: ../../mod/content.php:693 ../../include/conversation.php:698 msgid "Italic" msgstr "" -#: ../../mod/content.php:694 ../../include/conversation.php:656 +#: ../../mod/content.php:694 ../../include/conversation.php:699 msgid "Underline" msgstr "" -#: ../../mod/content.php:695 ../../include/conversation.php:657 +#: ../../mod/content.php:695 ../../include/conversation.php:700 msgid "Quote" msgstr "" -#: ../../mod/content.php:696 ../../include/conversation.php:658 +#: ../../mod/content.php:696 ../../include/conversation.php:701 msgid "Code" msgstr "" -#: ../../mod/content.php:697 ../../include/conversation.php:659 +#: ../../mod/content.php:697 ../../include/conversation.php:702 msgid "Image" msgstr "" -#: ../../mod/content.php:698 ../../include/conversation.php:660 +#: ../../mod/content.php:698 ../../include/conversation.php:703 msgid "Link" msgstr "" -#: ../../mod/content.php:699 ../../include/conversation.php:661 +#: ../../mod/content.php:699 ../../include/conversation.php:704 msgid "Video" msgstr "" -#: ../../mod/content.php:732 ../../include/conversation.php:694 +#: ../../mod/content.php:732 ../../include/conversation.php:737 msgid "add star" msgstr "" -#: ../../mod/content.php:733 ../../include/conversation.php:695 +#: ../../mod/content.php:733 ../../include/conversation.php:738 msgid "remove star" msgstr "" -#: ../../mod/content.php:734 ../../include/conversation.php:696 +#: ../../mod/content.php:734 ../../include/conversation.php:739 msgid "toggle star status" msgstr "" -#: ../../mod/content.php:737 ../../include/conversation.php:699 +#: ../../mod/content.php:737 ../../include/conversation.php:742 msgid "starred" msgstr "" -#: ../../mod/content.php:738 ../../include/conversation.php:700 +#: ../../mod/content.php:738 ../../include/conversation.php:743 msgid "add tag" msgstr "" -#: ../../mod/content.php:742 ../../include/conversation.php:704 +#: ../../mod/content.php:742 ../../include/conversation.php:747 msgid "save to folder" msgstr "" -#: ../../mod/content.php:814 ../../include/conversation.php:776 +#: ../../mod/content.php:814 ../../include/conversation.php:819 msgid "to" msgstr "" -#: ../../mod/content.php:815 ../../include/conversation.php:777 +#: ../../mod/content.php:815 ../../include/conversation.php:820 msgid "Wall-to-Wall" msgstr "" -#: ../../mod/content.php:816 ../../include/conversation.php:778 +#: ../../mod/content.php:816 ../../include/conversation.php:821 msgid "via Wall-To-Wall:" msgstr "" @@ -1888,10 +1908,10 @@ msgstr "" #: ../../mod/register.php:90 ../../mod/register.php:144 #: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752 #: ../../addon/facebook/facebook.php:702 -#: ../../addon/facebook/facebook.php:1192 +#: ../../addon/facebook/facebook.php:1200 #: ../../addon/public_server/public_server.php:62 -#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3051 -#: ../../boot.php:767 +#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:3101 +#: ../../boot.php:770 msgid "Administrator" msgstr "" @@ -1901,7 +1921,7 @@ msgid "" "Password reset failed." msgstr "" -#: ../../mod/lostpass.php:83 ../../boot.php:899 +#: ../../mod/lostpass.php:83 ../../boot.php:902 msgid "Password Reset" msgstr "" @@ -1984,7 +2004,7 @@ msgstr "" msgid "Missing some important data!" msgstr "" -#: ../../mod/settings.php:136 ../../mod/settings.php:581 +#: ../../mod/settings.php:136 ../../mod/settings.php:583 msgid "Update" msgstr "" @@ -2012,457 +2032,461 @@ msgstr "" msgid "Password update failed. Please try again." msgstr "" -#: ../../mod/settings.php:386 +#: ../../mod/settings.php:388 msgid " Please use a shorter name." msgstr "" -#: ../../mod/settings.php:388 +#: ../../mod/settings.php:390 msgid " Name too short." msgstr "" -#: ../../mod/settings.php:394 +#: ../../mod/settings.php:396 msgid " Not valid email." msgstr "" -#: ../../mod/settings.php:396 +#: ../../mod/settings.php:398 msgid " Cannot change to that email." msgstr "" -#: ../../mod/settings.php:450 +#: ../../mod/settings.php:452 msgid "Private forum has no privacy permissions. Using default privacy group." msgstr "" -#: ../../mod/settings.php:454 +#: ../../mod/settings.php:456 msgid "Private forum has no privacy permissions and no default privacy group." msgstr "" -#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:495 +#: ../../mod/settings.php:486 ../../addon/facebook/facebook.php:495 #: ../../addon/impressum/impressum.php:77 #: ../../addon/openstreetmap/openstreetmap.php:80 #: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105 -#: ../../addon/twitter/twitter.php:382 +#: ../../addon/twitter/twitter.php:389 msgid "Settings updated." msgstr "" -#: ../../mod/settings.php:554 ../../mod/settings.php:580 -#: ../../mod/settings.php:616 +#: ../../mod/settings.php:556 ../../mod/settings.php:582 +#: ../../mod/settings.php:618 msgid "Add application" msgstr "" -#: ../../mod/settings.php:558 ../../mod/settings.php:584 -#: ../../addon/statusnet/statusnet.php:561 +#: ../../mod/settings.php:560 ../../mod/settings.php:586 +#: ../../addon/statusnet/statusnet.php:570 msgid "Consumer Key" msgstr "" -#: ../../mod/settings.php:559 ../../mod/settings.php:585 -#: ../../addon/statusnet/statusnet.php:560 +#: ../../mod/settings.php:561 ../../mod/settings.php:587 +#: ../../addon/statusnet/statusnet.php:569 msgid "Consumer Secret" msgstr "" -#: ../../mod/settings.php:560 ../../mod/settings.php:586 +#: ../../mod/settings.php:562 ../../mod/settings.php:588 msgid "Redirect" msgstr "" -#: ../../mod/settings.php:561 ../../mod/settings.php:587 +#: ../../mod/settings.php:563 ../../mod/settings.php:589 msgid "Icon url" msgstr "" -#: ../../mod/settings.php:572 +#: ../../mod/settings.php:574 msgid "You can't edit this application." msgstr "" -#: ../../mod/settings.php:615 +#: ../../mod/settings.php:617 msgid "Connected Apps" msgstr "" -#: ../../mod/settings.php:619 +#: ../../mod/settings.php:621 msgid "Client key starts with" msgstr "" -#: ../../mod/settings.php:620 +#: ../../mod/settings.php:622 msgid "No name" msgstr "" -#: ../../mod/settings.php:621 +#: ../../mod/settings.php:623 msgid "Remove authorization" msgstr "" -#: ../../mod/settings.php:632 +#: ../../mod/settings.php:634 msgid "No Plugin settings configured" msgstr "" -#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123 +#: ../../mod/settings.php:642 ../../addon/widgets/widgets.php:123 msgid "Plugin Settings" msgstr "" -#: ../../mod/settings.php:652 ../../mod/settings.php:653 +#: ../../mod/settings.php:654 ../../mod/settings.php:655 #, php-format msgid "Built-in support for %s connectivity is %s" msgstr "" -#: ../../mod/settings.php:652 ../../mod/settings.php:653 +#: ../../mod/settings.php:654 ../../mod/settings.php:655 msgid "enabled" msgstr "" -#: ../../mod/settings.php:652 ../../mod/settings.php:653 +#: ../../mod/settings.php:654 ../../mod/settings.php:655 msgid "disabled" msgstr "" -#: ../../mod/settings.php:653 +#: ../../mod/settings.php:655 msgid "StatusNet" msgstr "" -#: ../../mod/settings.php:685 +#: ../../mod/settings.php:687 msgid "Email access is disabled on this site." msgstr "" -#: ../../mod/settings.php:691 +#: ../../mod/settings.php:693 msgid "Connector Settings" msgstr "" -#: ../../mod/settings.php:696 +#: ../../mod/settings.php:698 msgid "Email/Mailbox Setup" msgstr "" -#: ../../mod/settings.php:697 +#: ../../mod/settings.php:699 msgid "" "If you wish to communicate with email contacts using this service " "(optional), please specify how to connect to your mailbox." msgstr "" -#: ../../mod/settings.php:698 +#: ../../mod/settings.php:700 msgid "Last successful email check:" msgstr "" -#: ../../mod/settings.php:700 +#: ../../mod/settings.php:702 msgid "IMAP server name:" msgstr "" -#: ../../mod/settings.php:701 +#: ../../mod/settings.php:703 msgid "IMAP port:" msgstr "" -#: ../../mod/settings.php:702 +#: ../../mod/settings.php:704 msgid "Security:" msgstr "" -#: ../../mod/settings.php:702 ../../mod/settings.php:707 +#: ../../mod/settings.php:704 ../../mod/settings.php:709 msgid "None" msgstr "" -#: ../../mod/settings.php:703 +#: ../../mod/settings.php:705 msgid "Email login name:" msgstr "" -#: ../../mod/settings.php:704 +#: ../../mod/settings.php:706 msgid "Email password:" msgstr "" -#: ../../mod/settings.php:705 +#: ../../mod/settings.php:707 msgid "Reply-to address:" msgstr "" -#: ../../mod/settings.php:706 +#: ../../mod/settings.php:708 msgid "Send public posts to all email contacts:" msgstr "" -#: ../../mod/settings.php:707 +#: ../../mod/settings.php:709 msgid "Action after import:" msgstr "" -#: ../../mod/settings.php:707 +#: ../../mod/settings.php:709 msgid "Mark as seen" msgstr "" -#: ../../mod/settings.php:707 +#: ../../mod/settings.php:709 msgid "Move to folder" msgstr "" -#: ../../mod/settings.php:708 +#: ../../mod/settings.php:710 msgid "Move to folder:" msgstr "" -#: ../../mod/settings.php:768 +#: ../../mod/settings.php:770 msgid "Display Settings" msgstr "" -#: ../../mod/settings.php:774 +#: ../../mod/settings.php:776 msgid "Display Theme:" msgstr "" -#: ../../mod/settings.php:775 +#: ../../mod/settings.php:777 msgid "Update browser every xx seconds" msgstr "" -#: ../../mod/settings.php:775 +#: ../../mod/settings.php:777 msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../mod/settings.php:776 +#: ../../mod/settings.php:778 msgid "Number of items to display on the network page:" msgstr "" -#: ../../mod/settings.php:776 +#: ../../mod/settings.php:778 msgid "Maximum of 100 items" msgstr "" -#: ../../mod/settings.php:777 +#: ../../mod/settings.php:779 msgid "Don't show emoticons" msgstr "" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:850 msgid "Normal Account Page" msgstr "" -#: ../../mod/settings.php:849 +#: ../../mod/settings.php:851 msgid "This account is a normal personal profile" msgstr "" -#: ../../mod/settings.php:852 +#: ../../mod/settings.php:854 msgid "Soapbox Page" msgstr "" -#: ../../mod/settings.php:853 +#: ../../mod/settings.php:855 msgid "Automatically approve all connection/friend requests as read-only fans" msgstr "" -#: ../../mod/settings.php:856 +#: ../../mod/settings.php:858 msgid "Community Forum/Celebrity Account" msgstr "" -#: ../../mod/settings.php:857 +#: ../../mod/settings.php:859 msgid "Automatically approve all connection/friend requests as read-write fans" msgstr "" -#: ../../mod/settings.php:860 +#: ../../mod/settings.php:862 msgid "Automatic Friend Page" msgstr "" -#: ../../mod/settings.php:861 +#: ../../mod/settings.php:863 msgid "Automatically approve all connection/friend requests as friends" msgstr "" -#: ../../mod/settings.php:864 +#: ../../mod/settings.php:866 msgid "Private Forum [Experimental]" msgstr "" -#: ../../mod/settings.php:865 +#: ../../mod/settings.php:867 msgid "Private forum - approved members only" msgstr "" -#: ../../mod/settings.php:877 +#: ../../mod/settings.php:879 msgid "OpenID:" msgstr "" -#: ../../mod/settings.php:877 +#: ../../mod/settings.php:879 msgid "(Optional) Allow this OpenID to login to this account." msgstr "" -#: ../../mod/settings.php:887 +#: ../../mod/settings.php:889 msgid "Publish your default profile in your local site directory?" msgstr "" -#: ../../mod/settings.php:893 +#: ../../mod/settings.php:895 msgid "Publish your default profile in the global social directory?" msgstr "" -#: ../../mod/settings.php:901 +#: ../../mod/settings.php:903 msgid "Hide your contact/friend list from viewers of your default profile?" msgstr "" -#: ../../mod/settings.php:905 +#: ../../mod/settings.php:907 msgid "Hide your profile details from unknown viewers?" msgstr "" -#: ../../mod/settings.php:910 +#: ../../mod/settings.php:912 msgid "Allow friends to post to your profile page?" msgstr "" -#: ../../mod/settings.php:916 +#: ../../mod/settings.php:918 msgid "Allow friends to tag your posts?" msgstr "" -#: ../../mod/settings.php:922 +#: ../../mod/settings.php:924 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: ../../mod/settings.php:928 +#: ../../mod/settings.php:930 msgid "Permit unknown people to send you private mail?" msgstr "" -#: ../../mod/settings.php:936 +#: ../../mod/settings.php:938 msgid "Profile is not published." msgstr "" -#: ../../mod/settings.php:939 ../../mod/profile_photo.php:214 +#: ../../mod/settings.php:941 ../../mod/profile_photo.php:214 msgid "or" msgstr "" -#: ../../mod/settings.php:944 +#: ../../mod/settings.php:946 msgid "Your Identity Address is" msgstr "" -#: ../../mod/settings.php:955 +#: ../../mod/settings.php:957 msgid "Automatically expire posts after this many days:" msgstr "" -#: ../../mod/settings.php:955 +#: ../../mod/settings.php:957 msgid "If empty, posts will not expire. Expired posts will be deleted" msgstr "" -#: ../../mod/settings.php:956 +#: ../../mod/settings.php:958 msgid "Advanced expiration settings" msgstr "" -#: ../../mod/settings.php:957 +#: ../../mod/settings.php:959 msgid "Advanced Expiration" msgstr "" -#: ../../mod/settings.php:958 +#: ../../mod/settings.php:960 msgid "Expire posts:" msgstr "" -#: ../../mod/settings.php:959 +#: ../../mod/settings.php:961 msgid "Expire personal notes:" msgstr "" -#: ../../mod/settings.php:960 +#: ../../mod/settings.php:962 msgid "Expire starred posts:" msgstr "" -#: ../../mod/settings.php:961 +#: ../../mod/settings.php:963 msgid "Expire photos:" msgstr "" -#: ../../mod/settings.php:962 +#: ../../mod/settings.php:964 msgid "Only expire posts by others:" msgstr "" -#: ../../mod/settings.php:969 +#: ../../mod/settings.php:971 msgid "Account Settings" msgstr "" -#: ../../mod/settings.php:977 +#: ../../mod/settings.php:979 msgid "Password Settings" msgstr "" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:980 msgid "New Password:" msgstr "" -#: ../../mod/settings.php:979 +#: ../../mod/settings.php:981 msgid "Confirm:" msgstr "" -#: ../../mod/settings.php:979 +#: ../../mod/settings.php:981 msgid "Leave password fields blank unless changing" msgstr "" -#: ../../mod/settings.php:983 +#: ../../mod/settings.php:985 msgid "Basic Settings" msgstr "" -#: ../../mod/settings.php:984 ../../include/profile_advanced.php:15 +#: ../../mod/settings.php:986 ../../include/profile_advanced.php:15 msgid "Full Name:" msgstr "" -#: ../../mod/settings.php:985 +#: ../../mod/settings.php:987 msgid "Email Address:" msgstr "" -#: ../../mod/settings.php:986 +#: ../../mod/settings.php:988 msgid "Your Timezone:" msgstr "" -#: ../../mod/settings.php:987 +#: ../../mod/settings.php:989 msgid "Default Post Location:" msgstr "" -#: ../../mod/settings.php:988 +#: ../../mod/settings.php:990 msgid "Use Browser Location:" msgstr "" -#: ../../mod/settings.php:991 +#: ../../mod/settings.php:993 msgid "Security and Privacy Settings" msgstr "" -#: ../../mod/settings.php:993 +#: ../../mod/settings.php:995 msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../mod/settings.php:993 ../../mod/settings.php:1012 +#: ../../mod/settings.php:995 ../../mod/settings.php:1014 msgid "(to prevent spam abuse)" msgstr "" -#: ../../mod/settings.php:994 +#: ../../mod/settings.php:996 msgid "Default Post Permissions" msgstr "" -#: ../../mod/settings.php:995 +#: ../../mod/settings.php:997 msgid "(click to open/close)" msgstr "" -#: ../../mod/settings.php:1012 +#: ../../mod/settings.php:1014 msgid "Maximum private messages per day from unknown people:" msgstr "" -#: ../../mod/settings.php:1015 +#: ../../mod/settings.php:1017 msgid "Notification Settings" msgstr "" -#: ../../mod/settings.php:1016 +#: ../../mod/settings.php:1018 msgid "By default post a status message when:" msgstr "" -#: ../../mod/settings.php:1017 +#: ../../mod/settings.php:1019 msgid "accepting a friend request" msgstr "" -#: ../../mod/settings.php:1018 +#: ../../mod/settings.php:1020 msgid "joining a forum/community" msgstr "" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1021 msgid "making an interesting profile change" msgstr "" -#: ../../mod/settings.php:1020 +#: ../../mod/settings.php:1022 msgid "Send a notification email when:" msgstr "" -#: ../../mod/settings.php:1021 +#: ../../mod/settings.php:1023 msgid "You receive an introduction" msgstr "" -#: ../../mod/settings.php:1022 +#: ../../mod/settings.php:1024 msgid "Your introductions are confirmed" msgstr "" -#: ../../mod/settings.php:1023 +#: ../../mod/settings.php:1025 msgid "Someone writes on your profile wall" msgstr "" -#: ../../mod/settings.php:1024 +#: ../../mod/settings.php:1026 msgid "Someone writes a followup comment" msgstr "" -#: ../../mod/settings.php:1025 +#: ../../mod/settings.php:1027 msgid "You receive a private message" msgstr "" -#: ../../mod/settings.php:1026 +#: ../../mod/settings.php:1028 msgid "You receive a friend suggestion" msgstr "" -#: ../../mod/settings.php:1027 +#: ../../mod/settings.php:1029 msgid "You are tagged in a post" msgstr "" #: ../../mod/settings.php:1030 +msgid "You are poked/prodded/etc. in a post" +msgstr "" + +#: ../../mod/settings.php:1033 msgid "Advanced Account/Page Type Settings" msgstr "" -#: ../../mod/settings.php:1031 +#: ../../mod/settings.php:1034 msgid "Change the behaviour of this account for special situations" msgstr "" @@ -2564,13 +2588,13 @@ msgstr "" msgid "Invalid contact." msgstr "" -#: ../../mod/notes.php:44 ../../boot.php:1602 +#: ../../mod/notes.php:44 ../../boot.php:1605 msgid "Personal Notes" msgstr "" #: ../../mod/notes.php:63 ../../mod/filer.php:30 #: ../../addon/facebook/facebook.php:770 -#: ../../addon/privacy_image_cache/privacy_image_cache.php:187 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:236 #: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:677 msgid "Save" msgstr "" @@ -2605,7 +2629,7 @@ msgid "No recipient." msgstr "" #: ../../mod/wallmessage.php:124 ../../mod/message.php:250 -#: ../../include/conversation.php:1020 +#: ../../include/conversation.php:1066 msgid "Please enter a link URL:" msgstr "" @@ -2815,7 +2839,7 @@ msgstr "" #: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128 #: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:84 -#: ../../include/nav.php:50 ../../boot.php:1581 +#: ../../include/nav.php:50 ../../boot.php:1584 msgid "Profile" msgstr "" @@ -2919,7 +2943,7 @@ msgstr "" msgid "Choose a nickname: " msgstr "" -#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:865 +#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:868 msgid "Register" msgstr "" @@ -2928,17 +2952,17 @@ msgid "People Search" msgstr "" #: ../../mod/like.php:145 ../../mod/like.php:298 ../../mod/tagger.php:70 -#: ../../addon/facebook/facebook.php:1586 +#: ../../addon/facebook/facebook.php:1594 #: ../../addon/communityhome/communityhome.php:158 #: ../../addon/communityhome/communityhome.php:167 #: ../../view/theme/diabook/theme.php:565 #: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1793 #: ../../include/conversation.php:109 ../../include/conversation.php:118 -#: ../../include/conversation.php:182 ../../include/conversation.php:191 +#: ../../include/conversation.php:225 ../../include/conversation.php:234 msgid "status" msgstr "" -#: ../../mod/like.php:162 ../../addon/facebook/facebook.php:1590 +#: ../../mod/like.php:162 ../../addon/facebook/facebook.php:1598 #: ../../addon/communityhome/communityhome.php:172 #: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1809 #: ../../include/conversation.php:126 @@ -2953,7 +2977,7 @@ msgstr "" #: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159 #: ../../mod/admin.php:702 ../../mod/admin.php:901 ../../mod/display.php:37 -#: ../../mod/display.php:142 ../../include/items.php:3530 +#: ../../mod/display.php:142 ../../include/items.php:3580 msgid "Item not found." msgstr "" @@ -2962,7 +2986,7 @@ msgid "Access denied." msgstr "" #: ../../mod/fbrowser.php:25 ../../view/theme/diabook/theme.php:130 -#: ../../include/nav.php:51 ../../boot.php:1587 +#: ../../include/nav.php:51 ../../boot.php:1590 msgid "Photos" msgstr "" @@ -3313,7 +3337,7 @@ msgstr "" msgid "Advanced" msgstr "" -#: ../../mod/admin.php:430 ../../addon/statusnet/statusnet.php:558 +#: ../../mod/admin.php:430 ../../addon/statusnet/statusnet.php:567 msgid "Site name" msgstr "" @@ -3773,7 +3797,7 @@ msgstr "" msgid "FTP Password" msgstr "" -#: ../../mod/profile.php:21 ../../boot.php:1030 +#: ../../mod/profile.php:21 ../../boot.php:1033 msgid "Requested profile is not available." msgstr "" @@ -4168,27 +4192,27 @@ msgstr "" msgid "Edit/Manage Profiles" msgstr "" -#: ../../mod/profiles.php:672 ../../boot.php:1139 +#: ../../mod/profiles.php:672 ../../boot.php:1142 msgid "Change profile photo" msgstr "" -#: ../../mod/profiles.php:673 ../../boot.php:1140 +#: ../../mod/profiles.php:673 ../../boot.php:1143 msgid "Create New Profile" msgstr "" -#: ../../mod/profiles.php:684 ../../boot.php:1150 +#: ../../mod/profiles.php:684 ../../boot.php:1153 msgid "Profile Image" msgstr "" -#: ../../mod/profiles.php:686 ../../boot.php:1153 +#: ../../mod/profiles.php:686 ../../boot.php:1156 msgid "visible to everybody" msgstr "" -#: ../../mod/profiles.php:687 ../../boot.php:1154 +#: ../../mod/profiles.php:687 ../../boot.php:1157 msgid "Edit visibility" msgstr "" -#: ../../mod/filer.php:29 ../../include/conversation.php:1024 +#: ../../mod/filer.php:29 ../../include/conversation.php:1070 msgid "Save to Folder:" msgstr "" @@ -4196,7 +4220,7 @@ msgstr "" msgid "- select -" msgstr "" -#: ../../mod/tagger.php:103 ../../include/conversation.php:199 +#: ../../mod/tagger.php:103 ../../include/conversation.php:242 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" @@ -4312,17 +4336,17 @@ msgid "Gender: " msgstr "" #: ../../mod/directory.php:134 ../../include/profile_advanced.php:17 -#: ../../boot.php:1175 +#: ../../boot.php:1178 msgid "Gender:" msgstr "" #: ../../mod/directory.php:136 ../../include/profile_advanced.php:37 -#: ../../boot.php:1178 +#: ../../boot.php:1181 msgid "Status:" msgstr "" #: ../../mod/directory.php:138 ../../include/profile_advanced.php:48 -#: ../../boot.php:1180 +#: ../../boot.php:1183 msgid "Homepage:" msgstr "" @@ -4702,23 +4726,23 @@ msgid "" "conflict." msgstr "" -#: ../../addon/facebook/facebook.php:1141 +#: ../../addon/facebook/facebook.php:1149 msgid "View on Friendica" msgstr "" -#: ../../addon/facebook/facebook.php:1174 +#: ../../addon/facebook/facebook.php:1182 msgid "Facebook post failed. Queued for retry." msgstr "" -#: ../../addon/facebook/facebook.php:1214 +#: ../../addon/facebook/facebook.php:1222 msgid "Your Facebook connection became invalid. Please Re-authenticate." msgstr "" -#: ../../addon/facebook/facebook.php:1215 +#: ../../addon/facebook/facebook.php:1223 msgid "Facebook connection became invalid" msgstr "" -#: ../../addon/facebook/facebook.php:1216 +#: ../../addon/facebook/facebook.php:1224 #, php-format msgid "" "Hi %1$s,\n" @@ -4752,23 +4776,23 @@ msgstr "" msgid "How many contacts to display on profile sidebar" msgstr "" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:184 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:233 msgid "Lifetime of the cache (in hours)" msgstr "" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:189 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:238 msgid "Cache Statistics" msgstr "" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:192 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:241 msgid "Number of items" msgstr "" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:194 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:243 msgid "Size of the cache" msgstr "" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:196 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:245 msgid "Delete the whole cache" msgstr "" @@ -4929,7 +4953,7 @@ msgstr "" #: ../../addon/communityhome/communityhome.php:34 #: ../../addon/communityhome/twillingham/communityhome.php:28 #: ../../addon/communityhome/twillingham/communityhome.php:34 -#: ../../include/nav.php:64 ../../boot.php:886 +#: ../../include/nav.php:64 ../../boot.php:889 msgid "Login" msgstr "" @@ -4957,8 +4981,8 @@ msgid "Latest likes" msgstr "" #: ../../addon/communityhome/communityhome.php:155 -#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1344 -#: ../../include/conversation.php:106 ../../include/conversation.php:179 +#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1360 +#: ../../include/conversation.php:106 ../../include/conversation.php:222 msgid "event" msgstr "" @@ -5706,6 +5730,22 @@ msgstr "" msgid "Gravatar settings updated." msgstr "" +#: ../../addon/morechoice/morechoice.php:129 +msgid "bitchslap" +msgstr "" + +#: ../../addon/morechoice/morechoice.php:129 +msgid "bitchslapped" +msgstr "" + +#: ../../addon/morechoice/morechoice.php:130 +msgid "shag" +msgstr "" + +#: ../../addon/morechoice/morechoice.php:130 +msgid "shagged" +msgstr "" + #: ../../addon/testdrive/testdrive.php:95 msgid "Your Friendica test account is about to expire." msgstr "" @@ -5880,7 +5920,7 @@ msgstr "" msgid "Clear OAuth configuration" msgstr "" -#: ../../addon/statusnet/statusnet.php:559 +#: ../../addon/statusnet/statusnet.php:568 msgid "API URL" msgstr "" @@ -6093,11 +6133,11 @@ msgstr "" msgid "Send linked #-tags and @-names to Twitter" msgstr "" -#: ../../addon/twitter/twitter.php:389 +#: ../../addon/twitter/twitter.php:396 msgid "Consumer key" msgstr "" -#: ../../addon/twitter/twitter.php:390 +#: ../../addon/twitter/twitter.php:397 msgid "Consumer secret" msgstr "" @@ -6822,127 +6862,175 @@ msgid_plural "%d Contacts" msgstr[0] "" msgstr[1] "" -#: ../../include/text.php:864 +#: ../../include/text.php:715 +msgid "poke" +msgstr "" + +#: ../../include/text.php:715 ../../include/conversation.php:201 +msgid "poked" +msgstr "" + +#: ../../include/text.php:716 +msgid "ping" +msgstr "" + +#: ../../include/text.php:716 +msgid "pinged" +msgstr "" + +#: ../../include/text.php:717 +msgid "prod" +msgstr "" + +#: ../../include/text.php:717 +msgid "prodded" +msgstr "" + +#: ../../include/text.php:718 +msgid "slap" +msgstr "" + +#: ../../include/text.php:718 +msgid "slapped" +msgstr "" + +#: ../../include/text.php:719 +msgid "finger" +msgstr "" + +#: ../../include/text.php:719 +msgid "fingered" +msgstr "" + +#: ../../include/text.php:720 +msgid "rebuff" +msgstr "" + +#: ../../include/text.php:720 +msgid "rebuffed" +msgstr "" + +#: ../../include/text.php:880 msgid "Monday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Tuesday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Wednesday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Thursday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Friday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Saturday" msgstr "" -#: ../../include/text.php:864 +#: ../../include/text.php:880 msgid "Sunday" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "January" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "February" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "March" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "April" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "May" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "June" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "July" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "August" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "September" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "October" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "November" msgstr "" -#: ../../include/text.php:868 +#: ../../include/text.php:884 msgid "December" msgstr "" -#: ../../include/text.php:954 +#: ../../include/text.php:970 msgid "bytes" msgstr "" -#: ../../include/text.php:974 ../../include/text.php:989 +#: ../../include/text.php:990 ../../include/text.php:1005 msgid "remove" msgstr "" -#: ../../include/text.php:974 ../../include/text.php:989 +#: ../../include/text.php:990 ../../include/text.php:1005 msgid "[remove]" msgstr "" -#: ../../include/text.php:977 +#: ../../include/text.php:993 msgid "Categories:" msgstr "" -#: ../../include/text.php:992 +#: ../../include/text.php:1008 msgid "Filed under:" msgstr "" -#: ../../include/text.php:1008 ../../include/text.php:1020 +#: ../../include/text.php:1024 ../../include/text.php:1036 msgid "Click to open/close" msgstr "" -#: ../../include/text.php:1126 ../../include/user.php:236 +#: ../../include/text.php:1142 ../../include/user.php:236 msgid "default" msgstr "" -#: ../../include/text.php:1138 +#: ../../include/text.php:1154 msgid "Select an alternate language" msgstr "" -#: ../../include/text.php:1348 +#: ../../include/text.php:1364 msgid "activity" msgstr "" -#: ../../include/text.php:1350 +#: ../../include/text.php:1366 msgid "comment" msgstr "" -#: ../../include/text.php:1351 +#: ../../include/text.php:1367 msgid "post" msgstr "" -#: ../../include/text.php:1506 +#: ../../include/text.php:1522 msgid "Item filed" msgstr "" @@ -7001,7 +7089,7 @@ msgstr "" msgid "Contacts not in any group" msgstr "" -#: ../../include/nav.php:46 ../../boot.php:885 +#: ../../include/nav.php:46 ../../boot.php:888 msgid "Logout" msgstr "" @@ -7009,7 +7097,7 @@ msgstr "" msgid "End this session" msgstr "" -#: ../../include/nav.php:49 ../../boot.php:1575 +#: ../../include/nav.php:49 ../../boot.php:1578 msgid "Status" msgstr "" @@ -7089,11 +7177,11 @@ msgstr "" msgid "Manage other pages" msgstr "" -#: ../../include/nav.php:138 ../../boot.php:1133 +#: ../../include/nav.php:138 ../../boot.php:1136 msgid "Profiles" msgstr "" -#: ../../include/nav.php:138 ../../boot.php:1133 +#: ../../include/nav.php:138 ../../boot.php:1136 msgid "Manage/edit profiles" msgstr "" @@ -7358,7 +7446,8 @@ msgid "%s commented on an item/conversation you have been following." msgstr "" #: ../../include/enotify.php:116 ../../include/enotify.php:131 -#: ../../include/enotify.php:144 ../../include/enotify.php:157 +#: ../../include/enotify.php:144 ../../include/enotify.php:162 +#: ../../include/enotify.php:175 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "" @@ -7393,68 +7482,83 @@ msgstr "" msgid "%1$s [url=%2$s]tagged you[/url]." msgstr "" -#: ../../include/enotify.php:151 -#, php-format -msgid "[Friendica:Notify] %s tagged your post" -msgstr "" - #: ../../include/enotify.php:152 #, php-format -msgid "%1$s tagged your post at %2$s" +msgid "[Friendica:Notify] %1$s poked you" msgstr "" #: ../../include/enotify.php:153 #, php-format -msgid "%1$s tagged [url=%2$s]your post[/url]" +msgid "%1$s poked you at %2$s" msgstr "" -#: ../../include/enotify.php:164 -msgid "[Friendica:Notify] Introduction received" -msgstr "" - -#: ../../include/enotify.php:165 +#: ../../include/enotify.php:154 #, php-format -msgid "You've received an introduction from '%1$s' at %2$s" +msgid "%1$s [url=%2$s]poked you[/url]." msgstr "" -#: ../../include/enotify.php:166 +#: ../../include/enotify.php:169 #, php-format -msgid "You've received [url=%1$s]an introduction[/url] from %2$s." +msgid "[Friendica:Notify] %s tagged your post" msgstr "" -#: ../../include/enotify.php:169 ../../include/enotify.php:187 +#: ../../include/enotify.php:170 #, php-format -msgid "You may visit their profile at %s" +msgid "%1$s tagged your post at %2$s" msgstr "" #: ../../include/enotify.php:171 #, php-format +msgid "%1$s tagged [url=%2$s]your post[/url]" +msgstr "" + +#: ../../include/enotify.php:182 +msgid "[Friendica:Notify] Introduction received" +msgstr "" + +#: ../../include/enotify.php:183 +#, php-format +msgid "You've received an introduction from '%1$s' at %2$s" +msgstr "" + +#: ../../include/enotify.php:184 +#, php-format +msgid "You've received [url=%1$s]an introduction[/url] from %2$s." +msgstr "" + +#: ../../include/enotify.php:187 ../../include/enotify.php:205 +#, php-format +msgid "You may visit their profile at %s" +msgstr "" + +#: ../../include/enotify.php:189 +#, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "" -#: ../../include/enotify.php:178 +#: ../../include/enotify.php:196 msgid "[Friendica:Notify] Friend suggestion received" msgstr "" -#: ../../include/enotify.php:179 +#: ../../include/enotify.php:197 #, php-format msgid "You've received a friend suggestion from '%1$s' at %2$s" msgstr "" -#: ../../include/enotify.php:180 +#: ../../include/enotify.php:198 #, php-format msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s." msgstr "" -#: ../../include/enotify.php:185 +#: ../../include/enotify.php:203 msgid "Name:" msgstr "" -#: ../../include/enotify.php:186 +#: ../../include/enotify.php:204 msgid "Photo:" msgstr "" -#: ../../include/enotify.php:189 +#: ../../include/enotify.php:207 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "" @@ -7514,15 +7618,15 @@ msgstr "" msgid "following" msgstr "" -#: ../../include/items.php:3049 +#: ../../include/items.php:3099 msgid "A new person is sharing with you at " msgstr "" -#: ../../include/items.php:3049 +#: ../../include/items.php:3099 msgid "You have a new follower at " msgstr "" -#: ../../include/items.php:3718 +#: ../../include/items.php:3768 msgid "Archives" msgstr "" @@ -7616,142 +7720,151 @@ msgstr "" msgid "stopped following" msgstr "" -#: ../../include/Contact.php:218 ../../include/conversation.php:915 +#: ../../include/Contact.php:220 ../../include/conversation.php:966 +msgid "Poke" +msgstr "" + +#: ../../include/Contact.php:221 ../../include/conversation.php:960 msgid "View Status" msgstr "" -#: ../../include/Contact.php:219 ../../include/conversation.php:916 +#: ../../include/Contact.php:222 ../../include/conversation.php:961 msgid "View Profile" msgstr "" -#: ../../include/Contact.php:220 ../../include/conversation.php:917 +#: ../../include/Contact.php:223 ../../include/conversation.php:962 msgid "View Photos" msgstr "" -#: ../../include/Contact.php:221 ../../include/Contact.php:234 -#: ../../include/conversation.php:918 +#: ../../include/Contact.php:224 ../../include/Contact.php:237 +#: ../../include/conversation.php:963 msgid "Network Posts" msgstr "" -#: ../../include/Contact.php:222 ../../include/Contact.php:234 -#: ../../include/conversation.php:919 +#: ../../include/Contact.php:225 ../../include/Contact.php:237 +#: ../../include/conversation.php:964 msgid "Edit Contact" msgstr "" -#: ../../include/Contact.php:223 ../../include/Contact.php:234 -#: ../../include/conversation.php:920 +#: ../../include/Contact.php:226 ../../include/Contact.php:237 +#: ../../include/conversation.php:965 msgid "Send PM" msgstr "" -#: ../../include/conversation.php:224 +#: ../../include/conversation.php:197 +#, php-format +msgid "%1$s poked %2$s" +msgstr "" + +#: ../../include/conversation.php:267 msgid "post/item" msgstr "" -#: ../../include/conversation.php:225 +#: ../../include/conversation.php:268 #, php-format msgid "%1$s marked %2$s's %3$s as favorite" msgstr "" -#: ../../include/conversation.php:823 +#: ../../include/conversation.php:866 msgid "Delete Selected Items" msgstr "" -#: ../../include/conversation.php:978 +#: ../../include/conversation.php:1024 #, php-format msgid "%s likes this." msgstr "" -#: ../../include/conversation.php:978 +#: ../../include/conversation.php:1024 #, php-format msgid "%s doesn't like this." msgstr "" -#: ../../include/conversation.php:982 +#: ../../include/conversation.php:1028 #, php-format msgid "%2$d people like this." msgstr "" -#: ../../include/conversation.php:984 +#: ../../include/conversation.php:1030 #, php-format msgid "%2$d people don't like this." msgstr "" -#: ../../include/conversation.php:990 +#: ../../include/conversation.php:1036 msgid "and" msgstr "" -#: ../../include/conversation.php:993 +#: ../../include/conversation.php:1039 #, php-format msgid ", and %d other people" msgstr "" -#: ../../include/conversation.php:994 +#: ../../include/conversation.php:1040 #, php-format msgid "%s like this." msgstr "" -#: ../../include/conversation.php:994 +#: ../../include/conversation.php:1040 #, php-format msgid "%s don't like this." msgstr "" -#: ../../include/conversation.php:1019 +#: ../../include/conversation.php:1065 msgid "Visible to everybody" msgstr "" -#: ../../include/conversation.php:1021 +#: ../../include/conversation.php:1067 msgid "Please enter a video link/URL:" msgstr "" -#: ../../include/conversation.php:1022 +#: ../../include/conversation.php:1068 msgid "Please enter an audio link/URL:" msgstr "" -#: ../../include/conversation.php:1023 +#: ../../include/conversation.php:1069 msgid "Tag term:" msgstr "" -#: ../../include/conversation.php:1025 +#: ../../include/conversation.php:1071 msgid "Where are you right now?" msgstr "" -#: ../../include/conversation.php:1068 +#: ../../include/conversation.php:1114 msgid "upload photo" msgstr "" -#: ../../include/conversation.php:1070 +#: ../../include/conversation.php:1116 msgid "attach file" msgstr "" -#: ../../include/conversation.php:1072 +#: ../../include/conversation.php:1118 msgid "web link" msgstr "" -#: ../../include/conversation.php:1073 +#: ../../include/conversation.php:1119 msgid "Insert video link" msgstr "" -#: ../../include/conversation.php:1074 +#: ../../include/conversation.php:1120 msgid "video link" msgstr "" -#: ../../include/conversation.php:1075 +#: ../../include/conversation.php:1121 msgid "Insert audio link" msgstr "" -#: ../../include/conversation.php:1076 +#: ../../include/conversation.php:1122 msgid "audio link" msgstr "" -#: ../../include/conversation.php:1078 +#: ../../include/conversation.php:1124 msgid "set location" msgstr "" -#: ../../include/conversation.php:1080 +#: ../../include/conversation.php:1126 msgid "clear location" msgstr "" -#: ../../include/conversation.php:1087 +#: ../../include/conversation.php:1133 msgid "permissions" msgstr "" @@ -7767,96 +7880,96 @@ msgstr "" msgid "This action is not available under your subscription plan." msgstr "" -#: ../../boot.php:564 +#: ../../boot.php:567 msgid "Delete this item?" msgstr "" -#: ../../boot.php:567 +#: ../../boot.php:570 msgid "show fewer" msgstr "" -#: ../../boot.php:762 +#: ../../boot.php:765 #, php-format msgid "Update %s failed. See error logs." msgstr "" -#: ../../boot.php:764 +#: ../../boot.php:767 #, php-format msgid "Update Error at %s" msgstr "" -#: ../../boot.php:864 +#: ../../boot.php:867 msgid "Create a New Account" msgstr "" -#: ../../boot.php:888 +#: ../../boot.php:891 msgid "Nickname or Email address: " msgstr "" -#: ../../boot.php:889 +#: ../../boot.php:892 msgid "Password: " msgstr "" -#: ../../boot.php:892 +#: ../../boot.php:895 msgid "Or login using OpenID: " msgstr "" -#: ../../boot.php:898 +#: ../../boot.php:901 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:1065 +#: ../../boot.php:1068 msgid "Edit profile" msgstr "" -#: ../../boot.php:1125 +#: ../../boot.php:1128 msgid "Message" msgstr "" -#: ../../boot.php:1241 ../../boot.php:1320 +#: ../../boot.php:1244 ../../boot.php:1323 msgid "g A l F d" msgstr "" -#: ../../boot.php:1242 ../../boot.php:1321 +#: ../../boot.php:1245 ../../boot.php:1324 msgid "F d" msgstr "" -#: ../../boot.php:1287 ../../boot.php:1361 +#: ../../boot.php:1290 ../../boot.php:1364 msgid "[today]" msgstr "" -#: ../../boot.php:1299 +#: ../../boot.php:1302 msgid "Birthday Reminders" msgstr "" -#: ../../boot.php:1300 +#: ../../boot.php:1303 msgid "Birthdays this week:" msgstr "" -#: ../../boot.php:1354 +#: ../../boot.php:1357 msgid "[No description]" msgstr "" -#: ../../boot.php:1372 +#: ../../boot.php:1375 msgid "Event Reminders" msgstr "" -#: ../../boot.php:1373 +#: ../../boot.php:1376 msgid "Events this week:" msgstr "" -#: ../../boot.php:1578 +#: ../../boot.php:1581 msgid "Status Messages and Posts" msgstr "" -#: ../../boot.php:1584 +#: ../../boot.php:1587 msgid "Profile Details" msgstr "" -#: ../../boot.php:1599 +#: ../../boot.php:1602 msgid "Events and Calendar" msgstr "" -#: ../../boot.php:1605 +#: ../../boot.php:1608 msgid "Only You Can See This" msgstr "" From fb2f4b6b350997cc63cc0fd5e4bb357249ced0d3 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sat, 21 Jul 2012 17:17:19 +0200 Subject: [PATCH 15/73] Photo now uses Imagick instead of gd. --- include/Photo.php | 793 ++++++++++++++++++++++------------------------ 1 file changed, 375 insertions(+), 418 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index ba4241a7b8..18e8e6e9a1 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -3,495 +3,452 @@ if(! class_exists("Photo")) { class Photo { - private $image; - private $width; - private $height; - private $valid; - private $type; - private $types; + private $image; + private $ext; - /** - * supported mimetypes and corresponding file extensions - */ - static function supportedTypes() { - $t = array(); - $t['image/jpeg'] ='jpg'; - if (imagetypes() & IMG_PNG) $t['image/png'] = 'png'; - return $t; - } + /** + * supported mimetypes and corresponding file extensions + */ + static function supportedTypes() { + /** + * Imagick::queryFormats won't help us a lot there... + * At least, not yet, other parts of friendica uses this array + */ + $t = array( + 'image/jpeg' => 'jpg', + 'image/png' => 'png', + 'image/gif' => 'gif' + ); + return $t; + } - public function __construct($data, $type="image/jpeg") { + public function __construct($data, $type=null) { + $this->image = new Imagick(); + $this->image->readImageBlob($data); - $this->types = $this->supportedTypes(); - if (!array_key_exists($type,$this->types)){ - $type='image/jpeg'; - } - $this->valid = false; - $this->type = $type; - $this->image = @imagecreatefromstring($data); - if($this->image !== FALSE) { - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); - $this->valid = true; - imagealphablending($this->image, false); - imagesavealpha($this->image, true); - } - } + // If it is a gif, it may be animated, get it ready for any future operations + if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); - public function __destruct() { - if($this->image) - imagedestroy($this->image); - } + $this->ext = strtolower($this->image->getImageFormat()); + } - public function is_valid() { - return $this->valid; - } + public function __destruct() { + if($this->image) { + $this->image->clear(); + $this->image->destroy(); + } + } - public function getWidth() { - return $this->width; - } + public function is_valid() { + return ($this->image !== FALSE); + } - public function getHeight() { - return $this->height; - } + public function getWidth() { + if(!$this->is_valid()) + return FALSE; - public function getImage() { - return $this->image; - } - - public function getType() { - return $this->type; - } - public function getExt() { - return $this->types[$this->type]; - } + return $this->image->getImageWidth(); + } - public function scaleImage($max) { + public function getHeight() { + if(!$this->is_valid()) + return FALSE; - $width = $this->width; - $height = $this->height; + return $this->image->getImageHeight(); + } - $dest_width = $dest_height = 0; + public function getImage() { + if(!$this->is_valid()) + return FALSE; - if((! $width)|| (! $height)) - return FALSE; + /* Clean it */ + $this->image = $this->image->deconstructImages(); + return $this->image; + } - if($width > $max && $height > $max) { - if($width > $height) { - $dest_width = $max; - $dest_height = intval(( $height * $max ) / $width); - } - else { - $dest_width = intval(( $width * $max ) / $height); - $dest_height = $max; - } - } - else { - if( $width > $max ) { - $dest_width = $max; - $dest_height = intval(( $height * $max ) / $width); - } - else { - if( $height > $max ) { - $dest_width = intval(( $width * $max ) / $height); - $dest_height = $max; - } - else { - $dest_width = $width; - $dest_height = $height; - } - } - } + public function getType() { + if(!$this->is_valid()) + return FALSE; + // This should do the trick (see supportedTypes above) + return 'image/'. $this->getExt(); + } - $dest = imagecreatetruecolor( $dest_width, $dest_height ); - imagealphablending($dest, false); - imagesavealpha($dest, true); - if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha - imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height); - if($this->image) - imagedestroy($this->image); - $this->image = $dest; - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); + public function getExt() { + if(!$this->is_valid()) + return FALSE; - } + return $this->ext; + } - public function rotate($degrees) { - $this->image = imagerotate($this->image,$degrees,0); - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); - } + public function scaleImage($max) { + if(!$this->is_valid()) + return FALSE; - public function flip($horiz = true, $vert = false) { - $w = imagesx($this->image); - $h = imagesy($this->image); - $flipped = imagecreate($w, $h); - if($horiz) { - for ($x = 0; $x < $w; $x++) { - imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h); - } - } - if($vert) { - for ($y = 0; $y < $h; $y++) { - imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1); - } - } - $this->image = $flipped; - } + /** + * If it is not animated, there will be only one iteration here, + * so don't bother checking + */ + // Don't forget to go back to the first frame for any further operation + $this->image->setFirstIterator(); + do { + $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true); + } while ($this->image->nextImage()); + } - public function orient($filename) { - // based off comment on http://php.net/manual/en/function.imagerotate.php + public function rotate($degrees) { + if(!$this->is_valid()) + return FALSE; - if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') ) - return; + $this->image->setFirstIterator(); + do { + $this->image->rotateImage(new ImagickPixel(), $degrees); + } while ($this->image->nextImage()); + } - $exif = exif_read_data($filename); - $ort = $exif['Orientation']; + public function flip($horiz = true, $vert = false) { + if(!$this->is_valid()) + return FALSE; - switch($ort) - { - case 1: // nothing - break; + $this->image->setFirstIterator(); + do { + if($horiz) $this->image->flipImage(); + if($vert) $this->image->flopImage(); + } while ($this->image->nextImage()); + } - case 2: // horizontal flip - $this->flip(); - break; - - case 3: // 180 rotate left - $this->rotate(180); - break; - - case 4: // vertical flip - $this->flip(false, true); - break; - - case 5: // vertical flip + 90 rotate right - $this->flip(false, true); + public function orient($filename) { + // based off comment on http://php.net/manual/en/function.imagerotate.php + + if(!$this->is_valid()) + return FALSE; + + if( (! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg') ) + return; + + $exif = exif_read_data($filename); + $ort = $exif['Orientation']; + + switch($ort) + { + case 1: // nothing + break; + + case 2: // horizontal flip + $this->flip(); + break; + + case 3: // 180 rotate left + $this->rotate(180); + break; + + case 4: // vertical flip + $this->flip(false, true); + break; + + case 5: // vertical flip + 90 rotate right + $this->flip(false, true); $this->rotate(-90); - break; - - case 6: // 90 rotate right - $this->rotate(-90); - break; - - case 7: // horizontal flip + 90 rotate right - $this->flip(); - $this->rotate(-90); - break; - - case 8: // 90 rotate left - $this->rotate(90); - break; - } - } + break; + + case 6: // 90 rotate right + $this->rotate(-90); + break; + + case 7: // horizontal flip + 90 rotate right + $this->flip(); + $this->rotate(-90); + break; + + case 8: // 90 rotate left + $this->rotate(90); + break; + } + } - public function scaleImageUp($min) { + public function scaleImageUp($min) { + if(!$this->is_valid()) + return FALSE; - $width = $this->width; - $height = $this->height; - - $dest_width = $dest_height = 0; - - if((! $width)|| (! $height)) - return FALSE; - - if($width < $min && $height < $min) { - if($width > $height) { - $dest_width = $min; - $dest_height = intval(( $height * $min ) / $width); - } - else { - $dest_width = intval(( $width * $min ) / $height); - $dest_height = $min; - } - } - else { - if( $width < $min ) { - $dest_width = $min; - $dest_height = intval(( $height * $min ) / $width); - } - else { - if( $height < $min ) { - $dest_width = intval(( $width * $min ) / $height); - $dest_height = $min; - } - else { - $dest_width = $width; - $dest_height = $height; - } - } - } - - - $dest = imagecreatetruecolor( $dest_width, $dest_height ); - imagealphablending($dest, false); - imagesavealpha($dest, true); - if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha - imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height); - if($this->image) - imagedestroy($this->image); - $this->image = $dest; - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); - - } + $this->scaleImage($min); + } - public function scaleImageSquare($dim) { + public function scaleImageSquare($dim) { + if(!$this->is_valid()) + return FALSE; - $dest = imagecreatetruecolor( $dim, $dim ); - imagealphablending($dest, false); - imagesavealpha($dest, true); - if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha - imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dim, $dim, $this->width, $this->height); - if($this->image) - imagedestroy($this->image); - $this->image = $dest; - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); - } + $this->image->setFirstIterator(); + do { + $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, false); + } while ($this->image->nextImage()); + } - public function cropImage($max,$x,$y,$w,$h) { - $dest = imagecreatetruecolor( $max, $max ); - imagealphablending($dest, false); - imagesavealpha($dest, true); - if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha - imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h); - if($this->image) - imagedestroy($this->image); - $this->image = $dest; - $this->width = imagesx($this->image); - $this->height = imagesy($this->image); - } + public function cropImage($max,$x,$y,$w,$h) { + if(!$this->is_valid()) + return FALSE; - public function saveImage($path) { - switch($this->type){ - case "image/png": - $quality = get_config('system','png_quality'); - if((! $quality) || ($quality > 9)) - $quality = PNG_QUALITY; - imagepng($this->image, $path, $quality); - break; - default: - $quality = get_config('system','jpeg_quality'); - if((! $quality) || ($quality > 100)) - $quality = JPEG_QUALITY; - imagejpeg($this->image,$path,$quality); - } - - } + $this->image->setFirstIterator(); + do { + $this->image->cropImage($w, $h, $x, $y); + /** + * We need to remove the canva, + * or the image is not resized to the crop: + * http://php.net/manual/en/imagick.cropimage.php#97232 + */ + $this->image->setImagePage(0, 0, 0, 0); + } while ($this->image->nextImage()); + $this->scaleImage($max); + } - public function imageString() { - ob_start(); - switch($this->type){ - case "image/png": - $quality = get_config('system','png_quality'); - if((! $quality) || ($quality > 9)) - $quality = PNG_QUALITY; - imagepng($this->image,NULL, $quality); - break; - default: - $quality = get_config('system','jpeg_quality'); - if((! $quality) || ($quality > 100)) - $quality = JPEG_QUALITY; + public function saveImage($path) { + if(!$this->is_valid()) + return FALSE; - imagejpeg($this->image,NULL,$quality); - } - $s = ob_get_contents(); - ob_end_clean(); - return $s; - } + $string = $this->imageString(); + file_put_contents($path, $string); + } + + public function imageString() { + if(!$this->is_valid()) + return FALSE; + + $quality = FALSE; + + /** + * Hmmm, + * we should do the conversion/compression at the initialisation i think + * This method may be called several times, + * and there is no need to do that more than once + */ + switch($this->image->getImageFormat()){ + case "PNG": + $quality = get_config('system','png_quality'); + if((! $quality) || ($quality > 9)) + $quality = PNG_QUALITY; + /** + * From http://www.imagemagick.org/script/command-line-options.php#quality: + * + * 'For the MNG and PNG image formats, the quality value sets + * the zlib compression level (quality / 10) and filter-type (quality % 10). + * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, + * unless the image has a color map, in which case it means compression level 7 with no PNG filtering' + */ + $quality = $quality * 10; + break; + case "GIF": + // We change nothing here, do we? + break; + default: + // Convert to jpeg by default + $quality = get_config('system','jpeg_quality'); + if((! $quality) || ($quality > 100)) + $quality = JPEG_QUALITY; + $this->image->setImageFormat('jpeg'); + } + + if($quality !== FALSE) { + // Do we need to iterate for animations? + $this->image->setImageCompressionQuality($quality); + $this->image->stripImage(); + } + + $string = $this->image->getImagesBlob(); + return $string; + } - public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') { + public function store($uid, $cid, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') { - $r = q("select `guid` from photo where `resource-id` = '%s' and `guid` != '' limit 1", - dbesc($rid) - ); - if(count($r)) - $guid = $r[0]['guid']; - else - $guid = get_guid(); + $r = q("select `guid` from photo where `resource-id` = '%s' and `guid` != '' limit 1", + dbesc($rid) + ); + if(count($r)) + $guid = $r[0]['guid']; + else + $guid = get_guid(); - $x = q("select id from photo where `resource-id` = '%s' and uid = %d and `contact-id` = %d and `scale` = %d limit 1", - dbesc($rid), - intval($uid), - intval($cid), - intval($scale) - ); - if(count($x)) { - $r = q("UPDATE `photo` - set `uid` = %d, - `contact-id` = %d, - `guid` = '%s', - `resource-id` = '%s', - `created` = '%s', - `edited` = '%s', - `filename` = '%s', - `type` = '%s', - `album` = '%s', - `height` = %d, - `width` = %d, - `data` = '%s', - `scale` = %d, - `profile` = %d, - `allow_cid` = '%s', - `allow_gid` = '%s', - `deny_cid` = '%s', - `deny_gid` = '%s' - where id = %d limit 1", + $x = q("select id from photo where `resource-id` = '%s' and uid = %d and `contact-id` = %d and `scale` = %d limit 1", + dbesc($rid), + intval($uid), + intval($cid), + intval($scale) + ); + if(count($x)) { + $r = q("UPDATE `photo` + set `uid` = %d, + `contact-id` = %d, + `guid` = '%s', + `resource-id` = '%s', + `created` = '%s', + `edited` = '%s', + `filename` = '%s', + `type` = '%s', + `album` = '%s', + `height` = %d, + `width` = %d, + `data` = '%s', + `scale` = %d, + `profile` = %d, + `allow_cid` = '%s', + `allow_gid` = '%s', + `deny_cid` = '%s', + `deny_gid` = '%s' + where id = %d limit 1", - intval($uid), - intval($cid), - dbesc($guid), - dbesc($rid), - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc(basename($filename)), - dbesc($this->type), - dbesc($album), - intval($this->height), - intval($this->width), - dbesc($this->imageString()), - intval($scale), - intval($profile), - dbesc($allow_cid), - dbesc($allow_gid), - dbesc($deny_cid), - dbesc($deny_gid), - intval($x[0]['id']) - ); - } - else { - $r = q("INSERT INTO `photo` - ( `uid`, `contact-id`, `guid`, `resource-id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` ) - VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )", - intval($uid), - intval($cid), - dbesc($guid), - dbesc($rid), - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc(basename($filename)), - dbesc($this->type), - dbesc($album), - intval($this->height), - intval($this->width), - dbesc($this->imageString()), - intval($scale), - intval($profile), - dbesc($allow_cid), - dbesc($allow_gid), - dbesc($deny_cid), - dbesc($deny_gid) - ); - } - return $r; - } + intval($uid), + intval($cid), + dbesc($guid), + dbesc($rid), + dbesc(datetime_convert()), + dbesc(datetime_convert()), + dbesc(basename($filename)), + dbesc($this->getType()), + dbesc($album), + intval($this->getHeight()), + intval($this->getWidth()), + dbesc($this->imageString()), + intval($scale), + intval($profile), + dbesc($allow_cid), + dbesc($allow_gid), + dbesc($deny_cid), + dbesc($deny_gid), + intval($x[0]['id']) + ); + } + else { + $r = q("INSERT INTO `photo` + ( `uid`, `contact-id`, `guid`, `resource-id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` ) + VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, '%s', '%s', '%s', '%s' )", + intval($uid), + intval($cid), + dbesc($guid), + dbesc($rid), + dbesc(datetime_convert()), + dbesc(datetime_convert()), + dbesc(basename($filename)), + dbesc($this->getType()), + dbesc($album), + intval($this->getHeight()), + intval($this->getWidth()), + dbesc($this->imageString()), + intval($scale), + intval($profile), + dbesc($allow_cid), + dbesc($allow_gid), + dbesc($deny_cid), + dbesc($deny_gid) + ); + } + return $r; + } }} /** * Guess image mimetype from filename or from Content-Type header - * + * * @arg $filename string Image filename * @arg $fromcurl boolean Check Content-Type header from curl request */ function guess_image_type($filename, $fromcurl=false) { logger('Photo: guess_image_type: '.$filename . ($fromcurl?' from curl headers':''), LOGGER_DEBUG); - $type = null; - if ($fromcurl) { - $a = get_app(); - $headers=array(); - $h = explode("\n",$a->get_curl_headers()); - foreach ($h as $l) { - list($k,$v) = array_map("trim", explode(":", trim($l), 2)); - $headers[$k] = $v; - } - if (array_key_exists('Content-Type', $headers)) - $type = $headers['Content-Type']; - } - if (is_null($type)){ - $ext = pathinfo($filename, PATHINFO_EXTENSION); - $types = Photo::supportedTypes(); - $type = "image/jpeg"; - foreach ($types as $m=>$e){ - if ($ext==$e) $type = $m; - } - - } + $type = null; + if ($fromcurl) { + $a = get_app(); + $headers=array(); + $h = explode("\n",$a->get_curl_headers()); + foreach ($h as $l) { + list($k,$v) = array_map("trim", explode(":", trim($l), 2)); + $headers[$k] = $v; + } + if (array_key_exists('Content-Type', $headers)) + $type = $headers['Content-Type']; + } + if (is_null($type)){ + // Guessing from extension? Isn't that... dangerous? + /*$ext = pathinfo($filename, PATHINFO_EXTENSION); + $types = Photo::supportedTypes(); + $type = "image/jpeg"; + foreach ($types as $m=>$e){ + if ($ext==$e) $type = $m; + }*/ + /** + * Well, this not much better, + * but at least it comes from the data inside the image, + * we won't be tricked by a manipulated extension + */ + $image = new Imagick($filename); + $type = 'image/'. strtolower($image->getImageFormat()); + } logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG); - return $type; - + return $type; + } function import_profile_photo($photo,$uid,$cid) { - $a = get_app(); + $a = get_app(); - $r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1", - intval($uid), - intval($cid) - ); - if(count($r)) { - $hash = $r[0]['resource-id']; - } - else { - $hash = photo_new_resource(); - } - - $photo_failure = false; + $r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1", + intval($uid), + intval($cid) + ); + if(count($r)) { + $hash = $r[0]['resource-id']; + } + else { + $hash = photo_new_resource(); + } - $filename = basename($photo); - $img_str = fetch_url($photo,true); - - // guess mimetype from headers or filename - $type = guess_image_type($photo,true); + $photo_failure = false; - - $img = new Photo($img_str, $type); - if($img->is_valid()) { + $filename = basename($photo); + $img_str = fetch_url($photo,true); - $img->scaleImageSquare(175); - - $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 ); + $img = new Photo($img_str); + if($img->is_valid()) { - if($r === false) - $photo_failure = true; + $img->scaleImageSquare(175); - $img->scaleImage(80); + $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 ); - $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 ); + if($r === false) + $photo_failure = true; - if($r === false) - $photo_failure = true; + $img->scaleImage(80); - $img->scaleImage(48); + $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 ); - $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 ); + if($r === false) + $photo_failure = true; - if($r === false) - $photo_failure = true; + $img->scaleImage(48); - $photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt(); - $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt(); - $micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt(); - } - else - $photo_failure = true; + $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 ); - if($photo_failure) { - $photo = $a->get_baseurl() . '/images/person-175.jpg'; - $thumb = $a->get_baseurl() . '/images/person-80.jpg'; - $micro = $a->get_baseurl() . '/images/person-48.jpg'; - } + if($r === false) + $photo_failure = true; - return(array($photo,$thumb,$micro)); + $photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt(); + $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt(); + $micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt(); + } + else + $photo_failure = true; + + if($photo_failure) { + $photo = $a->get_baseurl() . '/images/person-175.jpg'; + $thumb = $a->get_baseurl() . '/images/person-80.jpg'; + $micro = $a->get_baseurl() . '/images/person-48.jpg'; + } + + return(array($photo,$thumb,$micro)); } From 5255a5c9a9c3a2a574d42bd06dd3ce8429432a9c Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 21 Jul 2012 16:44:15 -0700 Subject: [PATCH 16/73] rev update --- boot.php | 2 +- mod/register.php | 4 ++-- util/messages.po | 34 ++++++++++++++++++++++++++++++---- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/boot.php b/boot.php index cc5bb22fb5..f54d02d951 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1410' ); +define ( 'FRIENDICA_VERSION', '3.0.1411' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/mod/register.php b/mod/register.php index d52b5a6e10..de86808cb4 100644 --- a/mod/register.php +++ b/mod/register.php @@ -12,7 +12,7 @@ function register_post(&$a) { call_hooks('register_post', $arr); $max_dailies = intval(get_config('system','max_daily_registrations')); - if($max_dailes) { + if($max_dailies) { $r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day"); if($r && $r[0]['total'] >= $max_dailies) { return; @@ -182,7 +182,7 @@ function register_content(&$a) { } $max_dailies = intval(get_config('system','max_daily_registrations')); - if($max_dailes) { + if($max_dailies) { $r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day"); if($r && $r[0]['total'] >= $max_dailies) { logger('max daily registrations exceeded.'); diff --git a/util/messages.po b/util/messages.po index fc19fc7f9a..8144401b7c 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1410\n" +"Project-Id-Version: 3.0.1411\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-20 10:00-0700\n" +"POT-Creation-Date: 2012-07-21 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -144,6 +144,7 @@ msgstr "" #: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93 #: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92 #: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41 +#: ../../addon/forumlist/forumlist.php:169 #: ../../addon/impressum/impressum.php:82 #: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57 #: ../../addon/qcomment/qcomment.php:61 @@ -4914,10 +4915,11 @@ msgid "%s - Click to open/close" msgstr "" #: ../../addon/page/page.php:61 ../../addon/page/page.php:91 +#: ../../addon/forumlist/forumlist.php:54 msgid "Forums" msgstr "" -#: ../../addon/page/page.php:129 +#: ../../addon/page/page.php:129 ../../addon/forumlist/forumlist.php:88 msgid "Forums:" msgstr "" @@ -4929,7 +4931,7 @@ msgstr "" msgid "Page Settings" msgstr "" -#: ../../addon/page/page.php:196 +#: ../../addon/page/page.php:196 ../../addon/forumlist/forumlist.php:155 msgid "How many forums to display on sidebar without paging" msgstr "" @@ -5417,6 +5419,30 @@ msgstr "" msgid "URL to embed:" msgstr "" +#: ../../addon/forumlist/forumlist.php:57 +msgid "show/hide" +msgstr "" + +#: ../../addon/forumlist/forumlist.php:72 +msgid "No forum subscriptions" +msgstr "" + +#: ../../addon/forumlist/forumlist.php:124 +msgid "Forumlist settings updated." +msgstr "" + +#: ../../addon/forumlist/forumlist.php:153 +msgid "Forumlist Settings" +msgstr "" + +#: ../../addon/forumlist/forumlist.php:158 +msgid "Randomise Forumlist/Forum list" +msgstr "" + +#: ../../addon/forumlist/forumlist.php:161 +msgid "Show forumlists/forums on profile forumlist" +msgstr "" + #: ../../addon/impressum/impressum.php:36 msgid "Impressum" msgstr "" From 863617013cb0c06fda7bca601693fce050cf8e6f Mon Sep 17 00:00:00 2001 From: Vasudev Kamath Date: Sun, 22 Jul 2012 12:41:07 +0530 Subject: [PATCH 17/73] Access image part of siteinfo only if $siteinfo["images"] is actually set. The current code didn't check this so I was getting an error Warning: Invalid argument supplied for foreach() in /home/vasudev/Public/friendica/mod/parse_url.php on line 305 Implemented a check before accessing $siteinfo["images"] with this commit and now warning doesn't come when giving URL of a site which doesn't have image from link button of post area --- mod/parse_url.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mod/parse_url.php b/mod/parse_url.php index 0610531967..5dd7de750b 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -302,11 +302,16 @@ function parse_url_content(&$a) { $image = ""; - foreach ($siteinfo["images"] as $imagedata) + if($siteinfo["image"] != ""){ + /* + Execute below code only if image is present in siteinfo + */ + foreach ($siteinfo["images"] as $imagedata) if($textmode) - $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]'; + $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]'; else - $image .= 'photo'; + $image .= 'photo'; + } if(strlen($text)) { if($textmode) From 6c2cd91184c0d1ced708802b73d62458dcaca997 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 13:43:46 +0200 Subject: [PATCH 18/73] gd is back in the game as a fallback: not everybody can have Imagick. --- include/Photo.php | 403 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 316 insertions(+), 87 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 18e8e6e9a1..de29dfb672 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -6,55 +6,105 @@ class Photo { private $image; private $ext; + /** + * Put back gd stuff, not everybody have Imagick + */ + private $imagick; + private $width; + private $height; + private $valid; + private $type; + private $types; + /** * supported mimetypes and corresponding file extensions */ static function supportedTypes() { - /** - * Imagick::queryFormats won't help us a lot there... - * At least, not yet, other parts of friendica uses this array - */ - $t = array( - 'image/jpeg' => 'jpg', - 'image/png' => 'png', - 'image/gif' => 'gif' - ); + if(class_exists('Imagick')) { + /** + * Imagick::queryFormats won't help us a lot there... + * At least, not yet, other parts of friendica uses this array + */ + $t = array( + 'image/jpeg' => 'jpg', + 'image/png' => 'png', + 'image/gif' => 'gif' + ); + } else { + $t = array(); + $t['image/jpeg'] ='jpg'; + if (imagetypes() & IMG_PNG) $t['image/png'] = 'png'; + } + return $t; } public function __construct($data, $type=null) { - $this->image = new Imagick(); - $this->image->readImageBlob($data); + $this->imagick = class_exists('Imagick'); - // If it is a gif, it may be animated, get it ready for any future operations - if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + if($this->is_imagick()) { + $this->image = new Imagick(); + $this->image->readImageBlob($data); - $this->ext = strtolower($this->image->getImageFormat()); + // If it is a gif, it may be animated, get it ready for any future operations + if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + + $this->ext = strtolower($this->image->getImageFormat()); + } else { + $this->types = $this->supportedTypes(); + if (!array_key_exists($type,$this->types)){ + $type='image/jpeg'; + } + $this->valid = false; + $this->type = $type; + $this->image = @imagecreatefromstring($data); + if($this->image !== FALSE) { + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); + $this->valid = true; + imagealphablending($this->image, false); + imagesavealpha($this->image, true); + } + } } public function __destruct() { if($this->image) { - $this->image->clear(); - $this->image->destroy(); + if($this->is_imagick()) { + $this->image->clear(); + $this->image->destroy(); + return; + } + imagedestroy($this->image); } } + public function is_imagick() { + return $this->imagick; + } + public function is_valid() { - return ($this->image !== FALSE); + if($this->is_imagick()) + return ($this->image !== FALSE); + return $this->valid; } public function getWidth() { if(!$this->is_valid()) return FALSE; - return $this->image->getImageWidth(); + if($this->is_imagick()) + return $this->image->getImageWidth(); + return $this->width; } public function getHeight() { if(!$this->is_valid()) return FALSE; - return $this->image->getImageHeight(); + if($this->is_imagick()) + return $this->image->getImageHeight(); + return $this->height; } public function getImage() { @@ -62,7 +112,10 @@ class Photo { return FALSE; /* Clean it */ - $this->image = $this->image->deconstructImages(); + if($this->is_imagick()) { + $this->image = $this->image->deconstructImages(); + return $this->image; + } return $this->image; } @@ -70,51 +123,131 @@ class Photo { if(!$this->is_valid()) return FALSE; - // This should do the trick (see supportedTypes above) - return 'image/'. $this->getExt(); + if($this->is_imagick()) { + // This should do the trick (see supportedTypes above) + return 'image/'. $this->getExt(); + } + return $this->type; } public function getExt() { if(!$this->is_valid()) return FALSE; - return $this->ext; + if($this->is_imagick()) + return $this->ext; + return $this->types[$this->type]; } public function scaleImage($max) { if(!$this->is_valid()) return FALSE; - /** - * If it is not animated, there will be only one iteration here, - * so don't bother checking - */ - // Don't forget to go back to the first frame for any further operation - $this->image->setFirstIterator(); - do { - $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true); - } while ($this->image->nextImage()); + if($this->is_imagick()) { + /** + * If it is not animated, there will be only one iteration here, + * so don't bother checking + */ + // Don't forget to go back to the first frame for any further operation + $this->image->setFirstIterator(); + do { + $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true); + } while ($this->image->nextImage()); + return; + } + + $width = $this->width; + $height = $this->height; + + $dest_width = $dest_height = 0; + + if((! $width)|| (! $height)) + return FALSE; + + if($width > $max && $height > $max) { + if($width > $height) { + $dest_width = $max; + $dest_height = intval(( $height * $max ) / $width); + } + else { + $dest_width = intval(( $width * $max ) / $height); + $dest_height = $max; + } + } + else { + if( $width > $max ) { + $dest_width = $max; + $dest_height = intval(( $height * $max ) / $width); + } + else { + if( $height > $max ) { + $dest_width = intval(( $width * $max ) / $height); + $dest_height = $max; + } + else { + $dest_width = $width; + $dest_height = $height; + } + } + } + + + $dest = imagecreatetruecolor( $dest_width, $dest_height ); + imagealphablending($dest, false); + imagesavealpha($dest, true); + if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha + imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height); + if($this->image) + imagedestroy($this->image); + $this->image = $dest; + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); } public function rotate($degrees) { if(!$this->is_valid()) return FALSE; - $this->image->setFirstIterator(); - do { - $this->image->rotateImage(new ImagickPixel(), $degrees); - } while ($this->image->nextImage()); + if($this->is_imagick()) { + $this->image->setFirstIterator(); + do { + $this->image->rotateImage(new ImagickPixel(), $degrees); + } while ($this->image->nextImage()); + return; + } + + $this->image = imagerotate($this->image,$degrees,0); + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); } public function flip($horiz = true, $vert = false) { if(!$this->is_valid()) return FALSE; - $this->image->setFirstIterator(); - do { - if($horiz) $this->image->flipImage(); - if($vert) $this->image->flopImage(); - } while ($this->image->nextImage()); + if($this->is_imagick()) { + $this->image->setFirstIterator(); + do { + if($horiz) $this->image->flipImage(); + if($vert) $this->image->flopImage(); + } while ($this->image->nextImage()); + return; + } + + $w = imagesx($this->image); + $h = imagesy($this->image); + $flipped = imagecreate($w, $h); + if($horiz) { + for ($x = 0; $x < $w; $x++) { + imagecopy($flipped, $this->image, $x, 0, $w - $x - 1, 0, 1, $h); + } + } + if($vert) { + for ($y = 0; $y < $h; $y++) { + imagecopy($flipped, $this->image, 0, $y, 0, $h - $y - 1, $w, 1); + } + } + $this->image = $flipped; } public function orient($filename) { @@ -172,7 +305,55 @@ class Photo { if(!$this->is_valid()) return FALSE; - $this->scaleImage($min); + if($this->is_imagick()) + return $this->scaleImage($min); + + $width = $this->width; + $height = $this->height; + + $dest_width = $dest_height = 0; + + if((! $width)|| (! $height)) + return FALSE; + + if($width < $min && $height < $min) { + if($width > $height) { + $dest_width = $min; + $dest_height = intval(( $height * $min ) / $width); + } + else { + $dest_width = intval(( $width * $min ) / $height); + $dest_height = $min; + } + } + else { + if( $width < $min ) { + $dest_width = $min; + $dest_height = intval(( $height * $min ) / $width); + } + else { + if( $height < $min ) { + $dest_width = intval(( $width * $min ) / $height); + $dest_height = $min; + } + else { + $dest_width = $width; + $dest_height = $height; + } + } + } + + + $dest = imagecreatetruecolor( $dest_width, $dest_height ); + imagealphablending($dest, false); + imagesavealpha($dest, true); + if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha + imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dest_width, $dest_height, $width, $height); + if($this->image) + imagedestroy($this->image); + $this->image = $dest; + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); } @@ -181,10 +362,24 @@ class Photo { if(!$this->is_valid()) return FALSE; - $this->image->setFirstIterator(); - do { - $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, false); - } while ($this->image->nextImage()); + if($this->is_imagick()) { + $this->image->setFirstIterator(); + do { + $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, false); + } while ($this->image->nextImage()); + return; + } + + $dest = imagecreatetruecolor( $dim, $dim ); + imagealphablending($dest, false); + imagesavealpha($dest, true); + if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha + imagecopyresampled($dest, $this->image, 0, 0, 0, 0, $dim, $dim, $this->width, $this->height); + if($this->image) + imagedestroy($this->image); + $this->image = $dest; + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); } @@ -192,17 +387,30 @@ class Photo { if(!$this->is_valid()) return FALSE; - $this->image->setFirstIterator(); - do { - $this->image->cropImage($w, $h, $x, $y); - /** - * We need to remove the canva, - * or the image is not resized to the crop: - * http://php.net/manual/en/imagick.cropimage.php#97232 - */ - $this->image->setImagePage(0, 0, 0, 0); - } while ($this->image->nextImage()); - $this->scaleImage($max); + if($this->is_imagick()) { + $this->image->setFirstIterator(); + do { + $this->image->cropImage($w, $h, $x, $y); + /** + * We need to remove the canva, + * or the image is not resized to the crop: + * http://php.net/manual/en/imagick.cropimage.php#97232 + */ + $this->image->setImagePage(0, 0, 0, 0); + } while ($this->image->nextImage()); + return $this->scaleImage($max); + } + + $dest = imagecreatetruecolor( $max, $max ); + imagealphablending($dest, false); + imagesavealpha($dest, true); + if ($this->type=='image/png') imagefill($dest, 0, 0, imagecolorallocatealpha($dest, 0, 0, 0, 127)); // fill with alpha + imagecopyresampled($dest, $this->image, 0, 0, $x, $y, $max, $max, $w, $h); + if($this->image) + imagedestroy($this->image); + $this->image = $dest; + $this->width = imagesx($this->image); + $this->height = imagesy($this->image); } public function saveImage($path) { @@ -220,27 +428,32 @@ class Photo { $quality = FALSE; /** - * Hmmm, + * Hmmm, for Imagick * we should do the conversion/compression at the initialisation i think * This method may be called several times, * and there is no need to do that more than once */ - switch($this->image->getImageFormat()){ - case "PNG": + + if(!$this->is_imagick()) ob_start(); + + switch($this->getType()){ + case "image/png": $quality = get_config('system','png_quality'); if((! $quality) || ($quality > 9)) $quality = PNG_QUALITY; - /** - * From http://www.imagemagick.org/script/command-line-options.php#quality: - * - * 'For the MNG and PNG image formats, the quality value sets - * the zlib compression level (quality / 10) and filter-type (quality % 10). - * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, - * unless the image has a color map, in which case it means compression level 7 with no PNG filtering' - */ - $quality = $quality * 10; + if($this->is_imagick()) { + /** + * From http://www.imagemagick.org/script/command-line-options.php#quality: + * + * 'For the MNG and PNG image formats, the quality value sets + * the zlib compression level (quality / 10) and filter-type (quality % 10). + * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, + * unless the image has a color map, in which case it means compression level 7 with no PNG filtering' + */ + $quality = $quality * 10; + } else imagepng($this->image,NULL, $quality); break; - case "GIF": + case "image/gif": // We change nothing here, do we? break; default: @@ -248,16 +461,24 @@ class Photo { $quality = get_config('system','jpeg_quality'); if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; - $this->image->setImageFormat('jpeg'); + if($this->is_imagick()) + $this->image->setImageFormat('jpeg'); + else imagejpeg($this->image,NULL,$quality); } - if($quality !== FALSE) { + if($this->is_imagick()) { + if($quality !== FALSE) { // Do we need to iterate for animations? $this->image->setImageCompressionQuality($quality); $this->image->stripImage(); + } + + $string = $this->image->getImagesBlob(); + } else { + $string = ob_get_contents(); + ob_end_clean(); } - $string = $this->image->getImagesBlob(); return $string; } @@ -373,19 +594,22 @@ function guess_image_type($filename, $fromcurl=false) { } if (is_null($type)){ // Guessing from extension? Isn't that... dangerous? - /*$ext = pathinfo($filename, PATHINFO_EXTENSION); - $types = Photo::supportedTypes(); - $type = "image/jpeg"; - foreach ($types as $m=>$e){ - if ($ext==$e) $type = $m; - }*/ - /** - * Well, this not much better, - * but at least it comes from the data inside the image, - * we won't be tricked by a manipulated extension - */ - $image = new Imagick($filename); - $type = 'image/'. strtolower($image->getImageFormat()); + if($this->is_imagick()) { + /** + * Well, this not much better, + * but at least it comes from the data inside the image, + * we won't be tricked by a manipulated extension + */ + $image = new Imagick($filename); + $type = 'image/'. strtolower($image->getImageFormat()); + } else { + $ext = pathinfo($filename, PATHINFO_EXTENSION); + $types = Photo::supportedTypes(); + $type = "image/jpeg"; + foreach ($types as $m=>$e){ + if ($ext==$e) $type = $m; + } + } } logger('Photo: guess_image_type: type='.$type, LOGGER_DEBUG); return $type; @@ -412,7 +636,12 @@ function import_profile_photo($photo,$uid,$cid) { $filename = basename($photo); $img_str = fetch_url($photo,true); - $img = new Photo($img_str); + if($this->is_imagick()) $type = null; + else { + // guess mimetype from headers or filename + $type = guess_image_type($photo,true); + } + $img = new Photo($img_str, $type); if($img->is_valid()) { $img->scaleImageSquare(175); From f723f756fd23f6eb2b19353177f36b5d02c7cba3 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 14:22:47 +0200 Subject: [PATCH 19/73] Photo::scaleImageSquare was giving an inexistent variable to scaleImage. --- include/Photo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Photo.php b/include/Photo.php index de29dfb672..1a65949663 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -365,7 +365,7 @@ class Photo { if($this->is_imagick()) { $this->image->setFirstIterator(); do { - $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, false); + $this->image->resizeImage($dim, $dim, imagick::FILTER_LANCZOS, 1, false); } while ($this->image->nextImage()); return; } From 5d0bd98d2a7c3c0aa1198c5f261d85c09685db28 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 14:50:19 +0200 Subject: [PATCH 20/73] Photo::getType() now uses the accurate Imagick::getImageMimeType() --- include/Photo.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 1a65949663..a9cef6a903 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -124,8 +124,7 @@ class Photo { return FALSE; if($this->is_imagick()) { - // This should do the trick (see supportedTypes above) - return 'image/'. $this->getExt(); + return $this->image->getImageMimeType(); } return $this->type; } From 0acb983be44dc1ca9431d680e6a7595c73eaf132 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 15:17:40 +0200 Subject: [PATCH 21/73] guess_image_type now uses Imagick::getImageMimeType() --- include/Photo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Photo.php b/include/Photo.php index a9cef6a903..c8a0ac1198 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -600,7 +600,7 @@ function guess_image_type($filename, $fromcurl=false) { * we won't be tricked by a manipulated extension */ $image = new Imagick($filename); - $type = 'image/'. strtolower($image->getImageFormat()); + $type = $image->getImageMimeType(); } else { $ext = pathinfo($filename, PATHINFO_EXTENSION); $types = Photo::supportedTypes(); From 689e3028bfc18438ce5681a2b2c92d3f0686b0d9 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 15:24:41 +0200 Subject: [PATCH 22/73] Use getImageFormat to know the image format in the constructor. Since we don't load the image with Imagick constructor, we need to use the [get|set]imageXXX methods. We should be able to handle the image as if it was loaded from Imagick constructor, so that we don't get lost between the image and its frames. Also added a debug log so that we get some info on unhandled mime types. --- include/Photo.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index c8a0ac1198..bba4603562 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -47,7 +47,7 @@ class Photo { $this->image->readImageBlob($data); // If it is a gif, it may be animated, get it ready for any future operations - if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + if($this->image->getImageFormat() !== "GIF") $this->image = $this->image->coalesceImages(); $this->ext = strtolower($this->image->getImageFormat()); } else { @@ -460,8 +460,10 @@ class Photo { $quality = get_config('system','jpeg_quality'); if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; - if($this->is_imagick()) + if($this->is_imagick()) { $this->image->setImageFormat('jpeg'); + logger('Photo: imageString: Unhandled mime type ('. $this->getType() .'), Imagick format is "'. $this->image->getImageFormat() .'"', LOGGER_DEBUG); + } else imagejpeg($this->image,NULL,$quality); } From 83075c2f27b41fabfc106669d4bac2ad3b24116c Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 16:12:47 +0200 Subject: [PATCH 23/73] Set the Imagick image format in the constructor, so we can uset [get|set](image)XXX methods as intended --- include/Photo.php | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index bba4603562..830f5213e8 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -46,8 +46,14 @@ class Photo { $this->image = new Imagick(); $this->image->readImageBlob($data); + /** + * Setup the image to the format of the one we just loaded, + * we'll change it to something else if we need to at the time we save it + */ + $this->image->setFormat($this->image->getImageFormat()); + // If it is a gif, it may be animated, get it ready for any future operations - if($this->image->getImageFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); $this->ext = strtolower($this->image->getImageFormat()); } else { @@ -111,8 +117,8 @@ class Photo { if(!$this->is_valid()) return FALSE; - /* Clean it */ if($this->is_imagick()) { + /* Clean it */ $this->image = $this->image->deconstructImages(); return $this->image; } @@ -147,7 +153,7 @@ class Photo { * If it is not animated, there will be only one iteration here, * so don't bother checking */ - // Don't forget to go back to the first frame for any further operation + // Don't forget to go back to the first frame $this->image->setFirstIterator(); do { $this->image->resizeImage($max, $max, imagick::FILTER_LANCZOS, 1, true); @@ -461,17 +467,17 @@ class Photo { if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; if($this->is_imagick()) { - $this->image->setImageFormat('jpeg'); - logger('Photo: imageString: Unhandled mime type ('. $this->getType() .'), Imagick format is "'. $this->image->getImageFormat() .'"', LOGGER_DEBUG); + $this->image->setFormat('jpeg'); + logger('Photo: imageString: Unhandled mime type ('. $this->getType() .'), Imagick format is "'. $this->image->getFormat() .'"', LOGGER_DEBUG); } else imagejpeg($this->image,NULL,$quality); } if($this->is_imagick()) { if($quality !== FALSE) { - // Do we need to iterate for animations? - $this->image->setImageCompressionQuality($quality); - $this->image->stripImage(); + // Do we need to iterate for animations? + $this->image->setCompressionQuality($quality); + $this->image->stripImage(); } $string = $this->image->getImagesBlob(); From ab484ebc76722624bb8823e9de459c9ce026465a Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 16:19:35 +0200 Subject: [PATCH 24/73] getExt should not use Imagick format, mapping ext and mime type is more accurate. --- include/Photo.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 830f5213e8..4ac84d9015 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -4,7 +4,6 @@ if(! class_exists("Photo")) { class Photo { private $image; - private $ext; /** * Put back gd stuff, not everybody have Imagick @@ -41,6 +40,7 @@ class Photo { public function __construct($data, $type=null) { $this->imagick = class_exists('Imagick'); + $this->types = $this->supportedTypes(); if($this->is_imagick()) { $this->image = new Imagick(); @@ -54,10 +54,7 @@ class Photo { // If it is a gif, it may be animated, get it ready for any future operations if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); - - $this->ext = strtolower($this->image->getImageFormat()); } else { - $this->types = $this->supportedTypes(); if (!array_key_exists($type,$this->types)){ $type='image/jpeg'; } @@ -139,9 +136,7 @@ class Photo { if(!$this->is_valid()) return FALSE; - if($this->is_imagick()) - return $this->ext; - return $this->types[$this->type]; + return $this->types[$this->getType()]; } public function scaleImage($max) { From c0d3d50fb58667e03a80a25676092afd3cf630d4 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 16:22:06 +0200 Subject: [PATCH 25/73] Don't forget to clean frames before saving --- include/Photo.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/Photo.php b/include/Photo.php index 4ac84d9015..06b90bb88a 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -475,6 +475,8 @@ class Photo { $this->image->stripImage(); } + /* Clean it */ + $this->image = $this->image->deconstructImages(); $string = $this->image->getImagesBlob(); } else { $string = ob_get_contents(); From 7a1f15c8dae30a69b7879d0c46eafee788098c5a Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 16:27:22 +0200 Subject: [PATCH 26/73] Always coalesce, if it is not a multi-frame image it won't hurt anyway --- include/Photo.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 06b90bb88a..8625473879 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -52,8 +52,8 @@ class Photo { */ $this->image->setFormat($this->image->getImageFormat()); - // If it is a gif, it may be animated, get it ready for any future operations - if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + // Always coalesce, if it is not a multi-frame image it won't hurt anyway + $this->image = $this->image->coalesceImages(); } else { if (!array_key_exists($type,$this->types)){ $type='image/jpeg'; From 62cd4dcb77ef5b07b7c53c6f2a39849474254c56 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 17:07:13 +0200 Subject: [PATCH 27/73] Set the type to what it will be saved to in the constructor --- include/Photo.php | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 8625473879..982e435f17 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -38,28 +38,41 @@ class Photo { return $t; } + /** + * Maps Mime types to Imagick formats + */ + static function get_FormatsMap() { + $m = array( + 'image/jpeg' => 'JPG', + 'image/png' => 'PNG', + 'image/gif' => 'GIF' + ); + return $m; + } + public function __construct($data, $type=null) { $this->imagick = class_exists('Imagick'); $this->types = $this->supportedTypes(); + if (!array_key_exists($type,$this->types)){ + $type='image/jpeg'; + } + $this->type = $type; if($this->is_imagick()) { $this->image = new Imagick(); $this->image->readImageBlob($data); /** - * Setup the image to the format of the one we just loaded, - * we'll change it to something else if we need to at the time we save it + * Setup the image to the format it will be saved to */ - $this->image->setFormat($this->image->getImageFormat()); + $map = $this->get_FormatsMap(); + $format = $map[$type]; + $this->image->setFormat($format); // Always coalesce, if it is not a multi-frame image it won't hurt anyway $this->image = $this->image->coalesceImages(); } else { - if (!array_key_exists($type,$this->types)){ - $type='image/jpeg'; - } $this->valid = false; - $this->type = $type; $this->image = @imagecreatefromstring($data); if($this->image !== FALSE) { $this->width = imagesx($this->image); @@ -126,9 +139,6 @@ class Photo { if(!$this->is_valid()) return FALSE; - if($this->is_imagick()) { - return $this->image->getImageMimeType(); - } return $this->type; } @@ -457,14 +467,9 @@ class Photo { // We change nothing here, do we? break; default: - // Convert to jpeg by default $quality = get_config('system','jpeg_quality'); if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; - if($this->is_imagick()) { - $this->image->setFormat('jpeg'); - logger('Photo: imageString: Unhandled mime type ('. $this->getType() .'), Imagick format is "'. $this->image->getFormat() .'"', LOGGER_DEBUG); - } else imagejpeg($this->image,NULL,$quality); } @@ -640,11 +645,7 @@ function import_profile_photo($photo,$uid,$cid) { $filename = basename($photo); $img_str = fetch_url($photo,true); - if($this->is_imagick()) $type = null; - else { - // guess mimetype from headers or filename - $type = guess_image_type($photo,true); - } + $type = guess_image_type($photo,true); $img = new Photo($img_str, $type); if($img->is_valid()) { From a3df0d9817cd8c3e7f8b011ed68bd9528132d7bc Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 17:09:18 +0200 Subject: [PATCH 28/73] get_FormatsMap doesn't need to be static --- include/Photo.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 982e435f17..0fa0207288 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -38,18 +38,6 @@ class Photo { return $t; } - /** - * Maps Mime types to Imagick formats - */ - static function get_FormatsMap() { - $m = array( - 'image/jpeg' => 'JPG', - 'image/png' => 'PNG', - 'image/gif' => 'GIF' - ); - return $m; - } - public function __construct($data, $type=null) { $this->imagick = class_exists('Imagick'); $this->types = $this->supportedTypes(); @@ -99,6 +87,18 @@ class Photo { return $this->imagick; } + /** + * Maps Mime types to Imagick formats + */ + public function get_FormatsMap() { + $m = array( + 'image/jpeg' => 'JPG', + 'image/png' => 'PNG', + 'image/gif' => 'GIF' + ); + return $m; + } + public function is_valid() { if($this->is_imagick()) return ($this->image !== FALSE); From 36f600aaf2a9c5c39a23ded592a09d1b845b058e Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 17:27:09 +0200 Subject: [PATCH 29/73] Moved compression setup in constructor for Imagick --- include/Photo.php | 80 +++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index 0fa0207288..b728536241 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -59,6 +59,32 @@ class Photo { // Always coalesce, if it is not a multi-frame image it won't hurt anyway $this->image = $this->image->coalesceImages(); + + /** + * setup the compression here, so we'll do it only once + */ + switch($this->getType()){ + case "image/png": + $quality = get_config('system','png_quality'); + if((! $quality) || ($quality > 9)) + $quality = PNG_QUALITY; + /** + * From http://www.imagemagick.org/script/command-line-options.php#quality: + * + * 'For the MNG and PNG image formats, the quality value sets + * the zlib compression level (quality / 10) and filter-type (quality % 10). + * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, + * unless the image has a color map, in which case it means compression level 7 with no PNG filtering' + */ + $quality = $quality * 10; + $this->image->setCompressionQuality($quality); + break; + case "image/jpeg": + $quality = get_config('system','jpeg_quality'); + if((! $quality) || ($quality > 100)) + $quality = JPEG_QUALITY; + $this->image->setCompressionQuality($quality); + } } else { $this->valid = false; $this->image = @imagecreatefromstring($data); @@ -435,58 +461,32 @@ class Photo { if(!$this->is_valid()) return FALSE; + if($this->is_imagick()) { + /* Clean it */ + $this->image = $this->image->deconstructImages(); + $string = $this->image->getImagesBlob(); + return $string; + } + $quality = FALSE; - /** - * Hmmm, for Imagick - * we should do the conversion/compression at the initialisation i think - * This method may be called several times, - * and there is no need to do that more than once - */ - - if(!$this->is_imagick()) ob_start(); + ob_start() switch($this->getType()){ case "image/png": $quality = get_config('system','png_quality'); if((! $quality) || ($quality > 9)) $quality = PNG_QUALITY; - if($this->is_imagick()) { - /** - * From http://www.imagemagick.org/script/command-line-options.php#quality: - * - * 'For the MNG and PNG image formats, the quality value sets - * the zlib compression level (quality / 10) and filter-type (quality % 10). - * The default PNG "quality" is 75, which means compression level 7 with adaptive PNG filtering, - * unless the image has a color map, in which case it means compression level 7 with no PNG filtering' - */ - $quality = $quality * 10; - } else imagepng($this->image,NULL, $quality); + imagepng($this->image,NULL, $quality); break; - case "image/gif": - // We change nothing here, do we? - break; - default: + case "image/jpeg": $quality = get_config('system','jpeg_quality'); if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; - else imagejpeg($this->image,NULL,$quality); - } - - if($this->is_imagick()) { - if($quality !== FALSE) { - // Do we need to iterate for animations? - $this->image->setCompressionQuality($quality); - $this->image->stripImage(); - } - - /* Clean it */ - $this->image = $this->image->deconstructImages(); - $string = $this->image->getImagesBlob(); - } else { - $string = ob_get_contents(); - ob_end_clean(); + imagejpeg($this->image,NULL,$quality); } + $string = ob_get_contents(); + ob_end_clean(); return $string; } @@ -603,7 +603,7 @@ function guess_image_type($filename, $fromcurl=false) { } if (is_null($type)){ // Guessing from extension? Isn't that... dangerous? - if($this->is_imagick()) { + if(class_exists('Imagick')) { /** * Well, this not much better, * but at least it comes from the data inside the image, From ba76af348872d47c3949269eeb4b7a7effcf226e Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 17:50:58 +0200 Subject: [PATCH 30/73] Forgot a ; --- include/Photo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Photo.php b/include/Photo.php index b728536241..1f751c77f3 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -470,7 +470,7 @@ class Photo { $quality = FALSE; - ob_start() + ob_start(); switch($this->getType()){ case "image/png": From cdf67ce7251288e93651e36ee1f57f6e6d44428d Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 22 Jul 2012 15:39:25 -0700 Subject: [PATCH 31/73] rev update --- boot.php | 2 +- util/messages.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boot.php b/boot.php index f54d02d951..3a541a272e 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1411' ); +define ( 'FRIENDICA_VERSION', '3.0.1412' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/util/messages.po b/util/messages.po index 8144401b7c..a365fdf46a 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1411\n" +"Project-Id-Version: 3.0.1412\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-21 10:00-0700\n" +"POT-Creation-Date: 2012-07-22 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From d6c600ce112d29cc05dc241246c5124c9447f321 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Mon, 23 Jul 2012 15:35:31 +0200 Subject: [PATCH 32/73] Hooks now have a 'priority' value, default to 0. The hooks are retrieved from the database by descending priority. As a result they are run in the same order. --- include/plugin.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/plugin.php b/include/plugin.php index ffa562273f..d6f81b8172 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -111,7 +111,7 @@ function reload_plugins() { if(! function_exists('register_hook')) { -function register_hook($hook,$file,$function) { +function register_hook($hook,$file,$function,$priority=0) { $r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1", dbesc($hook), @@ -121,10 +121,11 @@ function register_hook($hook,$file,$function) { if(count($r)) return true; - $r = q("INSERT INTO `hook` (`hook`, `file`, `function`) VALUES ( '%s', '%s', '%s' ) ", + $r = q("INSERT INTO `hook` (`hook`, `file`, `function`, `priority`) VALUES ( '%s', '%s', '%s', '%s' ) ", dbesc($hook), dbesc($file), - dbesc($function) + dbesc($function), + dbesc($priority) ); return $r; }} @@ -145,7 +146,7 @@ if(! function_exists('load_hooks')) { function load_hooks() { $a = get_app(); $a->hooks = array(); - $r = q("SELECT * FROM `hook` WHERE 1"); + $r = q("SELECT * FROM `hook` WHERE 1 ORDER BY `priority` DESC"); if(count($r)) { foreach($r as $rr) { if(! array_key_exists($rr['hook'],$a->hooks)) @@ -161,6 +162,7 @@ function call_hooks($name, &$data = null) { $a = get_app(); if((is_array($a->hooks)) && (array_key_exists($name,$a->hooks))) { + logger('call_hooks ' . print_r($a->hooks[$name],true) , LOGGER_DEBUG); foreach($a->hooks[$name] as $hook) { @include_once($hook[0]); if(function_exists($hook[1])) { From 35f1081bfe834d268744e091c24d730cda2064c4 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Mon, 23 Jul 2012 20:16:06 +0200 Subject: [PATCH 33/73] Removed the debug statement --- include/plugin.php | 1 - 1 file changed, 1 deletion(-) diff --git a/include/plugin.php b/include/plugin.php index d6f81b8172..f60a7d2961 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -162,7 +162,6 @@ function call_hooks($name, &$data = null) { $a = get_app(); if((is_array($a->hooks)) && (array_key_exists($name,$a->hooks))) { - logger('call_hooks ' . print_r($a->hooks[$name],true) , LOGGER_DEBUG); foreach($a->hooks[$name] as $hook) { @include_once($hook[0]); if(function_exists($hook[1])) { From b20a80bf39e6121ca0e3bbf84496e7dd9bc234f5 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Jul 2012 15:27:25 -0700 Subject: [PATCH 34/73] rev update --- boot.php | 2 +- util/messages.po | 4 ++-- view/wall_item.tpl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/boot.php b/boot.php index 3a541a272e..018b3b9f3f 100644 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1412' ); +define ( 'FRIENDICA_VERSION', '3.0.1413' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1153 ); diff --git a/util/messages.po b/util/messages.po index a365fdf46a..fcbfc33c53 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1412\n" +"Project-Id-Version: 3.0.1413\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-22 10:00-0700\n" +"POT-Creation-Date: 2012-07-23 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/view/wall_item.tpl b/view/wall_item.tpl index 60dde76000..496dab4a3f 100644 --- a/view/wall_item.tpl +++ b/view/wall_item.tpl @@ -24,7 +24,7 @@
    $item.name -
    $item.ago
    +
    $item.ago
    From 0d631cc08c21997d8e97f84aaaa12d2b2cafeffa Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Jul 2012 15:57:40 -0700 Subject: [PATCH 35/73] hopefully better update handling - never update the current DB version or continue with other updates if there was a failure of any individual update. --- boot.php | 12 +++++++----- mod/admin.php | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/boot.php b/boot.php index 018b3b9f3f..340ef13994 100644 --- a/boot.php +++ b/boot.php @@ -747,9 +747,10 @@ if(! function_exists('check_config')) { // If the update fails or times-out completely you may need to // delete the config entry to try again. - if(get_config('database','update_' . $x)) + $t = get_config('database','update_' . $x); + if($t !== false) break; - set_config('database','update_' . $x, '1'); + set_config('database','update_' . $x, time()); // call the specific update @@ -772,13 +773,14 @@ if(! function_exists('check_config')) { . 'Content-transfer-encoding: 8bit' ); //try the logger logger('CRITICAL: Update Failed: '. $x); + break; } - else + else { set_config('database','update_' . $x, 'success'); - + set_config('system','build', $x + 1); + } } } - set_config('system','build', DB_UPDATE_VERSION); } } } diff --git a/mod/admin.php b/mod/admin.php index c8ed7a53bb..05af01aa41 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -471,6 +471,9 @@ function admin_page_dbsync(&$a) { if($a->argc > 3 && intval($a->argv[3]) && $a->argv[2] === 'mark') { set_config('database', 'update_' . intval($a->argv[3]), 'success'); + $curr = get_config('system','build'); + if(intval($curr) == intval($a->argv[3])) + set_config('system','build',intval($curr) + 1); info( t('Update has been marked successful') . EOL); goaway($a->get_baseurl(true) . '/admin/dbsync'); } From c052c6afca08eff24c0b4b95c7bde1e9ee2c4e31 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Tue, 24 Jul 2012 01:21:02 +0200 Subject: [PATCH 36/73] Database can now be automatically updated --- boot.php | 2 +- database.sql | 1 + update.php | 9 ++++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index 3a541a272e..bcff5dddd2 100644 --- a/boot.php +++ b/boot.php @@ -12,7 +12,7 @@ require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '3.0.1412' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1153 ); +define ( 'DB_UPDATE_VERSION', 1154 ); define ( 'EOL', "
    \r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 1d0a321760..80ce05ba0c 100644 --- a/database.sql +++ b/database.sql @@ -456,6 +456,7 @@ CREATE TABLE IF NOT EXISTS `hook` ( `hook` char(255) NOT NULL, `file` char(255) NOT NULL, `function` char(255) NOT NULL, + `priority` int(11) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/update.php b/update.php index d752eaa6df..9442f825bb 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ Date: Mon, 23 Jul 2012 20:37:00 -0600 Subject: [PATCH 37/73] changes to support a mobile theme --- boot.php | 21 ++- include/plugin.php | 1 + include/text.php | 2 +- js/main.js | 2 +- library/Mobile_Detect/Mobile_Detect.php | 221 ++++++++++++++++++++++++ mod/photos.php | 2 +- mod/pretheme.php | 12 +- view/common_tabs.tpl | 2 +- view/jot-header.tpl | 6 +- view/photo_edit.tpl | 9 +- view/photos_upload.tpl | 8 +- view/profile_edit.tpl | 14 +- 12 files changed, 260 insertions(+), 40 deletions(-) create mode 100644 library/Mobile_Detect/Mobile_Detect.php diff --git a/boot.php b/boot.php index bcff5dddd2..773e2d9660 100644 --- a/boot.php +++ b/boot.php @@ -8,6 +8,7 @@ require_once('include/datetime.php'); require_once('include/pgettext.php'); require_once('include/nav.php'); require_once('include/cache.php'); +require_once('library/Mobile_Detect/Mobile_Detect.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '3.0.1412' ); @@ -559,7 +560,7 @@ if(! class_exists('App')) { $interval = 40000; $this->page['title'] = $this->config['sitename']; - $tpl = file_get_contents('view/head.tpl'); + $tpl = get_markup_template('head.tpl'); $this->page['htmlhead'] = replace_macros($tpl,array( '$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!! '$local_user' => local_user(), @@ -1441,8 +1442,17 @@ if(! function_exists('current_theme')) { $a = get_app(); - $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : ''); - $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); + $mobile_detect = new Mobile_Detect(); + $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet(); + + if($is_mobile) { + $system_theme = ((isset($a->config['system']['mobile-theme'])) ? $a->config['system']['mobile-theme'] : ''); + $theme_name = ((isset($_SESSION) && x($_SESSION,'mobile-theme')) ? $_SESSION['mobile-theme'] : $system_theme); + } + else { + $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : ''); + $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); + } if($theme_name && (file_exists('view/theme/' . $theme_name . '/style.css') || @@ -1579,18 +1589,21 @@ if(! function_exists('profile_tabs')){ 'url' => $url, 'sel' => ((!isset($tab)&&$a->argv[0]=='profile')?'active':''), 'title' => t('Status Messages and Posts'), + 'id' => 'status-tab', ), array( 'label' => t('Profile'), 'url' => $url.'/?tab=profile', 'sel' => ((isset($tab) && $tab=='profile')?'active':''), 'title' => t('Profile Details'), + 'id' => 'profile-tab', ), array( 'label' => t('Photos'), 'url' => $a->get_baseurl() . '/photos/' . $nickname, 'sel' => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''), 'title' => t('Photo Albums'), + 'id' => 'photo-tab', ), ); @@ -1600,12 +1613,14 @@ if(! function_exists('profile_tabs')){ 'url' => $a->get_baseurl() . '/events', 'sel' =>((!isset($tab)&&$a->argv[0]=='events')?'active':''), 'title' => t('Events and Calendar'), + 'id' => 'events-tab', ); $tabs[] = array( 'label' => t('Personal Notes'), 'url' => $a->get_baseurl() . '/notes', 'sel' =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''), 'title' => t('Only You Can See This'), + 'id' => 'notes-tab', ); } diff --git a/include/plugin.php b/include/plugin.php index f60a7d2961..8f6d6ea985 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -256,6 +256,7 @@ function get_theme_info($theme){ 'author' => array(), 'maintainer' => array(), 'version' => "", + 'credits' => "", 'experimental' => false, 'unsupported' => false ); diff --git a/include/text.php b/include/text.php index bfa832425d..41030e677c 100644 --- a/include/text.php +++ b/include/text.php @@ -403,7 +403,7 @@ function load_view_file($s) { return file_get_contents("$d/$lang/$b"); $theme = current_theme(); - + if(file_exists("$d/theme/$theme/$b")) return file_get_contents("$d/theme/$theme/$b"); diff --git a/js/main.js b/js/main.js index a5ce894601..c7db9a0691 100644 --- a/js/main.js +++ b/js/main.js @@ -641,7 +641,7 @@ Array.prototype.remove = function(item) { function previewTheme(elm) { theme = $(elm).val(); $.getJSON('pretheme?f=&theme=' + theme,function(data) { - $('#theme-preview').html('
    ' + data.desc + '
    ' + theme + ''); + $('#theme-preview').html('
    ' + data.desc + '
    ' + data.version + '
    ' + data.credits + '
    ' + theme + ''); }); } diff --git a/library/Mobile_Detect/Mobile_Detect.php b/library/Mobile_Detect/Mobile_Detect.php new file mode 100644 index 0000000000..4b8c9fecb1 --- /dev/null +++ b/library/Mobile_Detect/Mobile_Detect.php @@ -0,0 +1,221 @@ +isMobile() or $detect->isTablet() + * + * For more specific usage see the documentation navigate to: + * http://code.google.com/p/php-mobile-detect/wiki/Mobile_Detect + * + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ + +class Mobile_Detect { + + protected $detectionRules; + protected $userAgent = null; + protected $accept = null; + // Assume the visitor has a desktop environment. + protected $isMobile = false; + protected $isTablet = false; + protected $phoneDeviceName = null; + protected $tabletDevicename = null; + protected $operatingSystemName = null; + protected $userAgentName = null; + // List of mobile devices (phones) + protected $phoneDevices = array( + 'iPhone' => '(iPhone.*Mobile|iPod|iTunes)', + 'BlackBerry' => 'BlackBerry|rim[0-9]+', + 'HTC' => 'HTC|HTC.*(6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT', + 'Nexus' => 'Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus', + 'Dell' => 'Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35', + 'Motorola' => '\bDroid\b.*Build|DROIDX|HRI39|MOT\-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT909|XT910|XT912|XT928', + 'Samsung' => 'Samsung|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9300 |GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-P6810|GT-P7100|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100', + 'Sony' => 'E10i|SonyEricsson|SonyEricssonLT15iv', + 'Asus' => 'Asus.*Galaxy', + 'Palm' => 'PalmSource|Palm', // avantgo|blazer|elaine|hiptop|plucker|xiino ; @todo - complete the regex. + 'Vertu' => 'Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature', // Just for fun ;) + 'GenericPhone' => '(mmp|pocket|psp|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|wap|nokia|Series40|Series60|S60|SonyEricsson|N900|PPC;|MAUI.*WAP.*Browser|LG-P500)' + ); + // List of tablet devices. + protected $tabletDevices = array( + 'BlackBerryTablet' => 'PlayBook|RIM Tablet', + 'iPad' => 'iPad|iPad.*Mobile', // @todo: check for mobile friendly emails topic. + 'Kindle' => 'Kindle|Silk.*Accelerated', + 'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|GT-P1000|GT-P1010|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P1000|GT-P3100|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7300|GT-P7320|GT-P7500|GT-P7510|GT-P7511', + 'HTCtablet' => 'HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200', + 'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617', + 'AsusTablet' => 'Transformer|TF101', + 'NookTablet' => 'NookColor|nook browser|BNTV250A|LogicPD Zoom2', + 'AcerTablet' => 'Android.*\b(A100|A101|A200|A500|A501|A510|W500|W500P|W501|W501P)\b', + 'YarvikTablet' => 'Android.*(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468)', + 'GenericTablet' => 'Tablet(?!.*PC)|ViewPad7|LG-V909|MID7015|BNTV250A|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b', + ); + // List of mobile Operating Systems. + protected $operatingSystems = array( + 'AndroidOS' => '(android.*mobile|android(?!.*mobile))', + 'BlackBerryOS' => '(blackberry|rim tablet os)', + 'PalmOS' => '(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)', + 'SymbianOS' => 'Symbian|SymbOS|Series60|Series40|\bS60\b', + 'WindowsMobileOS' => 'IEMobile|Windows Phone|Windows CE.*(PPC|Smartphone)|MSIEMobile|Window Mobile|XBLWP7', + 'iOS' => '(iphone|ipod|ipad)', + 'FlashLiteOS' => '', + 'JavaOS' => '', + 'NokiaOS' => '', + 'webOS' => '', + 'badaOS' => '\bBada\b', + 'BREWOS' => '', + ); + // List of mobile User Agents. + protected $userAgents = array( + 'Chrome' => '\bCrMo\b|Chrome\/[.0-9]* Mobile', + 'Dolfin' => '\bDolfin\b', + 'Opera' => 'Opera.*Mini|Opera.*Mobi|Android.*Opera', + 'Skyfire' => 'skyfire', + 'IE' => 'IEMobile|MSIEMobile', + 'Firefox' => 'fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile', + 'Bolt' => 'bolt', + 'TeaShark' => 'teashark', + 'Blazer' => 'Blazer', + 'Safari' => 'Mobile.*Safari|Safari.*Mobile', + 'Midori' => 'midori', + 'GenericBrowser' => 'NokiaBrowser|OviBrowser|SEMC.*Browser' + ); + + function __construct(){ + + // Merge all rules together. + $this->detectionRules = array_merge( + $this->phoneDevices, + $this->tabletDevices, + $this->operatingSystems, + $this->userAgents + ); + $this->userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null; + $this->accept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : null; + + if ( + isset($_SERVER['HTTP_X_WAP_PROFILE']) || + isset($_SERVER['HTTP_X_WAP_CLIENTID']) || + isset($_SERVER['HTTP_WAP_CONNECTION']) || + isset($_SERVER['HTTP_PROFILE']) || + isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']) || // Reported by Nokia devices (eg. C3) + isset($_SERVER['HTTP_X_NOKIA_IPADDRESS']) || + isset($_SERVER['HTTP_X_NOKIA_GATEWAY_ID']) || + isset($_SERVER['HTTP_X_ORANGE_ID']) || + isset($_SERVER['HTTP_X_VODAFONE_3GPDPCONTEXT']) || + isset($_SERVER['HTTP_X_HUAWEI_USERID']) || + isset($_SERVER['HTTP_UA_OS']) || // Reported by Windows Smartphones + (isset($_SERVER['HTTP_UA_CPU']) && $_SERVER['HTTP_UA_CPU'] == 'ARM') // Seen this on a HTC + ) { + $this->isMobile = true; + } elseif (!empty($this->accept) && (strpos($this->accept, 'text/vnd.wap.wml') !== false || strpos($this->accept, 'application/vnd.wap.xhtml+xml') !== false)) { + $this->isMobile = true; + } else { + $this->_detect(); + } + + } + + public function getRules() + { + return $this->detectionRules; + } + + /** + * Magic overloading method. + * + * @method boolean is[...]() + * @param string $name + * @param array $arguments + * @return mixed + */ + public function __call($name, $arguments) + { + + $key = substr($name, 2); + return $this->_detect($key); + + } + + /** + * Private method that does the detection of the + * mobile devices. + * + * @param string $key + * @return boolean|null + */ + private function _detect($key='') + { + + if(empty($key)){ + + // Begin general search. + foreach($this->detectionRules as $_regex){ + if(empty($_regex)){ continue; } + if(preg_match('/'.$_regex.'/is', $this->userAgent)){ + $this->isMobile = true; + return true; + } + } + return false; + + } else { + + // Search for a certain key. + // Make the keys lowecase so we can match: isIphone(), isiPhone(), isiphone(), etc. + $key = strtolower($key); + $_rules = array_change_key_case($this->detectionRules); + + if(array_key_exists($key, $_rules)){ + if(empty($_rules[$key])){ return null; } + if(preg_match('/'.$_rules[$key].'/is', $this->userAgent)){ + $this->isMobile = true; + return true; + } else { + return false; + } + } else { + trigger_error("Method $key is not defined", E_USER_WARNING); + } + + return false; + + } + + } + + /** + * Check if the device is mobile. + * Returns true if any type of mobile device detected, including special ones + * @return bool + */ + public function isMobile() + { + return $this->isMobile; + } + + /** + * Check if the device is a tablet. + * Return true if any type of tablet device is detected. + * @return boolean + */ + public function isTablet() + { + + foreach($this->tabletDevices as $_regex){ + if(preg_match('/'.$_regex.'/is', $this->userAgent)){ + $this->isTablet = true; + return true; + } + } + + return false; + + } + + +} \ No newline at end of file diff --git a/mod/photos.php b/mod/photos.php index 624f0bdcaa..da33126bb0 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -988,7 +988,7 @@ function photos_content(&$a) { call_hooks('photo_upload_form',$ret); - $default_upload = '
    + $default_upload = '
    '; diff --git a/mod/pretheme.php b/mod/pretheme.php index 0efa587d8c..4584cb29e2 100644 --- a/mod/pretheme.php +++ b/mod/pretheme.php @@ -7,10 +7,16 @@ function pretheme_init(&$a) { $info = get_theme_info($theme); if($info) { // unfortunately there will be no translation for this string - $desc = $info['description'] . ' ' . $info['version']; + $desc = $info['description']; + $version = $info['version']; + $credits = $info['credits']; } - else $desc = ''; - echo json_encode(array('img' => get_theme_screenshot($theme), 'desc' => $desc)); + else { + $desc = ''; + $version = ''; + $credits = ''; + } + echo json_encode(array('img' => get_theme_screenshot($theme), 'desc' => $desc, 'version' => $version, 'credits' => $credits)); } killme(); } diff --git a/view/common_tabs.tpl b/view/common_tabs.tpl index 22c33d6b1f..f8ceff46a3 100644 --- a/view/common_tabs.tpl +++ b/view/common_tabs.tpl @@ -1,5 +1,5 @@ diff --git a/view/jot-header.tpl b/view/jot-header.tpl index f1c283470b..64bcf27cab 100644 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -283,9 +283,9 @@ function enableOnUser(){ if(reply && reply.length) { commentBusy = true; $('body').css('cursor', 'wait'); - $.get('filer/' + id + '?term=' + reply); - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,3000); + $.get('filer/' + id + '?term=' + reply, NavUpdate); +// if(timer) clearTimeout(timer); +// timer = setTimeout(NavUpdate,3000); liking = 1; $.fancybox.close(); } else { diff --git a/view/photo_edit.tpl b/view/photo_edit.tpl index 85d5fb8e29..53b69caae5 100644 --- a/view/photo_edit.tpl +++ b/view/photo_edit.tpl @@ -28,7 +28,7 @@
    - + $permissions
    @@ -47,9 +47,4 @@
    - + diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl index 706b3398dd..33c48cbeb8 100644 --- a/view/photos_upload.tpl +++ b/view/photos_upload.tpl @@ -23,7 +23,7 @@
    - + $permissions
    @@ -43,9 +43,3 @@
    - diff --git a/view/profile_edit.tpl b/view/profile_edit.tpl index 64cd473248..bc342cc3b6 100644 --- a/view/profile_edit.tpl +++ b/view/profile_edit.tpl @@ -172,7 +172,6 @@ $lbl_about
    -
    @@ -184,7 +183,6 @@ $lbl_hobbies
    -
    @@ -196,7 +194,6 @@ $lbl_likes
    -
    @@ -208,7 +205,6 @@ $lbl_dislikes
    -
    @@ -220,7 +216,6 @@ $lbl_social
    -
    @@ -238,7 +233,6 @@ $lbl_music
    -

    @@ -249,7 +243,6 @@ $lbl_book

    - @@ -262,7 +255,6 @@ $lbl_tv
    - @@ -275,7 +267,6 @@ $lbl_film
    -
    @@ -293,7 +284,6 @@ $lbl_love
    - @@ -306,7 +296,6 @@ $lbl_work
    - @@ -319,7 +308,6 @@ $lbl_school
    - @@ -331,4 +319,4 @@ $lbl_school - \ No newline at end of file + From 982625db9cfef2c4e74676b8277b1cf09c5278a3 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 23 Jul 2012 20:00:00 -0700 Subject: [PATCH 38/73] update contact photos and names in local delivery - not just polled feeds --- include/items.php | 112 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/include/items.php b/include/items.php index fe729000cc..701a7ada7e 100755 --- a/include/items.php +++ b/include/items.php @@ -2107,6 +2107,118 @@ function local_delivery($importer,$data) { $feed->enable_order_by_date(false); $feed->init(); + + if($feed->error()) + logger('local_delivery: Error parsing XML: ' . $feed->error()); + + + // Check at the feed level for updated contact name and/or photo + + $name_updated = ''; + $new_name = ''; + $photo_timestamp = ''; + $photo_url = ''; + + + $rawtags = $feed->get_feed_tags( NAMESPACE_DFRN, 'owner'); + if(! $rawtags) + $rawtags = $feed->get_feed_tags( SIMPLEPIE_NAMESPACE_ATOM_10, 'author'); + if($rawtags) { + $elems = $rawtags[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]; + if($elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated']) { + $name_updated = $elems['name'][0]['attribs'][NAMESPACE_DFRN]['updated']; + $new_name = $elems['name'][0]['data']; + } + if((x($elems,'link')) && ($elems['link'][0]['attribs']['']['rel'] === 'photo') && ($elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated'])) { + $photo_timestamp = datetime_convert('UTC','UTC',$elems['link'][0]['attribs'][NAMESPACE_DFRN]['updated']); + $photo_url = $elems['link'][0]['attribs']['']['href']; + } + } + + if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $importer['avatar-date'])) { + logger('local_delivery: Updating photo for ' . $importer['name']); + require_once("Photo.php"); + $photo_failure = false; + $have_photo = false; + + $r = q("SELECT `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d LIMIT 1", + intval($importer['id']), + intval($importer['importer_uid']) + ); + if(count($r)) { + $resource_id = $r[0]['resource-id']; + $have_photo = true; + } + else { + $resource_id = photo_new_resource(); + } + + $img_str = fetch_url($photo_url,true); + // guess mimetype from headers or filename + $type = guess_image_type($photo_url,true); + + + $img = new Photo($img_str, $type); + if($img->is_valid()) { + if($have_photo) { + q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `contact-id` = %d AND `uid` = %d", + dbesc($resource_id), + intval($importer['id']), + intval($importer['importer_uid']) + ); + } + + $img->scaleImageSquare(175); + + $hash = $resource_id; + $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 4); + + $img->scaleImage(80); + $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 5); + + $img->scaleImage(48); + $r = $img->store($importer['importer_uid'], $importer['id'], $hash, basename($photo_url), 'Contact Photos', 6); + + $a = get_app(); + + q("UPDATE `contact` SET `avatar-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s' + WHERE `uid` = %d AND `id` = %d LIMIT 1", + dbesc(datetime_convert()), + dbesc($a->get_baseurl() . '/photo/' . $hash . '-4.'.$img->getExt()), + dbesc($a->get_baseurl() . '/photo/' . $hash . '-5.'.$img->getExt()), + dbesc($a->get_baseurl() . '/photo/' . $hash . '-6.'.$img->getExt()), + intval($importer['importer_uid']), + intval($importer['id']) + ); + } + } + + if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) { + $r = q("select * from contact where uid = %d and id = %d limit 1", + intval($importer['importer_uid']), + intval($importer['id']) + ); + + $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1", + dbesc(notags(trim($new_name))), + dbesc(datetime_convert()), + intval($importer['importer_uid']), + intval($importer['id']) + ); + + // do our best to update the name on content items + + if(count($r)) { + q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d", + dbesc(notags(trim($new_name))), + dbesc($r[0]['name']), + dbesc($r[0]['url']), + intval($importer['importer_uid']) + ); + } + } + + /* // Currently unsupported - needs a lot of work $reloc = $feed->get_feed_tags( NAMESPACE_DFRN, 'relocate' ); From 8126e8ea47d069637725d525530af762d4e74c43 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Tue, 24 Jul 2012 09:15:57 -0600 Subject: [PATCH 39/73] Introducing Frost --- view/theme/frost/TODO | 9 + view/theme/frost/admin_aside.tpl | 42 + view/theme/frost/border.jpg | Bin 0 -> 342 bytes view/theme/frost/comment_item.tpl | 74 + view/theme/frost/contact_template.tpl | 27 + view/theme/frost/contacts-template.tpl | 28 + view/theme/frost/conversation.tpl | 27 + view/theme/frost/default.php | 42 + view/theme/frost/editicons.png | Bin 0 -> 6300 bytes view/theme/frost/experimental | 0 view/theme/frost/field_input.tpl | 6 + view/theme/frost/field_openid.tpl | 6 + view/theme/frost/field_password.tpl | 6 + view/theme/frost/file.gif | Bin 0 -> 615 bytes view/theme/frost/friendika-16.png | Bin 0 -> 699 bytes view/theme/frost/head.jpg | Bin 0 -> 383 bytes view/theme/frost/head.tpl | 105 + view/theme/frost/images/ajax-loader.gif | Bin 0 -> 4176 bytes view/theme/frost/images/approve-16.png | Bin 0 -> 263 bytes view/theme/frost/images/approve.png | Bin 0 -> 475 bytes view/theme/frost/images/boldB-serif-16.png | Bin 0 -> 320 bytes view/theme/frost/images/camera-16.png | Bin 0 -> 274 bytes view/theme/frost/images/camera.png | Bin 0 -> 530 bytes view/theme/frost/images/code-16.png | Bin 0 -> 258 bytes view/theme/frost/images/code.png | Bin 0 -> 376 bytes view/theme/frost/images/contacts.png | Bin 0 -> 813 bytes view/theme/frost/images/disapprove-16.png | Bin 0 -> 276 bytes view/theme/frost/images/disapprove.png | Bin 0 -> 480 bytes view/theme/frost/images/drop-16.png | Bin 0 -> 199 bytes view/theme/frost/images/drop-red.png | Bin 0 -> 321 bytes view/theme/frost/images/drop.png | Bin 0 -> 305 bytes view/theme/frost/images/folder-16.png | Bin 0 -> 139 bytes view/theme/frost/images/folder.png | Bin 0 -> 219 bytes view/theme/frost/images/globe.png | Bin 0 -> 1055 bytes view/theme/frost/images/italicI-serif-16.png | Bin 0 -> 229 bytes view/theme/frost/images/link-16.png | Bin 0 -> 232 bytes view/theme/frost/images/link.png | Bin 0 -> 384 bytes view/theme/frost/images/lock-24.png | Bin 0 -> 301 bytes view/theme/frost/images/lock.png | Bin 0 -> 520 bytes view/theme/frost/images/menu.png | Bin 0 -> 1019 bytes view/theme/frost/images/message.png | Bin 0 -> 708 bytes view/theme/frost/images/network.png | Bin 0 -> 770 bytes view/theme/frost/images/notifications.png | Bin 0 -> 923 bytes view/theme/frost/images/paperclip-24.png | Bin 0 -> 566 bytes view/theme/frost/images/paperclip.png | Bin 0 -> 821 bytes view/theme/frost/images/pencil-16.png | Bin 0 -> 232 bytes view/theme/frost/images/pencil.png | Bin 0 -> 402 bytes view/theme/frost/images/quote-16.png | Bin 0 -> 233 bytes view/theme/frost/images/quote.png | Bin 0 -> 312 bytes view/theme/frost/images/recycle-16.png | Bin 0 -> 364 bytes view/theme/frost/images/recycle.png | Bin 0 -> 795 bytes view/theme/frost/images/remote-link-16.png | Bin 0 -> 304 bytes view/theme/frost/images/remote-link.png | Bin 0 -> 534 bytes view/theme/frost/images/speaker.png | Bin 0 -> 648 bytes view/theme/frost/images/star-16.png | Bin 0 -> 293 bytes view/theme/frost/images/star-yellow-16.png | Bin 0 -> 372 bytes view/theme/frost/images/star-yellow.png | Bin 0 -> 633 bytes view/theme/frost/images/star.png | Bin 0 -> 515 bytes view/theme/frost/images/tag-16.png | Bin 0 -> 210 bytes view/theme/frost/images/tag.png | Bin 0 -> 291 bytes .../frost/images/underlineU-serif-16.png | Bin 0 -> 267 bytes view/theme/frost/images/unlock-24.png | Bin 0 -> 295 bytes view/theme/frost/images/unlock.png | Bin 0 -> 572 bytes view/theme/frost/images/video-16.png | Bin 0 -> 170 bytes view/theme/frost/images/video.png | Bin 0 -> 259 bytes view/theme/frost/jot-header.tpl | 317 ++ view/theme/frost/js/main.js | 656 +++ view/theme/frost/js/theme.js | 184 + view/theme/frost/lang_selector.tpl | 10 + view/theme/frost/lock.cur | Bin 0 -> 4286 bytes view/theme/frost/login-bg.gif | Bin 0 -> 237 bytes view/theme/frost/login-style.css | 108 + view/theme/frost/login.tpl | 42 + view/theme/frost/lostpass.tpl | 21 + view/theme/frost/moderated_comment.tpl | 61 + view/theme/frost/nav.tpl | 131 + view/theme/frost/oembed_video.tpl | 4 + view/theme/frost/photo-menu.jpg | Bin 0 -> 459 bytes view/theme/frost/photo_edit.tpl | 58 + view/theme/frost/photo_view.tpl | 42 + view/theme/frost/photos_upload.tpl | 55 + view/theme/frost/profile_edit.tpl | 322 ++ view/theme/frost/profile_vcard.tpl | 51 + view/theme/frost/prv_message.tpl | 39 + view/theme/frost/register.tpl | 78 + view/theme/frost/screenshot.jpg | Bin 0 -> 146944 bytes view/theme/frost/style.css | 3794 +++++++++++++++++ view/theme/frost/style.css.orig | 3658 ++++++++++++++++ view/theme/frost/theme.php | 23 + view/theme/frost/wall_item.tpl | 79 + 90 files changed, 10105 insertions(+) create mode 100644 view/theme/frost/TODO create mode 100644 view/theme/frost/admin_aside.tpl create mode 100644 view/theme/frost/border.jpg create mode 100755 view/theme/frost/comment_item.tpl create mode 100644 view/theme/frost/contact_template.tpl create mode 100644 view/theme/frost/contacts-template.tpl create mode 100644 view/theme/frost/conversation.tpl create mode 100644 view/theme/frost/default.php create mode 100644 view/theme/frost/editicons.png create mode 100644 view/theme/frost/experimental create mode 100644 view/theme/frost/field_input.tpl create mode 100644 view/theme/frost/field_openid.tpl create mode 100644 view/theme/frost/field_password.tpl create mode 100644 view/theme/frost/file.gif create mode 100644 view/theme/frost/friendika-16.png create mode 100644 view/theme/frost/head.jpg create mode 100644 view/theme/frost/head.tpl create mode 100644 view/theme/frost/images/ajax-loader.gif create mode 100644 view/theme/frost/images/approve-16.png create mode 100644 view/theme/frost/images/approve.png create mode 100644 view/theme/frost/images/boldB-serif-16.png create mode 100644 view/theme/frost/images/camera-16.png create mode 100644 view/theme/frost/images/camera.png create mode 100644 view/theme/frost/images/code-16.png create mode 100644 view/theme/frost/images/code.png create mode 100644 view/theme/frost/images/contacts.png create mode 100644 view/theme/frost/images/disapprove-16.png create mode 100644 view/theme/frost/images/disapprove.png create mode 100644 view/theme/frost/images/drop-16.png create mode 100644 view/theme/frost/images/drop-red.png create mode 100644 view/theme/frost/images/drop.png create mode 100644 view/theme/frost/images/folder-16.png create mode 100644 view/theme/frost/images/folder.png create mode 100644 view/theme/frost/images/globe.png create mode 100644 view/theme/frost/images/italicI-serif-16.png create mode 100644 view/theme/frost/images/link-16.png create mode 100644 view/theme/frost/images/link.png create mode 100644 view/theme/frost/images/lock-24.png create mode 100644 view/theme/frost/images/lock.png create mode 100644 view/theme/frost/images/menu.png create mode 100644 view/theme/frost/images/message.png create mode 100644 view/theme/frost/images/network.png create mode 100644 view/theme/frost/images/notifications.png create mode 100644 view/theme/frost/images/paperclip-24.png create mode 100644 view/theme/frost/images/paperclip.png create mode 100644 view/theme/frost/images/pencil-16.png create mode 100644 view/theme/frost/images/pencil.png create mode 100644 view/theme/frost/images/quote-16.png create mode 100644 view/theme/frost/images/quote.png create mode 100644 view/theme/frost/images/recycle-16.png create mode 100644 view/theme/frost/images/recycle.png create mode 100644 view/theme/frost/images/remote-link-16.png create mode 100644 view/theme/frost/images/remote-link.png create mode 100644 view/theme/frost/images/speaker.png create mode 100644 view/theme/frost/images/star-16.png create mode 100644 view/theme/frost/images/star-yellow-16.png create mode 100644 view/theme/frost/images/star-yellow.png create mode 100644 view/theme/frost/images/star.png create mode 100644 view/theme/frost/images/tag-16.png create mode 100644 view/theme/frost/images/tag.png create mode 100644 view/theme/frost/images/underlineU-serif-16.png create mode 100644 view/theme/frost/images/unlock-24.png create mode 100644 view/theme/frost/images/unlock.png create mode 100644 view/theme/frost/images/video-16.png create mode 100644 view/theme/frost/images/video.png create mode 100644 view/theme/frost/jot-header.tpl create mode 100644 view/theme/frost/js/main.js create mode 100644 view/theme/frost/js/theme.js create mode 100644 view/theme/frost/lang_selector.tpl create mode 100644 view/theme/frost/lock.cur create mode 100644 view/theme/frost/login-bg.gif create mode 100644 view/theme/frost/login-style.css create mode 100644 view/theme/frost/login.tpl create mode 100644 view/theme/frost/lostpass.tpl create mode 100755 view/theme/frost/moderated_comment.tpl create mode 100644 view/theme/frost/nav.tpl create mode 100755 view/theme/frost/oembed_video.tpl create mode 100644 view/theme/frost/photo-menu.jpg create mode 100644 view/theme/frost/photo_edit.tpl create mode 100644 view/theme/frost/photo_view.tpl create mode 100644 view/theme/frost/photos_upload.tpl create mode 100644 view/theme/frost/profile_edit.tpl create mode 100644 view/theme/frost/profile_vcard.tpl create mode 100644 view/theme/frost/prv_message.tpl create mode 100644 view/theme/frost/register.tpl create mode 100644 view/theme/frost/screenshot.jpg create mode 100644 view/theme/frost/style.css create mode 100644 view/theme/frost/style.css.orig create mode 100644 view/theme/frost/theme.php create mode 100644 view/theme/frost/wall_item.tpl diff --git a/view/theme/frost/TODO b/view/theme/frost/TODO new file mode 100644 index 0000000000..930de8f6f7 --- /dev/null +++ b/view/theme/frost/TODO @@ -0,0 +1,9 @@ +Home page edit pencil +Preview spacing +Photo album display + +Check TinyMCE optimization +"Profiles" page is wonky +Settings, admin, photos upload don't look beautiful + + diff --git a/view/theme/frost/admin_aside.tpl b/view/theme/frost/admin_aside.tpl new file mode 100644 index 0000000000..b17addda38 --- /dev/null +++ b/view/theme/frost/admin_aside.tpl @@ -0,0 +1,42 @@ + +

    $admtxt

    + + +{{ if $admin.update }} + +{{ endif }} + + +{{ if $admin.plugins_admin }}

    $plugadmtxt

    {{ endif }} + + + +

    $logtxt

    + + diff --git a/view/theme/frost/border.jpg b/view/theme/frost/border.jpg new file mode 100644 index 0000000000000000000000000000000000000000..034a1cb63b65268d78567f19cd2a0416f7b06509 GIT binary patch literal 342 zcmex=LJ%Z3brsR%R9! z7G_o;!OF_Y#?HgR4g~z%+?+gu{6a#4{DOkQVlv{wB2uD)f)a`nQnIr0^76vsN-9cn zDl&5Nav(z(fm+$w*!eg(_~b+cMdU~Z{|_(-axfGyFfubLF)#@-G7B>PKf)jmaz7&j zGGJk52TF(upo=pIC4w}7)T3%(WMT$Nhzg% f9U_4e8jYbYT*|B>4vQSR6atx6%@A>8_ + $(document).ready( function () { + $(document).mouseup(function(e) { + var container = $("#comment-edit-wrapper-$id"); + if( container.has(e.target).length === 0) { + commentClose(document.getElementById('comment-edit-text-$id'),$id); + cmtBbClose($id); + } + }); + }); + + +
    +
    + + + + + + + +
    + $mytitle +
    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    + + + {{ if $qcomment }} + + {{ endif }} + +
    + + +
    +
    + +
    diff --git a/view/theme/frost/contact_template.tpl b/view/theme/frost/contact_template.tpl new file mode 100644 index 0000000000..4f66684e11 --- /dev/null +++ b/view/theme/frost/contact_template.tpl @@ -0,0 +1,27 @@ + +
    +
    +
    + + $contact.name + + {{ if $contact.photo_menu }} + menu +
    +
      + $contact.photo_menu +
    +
    + {{ endif }} +
    + +
    +
    +
    $contact.name

    +{{ if $contact.alt_text }}
    $contact.alt_text
    {{ endif }} +
    $contact.network
    + +
    +
    diff --git a/view/theme/frost/contacts-template.tpl b/view/theme/frost/contacts-template.tpl new file mode 100644 index 0000000000..76254c1ca8 --- /dev/null +++ b/view/theme/frost/contacts-template.tpl @@ -0,0 +1,28 @@ +

    $header{{ if $total }} ($total){{ endif }}

    + +{{ if $finding }}

    $finding

    {{ endif }} + +
    +
    +$desc + + +
    +
    +
    + +$tabs + + +
    +{{ for $contacts as $contact }} + {{ inc contact_template.tpl }}{{ endinc }} +{{ endfor }} +
    +
    + +$paginate + + + + diff --git a/view/theme/frost/conversation.tpl b/view/theme/frost/conversation.tpl new file mode 100644 index 0000000000..90b192469e --- /dev/null +++ b/view/theme/frost/conversation.tpl @@ -0,0 +1,27 @@ +{{ for $threads as $thread }} +
    + {{ for $thread.items as $item }} + {{if $item.comment_firstcollapsed}} +
    + $thread.num_comments $thread.hide_text +
    + {{endif}} + + {{ inc $item.template }}{{ endinc }} + + + {{ endfor }} +
    +{{ endfor }} + +
    + + diff --git a/view/theme/frost/default.php b/view/theme/frost/default.php new file mode 100644 index 0000000000..34acb7f6ac --- /dev/null +++ b/view/theme/frost/default.php @@ -0,0 +1,42 @@ + + + + <?php if(x($page,'title')) echo $page['title'] ?> + + + + + module === 'home' ) { ?> +
    + +
    + module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) { + ?> + +
    +
    +
    +
    + + +
    + +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/view/theme/frost/editicons.png b/view/theme/frost/editicons.png new file mode 100644 index 0000000000000000000000000000000000000000..171a4087655a3dd1c2724cce699fb5e228a1206e GIT binary patch literal 6300 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 + + + $field.3 + diff --git a/view/theme/frost/field_openid.tpl b/view/theme/frost/field_openid.tpl new file mode 100644 index 0000000000..a9f6cacad5 --- /dev/null +++ b/view/theme/frost/field_openid.tpl @@ -0,0 +1,6 @@ + +
    + + + $field.3 +
    diff --git a/view/theme/frost/field_password.tpl b/view/theme/frost/field_password.tpl new file mode 100644 index 0000000000..a329b11029 --- /dev/null +++ b/view/theme/frost/field_password.tpl @@ -0,0 +1,6 @@ + +
    + + + $field.3 +
    diff --git a/view/theme/frost/file.gif b/view/theme/frost/file.gif new file mode 100644 index 0000000000000000000000000000000000000000..7885b998d578d4523103e1f5dfbcd8133a7f0fe7 GIT binary patch literal 615 zcmZ?wbhEHb6krfwIF`)7#xKb(Aj2uD!Xs-asNo`J94_scC*xeG;M1rUF;y*cx?0ps z_2^mZF>^Fx=V~P{*G^rfleShbd#hf~c7uYwhQ)`B%8nbAoir{#Wm{SZR^k3H=J{9Jm=JO-lh4xYs&@q)(f6(7rfdp`gC0M@46J&eJQBta!B9h@CjEU zCtit~bTwx3)z~T5;-_9qoOUf~`t_6<*HdTSNS}2hbM}p#xi@p?-O8VTt6<^nlEt^n zm)@yZcDHury{0wy+t)wn*zmAxdicePqc2w-f4Szw%e5z8tv~f@)0x*>&c5Dp;q9)AZ+BmMxA*e9{a4-{xcdI^ z^$$mHd^mpV!>KzTPv8A?_TH!S_doro4N&~a!pOx?&!EEq1fV!!U_a7O-_+dF+SU>! zFQMYz-Xh@HBp)OYX*7MhPg@W#w~=pBQbN3eZz~TMmqFs9_?SQ)4OK-ssb;;n#j&A* zd-rW?(vFUgwX!ldG1S#kSCW^J(hQGrGYyNp5g8E{5^SNR78+&d5VFtD$HU2(Cq_BY z%_KY^(BH??#leP8tzN;;s4bxJl1t}A1>2$$i-f1=+Y}7fSVT6ZoamP|_An?=&^XL3 nuk6%xBcZXWg@e6|V^=`pp=K5i9uWlt2ZjcQz9KFz76xkoO@B#U literal 0 HcmV?d00001 diff --git a/view/theme/frost/friendika-16.png b/view/theme/frost/friendika-16.png new file mode 100644 index 0000000000000000000000000000000000000000..1a742ecdc1016e7033e78e37fbecade08fef6d50 GIT binary patch literal 699 zcmV;s0!00ZP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L03itg03ithOzq;@00007bV*G`2ipS$ z1Ro(nX?n5%00KKnL_t(I%Y~9nh>c+s$A9O2-|OCCKFWd^Wr4v0`G~T$Ae$*+uPn_* zN>i3(p=38qlogSkm8^({Bw6{GjAABaW^%t~?!C{)-{PHnXGY=Fd7jgG&iOshbIvh< z7~>{0+YWS*i-5R9!ykJYm^8C*nWTds#wSL8PQKl_s^|#85xggaR>ua%i+2&%+mCmS zR=vWOzU+~t)As4p#L4kD5AGd4P(;qjPDC%)CFD z4PUsl;p&-gsDwOO4#{KD0e%4#7@tT8>#8`{!UYlf2K4mGxgFX4ySG{wPwaz2kD&na ze4BAp>rE7Mz{*nO<9HVusN!9dD50!mGXZ4)uKF43Szf*r&R+h(gVGt)sDbi|_H68< ztJwm9nSlgA1`7@|zyK&Du=d~)Vs(b)qIO6}vPE<8M1r7%NYc(zk^qWkW`6@LNED|A zyE)o_ljs@%l!}QB-B=OXeauk&4*)o{w+9$obaWd-Q{4%BjtfQmCqM#ASpL_vJ)D15 zU@1WPVu>;OaE@oM%AN3H29;my={3v4P=}PYZ*?(;q!>?LmU%w-oKXJRdDiOvo>(u_ z?rTg79YAfmlCrLmNiwqpTEVdCuUNZ{5<;XBk^sq?H2_O`O58bry^1g@b3xTw#0LnC zI=(rNZ`5<0ui@rvxcREQb2j_LJ%Z3brsRu&*& z29a#6tZW>-931TI90J@toV>yUBEmufLP8?qvXUZVGGanPQp!>?a`K9biXxIK>M9Cq zvI>d{AVU~g+1NPPIrup^_!UHjL={K|{|_(-axl~|urf0$F)#@-G7B>PKf)jhc0V%% z5@2RyWaj`%DF^_4#>m9Zh>#OvViaUy6%7muopcGPLIUV_koOUQiIJIs1tcSgF2f)w z%*gcr76T76BhYqcK?ZwT%fkrCN0aq{`U e%N;)te=@#)^7-|oFLP{6q$G}S_`JRT|4jhcT}_Yx literal 0 HcmV?d00001 diff --git a/view/theme/frost/head.tpl b/view/theme/frost/head.tpl new file mode 100644 index 0000000000..09e97b2f88 --- /dev/null +++ b/view/theme/frost/head.tpl @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/frost/images/ajax-loader.gif b/view/theme/frost/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..e15844396f9b8c4d915f5cf595e2a22014a24426 GIT binary patch literal 4176 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 Y#`Dx6nd>%kIx0NRp)dR0fBtX$58}9UkpKVy literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/approve-16.png b/view/theme/frost/images/approve-16.png new file mode 100644 index 0000000000000000000000000000000000000000..170e62c8e476f25d043534eaf93874505f6dbf84 GIT binary patch literal 263 zcmV+i0r>ujP)=K~yM_rO`1?0zni8;18E*X=i0ZVq)SAw6x(GRD^4A1PU#v45fGk z;sw;i1R4vr!~}wsTUe2?nSuZtX5l51$;`a({l&1q?y*2Kp?9m=2zc9kI7z^_alfdV zdW9k;539oO2m|h_;O8|s-qlbmfeqxS$MYPoIKv;7ct}YtTc6Ow3kJBvV*(8LvT@N$ zgaMMH000006VoOIv0RI60 z0RN!9r;`8x0gy>VK~z|U#nwA(6j2z)@!zh*7$cITkYJO-%6P$2&{To_41yLmeh00> z7QtQuegjdou+h#7Xl0d)U=pwpBnlc(k|x)&m|ZeiW@j_z%$^4x=A1K}_dj!P?;)J# z@eNI!3K+Mi29ad^q@VB$9q@fj_Ucp*1fS@r*D%#D`1PE&^ZkN1a@sZn#V*tp>^eN> z38t$CpT@@=@Vbh(+bG`UfD_DA2|kO@UBDX{s}kPq0#5L#O7IYV6~KG$@8jrR0XR`& z$ZI9Rbu1}9I=^GPRUT+Pccj~K4Xc=I#VMsbivRkk{)3BUz$5q>2%g~0QNbthG$6Qb z53r1{8Gn$b$sydtiweN+Nf$@n%ck_)4h?Pla^1m-?9|CF?V)rjR7(9HJ&Xw-jRoJw z?O5;yyp9E*6mi%G(TD}#!eR{g9&X`F4ES@rB;38djDEBWG2oxFl~wr%|6OSgzmI2F zk>ox#-rgAk RiH!gN002ovPDHLkV1f}w+X?^x literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/boldB-serif-16.png b/view/theme/frost/images/boldB-serif-16.png new file mode 100644 index 0000000000000000000000000000000000000000..08d1ee5cbd2a36d9f83d319e17909666887f26d9 GIT binary patch literal 320 zcmV-G0l)r$~>ad%-h$6|0L^Jm3^Z2hMe02X2M^FOKts_~uK@VNvmEPwD&% z8~v(BxZirib}ITWT;4p7CG6lmd1c!}Rd7BkSk5}xs{=Rj6LN0qjH;`6cd6+*@F*rj zd{+lvM# zAsQ2VFWGuI2MVx0ct7h+S}D0@qy)4qO|(AG2L@4PNRsSuHlM z%jdyIql@MR2^Qby{M^a2ys(o$Cy;epMgR8t$2-$<9%&kXF*yE?KUsM9hc8@WJG{8+ zA8UWITPJ+B-&ppThH2u#+mdfN4S6ryhBfYfuq>Br&w^&(-rFqSZ(NC2sSY(PDsFxB zp>pNIKF<%%Ynb^D`rcX-kT}KX!>mm1x{JPQvmY9NV$2gdE0iajxA3i?>_&%r{{Fu? V1t%4DzXN)S!PC{xWt~$(69A<>Zvy}T literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/camera.png b/view/theme/frost/images/camera.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5935b7c03ad578105846438f2915e0164f91ab GIT binary patch literal 530 zcmV+t0`2{YP)X1^@s6zs*Ol00006VoOIv0RI60 z0RN!9r;`8x0mn&1K~zYIz12Ny6j2n$@!y)b@gokI%jqV4;*G@=YO8_%)QG!#A7oq z;1$-f@t0iB-k;C-Mq>nz`!w#CkFcpp6Q^q$$n#W0JnHmBEz7^78-ZHcbyRZQ#iX?S z#n^}O0Ze?u%hGQ>yvIE5WzX7JFxYYrn@`Xl!9|=K;47PmY5Z(q5mPmbpW;4V;3IZm z1}AZ(rq&{9Pom4Wg5wpUbNEn0v!@394xQlFO=WyYyOrHkMGuFi<X;Y^9U8`KX$vjyQp{yjSm7T9A=nrIhPcLtq*s# z#9eOE#8>PpHR$3Yo=X$4JhmsLDcYEc4QXC%6^m^dAJq-Pyhe`07*qoM6N<$g0w65(EtDd literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/code-16.png b/view/theme/frost/images/code-16.png new file mode 100644 index 0000000000000000000000000000000000000000..e5589222e3d289598440dc5c9ce31b660a6889f9 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`JJzX3_ zEPCHwwC`&S6k+`!FY7eJDaUEO;MSm!T{F+=nTRdez}wq*OeMH>w?wpr;4H_Fd-W^h zHZU#U^?gq9{lA|p9t+O$v^(&jv#ed~*$JV4?DG}R891w&O))qq_dmiViamXc)4n6D z`z1t|>8^`dJiBCm(&Pf$n)X?tlI;p60p4el*9g7q*e`IMyGZ2Nt`@_G%<5YfKXQ#I z){oyUvOi{`{0fUl;$@!Sed=DU64%(5)$vdGZ7+wppMt`4r(3u9fnH$nboFyt=akR{ E0D_BU;{X5v literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/code.png b/view/theme/frost/images/code.png new file mode 100644 index 0000000000000000000000000000000000000000..448e49df0e62f04b294a97fb5c24bdb176422bc2 GIT binary patch literal 376 zcmV-;0f+vHP)HK~zYI?bAIAZ*|9N(2cb17J`m1Kfs9C@&rtmcG z#w8q}mdNd+k7kH#fh~+`zKKpSsVDMRctJ75^}ybv@tbiS?Ev@jf$9*mh)*0xYc+JE zx(h>{mvIW!GMgp_=T0`VkaA)(PHa{~%U% z=x}Z6>HAhgHgfTp7V(Pn1V0$lj%>t7Qo+xU)(j?l33l+&N~4;mRK=S7>6vJvf7BOF WC`%0S^iv`L0000FN5q>Z`A2;2#g^w%NNN4T` zc8otAr<8sz<)m_J6?eQrb@I7sw-c*Q%cn#Nj0q&UiCd|pxUs&N=g}FZ{hHE`BPrI3 z_U%ak$=}D=Zx|^l-TUN!A1roiv5eduMrXHyF-&JrTYm*iML^*2Xwk5zlsxB$--)u8 z&#SWm#0a6R=aNQB=?p6ABmE=*RRtsUBrUz#Qj*ymh=9q9LuZLzGYl7@_X7Yl3PI&B z>dgQERC>f|!QtlxfKX^1u5y_GE>e)@08qwx>U#^=Y?#I=rMELkP&@WR5s0x9WruT8 zN-vu>5!vbokyBu;wza5Lh6qOM+0TVdU^hG6&VY7X5o!5nP8~oMFnNlIXnW>OJa7+q zm9M^Uy@)8*SP?Pc%@79+A)3a$E-})4ukSiV0Pq%YknAu3)!G(=$}C5jfP@1q$+!Uk(GV|frY8dXz!Tsdu+tHl_K2Vka0G9Mq*zgtBM@y5r9J|W^QoJl zc6!!_?8j0V*VdPo6k{8CGCh^xfKR}OiPY8hE(!L8Py?v1GdZA*Jh}!4QVWc`N-N5T za-f3%Y{O=!H@b2Is-JPDpsF098sb0{&}JFRz#H_8Q#XEB!PNVyttrvp4Q$km`r z=tKd<5pgiY0Tn}x+8~x$0sxaW#e%VIX=#^Xlg+lLuCF?(yr+XOAViu>2C+;47yGQB zYU_?WONcH>7&VirxbB-^Zc+x7+eCdtTI*1YyOEUr&) zcORyHwRpUDUGo}&m}KFD`FEZ)?iT#xs?6{4gGKY#@}858dsF8uuiSk|SL_h4{8cfo X_f`kpH9HM~o?`HH^>bP0l+XkKhkR?{ literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/disapprove.png b/view/theme/frost/images/disapprove.png new file mode 100644 index 0000000000000000000000000000000000000000..fa58d020eb2b25f52223d779c63606b483431fb7 GIT binary patch literal 480 zcmV<60U!Q}P)MH000006VoOIv0RI60 z0RN!9r;`8x0hLKaK~z|U#n(Se9B~lF@z2Q-Lk+9~hRK8Ghdz7=HU~ zNwZ$!9VYMy{kXan4Y^8V(_37kc8~ajPgue*UM2L^hXK#S z3GV}Lj48|})w?3_7l{7OT~XLzC&5wpB<72NKg1e(ihz$`pwr+wyn?-=;5BR(1%HO= zqTs6vShhNRzX)(0zEC9mH!gByTqhOE_<#o)1HWP!-vtA%V?0v7!Dl#@?VD^viUt0d zA@~eW+XWNc?SC_ZFQx&P!sn1+>&NjJytyA!d<|{K3x7!Z9ij{_3ZWl_NN|?j8!1MKGap*0{ Wcg7cyjz z29Zf;i*~hFY-SV4zb5SBa!t{|Y26vGptW->4&FOFCUBVc#$5H80 uPmt=8Su>;`%Xd$SP7QuFqwK^P%lyNOI~4*}$Z!DN!QkoY=d#Wzp$P!F&Puuf literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/drop-red.png b/view/theme/frost/images/drop-red.png new file mode 100644 index 0000000000000000000000000000000000000000..91b0260ce1c9f859d04514df1acf718b8a319752 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!fuTw^qcmeJVhq2c9mDArXhK-gqc@NP(yAVSZ;{;_kj(T6}@m6FRTkfAw2E zMI_1b-4DrkJ122_F4gCjn2>isqn*{qgHd7)Bl9I$&Lt7tkqm{F`RAO%7_t<#86rKH z0(d+bE=^!HP-iN0ZYX5_z-h>IMnL(2Y?DY2W8?|H1I6uk?#@(fZQ$^krgF+@72~m- zdsZ(VeN@d>+`-7#bmR5eeudxK>y1^I)Ge?5d(7ZBq3Qtllc<)4%`(!Heyk6_=o>W6 zdDivLXQG>b-oE%pH20o=$;HU8my)-=-?n>(^{$x*cFlC%J@Zub-}w~`vzI@WTenhe Q1<zopr0KA@h>;M1& literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/drop.png b/view/theme/frost/images/drop.png new file mode 100644 index 0000000000000000000000000000000000000000..af38adf5e16e2a88a11bc370a9ca3413a0bd5e0a GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt`7JY5_^ zB3jShxX9aVz{7H3x1y0-;@oYkFDbr|ifsDVFvY9!R_DVk&3KKA!3ur60sStYSQBnk zzU!U%ghe4zU1d`KB<_{!C>_uw{bCqKMg1K*+D%xL8naf%DbhfdA z?@V){NsM>)Gzopr01wG| A5C8xG literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/folder-16.png b/view/theme/frost/images/folder-16.png new file mode 100644 index 0000000000000000000000000000000000000000..aab49c8d35003afb4cd824afea543d1fd8f13d30 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt@*o-U3d z7QM*{5G-pF~#L8RfK{v)ou2SR*{Ufkw9xbh~-}7$A_rijd zo9Uuu5y{sI-}UMCB|A!Ov0Zj7OUFgt;SBHTOC4hAI&CZ=@4NTEZFEjpmB8jLpD+DFN zhc09$-H0-}&_fq`u^^K!rX=0y3T1S$pi(RHVJI@QvQR6#(1?&_HDYwfl6+I#JF*{4Hwbf6#SVkV~J2poz%_zhp<6Rg8$sEtB@Tl8Wnwk4%i$2KfM zPuT(;CH#34WyTaS0jmt(+2?o*-{Usnj%JvO zy+)qQN{p{+z+w0x6W)w7@pD?>)#s|$wq=W*)ivCWG^t-u&z}dnbmt_X*$oR`}x@sF5O5f>38LnYriBJ!INpn|Y z3fAIs{3#-2q3YH4we%g75ick)q8qQ^DNMsLi9Sc=SyV@)~pi$f&&FKH1#G(=- z7A6ICCBJJ_#r$rZmnk0<5%e&w5b2;Bn?&}lVX#YdM2CpuZH7+Vj=Rv6(I*M_tP_>@ zczlV8!r$XW#q7llyqFgKMK30?m^j_&PN6=AFbj8MMU&0V%I2O* zT$XPV;km-(i5k^)EQYMX^CGw8cqYx+k`tFC;sKGCb1cXde>VnW1`7I4#=nVoZO-Ts z^}Qyt-9Z_zLzMcr@wlj(?b^5ExH{7{F6pm{hIvGKzc>?IUSt+9O?eAf!%K!gD;~;t z7qwEpGMm({je|Q%4A>^}M;$k0ycO*fcN^YqKcac1gu}JJBWu&VPCSs&OS^3%%dO9Z zHc4UB1asOLu~WRra<{!JvU4SjH{3P#a68NJn7^il0eeKFoIipdQ{e=fVXj8hN|6ECcOksN6$)GjED8? z{a9O*{N9bnSViAiBq%P7Y?!w3f|tYJ2T$!Un29pS+Bo0QVE1ME;GiyU&QW*7lwI^- z`PrnrOV7kb>bFe}^xs=@wPC*r?*ZPoF)?rMt$shP<8bg=d#Wzp$PzKJ5!qg literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/link-16.png b/view/theme/frost/images/link-16.png new file mode 100644 index 0000000000000000000000000000000000000000..744fd6b3c84688bb9011b0e55ba0d0bcedc44965 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_0JzX3_ zEPCHwaO64|D01|nzof^B9-}EMRk95x&yDC1^xnWC8OeIH*HQfIHQrt$=Et?!kZ7SVd$Rh~WP(CG~gnM!ZF zl3AWC@;mGEN#gi3ubjLi_n)t5Ge2Yyk#pEOaaz)aV)k!ywsqg*Zl1#R!lvNl9mTkN eXa0Zf&dXe+wf$}L-0MJxGI+ZBxvX@+dQ}c*3 zY+?h?za2274@Y<}a1PO%M?B9anz4uZG_K+buXSo$F@Tmd-p2yo@(wYD(LkU^C&q&K z1l!*X(S}7#2Dx)QW$LQ9z;QVJu41b`Lw`niAk7!i*-87GE%;#Vlruw=8`PPBQUh=B zfQify6KTGP&M8VYPjq8heNQx_J%}%{B{64~K`dc7$i4V#%&NpITd3r@9VLkwN7DEj z2fn`@b3XlYAu)U=!L4GezQOcgG!GfVI_`gHevh@ZJ{LuP+aW!Y&y=Nty9PBQ ekw_%+KllKDwU(Fq$8H+{0000U literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/lock-24.png b/view/theme/frost/images/lock-24.png new file mode 100644 index 0000000000000000000000000000000000000000..8d20c12b6d1320f9dae00dd7fd0c59a573584eaa GIT binary patch literal 301 zcmV+|0n+}7P)@4&MdJnyaxUxQoo7%KXF}y_zGQV1X(2%Eoy#Kh`YH7)JI?spUBI zwL!s4XuDjHLYEB+awe4v*2aElz93y(hqm)J@g95&?{`hYw+1(C1!hUJbFak4|6o_J zE7*>Lge%1}mZz_$cwoBdL~g2>#1BmTP3PnXWBxEdY7$nl00000NkvXXu0mjf<@19@ literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/lock.png b/view/theme/frost/images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b8cd20e0abbfdbfda68fb9a8ca96499a818e1b GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^ia>10!3HElj1GJOQfx`y?k)`fL2$v|<&zm0825U* zIEF;DzP(|aE#fF~;N$(3F3E}>S5&g5p9&Yq&b<=$N2sYcqU%-!$2GA!0egon!5aic zOj3K?CeIO?9V}d=-tf&mA9v%jhcbE(Mbb9%%YWcI z|AFE2k6Q-c1Jnw5WB;rvEG^vHCC%-=F<^7W9Td@rY_?h9H)RITU;X4sFIxY-a}@gD zqBK!cXr`?5vF{Ho(hPc;uhzQ#y5yIve{G}I-^EcYZ)IPtU3zM>s%*@A?E)rs_nE%V z^Ssx;H(gV?4=|$AZ<9cXDPP yo^5{U@7q0^=iX{&GF39mm><4-;a<s4Q^D?%u9)1dpS_V&7KbLh*2~7Z4u;;1( literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/menu.png b/view/theme/frost/images/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..44d5285fe04ff6807dc6b88521839204fa3e0bdd GIT binary patch literal 1019 zcmVSPD!JvIiw0Dh)O|x1g?Au#D&kp1##pHaD;Pjhyy~jRJl|rO&}&DsU82F-Iv2o z$j0)nov7i$NUv<~&OFaE@4p$t|9!|U=Nszn7&mI7Nep3d{c7S6+asu4aCy=L(sw6d zZ7tyKcmqvhY}BQab~!&E@bszvJLkm-h`$K6?gbB-X0-y;fI zjO7HnXR4aa-Ia)iMvF+>jNO@Yz2hJVZY{tN#XA@`U^qNdRd?(7iUd&IAPQ=Xdk2e# z#gn)8h~qUtRF%6LAjI(+QELw{b3NdkBUoB_pQwJS-9JtWcD6tLOjUoHiF;)XY_W&*qRW*H=^`7Bf9A@~dL4knL785;D z)yaJ{9aWt$(GwVL%@SYG(rmM38q z*qp+OfPgS;A=0^7PA+{-YSukrWy)&6wusagB(DM6e%&;dB{l1~^z~FdPmUpNdzIk~ zxzQoQT{R?a# zlH7XhAZY*(fE6$=A^k3kfBDfE0P)qm$Q$0>SBcg1pT7eiVS*1ybptfcLG>_lMCyJ4 peg?L@%ZFE2o?HleMIQOj$3Nxqi2<0AHlF|h002ovPDHLkV1mF}(5C&u`N(7=|AwagwHM zRS6*wTo4DKfQFFxoA`e@j00RaAcVwV>wYwA+SnZWrgNiqRi(9;)lya0b^Jblzt5io zhxX8$0U$kk3l(6KJxb50uD;F%z3VWoPQ0Jo>_ys`99z5th%{6K-WXHtLA(IGG#daP zdG9Acv`YwMOc#)rj{p>NZ;detPyz#Ei~+{?tX}{*Ffzu(*p9sg@ID1%O}qpKa_24x zzeS=KKnEDLG#dv<)i;0>#3Mmm-G*xG<|W<-{skIdngW>3Yzx2(;<3iAw}1$pInqW> zgY{#emZkvWD5EBkhzk}N0Z)NHTRP!@F7O2SE74fb&p&g`r4U$6a;=?Q0?&b8aw6U! zUIRVgnQV`>Q6B(ImqSq3Rsc2#LDLlV;<;f19-&zor#NQ}iV&y=+0>A(> zX)X#;8UV0Hyj1@NI0jCXn8^0`z`53(spvHQ<;xGI(iA`xr#NR-EJFJ&Fwt(aAj8MN zN8pRbKIp{MK`vGL?kVY53g=u?0B(_lX)q~M)|V@snd)?W((f|~#x3W{0AdpSXQjEw z(54Wjf%r%O`I?Ncf>J$MQzP=Ahz%6JM%S(?#i^2~DLmPRGvDOET?H!ByhN4tI^1mN zfEDF$B~yNnH(@SEBURS(wgXld#;M}j-NEZX5!{CT7J##&x)5!-!x@$0z;#-e`tsHaNB>mHL;s6hcw*)00006X_cm~`}QZnoE? zlmpswuLr>VZ5oZEYhzxcaf*doJpdqP*1j(NW_H%)pAOH4>&w7w8~_p7Oy+E0vn9__ z@1I);R! zYR5PwgI0e@tXCj_E1>!}3sOt2ii9Gvl31@mg>xmo7Xl|DZV39;6;Yua2!TQx0;~Y? z!K@IGa)@g$D^Z6}09aMTem0b`6A$a_>xA_hFR3I8JY5guBM3E0;k5Gu{lYLSz()X% z0?%S{08=O%2VxvBprr&&Lg4)&)vHLWl5a1kmLP(R1I{yLn;)=Q7vXseo+7&5FxxnbphB0 z&O2TR`Gr0TE)Jr43%UYq0VN@1*9Aagfyp4e0oFkugVunh?ln8hzhMfbNXE6~VyZ>f zyU6@nvgaG$+3 Avj6}9 literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/notifications.png b/view/theme/frost/images/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..27bacc6727d3f7ec1704c957ee4d929c1a946d24 GIT binary patch literal 923 zcmV;M17!S(P)@S%3y%@~Ly~ooFD%5^#1ly!TzD)HL=wXnhgXR+j%2fI$S|hh*8li1?wQ z9Ec~a6Oo*Hi@{x7{{0YI=;C>p`fX46*_`Sk;WlFCD_R@J#diR0mjCBrKN?B{9B|;=h65)d6 z$_01g%2}1lWmgOvDNNz)xI8 zC3fR!spQk~1*>rsFR`d#zl&x}z%PtRB_E3WIEUrnj--$;6Q!AttGFTNpdaJWgKcO*Cn^R?J{m7@2wU(@Mj3@b z*KrLELRGU`fuB7tO3ihgc0+OcPREBUICYAt?cBge3PA zva8DY%EcVCViS5XIfc9*wPHIq=Is0NN=$JtHkU#UH*qOvs}s$v7iDQLm3*;SYLjyI zHk=d<&6h3-r*W!?y$W;1EgDKCC${3&BK8U~Of4y7#pKl^nw&>7Mqpn`fMRG8J!llN ztQ7BVx4#!%$v7Z}txr54of22UKrj+ZL}SbTbM~M34UTeZ#=Ww8s{jB107*qoM6N<$ Ef(7pULI3~& literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/paperclip.png b/view/theme/frost/images/paperclip.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2ee26966d0cf5c03f059f6ac30653ca12bb640 GIT binary patch literal 821 zcmV-51Iqk~P)s9?p@hsLGdEdDNn|DHDg+fLAtlXF`_%l%M$NIN#W}-Vhxg6$zIW3f zF1+u3{`Wcmd!F<4G^rkAFavEkg)i|_1MC#y4!nyi=&SksiH~r1qXo>uuW4`-=3qKH z(S=@|!y}Cn(2leC5fA2fEx56U(}5pS==iDy48vFGNkeVI6BqFpw&DKd&KAeBx@r+? za^r;pL|75{v4itfY9^$2JYZoDAe+L@bfF5$nH>x&I!&MtLk!>hUJ3%Es0N8gLd zX)qoT(Z2&Da7cOP{3oo$JEG`p5yALG0dII3J%`)zW{RIzuYg)So13mLSznv$&*AYD zyR}LIV{saXaZ|ziqXy=OR-6zGs;x>98`H?Fg0;~&hLdS@v+zh~l>%m@fDI+<{ptEN zp2_E~Dh0p?q61DSS>Gv!lv_pdI*OaC6fi;*sV&#wHQ`e+vOQF#0AfP!6V2zJut8eLGt%hNP@WzYc?E5iATzIaCtY|1k30L>w z2;RdNqA~Tj`hL++jKnfAvR@KI?%SfP{=e`y9$d(qQPk`m00000NkvXXu0mjfM*)i* literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/pencil-16.png b/view/theme/frost/images/pencil-16.png new file mode 100644 index 0000000000000000000000000000000000000000..a1010ed1341981f6674ae1a86323d2824eb5ea29 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_0JzX3_ zEP9`wH{?3xAi#P-JuLIcEwg(LvmdasL~~0YWPU0ZbyHJLNkLB0e1kwx)Db0Zj}14r zmOd~){O`DqPl01I*Ulq57w}ppbp&!<_;M=yPT&!y(Di?K9w>{Q+&|@hr`xfIZ@zgi zny6&+PdMeDc2II_G0z3}tenGj{h3;u{@lZpDUcb)KSXq;H_ z6PP&3%7lvv11v5W;-BH#Kq3&D^l<4f>CpDlK6&rG%dtoc_ZVZ2A#QMBM>)d`KP#>Q zDzO1Ae69g};50S>9<~IOQHzBbZwYwBJDM>N^DP1C`zVlM20%2(ZAL&8$f2+dvjCz% zmiK{e0nw%=Ds&oWsCk7&g z3@nu*&mLM8gK5NX=NDwyFb`C&(xf_=Os&+D-va4a<8NT|*z0i?at-31~|S*S!` wsKD|*vaWZcrY=-ql0Ys>o5x2@73Vnl1-3#$$uT=L%>V!Z07*qoM6N<$f>r^f=l}o! literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/quote-16.png b/view/theme/frost/images/quote-16.png new file mode 100644 index 0000000000000000000000000000000000000000..22b431b169fa59b3785a328746913418437043a7 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`hJY5_^ zEPC%=FywO#6li_e&#_2Rt5ZYctH`2YuZR}k8x2v4Qqdb2x5i~M>NqYIH1WUl;a;}L zAy2i**8k6(Jo)tYDVM!%fjsvYbmj3xxAxoR8JZq3X>5F>{_+2j2Mf9S=E<8la;ttR z=zOMLqV#PUyZ!J&hQ_zDiLZoWam zr|<`xP8L>Opf0eunn8SvSJRK}4o77?F6Rdfu@P{69N;5Y@YL@| zbDZGz6Wn>uoZ{=ajuyUPE5Y_6Zj9|JMK%>j5H7w!BjP%EjJSKOhEVE~2RMmxZ)iuk z5xV${a_d!g0atj(*&mJk=tA++USg%HImHp|RNz|Jo5#4;Khrlq`9g!X#o|i<0000< KMNUMnLSTYB2#5&) literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/recycle-16.png b/view/theme/frost/images/recycle-16.png new file mode 100644 index 0000000000000000000000000000000000000000..909364cb19064eddf8247f49fa905e2289695c54 GIT binary patch literal 364 zcmV-y0h9iTP)5r00006VoOIv0RI60 z0RN!9r;`8x0U=35K~yM_ebT)yL{St4;4c{_qLX+48VQ9$AyY}{6ubZmjfR*)La$Sc zLPMgPMijh(MEq1l6cW`C6%~>(T*W;T*O@bRvYU1GT6^u4Lwn6)6B}qE3th*0V*XE! zq7ev}K`1M96C)_6$R%7vgypcgh}BU|2`nVGjbk;!Z_(Y!!5ZGf;8ws_@D{LdOkoLq zE#e|}L)TEjK6;`By_gFQG90uXhVfOfxRbJniRhFJGjJ4v4GeVp$j+igy-;#m(Zs{ApTGpKIQp=$&kfiG<1zY zd?W<6P3aCx557Zy?>AA|37=1 zE?96`ckSQ){`cN%?R|*1!5D$1xQM zJx#>7VHj>ifE@e303VkKKgB{UiGb+Chc62-7}qLK)gG zGnQ;)akxbE+d^JlDB1fJ5T9ka zZlbqvK0+`|GYS8ON->Q(ht+l2#A{)3Gd-?#DGPK5To%= zgziqN_pRs`@kS!Z>ImH)s_Q%VOG24`nFuie=UZr>gHtV%9t&GG2D1_&2-oP;Sn;sV$$z~Qj-B+MmtV6$!)`1!U~MVFG5FsX4^f#3cD~~f4?vD;){A?i`=3= z!Hh=A;ri?P4n~P9-yEVH_Yxp>H(4pLCQJARA4Q7g5I-gWJXG<@stY|~p0L-k5Yv>G zVKd)WoOD0~M6Yn~_h3R9X%qXyixp93-PjtF*e>n@DsIOok@;&QVG-&*1%hzcs&cRB ze>^?2s_VIiuY?2IxNSvShrhDFM+$vnjPMh&JBvTc;+=)u*J@t~U!8i{y>k0W_?;SM Z{{d$6;Rkf1z7PNa002ovPDHLkV1gt6YO4SM literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/remote-link-16.png b/view/theme/frost/images/remote-link-16.png new file mode 100644 index 0000000000000000000000000000000000000000..29eeeb813f4624fe54ae2dce6772c79633611446 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt^nJzX3_ zEPD4|GW2S86kvV8&np85!*f?`w;A@A z$~>_75FXL!rFcnumcb#`Zw2jJduIE_ES@T}g*ozILeu7=xldWF9vR literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/remote-link.png b/view/theme/frost/images/remote-link.png new file mode 100644 index 0000000000000000000000000000000000000000..1f657411aed18e9bb1c9a49a49703d2945a00d31 GIT binary patch literal 534 zcmV+x0_pvUP)&og&~co?~<~LMPrfvGF@h;C&*0 zFUD~m_pq8J)GEXrZedSmk8YvlV|a*H1$(@d)3B)m9^qiL?j(kV=Bsj$8s=phwlOh{ zh<^kRu-ruQIDU#6wlVl2TcR9X#-}YNkK+$UI};K&a05@#RbfpT{^C1nmFN}9 z_pd5Y!#Bauq=@LyT=NyhN5RMte4-3DaVcl~2d0Eq?lZn(A5P)6@G9qF5_j+`9xSWG zROS>jxU2XpIUv6R2 zP)<&sH>LadN9k|qCuTlO|G zS=d-oHa7kM7E(k>QslA_k!zy{Wkxa+xin*Op40ixG&ARS&irIyp8EBCdVb&U^Lu|U zeZS9-N&8Q&4tw)VI1M{11h{}99Lxh?Chp)=1%1}wcR>8YrilQ|!J|l42?QLDenWVJ zsnr0?$Fn3+Ify!(Mtc%FpY%UjDZmoEO%jxYNcX^9rBTnohluy11!^+@tj29Dt`K}) z_zgH7`m53mG~z&(MC;LK_za9U6LqKw-GuIF`yC4--jL*cQSA6&oTq;bfYBg|OK>8I z?N8dDN#f^{_)6n^q}($S;%vkRu`Xh@G1?*YB(v0+L;cJxkz#uM#Zc|uZ z3g=AGI`V|Lj9a0%D{MTtk+fMA{xd#>UYaKaTnRq~D?)cC@6$8mWBAs*A$k(s8on=y zwIsSfd}H1a=}3D=`EUv}J^Vo45WB+vP&ndYQSv^Wskz~M^Mu%qt)Z`BAoRAR&6DuW zm>v3Mo)A0251}h`E%tlII1zxNHTuW@ i9o1Uye_)gLSL_dSnG^ESNfXeR~-HjC9!&XWmcWX5Z)7 zakTEBe_=qu`U>qG=@H*TZkvcDEqy2dh|hiHR9PDy0sExw`Euqz@;K@ropI9iyKyZ1 z@B`t+vn0-$W&Af0pEA25@Xln75s pM%&j*cOBmGytb#hCSlSEdk>9tpAYZL)&qUX;OXk;vd$@?2>|1ldzb(K literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/star-yellow-16.png b/view/theme/frost/images/star-yellow-16.png new file mode 100644 index 0000000000000000000000000000000000000000..294d04e0601f8549ef259fb2ca334cc12429496f GIT binary patch literal 372 zcmV-)0gL{LP)Vy-Gtt5C!1x2HaA_ zLK_h+tP?bZg@7Uo79uLBy>B7tqln-Oh!&PsHmM}NMIe`he{4>;x>m}C!L0SOc*ZiN?1c{2yzSSr4ThSkBb4wmskkVO$kEuf^8h&qYv>D zN7x9_GbFk3jo<-e1p-f)46*k}evC_f$S{t@em>aBI&t~x~u z8&O1KBL-5~B#0Sp#5c6kAW6g!un{C+Ay!s4=`2iTr-&9R2o{1OzF?8U{Qx#9f`}#o zQ4l53O-yXIkoDf&&2GH+G|SA+&UxniXV0144kay3bm9&U;R!}UG*@P>n(}rI$IyuZ zoGm+16^K*0_DI=@I!a2>jW@aOC2SAT`&LC_sKJ5;TPep-gZ|-`$k9NGN|Ka`#Bh^E z4Yop#!3vPo*ldr-00^>&uE^IVSTrDv6TZk4r(!>eeC;4cLm1uq=}v~k!U8xJT9O+yUv%5YOSOcpKvfl6Cqj((FFEo{VQHn zqqNvVRYKMF4UzkI;wb_>OCMP;cxX!E=KK TP^1hR00000NkvXXu0mjf13D8p literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/star.png b/view/theme/frost/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a61a497c6f89176297eb1ca40cbd6ffd97d0e3 GIT binary patch literal 515 zcmV+e0{s1nP))jtE8~835cW&iiJ%;3rodVt^`2~4Z*~imttngW}VkNyR!!_%gj7;?*HDi^UM&g zE7-(7Ug2^DuV6jJY1ddD2E@l6i1&2^TqVpKAvA63=@7(I5P)V$j5Q)pp{Wf`7y` z-Kq%C88`A)nx%zc{66~Z=+91k3I&)hIKkI~b=T7-%8Daz3y-iO`r2BFkFzwNb3IWX zq_3*&|L&L9Ww*-$Oo~3clFZ(Ux@nTKy6iC~%0N6$Fgd}hsEcN)71wndUH5oc24bn_ z<{!9I#sG8iece8bWehIi1@^FosgeL4P2mlGV@=8~o&joeg=kVQfqDP{002ovPDHLk FV1lH>=#BsY literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/tag-16.png b/view/theme/frost/images/tag-16.png new file mode 100644 index 0000000000000000000000000000000000000000..cca139cade3921956dd09380982eaa33c90e9181 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`bo-U3d z7QII=ZscV$6mYp%uB5VH?(0U0tc9#X>*SLzX*Y|+GI|I!965F9hP2_N$zRW0Uvt)- z-R96tgBKx^evVlW^E^!E8$6oT=<@iR?e3IWE|;4ucb~gb(X5v8Lpw!OAw6eL-9mTe zYflYsr~Gt#*Lr8;`m5QFb#2iT))nwh;&MMBX#VEZY4uwhYr+>Ez0eAD5`(9!pUXO@ GgeCw#@>H7u literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/tag.png b/view/theme/frost/images/tag.png new file mode 100644 index 0000000000000000000000000000000000000000..9c644b8232f0ac8d2c3e145d9a42adb33d3699ea GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt^PJY5_^ zB3j>GQRHJX6li@Y?;jx3@YUlSgZe`~8OHrLlh+(BWPHNb>YC``kRY|`t>5jLX|C!k zt80Ir;psWgSiv}dqB%qF^ZB=07+e*E8Z=ed5|}(0S2z_hWK9rwz&EEstRmW}W+{Kd z+b4a(9XcKBH~c-V%i59BvHlI0&YU}b9Ue_Br_LP^yTQDj!^K1;UHgi{VHpMA))0@@ zGa{R2GB26$G^N2tl_T3j-8I5d?|>HDLS9d%45v*DQUan5d@iCBm<$<@IQTFMc?ddi k1c^Lws;XPQV=~jeeVum4rV93M2l|o0)78&qol`;+00CfUU;qFB literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/underlineU-serif-16.png b/view/theme/frost/images/underlineU-serif-16.png new file mode 100644 index 0000000000000000000000000000000000000000..b24729f6cb7844725a4eb4b8f6605faf2d2932f8 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3HGNrubO_DYhhUcNd2LAh=-f^2tDv1D-C9 zAsQ3kURLyGPLw(R@jRbSv!?d4jeD}h!^Bv2pWJhFZ^zTCjR#fsH9OyEI=HtnaRaB= zVS$?uE;-yeWXoRO{#w&`CpyU)_IcbobULG-YK1lyKJ!q P=obc0S3j3^P6KnwqJJNALjRZ469J1U-Ow z0Yi-qbao9i&`4wrrUqvHX_&-7EGW9)>#BZq_oJCcg?(J%CA>`TM^re$Bzz0o_&Ay` zIEtXgF6P3$3Y_lFw^Vda&ixN)HFez`F*8%o8I`9Tm3iw tL1TpjEMQU7pY6Q;6>5wy*7WTN;}2h2F26R`TNMBR002ovPDHLkV1i&-fd2ph literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/unlock.png b/view/theme/frost/images/unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..81d9740e81ddad0705355bd0bfc5421c4d4d64d0 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^ia>16!3HFovXx%~DYhhUcNd2LAh=-f^2rPgj2}H+ z977^n-`+f%B^)Tx{xN=wSBB`tEB$5KO+li9h0CSG*X`jf4cx;J_(AGRkQT?fU8PHR zXnMp(OuRIU-%u;0aACKl`=raBb5xQxTk!K3&$Rsi-Nv~s<=)I$7gs!H%X?@fcF{pP zx}sBb&7H0;unc81R>nR~Zt!{Q6%H!~M)u8>f<{N~q$7|njK zu04l;cKz(Wp|SGgf>j6hJnE@FJil;TR^x%76JM{rd=xSDgY53}58ib!O?)~jYWr%I z`Kk+f&-7>-HuHP#T^`yrf6|4=hOA2dld9g99N71ySk`@V?RvE-9-n&+&O3A-ouo8d z*lWtu-_JZ%pLsFat4-1Pt^9hn`qUf3n_N`9U5@=#m1)iIy1g&1?BDhy*)fu430nL5 zbOdK|bq4C4Ve@Nw8WJJT|Jyo4^Vg)e8}i!zPF2xMR2110V3fw%UYNl0@WgqA>p>+M zXXm}O|DD|>-D{hwwXRb~@TAa0oW$R*Z~4I&&EIL<+WTw6g_e?!a`__u1!3%af39TT zdGA>H!t~!M7Sqg*-0qrQu+j3~rTZG&r`W{&<^8L_jQ!8Gua|(yfx*+&&t;ucLK6Vh C5(kL@ literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/video-16.png b/view/theme/frost/images/video-16.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7e15d8ea3279e9e2993c5d98bc5b03a0dc9c11 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`fo-U3d z7QJsT?&fT85NLVG|Jz`j;^~hUr_^@1Ml>ZXQLB=1yC?aIf40tbP0l+XkKb09rm literal 0 HcmV?d00001 diff --git a/view/theme/frost/images/video.png b/view/theme/frost/images/video.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb0479126be21010547bb1c2df5fe0345c59e08 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt^TJY5_^ zB3j>Gb>wmk6lwo>fAY-Eg^fIK4r=Kf(Ayxi%|SAXOFJNKSsPnd`T^~|d!|3KdsJ8Y z`r6OyKVOxdR}|`WIpulb_=~c7^J1NOoOu)2tg5fbeet=lcdptTCa)zKPg$fQ?p?jk z#J%Lj9nLKqPhIT~_4=|w`$UM6;emxJ!ZArr#gS?!ee6yyejjXEuWb1B$mIV=-~X6p zIWf?}aDP&HO-=VT!y`Ks{%9Fr&zz}#)XZVOhsvkLF%056UF8{EyuSnez~JfX=d#Wz Gp$PyV8*J|Y literal 0 HcmV?d00001 diff --git a/view/theme/frost/jot-header.tpl b/view/theme/frost/jot-header.tpl new file mode 100644 index 0000000000..38b0a92083 --- /dev/null +++ b/view/theme/frost/jot-header.tpl @@ -0,0 +1,317 @@ + + + + + diff --git a/view/theme/frost/js/main.js b/view/theme/frost/js/main.js new file mode 100644 index 0000000000..71cd8579e8 --- /dev/null +++ b/view/theme/frost/js/main.js @@ -0,0 +1,656 @@ + + function openClose(theID) { + if(document.getElementById(theID).style.display == "block") { + document.getElementById(theID).style.display = "none" + } + else { + document.getElementById(theID).style.display = "block" + } + } + + function openMenu(theID) { + document.getElementById(theID).style.display = "block" + } + + function closeMenu(theID) { + document.getElementById(theID).style.display = "none" + } + + + + var src = null; + var prev = null; + var livetime = null; + var msie = false; + var stopped = false; + var totStopped = false; + var timer = null; + var pr = 0; + var liking = 0; + var in_progress = false; + var langSelect = false; + var commentBusy = false; + var last_popup_menu = null; + var last_popup_button = null; + + $(function() { + $.ajaxSetup({cache: false}); + + msie = $.browser.msie ; + + /* setup tooltips *//* + $("a,.tt").each(function(){ + var e = $(this); + var pos="bottom"; + if (e.hasClass("tttop")) pos="top"; + if (e.hasClass("ttbottom")) pos="bottom"; + if (e.hasClass("ttleft")) pos="left"; + if (e.hasClass("ttright")) pos="right"; + e.tipTip({defaultPosition: pos, edgeOffset: 8}); + });*/ + + + + /* setup onoff widgets */ + $(".onoff input").each(function(){ + val = $(this).val(); + id = $(this).attr("id"); + $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden"); + + }); + $(".onoff > a").click(function(event){ + event.preventDefault(); + var input = $(this).siblings("input"); + var val = 1-input.val(); + var id = input.attr("id"); + $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden"); + $("#"+id+"_onoff ."+ (val==1?"on":"off")).removeClass("hidden"); + input.val(val); + //console.log(id); + }); + + /* setup field_richtext */ + setupFieldRichtext(); + + /* popup menus */ + function close_last_popup_menu(e) { + + if( last_popup_menu ) { + if( '#' + last_popup_menu.attr('id') !== $(e.target).attr('rel')) { + last_popup_menu.hide(); + last_popup_button.removeClass("selected"); + last_popup_menu = null; + last_popup_button = null; + } + } + } + $('a[rel^=#]').click(function(e){ + + close_last_popup_menu(e); + menu = $( $(this).attr('rel') ); + e.preventDefault(); + e.stopPropagation(); + + if (menu.attr('popup')=="false") return false; + + $(this).parent().toggleClass("selected"); + menu.slideToggle('fast'); + + if (menu.css("display") == "none") { + last_popup_menu = null; + last_popup_button = null; + } else { + last_popup_menu = menu; + last_popup_button = $(this).parent(); + } + return false; + }); + $('html').click(function(e) { + close_last_popup_menu(e); + }); + + // fancyboxes + $("a.popupbox").fancybox({ + 'transitionIn' : 'none', + 'transitionOut' : 'none' + }); + + + /* notifications template */ + var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); + var notifications_all = unescape($('
    ').append( $("#nav-notifications-see-all").clone() ).html()); //outerHtml hack + var notifications_mark = unescape($('
    ').append( $("#nav-notifications-mark-all").clone() ).html()); //outerHtml hack + var notifications_empty = unescape($("#nav-notifications-menu").html()); + + /* nav update event */ + $('nav').bind('nav-update', function(e,data){; + var invalid = $(data).find('invalid').text(); + if(invalid == 1) { window.location.href=window.location.href } + + var net = $(data).find('net').text(); + if(net == 0) { net = ''; $('#net-update').removeClass('show') } else { $('#net-update').addClass('show') } + $('#net-update').html(net); + + var home = $(data).find('home').text(); + if(home == 0) { home = ''; $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') } + $('#home-update').html(home); + + var intro = $(data).find('intro').text(); + if(intro == 0) { intro = ''; $('#intro-update').removeClass('show') } else { $('#intro-update').addClass('show') } + $('#intro-update').html(intro); + + var mail = $(data).find('mail').text(); + if(mail == 0) { mail = ''; $('#mail-update').removeClass('show') } else { $('#mail-update').addClass('show') } + $('#mail-update').html(mail); + + var intro = $(data).find('intro').text(); + if(intro == 0) { intro = ''; $('#intro-update-li').removeClass('show') } else { $('#intro-update-li').addClass('show') } + $('#intro-update-li').html(intro); + + var mail = $(data).find('mail').text(); + if(mail == 0) { mail = ''; $('#mail-update-li').removeClass('show') } else { $('#mail-update-li').addClass('show') } + $('#mail-update-li').html(mail); + + var eNotif = $(data).find('notif') + + if (eNotif.children("note").length==0){ + $("#nav-notifications-menu").html(notifications_empty); + } else { + nnm = $("#nav-notifications-menu"); + nnm.html(notifications_all + notifications_mark); + //nnm.attr('popup','true'); + eNotif.children("note").each(function(){ + e = $(this); + text = e.text().format(""+e.attr('name')+""); + html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen')); + nnm.append(html); + }); + } + notif = eNotif.attr('count'); + if (notif>0){ + $("#nav-notifications-linkmenu").addClass("on"); + } else { + $("#nav-notifications-linkmenu").removeClass("on"); + } + if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') } + $('#notify-update').html(notif); + + var eSysmsg = $(data).find('sysmsgs'); + eSysmsg.children("notice").each(function(){ + text = $(this).text(); + $.jGrowl(text, { sticky: true, theme: 'notice' }); + }); + eSysmsg.children("info").each(function(){ + text = $(this).text(); + $.jGrowl(text, { sticky: false, theme: 'info', life: 1500 }); + }); + + }); + + + NavUpdate(); + // Allow folks to stop the ajax page updates with the pause/break key + $(document).keydown(function(event) { + if(event.keyCode == '8') { + var target = event.target || event.srcElement; + if (!/input|textarea/i.test(target.nodeName)) { + return false; + } + } + if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) { + event.preventDefault(); + if(stopped == false) { + stopped = true; + if (event.ctrlKey) { + totStopped = true; + } + $('#pause').html('pause'); + } else { + unpause(); + } + } else { + if (!totStopped) { + unpause(); + } + } + }); + + + }); + + function NavUpdate() { + + if(! stopped) { + var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : ''); + $.get(pingCmd,function(data) { + $(data).find('result').each(function() { + // send nav-update event + $('nav').trigger('nav-update', this); + + + // start live update + + + + if($('#live-network').length) { src = 'network'; liveUpdate(); } + if($('#live-profile').length) { src = 'profile'; liveUpdate(); } + if($('#live-community').length) { src = 'community'; liveUpdate(); } + if($('#live-notes').length) { src = 'notes'; liveUpdate(); } + if($('#live-display').length) { + if(liking) { + liking = 0; + window.location.href=window.location.href + } + } + if($('#live-photos').length) { + if(liking) { + liking = 0; + window.location.href=window.location.href + } + } + + + + + }); + }) ; + } + timer = setTimeout(NavUpdate,updateInterval); + } + + function liveUpdate() { + if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; } + if(($('.comment-edit-text-full').length) || (in_progress)) { + if(livetime) { + clearTimeout(livetime); + } + livetime = setTimeout(liveUpdate, 10000); + return; + } + if(livetime != null) + livetime = null; + + prev = 'live-' + src; + + in_progress = true; + var udargs = ((netargs.length) ? '/' + netargs : ''); + var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&page=' + profile_page + '&msie=' + ((msie) ? 1 : 0); + + $.get(update_url,function(data) { + in_progress = false; + // $('.collapsed-comments',data).each(function() { + // var ident = $(this).attr('id'); + // var is_hidden = $('#' + ident).is(':hidden'); + // if($('#' + ident).length) { + // $('#' + ident).replaceWith($(this)); + // if(is_hidden) + // $('#' + ident).hide(); + // } + //}); + + // add a new thread + + $('.tread-wrapper',data).each(function() { + var ident = $(this).attr('id'); + + if($('#' + ident).length == 0 && profile_page == 1) { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + prev).after($(this)); + } + else { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + ident).replaceWith($(this)); + } + prev = ident; + }); + + // reset vars for inserting individual items + + /*prev = 'live-' + src; + + $('.wall-item-outside-wrapper',data).each(function() { + var ident = $(this).attr('id'); + + if($('#' + ident).length == 0 && prev != 'live-' + src) { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + prev).after($(this)); + } + else { + $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago')); + if($('#' + ident + ' ' + '.comment-edit-text-empty').length) + $('#' + ident + ' ' + '.wall-item-comment-wrapper').replaceWith($(this).find('.wall-item-comment-wrapper')); + $('#' + ident + ' ' + '.hide-comments-total').replaceWith($(this).find('.hide-comments-total')); + $('#' + ident + ' ' + '.wall-item-like').replaceWith($(this).find('.wall-item-like')); + $('#' + ident + ' ' + '.wall-item-dislike').replaceWith($(this).find('.wall-item-dislike')); + $('#' + ident + ' ' + '.my-comment-photo').each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + } + prev = ident; + });*/ + + $('.like-rotator').hide(); + if(commentBusy) { + commentBusy = false; + $('body').css('cursor', 'auto'); + } + /* autocomplete @nicknames */ + $(".comment-edit-form textarea").contact_autocomplete(baseurl+"/acl"); + }); + } + + function imgbright(node) { + $(node).removeClass("drophide").addClass("drop"); + } + + function imgdull(node) { + $(node).removeClass("drop").addClass("drophide"); + } + + // Since our ajax calls are asynchronous, we will give a few + // seconds for the first ajax call (setting like/dislike), then + // run the updater to pick up any changes and display on the page. + // The updater will turn any rotators off when it's done. + // This function will have returned long before any of these + // events have completed and therefore there won't be any + // visible feedback that anything changed without all this + // trickery. This still could cause confusion if the "like" ajax call + // is delayed and NavUpdate runs before it completes. + + function dolike(ident,verb) { + unpause(); + $('#like-rotator-' + ident.toString()).show(); + $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate ); +// if(timer) clearTimeout(timer); +// timer = setTimeout(NavUpdate,3000); + liking = 1; + } + + function dostar(ident) { + ident = ident.toString(); +// $('#like-rotator-' + ident).show(); + $.get('starred/' + ident, function(data) { + if(data.match(/1/)) { + $('#starred-' + ident).addClass('starred'); + $('#starred-' + ident).removeClass('unstarred'); + $('#star-' + ident).addClass('hidden'); + $('#unstar-' + ident).removeClass('hidden'); + } + else { + $('#starred-' + ident).addClass('unstarred'); + $('#starred-' + ident).removeClass('starred'); + $('#star-' + ident).removeClass('hidden'); + $('#unstar-' + ident).addClass('hidden'); + } +// $('#like-rotator-' + ident).hide(); + }); + } + + function getPosition(e) { + var cursor = {x:0, y:0}; + if ( e.pageX || e.pageY ) { + cursor.x = e.pageX; + cursor.y = e.pageY; + } + else { + if( e.clientX || e.clientY ) { + cursor.x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft; + cursor.y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop; + } + else { + if( e.x || e.y ) { + cursor.x = e.x; + cursor.y = e.y; + } + } + } + return cursor; + } + + var lockvisible = false; + + function lockview(event,id) { + event = event || window.event; + cursor = getPosition(event); + if(lockvisible) { + lockviewhide(); + } + else { + lockvisible = true; + $.get('lockview/' + id, function(data) { + $('#panel').html(data); + $('#panel').css({ 'left': cursor.x + 5 , 'top': cursor.y + 5}); + $('#panel').show(); + }); + } + } + + function lockviewhide() { + lockvisible = false; + $('#panel').hide(); + } + + function post_comment(id) { + unpause(); + commentBusy = true; + $('body').css('cursor', 'wait'); + $("#comment-preview-inp-" + id).val("0"); + $.post( + "item", + $("#comment-edit-form-" + id).serialize(), + function(data) { + if(data.success) { + $("#comment-edit-wrapper-" + id).hide(); + $("#comment-edit-text-" + id).val(''); + var tarea = document.getElementById("comment-edit-text-" + id); + if(tarea) + commentClose(tarea,id); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,10); + } + if(data.reload) { + window.location.href=data.reload; + } + }, + "json" + ); + return false; + } + + + function preview_comment(id) { + $("#comment-preview-inp-" + id).val("1"); + $("#comment-edit-preview-" + id).show(); + $.post( + "item", + $("#comment-edit-form-" + id).serialize(), + function(data) { + if(data.preview) { + + $("#comment-edit-preview-" + id).html(data.preview); + $("#comment-edit-preview-" + id + " a").click(function() { return false; }); + } + }, + "json" + ); + return true; + } + + + + function preview_post() { + $("#jot-preview").val("1"); + $("#jot-preview-content").show(); + tinyMCE.triggerSave(); + $.post( + "item", + $("#profile-jot-form").serialize(), + function(data) { + if(data.preview) { + $("#jot-preview-content").html(data.preview); + $("#jot-preview-content" + " a").click(function() { return false; }); + } + }, + "json" + ); + $("#jot-preview").val("0"); + return true; + } + + + function unpause() { + // unpause auto reloads if they are currently stopped + totStopped = false; + stopped = false; + $('#pause').html(''); + } + + + function bin2hex(s){ + // Converts the binary representation of data to hex + // + // version: 812.316 + // discuss at: http://phpjs.org/functions/bin2hex + // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfixed by: Onno Marsman + // + bugfixed by: Linuxworld + // * example 1: bin2hex('Kev'); + // * returns 1: '4b6576' + // * example 2: bin2hex(String.fromCharCode(0x00)); + // * returns 2: '00' + var v,i, f = 0, a = []; + s += ''; + f = s.length; + + for (i = 0; i' + data.desc + '
    ' + data.version + '
    ' + data.credits + '
    ' + theme + ''); + }); + +} diff --git a/view/theme/frost/js/theme.js b/view/theme/frost/js/theme.js new file mode 100644 index 0000000000..0d96cfa924 --- /dev/null +++ b/view/theme/frost/js/theme.js @@ -0,0 +1,184 @@ +$(document).ready(function() { + + window.navMenuTimeout = { + '#network-menu-list-timeout': null, + '#contacts-menu-list-timeout': null, + '#system-menu-list-timeout': null, + '#network-menu-list-opening': false, + '#contacts-menu-list-opening': false, + '#system-menu-list-opening': false, + '#network-menu-list-closing': false, + '#contacts-menu-list-closing': false, + '#system-menu-list-closing': false + }; + + $.ajaxSetup({ + cache: false + }); + + + $('.nav-menu-link').hover(function() { + showNavMenu($(this).attr('rel')); + }, function() { + hideNavMenu($(this).attr('rel')); + }); + +/* $('html').click(function() { $("#nav-notifications-menu" ).hide(); });*/ + + $('.group-edit-icon').hover( + function() { + $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + + $('.sidebar-group-element').hover( + function() { + id = $(this).attr('id'); + $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');} + ); + + + $('.savedsearchdrop').hover( + function() { + $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + + $('.savedsearchterm').hover( + function() { + id = $(this).attr('id'); + $('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} + ); + +/* $('.nav-load-page-link').click(function() { + getPageContent( $(this).attr('href') ); + hideNavMenu( '#' + $(this).closest('ul').attr('id') ); + return false; + });*/ + +}); + + +function insertFormatting(comment,BBcode,id) { + + var tmpStr = $("#comment-edit-text-" + id).val(); + if(tmpStr == comment) { + tmpStr = ""; + $("#comment-edit-text-" + id).addClass("comment-edit-text-full"); + $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty"); + openMenu("comment-edit-submit-wrapper-" + id); + $("#comment-edit-text-" + id).val(tmpStr); + } + + textarea = document.getElementById("comment-edit-text-" +id); + if (document.selection) { + textarea.focus(); + selected = document.selection.createRange(); + if (BBcode == "url"){ + selected.text = "["+BBcode+"]" + "http://" + selected.text + "[/"+BBcode+"]"; + } else + selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]"; + } else if (textarea.selectionStart || textarea.selectionStart == "0") { + var start = textarea.selectionStart; + var end = textarea.selectionEnd; + if (BBcode == "url"){ + textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length); + } else + textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length); + } + return true; +} + +function cmtBbOpen(id) { + $(".comment-edit-bb-" + id).show(); +} +function cmtBbClose(id) { + $(".comment-edit-bb-" + id).hide(); +} + +/* +$(document).mouseup(function (clickPos) { + + var sysMenu = $("#system-menu-list"); + var sysMenuLink = $(".system-menu-link"); + var contactsMenu = $("#contacts-menu-list"); + var contactsMenuLink = $(".contacts-menu-link"); + var networkMenu = $("#network-menu-list"); + var networkMenuLink = $(".network-menu-link"); + + if( !sysMenu.is(clickPos.target) && !sysMenuLink.is(clickPos.target) && sysMenu.has(clickPos.target).length === 0) { + hideNavMenu("#system-menu-list"); + } + if( !contactsMenu.is(clickPos.target) && !contactsMenuLink.is(clickPos.target) && contactsMenu.has(clickPos.target).length === 0) { + hideNavMenu("#contacts-menu-list"); + } + if( !networkMenu.is(clickPos.target) && !networkMenuLink.is(clickPos.target) && networkMenu.has(clickPos.target).length === 0) { + hideNavMenu("#network-menu-list"); + } +}); + + +function getPageContent(url) { + + var pos = $('.main-container').position(); + + $('.main-container').css('margin-left', pos.left); + $('.main-content-container').hide(0, function () { + $('.main-content-loading').show(0); + }); + + $.get(url, function(html) { + console.log($('.main-content-container').html()); + $('.main-content-container').html( $('.main-content-container', html).html() ); + console.log($('.main-content-container').html()); + $('.main-content-loading').hide(function() { + $('.main-content-container').fadeIn(800,function() { + $('.main-container').css('margin-left', 'auto'); // This sucks -- if the CSS specification changes, this will be wrong + }); + }); + }); +} +*/ + +function showNavMenu(menuID) { + + if(window.navMenuTimeout[menuID + '-closing']) { + window.navMenuTimeout[menuID + '-closing'] = false; + clearTimeout(window.navMenuTimeout[menuID + '-timeout']); + } + else { + window.navMenuTimeout[menuID + '-opening'] = true; + + window.navMenuTimeout[menuID + '-timeout'] = setTimeout( function () { + $(menuID).slideDown('fast').show(); + window.navMenuTimeout[menuID + '-opening'] = false; + }, 200); + } +} + +function hideNavMenu(menuID) { + + if(window.navMenuTimeout[menuID + '-opening']) { + window.navMenuTimeout[menuID + '-opening'] = false; + clearTimeout(window.navMenuTimeout[menuID + '-timeout']); + } + else { + window.navMenuTimeout[menuID + '-closing'] = true; + + window.navMenuTimeout[menuID + '-timeout'] = setTimeout( function () { + $(menuID).slideUp('fast'); + window.navMenuTimeout[menuID + '-closing'] = false; + }, 500); + } +} + diff --git a/view/theme/frost/lang_selector.tpl b/view/theme/frost/lang_selector.tpl new file mode 100644 index 0000000000..e777a0a861 --- /dev/null +++ b/view/theme/frost/lang_selector.tpl @@ -0,0 +1,10 @@ +
    + diff --git a/view/theme/frost/lock.cur b/view/theme/frost/lock.cur new file mode 100644 index 0000000000000000000000000000000000000000..892c5e851eedc16e9844061b199e24194cfbc370 GIT binary patch literal 4286 zcmd^C$KVDWfom`T#)dc~R#4I^Rs~r4O)`b{bmUKcqz}))c5uC(7v?)v4a2P)ZNa- z@$&T2)z|&~{r~^}A^8LV00000EC2ui01yBW000GQ;3tk`X`bk)Wk@<6#nZYULKH{p zEx|?+kif!I0vIL|#ZMubBmjWH2OtmxIFVa~6JQ7!1CK!f5W#StOTv&C3=E8h2vI1s n+#cd5;2fT3B_0kF0v!+!GARoV78n&7dMN`JIW(4+BOw4gP{MS* literal 0 HcmV?d00001 diff --git a/view/theme/frost/login-style.css b/view/theme/frost/login-style.css new file mode 100644 index 0000000000..5b82c11d3b --- /dev/null +++ b/view/theme/frost/login-style.css @@ -0,0 +1,108 @@ +body { + font-family: helvetica,arial,freesans,clean,sans-serif; + font-size: 14px; + background-color: #ffffff; + color: #505050;/* ZP Change*/ + margin: 0px; +} + +a, a:visited, a:link { color: #3465a4; text-decoration: none; } +a:hover {text-decoration: underline; } + +img { border :0px; } + +.login-button { + margin-top: 110px; +} + +img.login-button-image { + max-width: 350px; +} + +.section-wrapper { + position: relative; + width: 800px; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.login-form { + margin-top: 200px; +} + +.register-form { + margin-top: 15px; +} + +.lostpass-form { + margin-top: 170px; +} + +.field label { + position: absolute; + margin-left: 0px; + font-weight: 700; +} + +.field input { +/* margin-left: 225px;*/ + width: 200px; +} + +.openid input { + background: url(login-bg.gif) no-repeat; + background-position: 0 50%; + width: 182px; + padding-left: 18px; +} + +#wrapper_username input, #wrapper_password input, #wrapper_openid_url input { + margin-left: 225px; +} + +#register-openid-wrapper input, #register-name-wrapper input, #register-email-wrapper input, #register-nickname-wrapper input { + margin-left: 275px; +} + +#login-name-wrapper input { + margin-left: 200px; +} + +.login-extra-links, .agreement { + font-size: 12px; +} + +#login-submit-button, #register-submit-button, #lostpass-submit-button { + font-size: 16px; +} + +#register-link { + margin-right: 200px; +} + +.error-message { + width: 475px; + color: #FF0000; + font-size: 1.1em; + text-align: left; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 10px; + margin-left: auto; + margin-right: auto; +} + +.register-explain-wrapper { + width: 400px; + font-size: 12px; + text-align: left; + margin-left: 200px; +} + +#lostpass-desc { + width: 380px; + margin-left: 220px; + text-align: left; + font-size: 12px; +} diff --git a/view/theme/frost/login.tpl b/view/theme/frost/login.tpl new file mode 100644 index 0000000000..6f4c97cc50 --- /dev/null +++ b/view/theme/frost/login.tpl @@ -0,0 +1,42 @@ + + + + diff --git a/view/theme/frost/lostpass.tpl b/view/theme/frost/lostpass.tpl new file mode 100644 index 0000000000..f2a802494e --- /dev/null +++ b/view/theme/frost/lostpass.tpl @@ -0,0 +1,21 @@ +
    +

    $title

    +


    + +
    +
    + + +
    +
    +

    +$desc +

    +
    + +
    + +
    +
    +
    +
    diff --git a/view/theme/frost/moderated_comment.tpl b/view/theme/frost/moderated_comment.tpl new file mode 100755 index 0000000000..b0451c8c60 --- /dev/null +++ b/view/theme/frost/moderated_comment.tpl @@ -0,0 +1,61 @@ +
    +
    + + + + + + + +
    + $mytitle +
    +
    + +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    + + +
    + + +
    +
    + +
    diff --git a/view/theme/frost/nav.tpl b/view/theme/frost/nav.tpl new file mode 100644 index 0000000000..e2ea06b909 --- /dev/null +++ b/view/theme/frost/nav.tpl @@ -0,0 +1,131 @@ + + + diff --git a/view/theme/frost/oembed_video.tpl b/view/theme/frost/oembed_video.tpl new file mode 100755 index 0000000000..d3a9a93113 --- /dev/null +++ b/view/theme/frost/oembed_video.tpl @@ -0,0 +1,4 @@ + + +
    +
    diff --git a/view/theme/frost/photo-menu.jpg b/view/theme/frost/photo-menu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fde5eb53524ddb12ec5642f33d0d34e14e256193 GIT binary patch literal 459 zcmex=&g!NbMF!_CFb&C4ewz{@Ad$IUGuCLky*A}T7%!!Ir&CL$pu zA}RthgpnDjhlQ1sm6cP3mz!6FWbpq0gCGZk0D}NCqY?v?AS1IN>UQrQGDKoE6M2QoDc3G+f#K-Lz&!r^Qc^B##H0%WszGMCU1W znAE#pe4KOt&Ml**OEy0VoUS}?d3@zno#;NjlP3257arA~E4nCar)(9G=iXTV|0V#| C@@!oI literal 0 HcmV?d00001 diff --git a/view/theme/frost/photo_edit.tpl b/view/theme/frost/photo_edit.tpl new file mode 100644 index 0000000000..e558fdb0eb --- /dev/null +++ b/view/theme/frost/photo_edit.tpl @@ -0,0 +1,58 @@ + +
    + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + $rotatecw +
    +
    + +
    + $rotateccw +
    + +
    +
    + +
    + +
    $permissions
    +
    +
    + +
    +
    + $aclselect +
    +
    +
    +
    + + + + +
    +
    + + diff --git a/view/theme/frost/photo_view.tpl b/view/theme/frost/photo_view.tpl new file mode 100644 index 0000000000..92e115487a --- /dev/null +++ b/view/theme/frost/photo_view.tpl @@ -0,0 +1,42 @@ +
    +

    $album.1

    + + + +
    + {{ if $prevlink }}{{ endif }} + {{ if $nextlink }}{{ endif }} +
    +
    +
    +
    $desc
    +{{ if $tags }} +
    $tags.0
    +
    $tags.1
    +{{ endif }} +{{ if $tags.2 }}{{ endif }} + +{{ if $edit }} +$edit +{{ else }} + +{{ if $likebuttons }} +
    + $likebuttons + $like + $dislike +
    +{{ endif }} + +$comments + +$paginate +{{ endif }} + diff --git a/view/theme/frost/photos_upload.tpl b/view/theme/frost/photos_upload.tpl new file mode 100644 index 0000000000..28a8bb67fb --- /dev/null +++ b/view/theme/frost/photos_upload.tpl @@ -0,0 +1,55 @@ +

    $pagename

    + +
    $usage
    + +
    +
    +
    + +
    + +
    +
    +
    +
    $existalbumtext
    + $albumselect +
    +
    + +
    +
    + +
    + +
    +
    + +
    + +
    $permissions
    +
    +
    + +
    +
    + $aclselect +
    +
    + +
    + + $uploader + + $default + +
    +
    + + + diff --git a/view/theme/frost/profile_edit.tpl b/view/theme/frost/profile_edit.tpl new file mode 100644 index 0000000000..198dddb3f6 --- /dev/null +++ b/view/theme/frost/profile_edit.tpl @@ -0,0 +1,322 @@ +$default + +

    $banner

    + + + + + + +
    +
    + + +
    + +
    *
    +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + + +
    + +$gender +
    +
    + +
    + +
    +$dob $age +
    +
    +
    + +$hide_friends + +
    + +
    +
    + + +
    + + +
    +
    + +
    + + +
    +
    + + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + +
    +
    + +
    + +$marital +
    + + + + + +
    + +
    + +$sexual +
    +
    + + + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    $lbl_pubdsc
    +
    + +
    + + +
    $lbl_prvdsc
    +
    + + +
    + +
    +
    + +
    +

    +$lbl_about +

    + + + +
    +
    + + +
    +

    +$lbl_hobbies +

    + + + +
    +
    + + +
    +

    +$lbl_likes +

    + + + +
    +
    + + +
    +

    +$lbl_dislikes +

    + + + +
    +
    + + +
    +

    +$lbl_social +

    + + + +
    +
    + + +
    + +
    +
    + + +
    +

    +$lbl_music +

    + + + +
    +
    + +
    +

    +$lbl_book +

    + + + +
    +
    + + + +
    +

    +$lbl_tv +

    + + + +
    +
    + + + +
    +

    +$lbl_film +

    + + + +
    +
    + + +
    + +
    +
    + + +
    +

    +$lbl_love +

    + + + +
    +
    + + + +
    +

    +$lbl_work +

    + + + +
    +
    + + + +
    +

    +$lbl_school +

    + + + +
    +
    + + + +
    + +
    +
    + + +
    +
    + diff --git a/view/theme/frost/profile_vcard.tpl b/view/theme/frost/profile_vcard.tpl new file mode 100644 index 0000000000..bcb5baeeb5 --- /dev/null +++ b/view/theme/frost/profile_vcard.tpl @@ -0,0 +1,51 @@ +
    + +
    $profile.name
    + + + + {{ if $pdesc }}
    $profile.pdesc
    {{ endif }} +
    $profile.name
    + + + + {{ if $location }} +
    $location
    +
    + {{ if $profile.address }}
    $profile.address
    {{ endif }} + + $profile.locality{{ if $profile.locality }}, {{ endif }} + $profile.region + $profile.postal-code + + {{ if $profile.country-name }}$profile.country-name{{ endif }} +
    +
    + {{ endif }} + + {{ if $gender }}
    $gender
    $profile.gender
    {{ endif }} + + {{ if $profile.pubkey }}{{ endif }} + + {{ if $marital }}
    $marital
    $profile.marital
    {{ endif }} + + {{ if $homepage }}
    $homepage
    $profile.homepage
    {{ endif }} + + {{ inc diaspora_vcard.tpl }}{{ endinc }} + +
    + +
    + +$contact_block + + diff --git a/view/theme/frost/prv_message.tpl b/view/theme/frost/prv_message.tpl new file mode 100644 index 0000000000..b5cda9c85e --- /dev/null +++ b/view/theme/frost/prv_message.tpl @@ -0,0 +1,39 @@ + +

    $header

    + +
    +
    + +$parent + +
    $to
    + +{{ if $showinputs }} + + +{{ else }} +$select +{{ endif }} + +
    $subject
    + + +
    $yourmessage
    + + + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    diff --git a/view/theme/frost/register.tpl b/view/theme/frost/register.tpl new file mode 100644 index 0000000000..c33fd46fe0 --- /dev/null +++ b/view/theme/frost/register.tpl @@ -0,0 +1,78 @@ +
    +

    $regtitle

    +

    + +
    + + + + $registertext + +

    $realpeople

    + +
    +
    + $oidhtml +
    +
    + +
    +

    $fillwith $fillext

    +
    + +

    + +{{ if $invitations }} + +

    $invite_desc

    +
    + + +
    +
    + +{{ endif }} + + +
    + + +
    +
    + + +
    + + +
    +
    +

    + +
    + + +
    +
    + +
    +

    $nickdesc

    +
    + + $publish + +
    +

    +
    + By clicking '$regbutt' you are agreeing to the latest $toslink and $privacylink +
    +

    + +
    + +
    +
    +
    + +$license + +
    diff --git a/view/theme/frost/screenshot.jpg b/view/theme/frost/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..90c5ebb2bb706cfd265554dedd5776a9ab2fff9a GIT binary patch literal 146944 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

    f)|HUG@6q!okhxQ9HV z3`^+LFe(HQGO|b#%1hMr&Sat_?c2J`h8CI|rV>+JITvVWU-K_7-qjM$C!6FtI@xS6 zp2$iEi#C-~d?9<}+@?07kb)t-DzL@wU5>bjVQIDhS4RZDd44iw|ny4eD zOXK*5^QXQY2WK=r>NI@l>HCvmsEy;_dmsod{ovDL$au@igdFaKWufs^_gG zWsgi}qmj|!2AIIOS<==?!XAu@nZuD%9fXlGGjb($;xwf3cya1+HkfxM8J`zDW6Sq5 z8+SYe#y@ky2tBqx4Qj=f)=k+j2;>A8qQc1oVfNa*1v)$W?Vgnm>40hVFyDQ+G zy*S@$6kxRGmu*aJals_LW$EOP_i=^YOqYr`(Zxz zfESOAI>mIAZ$qd%JgOCD`#l}uh`3=h9~AO+w2+6k#df&nL%KqeG{Y?9qRCA|%q}s8 z&DB;bi}t8uQ%&O1GpH_Eu6J#ps#&HoN?7?y^{^y59m4*KnLi+X+V(`U(if68PBSi> zVO)=8&#La@ilc>KgE9WnAm}FWEE>IRRX6|=T!~6gDyK9oE9R&sW2r^8_mE@fK?Zmz zMt?Bz! zv75?}KXhAKq4#-4XC94)&^^w#Hz)T947BWAP~uI|s52ar@<29eX*Ny{Hz_RV8I(m- zctB^J^f%jY_h8f$XjD?98J4W4<>1+6xTF9hgk?$K{fsb`vv7eW7E&s-9R>|`G8whF z#fbPfyCvkq>WBSs#I43F?g+hWuZ{C;S9Ej+e8D@sna#WR{$iKs zv;wp=(!-lqS>Ws*7J(PMlcfeKwF%y;Kuw&Q{yeHVJ)UFEk%V^*65K6e2=ZHN$dq;xZ`DGa0ZJzyYGB$C%P z^jQ3Kf@7W`sVAZf>I+uy@XCxy%f(w^YX^=1jk3-BSgYb=jwR1$Ue)J*%_w@qzfGJ` zRycHsN}VzoYejj2eKymhH}nk@$|qMYptLY~L<^J+u3*mWv?EvM%?4U#b(2NE&J^bP zcy12`eNN$#8K1b7NY2V)G!O{w&910 zab|<@y|nmvPKEb9__jmETO6s<*644HyvqrvzL`jJ<%`A+4mXApN7-|>DH+BKB73XN zQA6@JXn3Fb-(%|4Db&*_Kq)24nI%VVF$XJYAS2V1k&L;)o6~r)Dr(6%g+F*x=4X*6 zVIHe6|2nv@%s&tEvDs+G2^S5IqCe8Qid4cH_g+SGz6{oyrrNd_n zE~P4#osYMOpBH>VyOX`aPc!T~B5JorD$@?*Kii&&n1WdIo*xA?VvS|n%bnk$cYYp@ zX@kn5wQHh0Z%w{5Q5Lw~Q5$HL1W~RVJS4C^@imZ9Ni>q=1*2$ZpPAnut7;rZ)ARRZ z#2OD>r3Q@$Pv|V@*1IA%@cIXsPsCbguT$*|ZMnQ64|Z)mfjgVHBaR|yqKv_?2|))1 z0EHg{73F|DwiIA3%NdqA^yf1ZUhIM=6-tY3a5Y4zV1PSSKj#}uV6Gj0k`Ma&=Vl`Du? zU(JjH<-ThVqTtucr)RUr4$R5oXQr7kQL(oXHCv1Mh|e&NFkF%5r@QZt9o-|L9A9Z8 zWl*9d*A<+NLPOR(CK0-yR-El5yqi{W^u+hXwswGin6gRRUtF3_JZp|5{q0bIV#Rv) zOA?$50Bo>wz(UcY(yjuJ4?0<`khPS1tE(DGDX6Ln@|h!ttrA~AKoqMk33E52)n(}< zTf#Cs(UK%hoCQrn9=50QEtJnU3Mam^pJcQ(Q7?B_E0|QyL|rl9j!Kk+n6)88izq~; zc*~`R$`gh5n^1jwZ;#qh;SR(69zH9cT_!VmT>Fa?dW=WAx?$Lokpv{48fZTqhaw@x z*VgM8s4n36;gI*YNk>crX~-#P7DYjwHQnB~&gTPe`uw{mAVTt7JyX9qSpDx`q%2qK zf7rI;<#xhVq$<$~epDWZ10Td*3iy&t&bsjaElu4QvmmC$VjYJam4d~l_OjT0PNH#c z@>S$2G+kyz{mD!*R zl*CNn!`aqda)CyUHLdAWg?#4%@gNnG1dh{JZmFWyJMH(n>O9-9O0+|CI6fX4*DnT_ z$xr9M3yMjRI`z@@+u}LAT@gMSz?NAJ8!deb3#itKSXfr70TFJt7Xa86$eg5qfS3xr ze6w>zGTMdmuSo){`L6AvNXk+cf#MY31y2=k`Ja?GZq$U+soCCG5x|3@lf4|>^<%i_jtj(QC9ggPURTcMDAs!ur25S^i{A5EIsWu45dn@~2}``37K_ zYOZbNvjwWATwfeP50SYzqu5XpNC>y76($P-H1LC6d%Y98*|837Teg*IpAvacnH+#2P75aBMcX+OE@!y+9)1+GRD zwM>h~%25dct}RO0=_t1@NgA&{H4@S)O5ABB5VWn!c5*C`)m|ydU>ed|P1RA3w7aWF zT#+-kfb2qwl5*jTBj{WZdV z8aoD96PA=}-zw=xTEg`70L}2MimYXWCBkU(M`j|TmFO{9RdgugTE`3CoRVRPy7vjd z7;;{{x4O)~_F!oiEn}LHps?p158M^$3qU%^cAW7g3VGw1o+oOYOiR@IRvN1ycJjlT z^l;V&pq6|d(=l1;4n|8v72@>!{JRff+1-T5+^BC9)1p>EixZyD#L+!*f(U=gK`vcz zHYsXz0HQ^NiCVUdnve`FB8h_t@XKrt)TT-MW+Z2hELnPD3XXL~tV{picA{UaDFGw7 zMbV5(eT4X;!p?trs{DZn@ausHi?vzO*Owz6{8AUF&70hz7*7&IVOZ% zR}pVD(ri_Nm%4Coxb%*cbP-x(o|uM9$!8)3Vwu)dW0}$HsOo1FxGl-4sg9p!Wb?ZW z?UcEI=Kas^yzxg%Hqlly!j*FiJ4A==L#Jq0$~C4eL?kM1&>J;)X*=op&g;0f4fV}W zJ#7lkA;b%W<#(grO-c(5^2qhDt(ik^$1XXxjPR5`N%Bl^M5EpdNwQNbCSUo(^eb^v zJ{2W9-^d8^wR0;!X_N$ZlZk1DNu$w9?!@nl`lvU1H$S@oU?OK4G8e+6UG3=h7KkQn zXK7Ehz1Zj+QxTUprqK=~)}NpTpO%x+H+St~A(znizG^(DeWGUr+dMm!zHgKl5B54^dH4X{)kfkSpA2~U2elxcT4b#vLeZk*!FZv88?4Y1T9KJ z!f|O-ioEEvRDk&z1|e!eUYT(Zpk(+=&Al(bO8wJ@fACcKe~Hdhe;KlLRw13tY(a(;A-gCtJ@es zkYR4AdIu#NWL3~(J3NISnWjM>-8b#zuhSdeTz;TjtVXS*f4-1*KyDE^U;2K&o=5L{ z`_ONza?#j9RG(s03YD z3kUOsR!Ktz6mZ&oZ9WSqoCa1YSBEi#U@=b%Nm*>BX=d%HT~%0Q(k)Ie+6kbo&3G40 zAYQR?w-s2UDWe7Zt7MAFz&k;iqIhjX$?S*@YW1*5_VO*uZ&}ux-hS=*#8&Q5d%Pv? zF8kPJ<{rc16j(NX$#XC4+u^Xly03Hg8n<`r$Gg@b%YGrsQlg{)eA!YIw0x1w1l!C7lUPt0b^Vl6 z6(8lmttoQ)UVQ2Indc<1Jpx++$gfjLs%*vFO_otwGecxkNZSJ;nT({>g1-hQr`xlN(^i@uzR}fcdVKEo&%(t zZZ<#^ffKo=mLm16-Q4csj|2p^i3GDm(Oq>NR#* zLSUyP6{_S+^5rAbqL)Zb6PEoT6Y7%POjavUNSo$1{$ZY;^0;D_&Hu1?Q38G!V=pW< z+AHf^xN1a^JQ5v*>xz;cfZSn8yuefHddGdAwc%@&-5GZBz?R>%h)KO$v>KKX$I3f4 zm;$i(a&s4Eu5#V5`I&lTN;j zlJqDC4DzGavK><5^b;Gt-2MCQUC(a|`|combW{o<5~dU?-}C_e!4W|TkY$%(pW>)+ zO2q}>8Cr8d4lUI(>mdTA*uN0}3_g;5UD9y9Yw=pr4y>|(Iu!|*^ED|>L-YN8ujD71 zYbc@fH7^$kkGx$vFs!N9>L={?S;#TdP_+!_nbjTjiWpCa{+(EM8Td?7^_Wg|z99AD zInjMYy9HnWdTNr4!sXPpL@?9fwyhG9;N}{mqQ$9eMVR? zDqt?Mn<>`h`#TNTyi=nw4Ig>TF)95X_7TM8d*yPV^d}Tw_g(5$ij$sO!E!qG0^Br8 zOhjYcw%!CvExPnvuU1W=D4b!vR9hpXqA4UG#UYwkKqK`}GM1{4^#=klw*u8?4Z?QH z{~wTk(di35B7k~$+2_g07UP7PsAX{WY76fjxHXqU(W}iQ=;L^rpKzVrU z?rWcq4WIuK@uJ+DUr_#9YWA}Uar#q{_gW$J-C1e{>7Ui3$}vs`w0-d^IhL89TX$O@ zp=4HuRnSbki4dk-01i&~&jb^%W>%n9Z){W(5PB0PKCnXt0%y|pO-`hz}*q8oo~5UlKB>lJdH049^B%^lVkJbR!>uyG$wcG)WtKby4q59D@3IjLLPoQX z;zi$LSv_Q^n8lk}sV(9t5;Hs!Xg}Ok?cxAgn|0qmW8G}z_?9ASVPctVIpwe03i~+O z09wOY%npIT>!2VH*XE?OzPW$+X4fjU+1-1z{=|Dn_LH$|F6T(bbJfi?J-)-e2*@|= zv8LRIL60YWbpofrJ)bOM`3`f1=q$fRn@m@Wj^)~EKj9fT$8xfz9euopvlo6hkI@w; z2Eqaw?y^0$AJ4hbB?fH5RnPfydu80ecXf|b#~4VHtzsm2#ObpsZ;_Jv;#|JOvswk3 ziDmrJ`+zSJtX6mn>nwPn6eejZp}EZoh`}n~Jax&>wr-yp{Qu z%&{$xuLX1lI%tgfS=6d`=O(D$xc~sC&k4Ewu;T7aPXQ16)lLyWgZ#ej030I93NE-} zCdE%Y{O=CBiGU$}eVc?W&&;~SR%ASobY4~Z3OS7PXeS=W_vH@eG7AekGMe$*cluU7 zneEOTqo%729K3~(Z&vphC#JOf^-YxbA{<7vlF*9JxhQ70$Oa^lA3c{t`#gIApret> z$ocPGB!WUSUq_#2KTQ?#k@7*ppi!oJnyLsZAVni#P$|EM;WJ?c0qH-bimxVY#+f{8 zowk21lKkp(KU}v!Uzs=RlaCET49G-yXFbqb_!fS24@yn;a!eYV&=@W@Nm&=i#;Jt) zcU%t@;w@hL2v4r#GQCV_m1GVRPQ(qoe`_+)iN=SWPDvY&hL9H1Ga;WLzVMjV1oumu zh>^F0Wjh0zp6v*%=Y_^XzRwl%wf<%R-kMn}j(T2YY8)k?Lz> zBu6YB3JJW1<_{lm($X@{l@vQJpRYa%%`P`L*PDEXC79!Jzp>64%*OP1rPS!uMGk*8 zgi|NeW*kkN9M@)fcJj(7nn-=cfB$MNk-7R!j&=1NY%%d* zT4wuq7LU6_P(7!gA+8R=%!2c|bB_R*yXC;xVXD`(BWuYiFpy%+_b!)utY#JR==m#u zBFIwkfx}W##@CkINP{v)(>ryuL-nFRwBug_vsQx9eKWNvZUyr=Xc*Qe&<3mb3TVi_|S_`?~~olH-vWZ zz0*!~byoK+3T|bDGe6mMx|Ic6q&=Yv!t111c8*@_$qFBNL}7Z^!5yuYJRUN7U$^s1 zQb0@YL(5x9(+GS5jNGBrO`+{hJ)Ng2U#yn5j~gH?_zFX~S!G8etLC_wGjh~hFIjzf z*=47_m$Yd~Pnq_(EUJ?ihk14&_fe^8KVzS#&I$ykQ*hW2nisbk&kMeG>UYO+H;9M95S zU9fDhE@^RB^vkhZD)7E(8pj7cTzBZ68wC?u)hyfxWB&F-$ZKp{)liaf*8L|75>BLn zSdkC)yf&1qB;i_bE_=fdJWWYKNYrpN(-8OPO~vJgx3b+yQ9cAgn+yzi#c&(eeAtj5 zGZacxSP`%^mJG6n%=wn z>9wBqtjiVQCJD2cbc)f=ThfST^Olg%OK~uvLT=fDV zcd~B6sr=*=IxhWF{p@PgZU5&iE0so3N7`XpE5P3XDLKv(-kAjZZxd8QKlYcwd|={4 zc_WWXn<`RHSA$)TKl+U^5^1fD+0KL7={Z}^4^-yxa0{VVL`BN-Vhr(Bu&&F7GTG)j zZB>H()6;>8X9k(>po8vhnNRg0g+QQ{)P#sFSo%qRG z952;S+Hy=HVlk$v5@Q9h^03RzKBHp+EpUFCh{A7RS*M8a;15vX;c6C1dq#*Dz1S1AnA)0g;BFnS-PV05 z>UIn`Ho!ay^gVaN-C_TUNdfih&;~;yCi5fPico5A`N!>QgK%jK9nlk|-z#6Px#Ug( z-)5))VsF`#DZlE^dF6pE;Vo((5^K2>MlJQ%gyD4{9nYkiSyv&Kq{xNpO6wHt2ElUv zk@mzv5Y^lCOdv{ZSSVUAtgM(iQ`U(k!Ul0aRa$ZzJ^Jpx8$0yZJK~ zn6&NYa=M%85`-^KxRG<-z7Nftet869NEOmF%l8Co|7f!N zUVxU9ESJns^u0>G{Ix=XA<|a9_EG$IVcDa}@wX-CURh~r9N3L%);1`XBCh!_lKU>9 zW$o3`sFYr4gt<1>o<@<$yy}|sz^x7(U>9*Tr4@sV^3IJyQ>lFQ`;J?c_)OuSY6xW3 z4TM6}gZ_N$dZB@AJC0*GEpxUN%oEei0UB+N@ki{+oz>D_i3J+ivT_DyUx-&~$eCtZ zUlr^A%CnlIuR;F|w}>1rH7^mP){SdYuF_~54SV=AbEXN?y%jP-uVxBJw~~arAFq-= zt}MC0X8AM2ng(N~MdK2J@v}OEI)essn0U!W0a+B!y{6h6LcTYQIVRZ=ucud@W9-H$ z^)hthpBP{c=S~yXrlrG-x76Lhw-bfwLNjbwj^9Bcnwt&^IKA_T(ujmXZP-QB`ZYgC zE-pJprkvYR+$kVa7d{>9wOpL?+lwy_hXtA)3bR1o9cUDubV{XgzTr`P(_R4Ua;=_0 zs_iv?lxemN!-4&mHvcF){ z|Hj|Rpy*~#9BfO{+s|%y87HZThmN3nL$}hk`>y|WyDUJPv~&zl3H79&T;@j8j`?$r zQ9^J%TJ=qp{xBlCl6^cuaW8KPe;`$ZPBG3ufCv4fbB^PNM^EIK--H0Q9HdM>I;IKe z&}xg5n%cM13t&FYTyQIwR98H$v{P693r$5D8ppMQsWs^P`F~s^RPSvc?Nx8r33Puh%V0#JWPI4 zpvf+)^W1(E@czw!cql5LoQ!rZU#PFA91=FdHly@SNqiT2W29(1QZB{KG-8goEH`?V zY2y1NRtdl(xoV;RHqpi#mA!ct4eTXrubm-(Et!XET96_&X82`jH2#qw({iTj24GQC?LX@`B@PND3Mhe$d~U`CYY zD}+dkZ^k12nRCDfggU8YL1P_|l|HGzNW}=BQIa86931FOWd=Ftqog-jg{l1;sR3_g&mN#PfncBtD&J|3oE;$A)Bd(M98j2c$+`ORde5!ZY zMl2QWm8_kn+=$BNCdU(FKPWKG)$elzCHyzhtxrG-aSdZyriaW&wei=iSG#3Hq+NVi zfo$mT{Mh7prJWp4CA6gttF4oPDNuZ-noX3-rPSJajvNoA3X{Tr{jtCb?%ANrEj58K z_exLKwBj?(YRJlQouf@pu{?2vCkeJ#ohVDljGI+Vq+?l{nGoDT&=hk zbhc2VKj0ey`7uVSgD@qUD`HkZAAmXPbLi-6bjUyGW=bpx)r7Z{CEz27W~SQQPiY4M z-mU!7n1hN+6{$3tL?feQCmV^??e4tpk}`RVQMA zT8W^gGcEGi;|C3CGuq{apOd4D z8ia?Lsaklhj680@FDP_SCBVBiy6llYj-g=GZR*ojMiuj3OA;YA$;3UOr`&!-*Da2) z%rr6UzD_yYZ$v~KZ%Jvx`FR?Ixetjj>of^p5Q2ZWOt@;U+GHl`lLzBPyKc4*CD8Ga zi1;-Ef>heY8?52#xf%`y=T2-V3ncgE7BL!JxOAFDk1@OO8rK(3_C^_Uc8&e?dTjIH z+Yzn01+NJYsk|8CE#PKFO4(5OqThYR>z*h=xtOjdo-?PhhIx6FBar5-SO`Dy$E;05 zUAV;J1IYw2$`W7*?qcGF0``TUWY7Kq98m~`c2xwv46|xWow++mOY|)vEg7w~ULpFr z*8K5#^dDIlLXN;U^~i|-5smB~o*m#SApoi^zD7Q}zF~x-{j}_aVrg;HUN*4jjobK$8p*vqMK8eK?+#!#|{oI~VjX@E(6O{8ANCqb; zG0Z-NbDGKcsE8{Pib$0g_VK;>?^LN8wjgirm-%GADSm2qLEh5tgy?=)K6SRkNyV!` zOxkQGg-)bl*tI=X@%c~iot%qKHiC^;Hw3fUVi^O@uFVuX) zh~n8gQ@R~h9T5rKtfGHnz;8!zQtLmKV#2`13iVqvb2CwK?AFKr&C2}`{RQ$=SsfD| z))Bv@+F+r{qw+knY)1T2Z#JLG)jdr6{D&;H|G3QrL@OT0L zR6-w0LZ>t@<+akvH%{>6R)S71H%ZMmcv00`DH$&yX9t%IS|jsvKC=<|4&v`c6x9ej zj}78TPg~#{n@HF3fEdEb#rvFt)mx2C7_VF?D^_>rizwPx;%I7jVN~4qq&XGap9qm4 zq9h|kBLI_nZ_?1>_WZDh<)U2@P(&~VS_K=axOhJ7l%8&VcSDZ*Y_oVMyT4 z$o>2{zW|YxC^CjY&bk!3AvXG0XKorce$%TDl{*6IyUJM zsK{=uIX?+lJc$|OvR?Ljp)ou-?Esaf*7CBdNaHwQ)`?t+X#$IOR%m!K8PE%jhtRP+ z`dwR%(q1SWfPZG>>BV>Vsy*^q1SNo>XJ(d1Am2xzat~V8xpG%6|KWGuC-82}ZL`M| zTg+<<4S{Pi5zZNL((yt|&W6sB7$4KH|2+}c*`5%FtFG2c8vqvd7ayz4CddW-5>dpg zIKy$}|GwFBa_yCNVQfhXt{=jbQqgvl{uJ*ezNQthTcM=CycfBH+AQRFQ_diuKIZRg zT;=nH&eYh-@Qu@lp~wd#z4ku*7Y?Dg7gx zJ_m6rAe6ii_VQP&%Wgg3b|Ztg0aA+Q2UqCdZU~>^1)n#pdUXV2XXmCtIa&8^?6Qib z;x>r2}!2tyy3aJq)d z_8U3%?5=O@J!uNBQmH41>hP(92tR!6ZdG?~n*6^UWxol7q^mJJ2k}#0wBY!EpfUiV zzT+}P!V(zs7UKnr~_?eyV4Aqb%UNk87~Jv0ov%Q3O79!i3kPdceu0$ z0)sZ~&4wMJ zladwJ4*7FfW?{`oCAgEI-c?ufqg#KGpNQT|=eym$4{lxDt3jWsBU{g#(X^8oy4;0X z=8j1TU5ZI=o;tmwq-ikpOonu06`STy;jYajxk?Kk?Y+#-FeqzjIwL@q991@h+Tln6 zPJRNV8HnE|gbo@wDU&AOha?pGzv8iHE0Pad(m$|28_feXAK?>5M8 zXjiq_0y|(eB2}#?;bO{-J9@^VVwcKK& zuEb@OUV%@OB#UC}=UTuc`Y;`Y=Wd17UNXT>BSEi6{F>JaOElw%SXVeo?uS;|t2v40 z`^ouJJ2R0Y#9hHuvXNPYBGo!8K=Y(CEU|@{c06b<48KRR?|Fv}NW9gEDPWpNvS*q& zRdA7_#HP)wj`o|D56O~BIKMi?fu}$zG{=`NXF|`c4mt25N^~$I&9-^Yy6ZGKo%zTz zjVqdsr2$2>*(3_qUtgjd*HsAk72Npb6Bk##VD}m6 zem!?rFWf=U2N!EOdZXJkD|L{UJk+bk68a%Cs6&(bJ8WyyFb5Pw)vIdk1;O|h1x5Bu z*{YF?1obju%I1g5=8}+U+>0OZYg`E5K=FCT?Q+>ryyVhT9Lb?>2!R1D%hbT$LAs?n z_mgxD+$R?scV6_Jxc9Y09j=qafqh1CJ&Qv$xpoIE4@arlEH}`2bpkV?oL}BAwIqi) z4V?@r4i8%0IV^66w@QL%>&dF360V)^OjDUln!MsXVuvG=>Cq0GG2!6|nrA{ihyL)N z_iNadtPHKc$#6w4vJ?r;VO9~Kl_4dTp&Xjvg9jnoysH#OoxKiIx!C01;q*`DtcDA* zloV3g+BKtNEFp89qm+=OXDMVvQ^L|Kqo2F6$=^_UnQZtsIx-V$KCK~b;cIh?+k>q? z(iGcLyjLlCVDy9@XrLih#3ErG^>U*T1&8>L9coUM?uVp_ZxUIuR&CZ@zQ2u(MG?Tv8+t2H?ZA=_aN?O*^?9KNU zz{n~k(#!`j%%2b~C@$vy15ok%)v%A+Gjqd&bx%E_cudrKEc_S#0gi?6ztmCnC7Yro zaq%qlvM8-KN;Ry8haiv63n&%*5eMcpcoV4+vPj+m36DucE2g<>RS_|OD0~u_k-R2Z zUqZu1K8m*HHgOZJeZURtxOL?-!#45Z)VRU;+xa3iZi#I!pBS4PQwbqsH4cAMp!pa# zo;^gBTmmRwXNCWUZ-j@kL#azmczzKj3wtB9q_h9|>d7|d*c>@|1vz647SkCP>QdQI;gXhSG;$Hp`btj{S zuI7IL)we;xV`jP$Mq5tHe0Jo%txgUenXB83x|ea8rFGl}uk_*@+z7lB;88-KcH>Qy z>>5l1c+lpu)nh5Mh)+Ivlnwm@1XOz6VbHdchh0%Y~)4ouat=j{BPyj{{R)O zi~-i~wh4Z+A31QZLVbV_%2nL%5K_iO#0F1Mk4{GN%Esf5#cB{|Aa3fM zK+0*D1*wCLUNdf^4%citBy#a11!8F%Vl}lV(mq3Oc>gt8X)jqp^Y?Y5{QYEskVdZ7 zf$Lb{Fp@X@&e`G?Ua8^F3qPaRFKD;KA+@tn?iL)IMvVRC276{rg}e)=i77x8*XU}c zNJJ7yb-9$;$;Cxgr+h}cJ*B;J*b{Oz_5oEsLan!n9cJlskHKBbYPv4Rkf@lZ?MlH3 zH$mT?o6n{lnWnj1ya!x|f#I|@!v5d7LPB9v@mt4%|Px_yDV``y;o1TV{No=M!1rtmEBxlfpIpP8pRl3YePN zMf^0RMWBU96%E539>y3LX_Cpww(FbOLu90jydv!^krLU@+8$WD^_8rScRAFcny&8_ zc#uY4s-Lu(iN9K$>?R=hokO*3`01%M7X`vxI9)3@g;+gg?(}e5+YHM%wekTcU7`=| z_77afaAO*q3OnRTZ~%vMXFf(-Rkc!5>kBLgOe&#$?h-*##_hwcF5w54fCg$0DLsuc zrv|8tMA|m~&hyU%t?1!O&FGFH?kUf%a_A4XynR#rOVc^lxI+TMx3_oN@k>~4xRy3Z z;ZfDc$C`10PrOGDgwG{>_|Qt-(R@bu413r`%8%%O)yIRniL=c8-Yb&uj@2IHJo57< zn!hid4o+!bzHNqo8E=~9b0yiB2 z;-*J=4Uau-9MgER0tX+UlPVYlsVtt2+dCad$fL3c&#;O^M-S{0mu@1j#z3c?f~P$i z&FSN@batbGzkq7=`OPHw?WlFMP?4TOYY*`r zj3%Eh@iNvnYa7vfp;qx}+Y?HG*B=t`Boz6w!*5Z|y=_5%d!gG}6aZyz+>#?JohI0J zhF3BK(l|_;3V_N=BfIUza?*-tBy&4rlf_?s*h$5D+$li2O&Wo>q*q9kBs|w2qZevh z@J*U^JaAJ;OQ8Q$Rb2sU9yG?Z=~voGmKkhG-@p^&r{2fw3K4qx2S_6U$EoxTJfoB7 z`6!p_EB^Thz+u->9*k}9VRej?fg6H$%Un4}R3!_f+0GY@*YscW7WXj(ySDFaF)T(2 z)3svao6lt&3}&{qCL%OnWY(`{&^5#8T->(lq{v4}!3f?WRUtt6^3spJ#uo~S4PGzg zS7zeOviwrUA$F~m&jY0v>rBqX7+eQfKBrnX3aAY#=S%UUykge>=%LGIkF-w){Xnzd z4I$Fq40(=oKIqS75YJ_?W3ex-rCNS^Bj5;GCpENM?c7+{46Eo%Ul@S1w3ZKYm(OxO zBxxIFaT@=xP{E-5jBJ$(sABr2NLgsl=gwkw+D;oyIXWq(WE#oijf*C69XgI_z|#%P zM${hW*J_Um35woFkI?VqkDK9cGBHM1IxbA>7FYnqsH!gYYh>zv%Q{PFunwMcT52Q4 zqEW&ehJD5R#UHpMSgmAFBO+)WjEt9Ht?Sk$PEEH*-+XmaaPbc?sNJc#T8k~@tJ2J^ z?ta}y>}AiMgX*TOB~b>y zSV#Dx5bj&P$v#sAE;f`4YbVOpZl;C7a9|SCx~>sEoVD30Bvlv5TDbn&NinOkvH9@c z!TPqA=v|Y!zaDZ!qZNQuB4A9TDwo+udS{0bWLm{gPB}LhjBad(U1QiisAdmk&F&iu z)5h1xer`M@_*Y;dY#$8VT}GO+HjUn0j@d+9-semth6S@@#IudEkbJ9ycypez4piUj6VKF zb_o5Y$(2#&hfiRqTB?%42nVx&O!xaM+*-W3rU#l|`whQ%Rh2pIO4>H-rT#jW@HS!6 zU%#;w4aY~&vjp17Lxf{@;&Xgy(_rwEg&w*Ln^rEZ+(%TaskglV0BN{s=1>T?!+79s z=R>$Gu$-a3a@0vZnJk@>?RRDLRLMh(dTk>%0^|D19g}tt)d20oF)XB3sZFviypd~rr5S_jWhL6Hn}%G6{59^|Iy8Q= zTmwhDdQ|eP>8{F;vC0KaD_#CNLR#Ue^r^zP!RC zVowS)UaRaW+)HU`#Sg-=qQb0@R*djqJ> zfzhy9+gPk7w=2z(OxP2N?=t+-IB-`kkYS5;_~(SP8IEIe9iS9=44zua(f@4gIVsKp zPGg04P%en}Li4xbbc_Z@HuHrm^S$42pU-#PpFyMjsPtT5C;EOCL;(VQH<;Bd`Y%0^ ze9+-xnn7M;o}T;R%v@O#PHcg#;O@VCS--OXVyeHPjoZu=SyxbeW7YBg1#4jYo3&X# zVTxPpBtghCT!|Z>)TvML!$n)djJgctlXS3qvRc-)^5@^@PQCkK1J$0eERwk+{Lhyf zSSPVESLvpg3$03&;8i0rk38tx;nLJBSbkYue}dW9R;xG^g7r7HQUjqD4RRv zR4q^%IT7p2?(XsjiXSagmtVpq*}=FYn@cyf+$+yj*rdBj>))3k_rVczxU_$S&CG4A z9Qmge-qBjCD>?Q1s<2s>L`D^uxqGr=ct{76%~?XxHea-bDr~A?@H+Oi!4MyMhC!$D z8s!Kh&+5;j?U!tNdYwy*K@$^Gmtix2peH@tpYmlnn?1!x(Bxpht_{lm+4F#_v59ui zw{U+?mMi*Rs?K8XV%74bMMspteneIX2eU{+n+qBVXX6g)LSqu@2c{sV-4TZ-nIYYJ zI~MjQ0M3%(%iV`{@rPD+MBrqKE9*|AC9s@t*TaAP#8C?K`GR+h2UmwO;p)_f#)Q#{ zK&#zrOm^cJWL?y$@Fulh%3=E03%yfsUqNn49V-j8D| zcQdr(2cY?16kfcg-v@?Nep#^9*Mv*%=~YM*5{U0J3Ik z*{HwUNAPWU5rOTN)wVfG*@}?mpw1@4{PJ5TaG;3Km{`QvoY>McPGBLoD#=cXJ5^}c zv{_Z)d)A6QG4+VDn-a_7Nrw=Hlsa0XN64l7){DHYy+gn&*^R-dUp!luLiwGIcS<^D<_O9eC~! zAnQOydjs@Azc}%GCmrEVY9Y-Q%oDQSb`avOex=Z8tA8$S>CEzLanKsL#6DqlbkxyH zJ@(bj=j%ANur=5mr$ImW;ntP3Y(1}N!5)FBLjzQ5<$CW)ckp|s9&+8}Ol{n=oL>PmN?+fQk4gal zSjKhcFB`mQ^U1Xp6p%Sw`yaQB?Y0A#tnH~z(x(coUt)xA?!Kt|FJ*n~)j-*%Eb-vn zQXQrQr0!}OVf{UDkBTAf;>y84fRxh-$|4Fw7v>TE)DwR{etXuteRs3k(U?l-a1QSa z`zsxCIHES+DlxN6Q(x2I$cjk*G>yoJ>y{FmYOtcnL^JPI2aZFd-Odet3DP`-FHKK^ z9b}&#{Y|eEI!C7IjhlSz^7n$_<_zgOqP{Gccr!g_c?zZ5gYv9*QO&;+wb4gnqnbv^ z&&p(_U-_>PW@+8(pW&AtEk~(O4WTV96U9D$zSIpSF!JwR6~u9y9~%br-3P6Xdmf)) zx8?1LIAMAQ18(_Z{Jo_H&0VA=-$kpfQ!zz-Ud0=+2ATxrERjh0wpu>@78#{A@&J{! z&ia0&B2N09dq@)=jglAZ8sd@ zu6jXuKTd&%Jl~+qj$fmQho4V`tCV3^+J0fpyl+wpMOIN8t!P@LHiAr>I97s5vq{BG zJDgc8xpw%PIad~@L3W$YUmp+4FEjYwh*&TWCpW97)Y#lSeEC>i?Sx0c(>x(Gjh6_0 zc*iNI45IP$Z6*3wG#{m1x@7iiB3e$Nx?<564*Ch}Jce~Jg)zP4f|!r!^@2b0Xy5+? z{2`lH92`(NnyO*trJ|gB3Ou{sj(G^RqYb}Sau2BzMHKGDZ4KVWzVr-A4f}8_F$84A z&mR2Bdb`VaCAw`XA?avgGPCr5dxYHxh@|$2bPr32DUCWNdby%4_`Ei9B!qaQ!ZCdj zw8W;Y?xgw|t>gxLH_6hrQ_-#RGW0yk@wB>fb{)F(oxG(H;OkLvr$FJ8w~nG}r|aV5 z1KM%6NT$71R#y%!-ke6K$^MLV)V&XzP`9x$@?)c}S8&*ww-GaAu-U`S;a#hpsF*3# zR(LGon<@R}yE_h=fz!bhwEp~EqHQ}6mmvT45Xw~lBI%#KL5fI!E_G5WnXs%IvsGCd z$M>FT$6Ul=U?!NCkF82i)9K)ix4}Kf$k_7ey`YP+2b1zxS6(&4j`LM z-d+pN)vzF%&o-wE2m5POJF(q}%TduAFp)fFBEeO}lMzb$7xv5PF;6UJ`)*fV0)rD+ z?oJAItk?pOnsrP1lN+_OaVYoF-5w8)uhaym5|Udco$8dj$F~WWzHh1&ommmtQ*bo- z=K<8~`Eb-%SIJp-*A$PmJjHDpy`kzk z(c}u%Vc|E@>Jl2=cMgX)V70h-FZNtE3+kFKdl3jg^`J7Ja&Nu77Sq=~qw)L%2eIj0 z>>l4>uiaTpUA2_J?D<2Y;Va$CvZqj0cmeL$pL1D1KQFDu}j*)A)w*J&!`U`V*X8X|FrRdwzmNJEvu6or+}61peD@|ar<#*dIJ^E??Z*W%J#vXW3sK)QdHe-&lwG0U0)xHW@99AnqV@h zhlkp34=F1@0oHa(|GJB3Gl7)wME`R3HcU^~B^OO*Eo1$Po#GK5%A zygEq1!nqGDZq>5^+u0l;n=34CS3Y|CHcGB5nRnI$_FIB;*(gCyOO3|83i?qa_#JYI zYtB5OYkX5=(dd$TAP!x%{MnVIjkT~blZ6_0v=V1CodMa&bv?w^TJ|d5tIi9hyh)ZU zp`EOMfNjsrmpBu*p&UMxb_-REtG=8d;Sp<0Vo&MFjC7R+5%*GDwU&-SzCn;4?LhFt zEQ0x)nrngGRSulS=fqH41+2Mng<1B)yRZF`;Ii8$35ETd1fsP+akw!9dj%@< z9--S`2DE&i7=>wvweOlpO zLp#w!J9IvPyNB{d22uCwDO`*bC5o1a&<(mZA=*A(*(R?X;XF>+`EwX=c(MPggr>)4 z;EF?{gF5?{+0%9y31T|2W0)&#k_n)0`klVXqe%zBbZHdm%%fjr(Q}am7{TE~M|7W; zcz|&W**a80=G8(4IMU9pjoxB_(L=~IN(SXeP zOahv^B$DO#q3!Kv_)H175v}*IXn{p|4EDR5v{roKq%?T~>5&0uOGMHY89jsS=dA6E zE_`^4VVe=s(=cDrLJOQ)GuAWKrZE68QBYx`U) zSGWx<+U}FIC2XrXy7y9wN$7P=m(JM?LA|ar0wvK?)=EThnShO#l5`Q@t+-{)z;34D zE@v-T-3INPhww9{AgkUp>S+B8Bp;Z2ejTiX73{|;I18u%9!J~qlXr~-r=HEk{WDEV zWoez`ckF6W^Ic<TY=a@mQ42!pi@4ioNY(-;*{$2|52T-NB<4 zrJ(6@41d7t1f;*P*;kb0WBYD+hGULS>6!ee0vg*!Zw!9DERSP zQ`t;H=@ng&Dq7F}&xFAL?LoZqaWF_j&{5m;?NVU+RZd3wTYs`R_x$>tudUb+tU5ys z`nuL6^kY+8MZn^aXUxxX!hbP?Mq`ML4$VVnJvy8iJBX*Mzy zU>^QFy|`Bxdq~;a#k_`SI4&~V=}P2DG&OAbu6P3yOu>@0L8O$65I62GdtNRjfe}^C z;`Jx5Kx%YPguZt9NXURL!c?ym9eG+yXCjz4|FW>=8fL{~Quk;@G;iZIxv_Zx4E8~N zp3g+1IM2qYypy4IASC%Bq&}kLx_Xi~Y(NrKZ|b53c}Zg-DjtM+&Q0Cl*TC)0*L768G!uQSk$5=}&yL$6RwUC#NsE9^@JLgsYy-*lDEZlXurj-11Gs;5SXx zW{>dODjxp6TBB}h;+7JgGNL}>88^u(zGOv(-19vVy7m(MELjrNJSR{?Kjuq=<&!Qi zG|SQp?Ys4Y`hzDE{eKU&88iVO$zGQc8h^Bh+Dd@j$fvOS93_!xKfbHIUlmC&kQn-4 z1te8puf>QU26lfvg3_0K z6`#nm-hTj6H?0%Fi;EerdI z1|UMrI*Vp-hk&>5TcUwl1^=%I{(W;mcx>KJ_+`piN-@h8{hWORX{bV4=!d+ZTx0v-KfvtA zbdFou0`uFZxz4)B6zQWl7KzNtK1p-2n1@bQ(=g(Z_&4pvgXL|(-V<@gnMLXsF--s0 z4o#>o+NPPCHE%CwG=CHH-RxDn&6#+?b%cL_s^e+M6)86wd! z_In;A4$2f=g*!JLkw6U_;e4Sd#*v=YpKq7rpSNr)!Md;c+_Z+%&LSc}@fXWW()kDF z%sJ-@wI1$uHm!G(53=blaQE|i6>a94HwH}L3W@Xh7t^zP?sjhmkL)D40R!fkr8~2( zTY`oD3xf5^YOAB3lKV+c;<{{n-wWlJ{6%}E!Vc+`?7fto;V-_Qjy(+1*gJyB)h(uZl=0}!uiHebaiiY)CdWaZ>x-%{z%#O9I*rFTq$tRkdkzDivqv%q}M(fJsIGQVCK)!8KC?&jm>(Ko&3a!}(%wct~B z5`Xxe$sM@i%PBdplWAOef$7YA@cgavW_AauK^tvpfXm&x=0Qa#fHdvv@3xK|6#!?Q zi)T5PIkDh23(!$Q!k58W@ujZX=4hagS7K!GleQ{0QQyW9F#24D)@;Jw@ZQB6U%~QJ zbmgo0n-f+!hfB88KQ{f$FP(TxjPx+vMW`Vp8pWD$;bST3jrG$=Ps!5 zna|^imau1`@j+dVcCY@6)B>@(y=v3{-^aWjFYaVuTOH?ztmI=rP}tT8kB=OcYM1UN z=1NPSX)su2*g5;-4_n-!d;~01Mi5xK1FLKHZ$-XJH&4U~QoFdgMP?d2oJ?dALC!vT z=UkISY6~6vVzK!erGUH+QSP0%C%S!w)U*IHdfD#u1~i|z)l8lBI2m2KEqCM9B7PeJ z`K_o0*y*lBTg~c0xgKdfjy6_>iFQKHgO(YcmKrH5`Cz8fZMH2+QO|>Nv`R^~8Sf{m z0s9bkB^jyAiE@J*2>ijJUZ!>mr5czsdQPyK#qvKduo0T}Y7|4X(XU7kI@`wl7nv)g zPTt2nhtx4_ehnVuLPNxL{7VJf<%6i8tmGUz^Gv$6e*o-Ap?vUk#vvi{ToQ^LdI|QB z+Oxdj!>R?XyWHkXbAs}<`%fY*K5^6WXsQL|woq^8BjCCQXk!j9WVl_H3Cg{7MV7> zdPSE;ZQbrA`nyv3)tx3^ItnM(s{iCY)s}wfwQl}ItGKrBu0c}%O(J}RIpnZ0o2#q) zXT7G{0@lFue7uN%>G!a;)nWbXi_>D;2(#Tr(fg)&ecOgF6|WtHJ2PPi7CJ{1*oLVE zrC)XQxde(>UXZw%WZt=MvI~cd=od|Y8{Gf8^iwUv$GX8sO6<~+{G+AhYqRLWdlB(j z==nLr=-WK0YA^cQ%R-*1-MFq}hi|~kCdg{+XL%<6Ux9iJOhpN78eYehGWE|}Mee2! zU2OuJ5pFq~*#HQ z<{$_N;>k2wZ@Lzr-D4#l z1AM|+aT%BTibY{7b+j5Y(*%jS;gsz#tMN|0{2orx_jLEywSclZdiSDnn`B(-^tMY> zY5W=s=_Jg$kVML9jgAk0RhQh;qsIH{XAEaR)8G$Xj-E&}7)ySb8%mc5u{%_Bxy&*Ew=N7#ry^-Oe30Aw?Vu+KCwAelk`%LWRM43B^a1p@;I z`3As*#iGP!=lD(aRb15xhs!vjZw3y7f|^q-C^4^&P38L!=bg_c!S%CO*SOr@)LfJD z`(3_-?84(UsGFKO#{Yj3hr)|OZ)EWV8m`_WM-P)O#7P$c+XeX+;H#wr9R~bQTH`I=W0>1ts{)4VzC2P}u^yG)48iDcpaf{X zFQoq%g3~g;=n_nLO|D0m@(x-E6r1;t4TsWHUv{P1hK`t=~%N=MGn>j$xt1=nh?)DiGR5^}Oh zL%3G%o#`K#{VY_^?lf*w{-=hi$WH92@-~z#oH_M5#2?E~46MhPEs5h1jqQ30&0E)Y z=1=lSI6bwur6Lv6=9EbnRL$Bop=_BQk+S0)V(o&di(wl;5wc2UUg-Na-iYvIiVzdy0}=Xxl&KpxWDl*+1qS9W=@2`Hn>wN4k^^-4uZ0CwD zuR%s){0HbS9`Hi=ZMU~-v1Zww>pyZ?X%~+&krqE9ETEhFWV(Z@uFNW1D4$}Ru=PD) z0Rp3|zFxWGeZxr$)Ri{a5$s-#!WH4p`vcCD5KGnQK3#gn#@gT6{Dvfd^xGrS;RC0J zWyqKQT|{H5!K^2cIlvqh-L&oxBSKsS8-CA@(U~15Pd^n7gw^sVeks-X1EZ&(Ev9%B zZ}kzr`=yV4(>-T{tLN_cIpe1S|9C{YCf(YD>->BVqRDj)GG{!x{={MB;ut&EljF9G z>9-W^spj0iZMKH-Ky~n|@Wf^gaw?%{e-Jz7a8|_^2=lI?yDkTzA!Q)^p|qslp{gsO zZ5r}&)Gns`&l$veFVQY9mBrmdw35h45MCgUbH<&Kfq4FSl(-Z zfc)Q)#iPHM<4Xaj=;h?AAIHy>0za!Hs~yrF$|uanUr}0D8|>MM72*AOy}P*TR(pZu z*yIgMVrcWq_nEh%*fnR|-PA^K0sosM?X>=eLBb!zZjRgjkdTdGF?QJd)ou(3=TLM* zcliHe@2jKQ`o2ApmO^oNr?^XScXxN!AVrIo7I)WDihCir6e;cwA)!EVch^q({mpwb zvu6I9H8X3?dT*_)K*nYMT2`JS|r8E$K+Hj(ub35-@H3~yY{lzI~Eh+EsR!` zmqkG#1p80QyFcnt-j%!@>ZELV$qca;=R;b>(-otVd&05WT&wi3BR(FBw>yUH&t3AJ ziF^(<8ah_rHt>?3jb1VFcMAcMy}D5Fpy>%yKCQjcL-Oq%j6rR*8}EN`#yyMd&3`+> zJJV}ZAI|}VBs>g;%!M3@d!`Mt4?}9!%w_pk_}ioD7uSL-ABbPJJLd;YiI)Lp$81M; zXE$pw`Q}WO>2<~~{ZmuvL%+EnY>JV+JMVttxYrSP+m#$_^F^pCTXvp)3~611X@Yv2 zL}@EZUCQWPg{H3}3NvI6pTzieH&#U)4U+^;EDa+x2@Sq~ikh2dGn|Z&hE=T!1V(0T zYK$KC$MJJkxSyU?%hH(?-*YHGF1%bPzQEkO(WW~?`3OqbMk;D#8)EU~@=E(iwVD{p zSu|Rk3!TqIVdx|8oBm(|6CDH&M#Fm2ow}C(wYR0rucO9OZ1}q}ZncJTt)rt>nF2cB z%*ekEOCBWb5|P?|WOrqGE;tK|1@PBJm#eEjOpv(1YNcM!e#YaFsZI>mpm=*v1Uj`KXX4w#m)onX*i*|9K-hw<%W*{CCTTxk~S=( z0g~J!0oOBk{J6auXonEmYMuO}HsvCpv&*oF4HUe5lqY^FN9^WLtPn_UXM9LwFvjR5 zJ}Mn6Fu?n>nd(`yn2H!WQnJXh^4FUArRX&jIvhD`U~aP|_)#qJ*E8Jp9IvoIDJ@e6 zDd*L`Db<_MdwBbBdd-?*V{n#b*Pi~rKWQ3JE9e|LEUr<|<28Svu^~LANnzr2B@W0F zz22$!WVoxK^@Adx`uH&WN6ik+T~IHT&PcvX!@?{ISvCVQ)QArlv&BL9mtn}lz`ypj zfvI-Yl5Z8(z#T_-w`Or!-psrHxwc~YvbGoUErl{IyOJP9ck%U#SCk|xusTZ{-z-tF zyh##+f>8a3y1K$Ut=G(@Rzat=1#Skn;OUm?fWtlGMbYakwnK`C2ZHPWJn{e3<$>GN zdcJw?jl6ra{g_JlIY6vqh(YkXpx}hZ$fR?Eny1No&z#NFFJQ7SJFQ#0eE-i5!Wwj< zLWRSB0yz19(whAFnGm?=k+=}u&U~}CLWl9)Z#Ug~TbIwi1D;s^Z|uM%o=;ibVS#4q z^zZbHmtsjVaW9IX&89_BVAb7?7$j$9w$YlFUVfQ2>nmlaLLkYJCEQg3xO4WuhW{j-1 zC-La&XXhuU*^GU%BIXRbySLW3xM`5jOj=@n7e-Y6PVlrt&tgo4h8%Pv&MS&Eq(yN( zPamVH-?b`AA^MRIrWj1xc(?}(EX2n}GC!!ns-yXYt+X&#SOx!7Y)A#T8wBOP$fWMx zmtWceR)AMTtAl-#`oa}-(q5KXloe%XEe(fbzk~A46Nexd)-TvnAV2;)fQs=LkI@rS5=dCqAxtG_O$(lGF05B!$>7{WKqI_e&|j|_V#-BaJjFf^iPVMO zh??qtbffK;rlGx;NnvUb4?0{&3dCC~>0c`9&2FzryVU{~S<)F87l4_&tnbYVE?g++ z$uuG)c@r=dpPUIQ&?-n9^`c}(YObkpR9Q9A$~z(lBDkjj4q$Gn-*7bto!A7V*eDlv zCbAjhr)447Yc;Yi@6x#l^@x1TeuAl2YARKt_St))5qhmBp+2!*3D2@tMrb_izq!5< z7cqIxcBKQb&l;4O?3;DkN8bD2qCb1n&(f!7C@dVIa1iNscCC#TLoA^p3~4)%A825c z&!B>)!`IDnHt}?}dFeFI?7H}ufEWQc}0BiI;zJ)IW8~9mAVyE1sVn!wG6SZhBFKZV5hR`Lzr`-z^ zOn_ZWZWh_4Q8QAp$>ZZMyf|cDjmlKi+kX5~Q5t$`!M|@HMELdeGmO-QE znaHd8ZkE?IF>l>3&ltYC?omuB1i2vR z!Iukv`El?T>;}stZ`%FCEy(BPyz}}$-}>LY5)!^zfB(MBo=0W}>IYL|$wR7>YBZ2# zFm5lm!Y6MAR=uuvZ*cEPtMoQooD~mS_GT-9BIZuXgyH9fg+(BCm@JLUWp{WWj@lbs z1k1Ww(jTBDbGAUNtiV^v6BM*gcjI|Dnf&_!j4tjxxf?fe^kMiU=P2^q*HKSF`R_!; z-|P20iv8$%1G#W<C;cxU3q$j?FvCkf zdmf>n{A+UenjwUB^Gi0pRv=9L2BIYF+GW|e;buYAB`@RF2ggEOIa|{`A``8!{{HQj z*Y0kbgR?dH{F8RXuUmf2+V{(3-+2lU|6t6vd3|-?L<=Zgu6R2|jPbrE%PFAJeB%bQ zTz>QDp0@9nF6f_z$v&C&8H}v`1`o>9o5W?se_h|yRBRag{62M<$JP6d`e@p48LJ!Z zvFE#-KX7(#rj}cfVu5iU6t$D&?hv!|Gh=oXk3yn+hqxZE+`$+!R=+-WO53W$Y<|%f zQPTxh#J8=bKJgJO0HRo<}z!MU0u=Lm_hLLqz>@o zJhlM7E7d!gi=2CQ3!dR$KP}^0uO}4DWz_UkQE0Xf2$B+~v>#PpceCX{4bg4ihX@gC z`+jev2P0O_KMTJWt}$g5&s3ozdux;BE1wo&Fj?!4bK8H6v1&gpA6 z8nhnOu-E|gMfalsgW_(qq9<`@CjI6OG*27%vJ}At1u~pkrR*ib(jma3I_n}WJ3CdTfOt@` zm5R-nK}Mp$EvT7WQqwhR380aTCMxfh%vz?mJ$iJMW5K1T#JpVee%}&QF#AHT6X|*| z#_H5-81tnReBZeU{_so(v$*t{|38iFzqUH}nf?!4B^WmAbW1O?W5q zF4;`0|JvBMvXv#G)%jD4KDztj=PS*-NAUo{|Di*+q(cgbt@)~C^gKmuS8lP`+{?Tk z8H8s=)B~2FX3a|h-u+*&rFyeZ{e#lfk+!84i`_vLE0!7JxsKSyn%0>irXpIXfhQA0 zA#lJD62&@?2v&Fm&D9=E(?AN)Yc4e&g$W43+y(E+j4DY~+*lSyP6DWQSJoIkN~J^^ z=Z!pIvnz6384&igL;}Czw82y?NiuE-S6^|sW@r_@I$JDf>;+Hf*!Aok(YFqzgR+1e zv6>J4<%1OJduBIiGi~%SV7H9J4z-84A+*_s3YVzY^XTZ;)gtwM`J>nXXN-%*cP%-J z2=zOJ4YAl4MdvrcHyoiifj^$OjoAY<+S*Pl3c5@S@w>hEB#7AR5A=R7|M1nyt2DG* zwpFN4AZuPzCRl#2kU93K%PnUz7L{j6O!(RTDYUSlK5k}N^(Qg_=Hy*hw?%*jh<(`- zrT@Uu$_aWH_JsYUoLFWQwKrA!++HTE3DtSE9YAyS(YGqlWsc5!^u{ugyvH<9+gZ4(<_lu+xsgC2g*8#8obt zR?){{wK4zHAn=-j3u8LQFr3efz5ZOaj{7dR4Z(P@4$N-S04dDoKGsf`QEdYs`b{=| zY_NNnc@PTJ3dDZV{~|ldGD)+Gzl-e|^B?>K#=l7S!^6LMrUi}hX3Gtz;M{>>mWhom z{GIdnZ!i7YUVr#u^6AGayQG;LAyqAZY?A(e@Dn89ErcS$e~O)=oJXT}#1MHX6M-Zj=4+^wH7u9Gix-)y^Hh@M83Hp$WTX z_76ts=0u?L(IwhyC1eO~DVlF@5a|&5kQ3E$q$kUkV-`gK0Ck%+S^NB6073zHbwK=W zwoDq%cU}zUx=1m)42)LU5w_>0>0H<%%KhsD;Xqh85cxE|$??58`D};f0Pu|V?=$JP zCaU5ie{<&*J8M7{E(vPK;OLvu`KS&g13 zx>h>`^Eef^vxYgd?|d#^O|1L>feW+{Kha(@KaG3yJQ{HLeE#tdT$_4ONEavNEz@c3 z?I7aIw&?ZCT~ElbvaaqmBFx9)Tkzv1EI)|XR~T>b_tU9s>RW!}VjK(vy&Cs{z{l3V zuGjy<7pkHoDz^)|w@$)U!4GA20WO>qSmDbRf31xgq?4wa|0WdE&S}~Hdq$;?b3UP6 z!vFz_dcCO9Ct90XdzB1}+4OrB|G+)2Jp|@ftH=hSRN;f}UPxg{5dOfOp2z)A`6(ND zf6yt<{sCaWkH1j;8AdP&X=Yigp;#|uQMs(fJ27$fSkY(lgwj?U>UYdKA`!m2%g-_V zI$>4N(J^7|*=yH3MCTk34%tBjKbHUPLrmRxnIErhIIQ9vbldki4f&TdF^oj|1D7tJ zj}@C;s9_-$$KLmSr&y923r$V`1A|Q+B-Zqr)~L6*HJY2K#Cd=PZG}416y>}^qza!# z!9B)OV-bqez7H)l$C|Qx;7j{d#PQVGA7b>?Z|JJ^n2b6G(LkQ{d5H&Rk_I= zH!6cnp|8qvn#;84aADEc(cs=3pU%)$W?@*CK+D(lylN#2iHb)o;EvzmAKOSjBkv0Q!{-z{%CKJgaW%iO?4*6b}LMGy(lzWv>Hdll3>GPU&iPM^%cX#PG zNIxE|JcYK#k)^_C4m*%FCPJTAEMJFw$$3A-u=-)k_(oMRh4?i6BPrp@S$T${ZLA$+ za5%IEk)EIE)T(X#)4jUhK^%$)N(L9MO#l!tc)=>v@l6^xk3l^5NlO)s0>W%K5aekL zvP?Q)`e>J&*TBzsB#Kcw(MO)HZ(Bk7d`y&CPL ze=gF~?ZioJ5Uw)D))U2Dkt)v6I%P~Mr@J;*x>J=FevJ*ESL@1=dg-d$B&Y|;1#57Z zCl?!^j`Ev*iqd!RhUzC|xd-D!Rums1$>_G97<{Y(- z&CM20o6*8h&G|&sdro4v*ssN_TBrhSQIZ_EqA z*(}|txzXB_&EGz)Pgs!_bsNPfY(?l8oZxbGM;t&lrdc;j(jJ@?`;5?yz%{t0*WRMc z`{WBTF=N1QK;M(wiY)#$V4~RkT96kqi(QqfIDkYM7t888M)e1#HpZ?wlnU?KJa&GB@ z@zZ2NeT~@+u{A<;jBly`y2E%vzMQL!>v<|k9(E^JPX^6ex?w7kN9>(LrjEr96O+aE&Ss09wayO? z!c|C!>^45quE$Iq=%31sS+I~#XlswFw=rBclp|=1Uw1RdXJDbZPPU)0b%lkJa)T@{ z<1N%4QRg+&sI7>#S<)fRFSuFmt@rpF-i*Ev1tZ0N)mOHMlro$J>$*n^2i7!cAjh*`>Qh=ogp_?&0jT1whx~+gZVE?U7@-SSiTe5^}O@=c$qcVWdt`-R@ zQV&z4idlIvFxm{1Xgb3u7C)<5T>1EuXFu?wfjIOt~|c8D9BPpW3=+<{xbD$}ho zi(1!%55IeX)(Q9-$|Gs9u}h9MINu1GKjtV>V$gF*)lY6HyPXisFPl}43)dRh<_)Fu z^m-b2ZCZ)XHZy|Aj)wEacz&5j`$wc>URg$YknoPvHNUI_10E_$F8nrCE252DBqR%H zcGYEN#c)}bEOMmh4o$^vW(na0Nj|!%lS*ersDW)(k8cd-gVo`@SU4oV_H0{l1ZZZk z0%qx=?b0$q8s2kVIodr{xktq*fntM*k&aRLtv0mf_RHDyU`%@o>K&k3ei29~Gch6MDPVr}sqqR`vf z#CN)i6bi}Boh9A6Esn;9R)*>Bpz&v6x6a|c(<_}ScF+g8allbNfOJh$P20YaxPGk? zByW)sYOuZRb@g1*ocZXaV*semWkFl)@^l(ug{Q|kf*`K;vAcjTR!)EYB zhVck($-32Npaxzh@ZZhri@(Sj0yJ9n0H`^S6OAQll{K(>X_vK2PAY=YQl%HR4JTbL zomM%Db=e&7U#aN2EQAtr$mN5S$!6#@ku`fG$0gr&!UiYj8OrvsjbJ_%;)1?e0@iwp zM9boF(1XA5A2^NL(3_y(f97XlCqmVdh7h~YDX8%iImtjf*X;A!*WXHSue8Zd_?ka^ zbJO*kJV7{&-cbQr|^GOC^gWC(R%S(}t9pA}tR?TV$Zn=RBSIW83gg zX~M!zWmTFA1RoZpm<3)1{x${AT{Lkwrt&iI6->-1pSGCd(#@$-+W?D_gQHtX%e$a9 z(o|Xf#kQ>>EhR&H>?zYnuO-Vbdh7iW&5tM8u~o@J@2 z_36A#RCS33L(c7S2u~yrl{BU7X@s9(l?Qv0pQ6u0Og&LE|SzMIZ8hs3bSvDRz{PHGk4& z6;?E~iIVno4kv8UFD?1R=X;TzzS01n>eE#qfeu#+oe-(iP1nux;&E%vyq@Ek;+-7i zHXJ@8jqgq1{55P1S#EH8Un|DQ`T>W)(n2`mbg-@tSn|o>LAKEH$LX58lK^d(3;|(D zP;qtCz$}iO3`0<-U12B+3&}R&nkr+8bl?N2fgQi7ZaRGqH#U|~UF%p!)toGT_9d5( z{iD zxAy|Jj8n~ld01Z4IXvts$UXxwsdk6+jb6{NPxdE@&^iY9&KhZq`c&Xl(A4QI0%}mMj~mIPMeCa>Et+K(B>p>DfYnXQ z8^LkA$q1F10Bz?zMx@Mo%EGX?GLN~++_FBZsC_7)?n#zNPdZ<-#|79m?;f-w5 zriEnopdzQ2Y?=gzcb)&1sZu$6o(XA)Nz|tWqG2Cc%UtD9Eiuu)0}W~-b6Irc$edG9 zfpT_Uz!d$SrJo0Xd>Qu19P4?%)&V%2|3o;|AZT3ZyC@_VOWnuAZhUU+`@Ok76d6(+ zX3n*5uDU>k^JNwXVas{HTdnf_yBR`3)?%-Kp%94SWeb5y2Vg2>z3BiD!xN<+ztxHk zc@&?G&NHKg>~Xzw5i)KhSzLh5yex2|xQ@{e$5ODEEr=vHPxogZNt*Qipa89_&{!#* zqLrv`nyKgSa=79;LvOkc=i}b(74FhikW-wm-RPvC2ysDgrT9;ZkWeC-2*!W$WKCM=R3JRoC~atsF4vGc z@2_;sDaNPn6mdmknpW}ZCq>FI_f+h|zQq{dGhegU1=wvmfAnrf_F9WwlpMBhfFSxi zJgAlG^ZuKEOnPjp?_K?F6P#M-b@!H&bCAcs0RQmn!4U?`8z%x6=r?2jaH+}_oW)}D zomSo|2-@co=LeR(q3;DTkfsSstsg8&F#VjyT+uI~T-VwN@6H?X$EPnmvKi-!S&@J_ zCJJZ-*36CyspaiWf_a}(zRv!Jb(SAm_j)w}z8QlFZ#^mMFEKD;O}=x3uHDS_MWylpfaAuDqWVHPkWmZMulRN6TMQ)uPF{1qr9~HZk~CNf zL6gF@3rcO%J5XXQrC~%K^Qze1vgkO=tzJ5We(1(aqN;#4#?NyUL8~D^wpUXpKHm4? zd-6$Zp4?BEc8mCDa;QSb$Ms1ZCO-QwQuVT#0$v_jOAbAcEEw#W363^GFN<#HdZczU zv~(T?**3N`%U3YC7br*Lo>fyB73do*GlONz`9m2Soi{pTHGHFbJ$c4X5tnz8^>w?T zZ&0JPGj5~L-h)9-+^%YNa*pPsw4hCKgM4GW)mR0HS-mT)^)ptxLYVwQU{~jS6-VmR zJQCij^eVK)=Ri?1?uVOK__n?neEnO%NX3V3&Nl4_aSoFYdSUaT<7KX+^guw4bLW zi^~T|h90pwFYLCI&oUVw_a=jS|a9E$cp4Id#XgT{J2j9Sqtt7~lA! zU!$SBj1Wl!m#Z*9!_jnp+8Az!UO@|V`Meb8?Gf2q3vLB;{?0g;N0$@y0dlTyWH4@eL)rt`1fA~qifb?Zgo-+ znt=&_;0~H5gb^}aPpFD6|#apN7Ap-Dy1M%{qPGcj$baH01Qx^!<8!%=#BeVP{`@Qe?4w;PPdSY zbwXR-jrgtt0Y$U5G_&+ze zU8)tM_Ch8O1a10;L4&;QIgrH9Aav?umz>@jJZ;(#_{FB)Daz|Opi&Lqq{IfJBWy9A zx`e4hc>IJcnfaTIto^)Z^jYw;lln_$EEEHW%FR2FVcWp)4AKu+?$>$>g7K1~1+>C8 z#t5##N|}K1pYqZ7IQ_+$36MqrrQ7H|cx;;6^#BI{h{y0*ThrQ_D>gmnQ$<=ej|!+e zECs3^oY2Znnr_${`z5QaFBeKMTU$U+_MlhUlmPEZSnW23Ht6=0Gx@4`LA=4z@cY_g z=*wu_6fDEkI^k?Ee};5AmPvm6g6b$Kf6=x8;a)De7{gmv4M- zOhMEY<<+y)KcTwR`{atcwwA)E-)TO*Ae|#+gxasAJM%_qwV5LP0u5U zBO#iEUj^bmVtwCuIC=O2!yPMs*Y}gpYDwdFnSFLXY*K0sq?>L@u2=V>b)?UDq3t$` zMaPr3Z%R1mgbeI)uWy;~8q`Y-5Cf3dzX{bUw)D1f)^= zSm(Ut+*b?BpZTWQEs2rms^ni>0VWm<(0{n@lfCEOl`8PJX3rG2wQ8^|$ppJ#5Jk2*;cI+?A>^qvdRZI9!$EJvcA!0T)5+mYQ=hs+gyua3=)c>@~FrrkFi~U9M zi@Ap=`$3|0ME#g+bbQWOFzJm8AGoW~MU6y7kJP4znL0rH}mxP0KJ$fvWq$j9l4)(w-fG%%&0zg1iZwY^qW+6mfzr;~% z)E`P({Z(m<%7lmB_bO$Dr(09g#Xas`%0?R(yW8Zu0A|qbB9cqOK3N%H0u_6P*1g%}8bE!zd{^X%l!sodiFI zaeXYuV5EcJr^vgTq@VcAQ;c`L2*qJaN-dMU)2sdq4=}~=l%{8Vz^iSleKph|?Lu%; zq_|M=)7MO&&hJ$il>_qOk#uxYw~av^$}d5O=9ZYcNq8ZN@HN=%e_y>CqTBt=ki zf=xUE0W&JXw_C?GO`i2p1$Rw$PfCN%foJpbzp4@QbQv~=qgCkbbSvnjT1PW(^1MED zze&jD6itnUT&~4^;sA6#&pHjzNs)Sg)a!&%R14Ow2m@lEP@BqQbq;MyAN-|GO@Dj~ z-26y%7no^F!0x)5pLDLkLyL-iL0Kqd&tqQwQVf%oJUsm~;x{6!F&3q&dk}zWU%THL zf7w6v@B22*qbt6eWS*sxQ=8I^mej8m|!Zds&C`Q$q+QDbs7HDOf zBVFBot@*BhrW-)+6Mc$wLpOem<4wM<)%vp70tss=Fe|m>2dbCbivNJhJ8Kc@L3;@z z>@^?@J{~S3Gj$94gUl*;_U5#_K#^hmRroJD$&)gVwy{m8L1HeJh>>tTuJ2lO<9y(= z**Xn*{?y}~K@E5z)FrcmIIEi=lv)~^tBX3gLye9$`3$OoqUn>`PlMFP*x$z9Jk7aw zJnUQez8&KG#CL&uLV-^wIA%9UbUErOmfEz+f{&<(!%pGTS@grG{8!8Ds_-FeG*gOJ z)t4Kuy^6!mrblNIZQME{gA7Ru4WHcG7bE@Nxy=0?Gfv(;#N$E={SRyQu5mu_@v+n- z#vOdJNRUDX9BU|NT$f4aBABpRDq@Nq-G=*0UfC>iy%wT1)MNoE7^Cau?&C4oD_ty6 z^k6+Z21vllt`)W3d^SHS9$`}d8e5$43^Fhz#r~qsGw6OVF9m+|?`m}53CzG3!iDgEkKW*xOWg3OlWV7mx4dhnjJPlw9d zNsSj6_&0Wkt7S#M^BZLPdFUwS8F^gcS{12CH=e{aE6N|>yzYDdOHmOXF*;Gg(HvRI z)-H9FK#r#uVqDmc515--SIl?hu8f-LA<*q?2r6rTfHxw2`TkeXWcUfl*ZgQaXSm_g zx50jdEq7yWDJOFH1r6d>)3GP;l_o5F;)~I)`$O?x6RluIF_onCrXTMkGQP6;DA0C{ zvAJKqiCtx*Yg`8|YHv776+O*mZ&@)WPjLYPznUdh=I^AIvaV22?-zbXfs^7+hs0tV z<3;1JLGZn;}`e z#Il+0C*NWUbR6J*G0|qCqa~NU<+TVehDefq;K-zb&v-mmC5}b|_P2TQffO{U|G;Gs z79A7_Mgw{b6f;ZQNEF|F5+oNeOvCBI>t}r3*p_lK9N^ z=-8Z0yG!6Q7O)tUW8ZmcyLi*Gt(uCCV<(uPL-O?jH;a}h{#Bcto2f{2WVB5%KQj9& zUjyvxJ=Ora60aW*WH@ECq_e?P4V0?L8?y08+maTHLv+|8Ham>N$lXEk1SCW~F28Bu zYlC=R!!=h+tf|@}iq(`pL^Wck63(O)6|Aqw(1f+MjSBsN)BmefD6HmTT16+e4B5MB zGlfMu2>c{DxPRcV-+~`in4lBSux-+iKrOkFgdxIoxcB0}XU#1B!0~-Zb(zJ2dSg!? z&K-FCPqL50a~R`Rc`5r=1zTC*1Gj^4BOlHtHP*4lFo1P-k8L4yPBF)o57WK)BgTfh z{<6|6h&VotIfJ3+tz*BhL`o~d)|YtKgG?Z)6fW~w8*9H=k8L>{+xRa6?HYw%*Er`d zDPgb(*YB)?(m^5t+|DU#aH%Rmm&xaQq7z|J5ao&Eaf0Yebbv#H_e;%HgS z^{Ba1o;q#Y-N05(2z_h6Y+3075a-gS0}_MNQf^{R3~bYko(s+>{KSxE1i*;tCp&g6 zcxkl6@wz_BC56Sbd>JUHWNib}u?gov*X$GlL&>@gOUboC5$WvH%dEMaSOl!VpdKyd z=62EJbfS}0U)QU7n~CBWGORLL;pme`Clw(vN9zq@wR|8DhwVr4wnAvLwZ`xTR(l(w>SdRlu=(_!GdT(TgnV#%CQ!llCj8P?zH8_)$^BF32Jl%58>DL40q zJ0Fhm$=R~Q<(r&TS%nRQ zm#=A_(@*(W*~r5zZrV+{zE)~&(i&?9!7zyi#Rh45lQ27qcs`086`3_&B6L=@vMTRC zaBmd>5fcG$amK0-MpuZcozho2UlW7VMo(w8kaV?Fry?FAciozQ*XIT7MVWvQ9x6CKm+AF##h@s`Q-lbWFs7XQ)9L^xxetA^O5s@)NZm7BhIz+E8CD8`!k1 zfc*u}>Kog(5Co2UOTlZ((Xt$o>sQZAibW~51Dr)qbEt-GJgTq$e$>}(w`yxT*4(yjuSMC_n7O7CZJe42Uhx0FMN-wuhw{(mvfWtZ&?h5XFctW?ZceI|u zW;XInMh914>j;zs*l1C7sxvk10wPGXiskrG@mPGV+KbjYzQgb}9N~7*S1Ipq>oB)! z6svBoh^3~E2eE@e*veB@6=iI8Rd8@e)0$#5RHj?x{c%>Mu^mzkkY7jOGacg`UD59M zO38pvU3tFV^MIB~%c2C?55+3Y5 z6F(to%N$yg;PSD=@-Xt=aw06=6vE`G28UYPceRCzJ@nyd?`)+{-9)$Ssz=IwtUhDq z=E0qA&LnZ}p3#OIo9iFqJTvKDFFb7+1}uX3_v>5_BGC>?ti$Cz9(8dDj9Kf4ApyDk zcU4x2h&DeP4T~70fG$u6uNCcsJQ11qiSU^#+E!VEKCtDEMU}q*H;V!l=J_9GT25h7 zH8C4+oZ{FVJpu%%ZBrMtw}A6rj6%*GEVzUfM3K{*PPGnJ5%Fge14%Hfejvn!w zv+XramMvuZ@gDL6{$N10v`q-?p$zDcaU7@MP=+-Ex-MmwtQ5;?k_<2aoLBO zFQwQGeZ1KJ4kv{vfjUqfwnEE_UC+z6*y)mxOd_#qmT=2doPwblfU){OAxX>NshjqITrb`P321{;KSk%&vQ#vIMj_*tJ>e-hvhOd{W=k}N$N$>E zO^Xky^dip8$1hGfMWnLju<4rD_J_VL^0LCKNOefp0S}5br9eHx^h$V5$!Uku#8*PW zFY%4UJ!o!g-E)fJ`fqXBul90%LxId*lVJ*w>f|ldl1fH1Ha!PUitQzsY9q-3HP_FD??yOx%INY;_x6n&cQ*s(XP~P$hj(l z=yn7I+9<{A~WBJWLLg@@6gIo0^%y}PZJvftZ_ z@FW*t;E=LTN;GToxt$hfkrECNLrZCy)~?$uqZ40mT;h$o`iat4*z!@ymD&Y&7aAyD zX0QsxpTXR;5|@HPfenS|(}BM5{sg$jYUdLJ8*eUY=)9)ODqM`;dW>wnT9u{iQcJZC zD#2TWx(?_1dVK9^*Qu((qGk%+foM7&)eK0cu~+*epiH)R*z&%!cD&JLP~^8<;XNBy6Nfg_ZjDLGl|_&!%^d! zrIzJy!|N63Ic3ZgOlIg&4A5Uhur|Q;k;N(&dvZMba+7c1E(40r%+OybB1fc* zA0%fb=Sq?xBf&ae;W+^0&{B>vEe7>8q~^xl&iUk4fJY*J(i<45mbN&18_yYtel^Wi zlF1Y`R6M!TaRg9WHYYk`W9DqCJ~(*eWohD&ZZB*PtNwwr@rE{s@HeoIB4-iKKF*ap z>Up9mSVJRlBkEpSj`Ey*`m72+^c%|{|4!X+;?=f%zu`~HYsgN@)%@tFLDQeCz=gz= zDLMoXMDJXPP*IUIG5}OjIq$3l#5#7tVnyo&fs1TwEB5>N#@c)VVMOvmrd zi;Gt?pJd|o%lbI&iDj?NYE9{iQ0pgW(y06FUPnZ#q8m9B#$q=?40js?Y6BNft~Byw zTRtJ0YXG}I#07DU8rk&&0`m6eTt&bX<)X1{`S87&@j zmUK_tZsoR$Xp_lhi1()f?7nin$in-UCcIxtE(4OaJkM9LC5Y4yxlzyaHJ6q%bkF8M z`G-PgE0~imuaIMY9icm_1N3L$YQb+T#_A($;9aH&1FMmNCxC0Vz_<@YcCX>PzAZy! z2gy-WDx*@(wdbK;s&p`=ORkfZJH>A=PZP%)IYLbLWjVX4-tt8TZ{TikRB~_DNTzfM zR5X9En3mpQjn-vrvfHwJRz$|nur#oWHKYDI?+@IrQ7@SYs<0|b+N#PoBQR-VkUBdC z2J)-8qlc1#f$*jxR$%%`&Rtz`-_Ho#4mq2B#U#|AuQ__U$}VBw>9S~@=ZmTr-$f7+ z6jFNDuM|j)d%@1 zfSl{Clj`Hk(F)2P1mE5D3+JW#f~Pt(rMG9(yvO1G;+?&dMcwQW zN^G=dzpam}V%32S?+WvhW4?=#ukLrh8XB{eTJf-(F3x7| zmU5%`3~IZK1A$)62Yu;mm)I_P&(MG>f_UGH6wlOkr!Nz{%c6B26qXsv@K!-Okw7jP zJKL!3Q695R-_kVV-6VRG&?PUa+|c&yMMIjjktQ5!LhVcrUvC#rkxzq1J6ns|(fvY4 zDg^Jm)OCe3lTAMvrk!nfMqST0rzjffPfk$7BGdY0f7Rqw3DWAO(_klB9EJqyNY22m znC0U>*t*2)3L*8mbUQJcwe_0zhGV1qrLV%bciuYVb~$YIVcu~G=`G$mqh`v(8z#5& zoXtfGYVmZby9+tm6&16B^!cgfqR&+1terWrH-oOZI!Q8Z)rb7J~0xN5WLR9AniL(+-hKtY^c76XZ3)k+8 ziuy5DRn|`?d)`Pr0gQP4>SUd)vlYZ&A5Tjv4KlfllcHELwh3?NIQ!K;4$}{p0JDru zS7W$oMtGQqU-^==4(@#WcpmDr`0!EygI20l`V!f7UTD8nBllZ8r3e;WSowrDG(YaQ zcVYC8G+unLYi5lQfy)g_|CETbO(D02!f0Ah*K#d%Z2nT%JK+6^sc<;6^Si9#S)j#H z7d}_hkZ$WCQG;sT7oj+|BA>ucLsp=+!fA8A7kB^qtR$@5sa#rdtYho55lnirU@Zr5 zM9-Wn+2c`i@pP3Fj*njXb~XKRY>o~CH)Gem>p(X<%I@{2N&*1stp*3bOzG@F$w#w7 zV0*sPd#Gy4_Ul-(mK7&Mz@nVi?{wjaKX6yoG--Ahkt6P9MFpbsTEskj4Nk=-zOkni zcxT6A9z-l?Wl})5$%GH+eMd)FsX5@5%96o>%krp6q{HQ^8BKZ?w4~@zuEzJfgiS|Y z_$bL2+1NIFRh$|D6OE4!JvR40%TSt*1I)dj@y1iVbOD*R%-pxJr)6oQx>z3}Gik9W z)3LJyc@2CKpr-G>2*83XojGF|3U1uBfCk}cv@tgKv3k?o^?o?pWViFqoUKLULtRPc9D;rz*3D8Zxv?xPrly2Q54mN|^fh)K`fd|ZlI`E1nBC zi>5^cZ6q=~TW*M|PQqjE2W0qiREVv4ypPV7^?%?JK@+(T*|pkMZ!@qfoH5#C_}|ex zBean+S})`*KRII!8|jA=*KfI|w=69i8S=r!UWHf6<9q>?PG`u$`1sPI-r}GN1Yxti zp2PND=ql*->kNhw&yuS*9xGkNEP$xC5nC$TQ^Hjdrme{yYPg8_&(0l1&I^mC2!#Av ztVj<(uM9JBAd+vrW^Y$ysZ)830snC7=j&!_Huq!8VbEvrihpw03K7^rQA$X3^M{{K zN-v4Mp6*C;X4L*d$DGn7Kx!a7jmJF~w>?LbL(&>2)wY5 zjs}tH?e}qv->L~;V_ug`e@pdP7cT#y>W&`&^A)9n_&@0S-_=nEt&SGMQ>Z&*vT;_0<_G%=MSz5w>nE)bo7RG zGlRO(;|c_OjD)! z5|N*ZVm(7ihxST`w^a<$WfwJr#E>fYUXV_MidA=7c9fKA#1vbL9t)~BRJjRsu#f9D zS+|Qr6;1VqxqrKXujZHVz6B;JV<;_Q`aBEz1N`ixlj7hcohU!oFihI*p}GdGW?v|X z*GEm^&gAcG603A9TPhAO+@r-|g`quFj@jg|#+Y}q!#}pjv(?-z(i04SKNxNn^5-z{ zlQfxWbP1`Kr6tr&VJnjB`5K!!UK-mam7>%jJ~dJ>r_zyde6>w1;li7AxVm_&M@p|T z8vLG%he{}Tny|v1)f!soj!X|tRmbA`z?xdUec~Bw09~_tfN)bs7pGrV@X!D9_IGyb z;CW^NS^;N9GCP8R(?eu(D&r%xrr|9x+Iw*kk<54OvQSQsK-AhZs40T3Y+{5Z{}^@= zA}B>%I`AbgCkqs=V4ZeQQ8FF{EWW9-&%CU#wl&zvplLpMH61v7&_EZPV^4zW^&Ywg zw9??!l&4W>RwRmKYu*0UZL5&N+}{INUHWW>Pwz==-^cqp?&Ovpdcb>D`jtMB6M~1{ zn$Fe@HdteVMD&X}%eYylVcK$HMAJxFC8#zg-Yo5Pv{(I)qKL&e=yW|Bbm^fc11~n` zsCjDZHJ1G!{4qT}f!ygg^XO3!_{gySTpEAlCeh^(8t(?>*lk@hU~k+L1)9$^-D<5$e}gGhceQgQs1BdBgI*SQubRtld8;qKFIh)KP?X zU*4UZ=od~@=8bi4wf;jtOOH{Hk)Wo^arU>mL>Br&Vd`^{dNRxI>tN^ctwZ}mRiC^Xx~fP(%DckcleMboW~_5_9@4|&KlG}jh`jK@KPackbLs5- zv2Cq%)9)8-uRfl4_Tfwf$^2doQq=0WP!RKYJ&#zx6#vbvEZ0eCUBWRa#O8`5V;sHu zaQ}=vwso;2(EOr@YwIL$_FKP%1vQ`iMN4H%PwJpbsHQHoy@>s4lNgh&u#NIml=_<3 z*|R#jc;<cg?HRtF0fsYR~`t2)nI(MI;k(3->HOQ-7{Ol50Jncc?|YYV*{#OTp9e z8u2X^=R_$7&-gLBb7QkUxV}udpE2!&qT=4Gn+;LrqgQ`XMXUvM!4j#`V)h!nSYYq-;leT2|trIFI zTUfPbqXOf~jehkcuh)0B%qQ`Mt9MH0u!zwROkKW;q z-_+9JAWrXf#h!Is9o|DLtE<$6G3g>s<6~|l(oJdMeK#T-S8>gA&Yk{4=W@tpuh8!` zC5TVP`tGv#KX#}X)otp{4)BgB935Ct)ly!-v^qh7dbT#xK0E@$`6%u{Zh$P4L_PO$_N@_BJ|9P5 zi>bBI_@N3N+!r`zj>8&nZ&Vh{}MxOlITl?h3^0bjq?H0>UZ(R z&s(3IS81MfbvAtZX}G0!0s8Tg$a(X5cqu7J=QQ1*Ru{ZzDfaMA7PD5C2XHc8IHHG} zwnn%?W{$bYy6s}f+LH^rg#M0XPdw?0?MB=S9z4H-kybXH8(wD2sxT9rX$+z_b|NYJFIbrf8{I}6K{S_Nd3&7r#zFTU*0~GSp50w zu_A|?VE+wyxl!LozjoU%Ud{PEMp_;}Hy-z8{yjuJ&M}CGU>}65O_KuS&OZH5&WFYR zPmc<;m;9=Kh{}0*F{M@bw8ScrmOw4r^#(yP37!^w9+S9%_~xZ#(OLGaf!Q5!|-m}?; zJ?mlbfS5U2*DGDkbS-^c^;R*D`!or<1svs#e5&u_V8HBt+$(v>jWJVRIL?Y;kGXu= zchlgO8?fZn^W*ZLxST(16AqNBvMd8t!X@UDazJ^av7x~$=bMa|Y7?fmLnLl?m^Vne zv?gg|6x)*fxbt7J3~k9+zWP9XHAkkKYr zk{~37&il*{Zso^*th{Iq0eLT$$SE7b^mndrzLET$Gh3z+qT_YN@e4>vls0-k?ylO? zk0j4DQK_x(?1Lkh%Fl|Jgju*?6ZzpwUYl%90`}#8qbZtBOx0eDB&Ex+z{qb%vB+3C zU6yeuB*3fE*>A594qn&)o@!aU-kHfvt0vMx?{r5`eXK-r8d6t{ev zgXDkECpSVAiydl9;X$26zWy(W_@!37@STuHIj^iX+n;3VWu(L=SV}w(^5RJt#@);h%2rH(({6?im@S%! zFDl3V9Ha8>IkmFP)=43fu{o#MsfHGZc4~w=8(6)F4r-$!+82JUd|Y+v`PNE%U~6k& zBt}WoL++!q(tEDs?ZlMCvZpS((m$g^-}w)pF8+sp^wTXj22%gqGJQd2eRzH*PjTPL z(i9n(n&ghMTXJ|y{{W8*VQV|Px+ihzI#aBIze(F*_NNg)c~UsL z_VfGF-?rSBKl>m!m5$O)wBlm#>FcvBxk9wM+MY7+8(BYiTj(Zf4@mgDuDO@oxckfS zLiTSEb3_U>M#d_+a_#X9A$Bl%vHL!8NV6kg(8(ZCwnM<^>K<{EgEoitwrut>prvyu zq555OL4n}#B6n)Wy4cSIwin&wrb-Mw#eejOdv#5e7hh0c@}|fnrj)89^{*;?rmc;* z5V@YK9W$l9wu!GuFc~^h723LHHCb_o++Hi4+Ey;#Y|)yPcKpKnDT&>ykYoJY8_&FG z#^Rzq-<6X}`j@=5E8`r7{T=9Io=_b*0$ant+tbO!*Rvv>wpyV9pG`(|MZjnF4LWgq z%p_`u`>Y2cG%oJLxVhOQz-a)(k=m?p-w%JUxXn8X<8e2( z_8v-IesquZLAk14GkMdS{LXSx4_eCnwxvtS!qrRgB8yMBByUw9?Yb0qQ8upjXDFn$ zN!jW>*Oa3?HiwIoHk5iNUMJ?=%kz!o+f7z*F3}|-su|ixFk4k?Dj5CArQc^ zr||I_%kg>apP-Zne5PM~N)DLlGDo#7R;A`mCq(6g-9RxlDKA|8Xz>G&TcmkC6})~Y z8MGrFovOq!BP&zgM+bv`U%AXiPBrs7it}cXFI|Fe`di9{Eum-q-5EUAKg|7}l4bu^ zRjZ$}KeMcH9bq6leRh>QLA2`RM*BtLkAE0MerlMuE0LJF{sQO%LdDLx_f9Q;U!Ff| zI0>oSb=d!5Ioq@OrJ*u>V9i1AFCeb-zszW&lRjQdx$`WwJzIUsDzNx(N&SVlBPaV` zlpYV0xMJ1GiH`-g|9_UwFsuQ0o+kf`l4R9L&o+w>@RPN>hzI$!?W2#2@zIKnIP zj0$q&nACVb+RZ)C93$9fmd9Y!wXS2b0|2K zu0TUYFjd_&y%RAwr#{0r+#YSgHS2zFJZ&X;X#Im<=1)xj->QpdVSjf#X}pDoGMd zudckcY&{{pE@J-e)oT&INZwb>cdN+1y!mbMK9}cN_`%|Xjj-K6M5&&HKR3DVK8BEP zh9gbcM{ZM@6uy2>=yqfMT|EG;tfa~pNzO5Dy=Q`X;pqykeI5GbeD}{ZRudk*!1^Ic zT2nuhZTJ0N`+aI&^PtipAAHlI#B-(f@)I@r5V!UxDnSiaBf1vS-}=p^Y?_pgugKWH zMaD;p7M6GHJvG1`FFk=o#vTD zPu$P)3ST~GD495O6w?UT(z~M}v#Mi(4Z;q5O8)U$pMazXXyZO;@Z#8XREdn?iQN zx}6Lew|+pr)bmcVxl%dvgn!BS6X)gjmE|$h`*Vx_f;ZzGX8AuYDQ}01ZW{S++ljpR zT^FO$bKmcw(&3*h=H@ZLZpe8NX_DEM83~;E3;3OA6>+CF@msyK8MM(2iwTO05f=%8e_4DJ zT#RJEt;M-DNBS5BT`J*zWA8fDC&+mqobIFlEzd{0{i{RTEnB54KJ%B{7t_|4oZ)&cpLk%)_7TGk8k`Y^<9qn4H@51;k6{_K3te{{Liw1q zcHN-|sP4^Q*(I)#;*b|}_er@LDx-Lq`vA#ktMOwlxiv@Ou{y*IvxXA24u{f_1L z6uo%|UW1Xr;FcJ|51fpl9`3}_~uPR&Y+<3Pp8omrcvb&6oDIcIKwwpj%1-2rZ&w z+qs5HS8Nyk?Y&2lY|y8--GWF4cAdc)$hQOt{f^qMNgW3phv=yxY2_&v&sHP|L=vs? zPhoAmnhuxlOg3-`G;FDgFdI%@6APw2UD3WRFxnGa%#={|nZ)UuETvEX4^tb@$3wF9 z!RQM$pE;xko%P?dbv{c@9h@D#RhF1}`f1ZWf`^W@)z*q>*`^C+S+DKZ|8(G<)n%}f zyU_(VSn`X|swZ`N3x1JCFRE+qe9Icw65@4iGD7E=UT_p08h7Sa@xeL2JX6x?X~8bo zv3DJ-ymt5K`E_uu1!Q~6r$*Uf1qB8gS;QV{ zbe>rxg!88{4@mYZKNER&mpr@dGF zZ}?Pw+3Vkq)G5$RY#G&stvQ;Tzy*p9ujT3PH*@53-P+Axwz`?rZzwOEA)M+OERk<` zNr^q^+iZO`&*j^>v4 z)pSK$7^!eQI;+ZUUFx*VlXbMbGC|3GJvsyW3liUv5%gBtjfLKZrx!<$%=d|RgeqG= zdZ*a&K(G1#UE@=Ek_PwU`$Z}3W$n$ikOhG}xXT@aYda4gOo;>~Q(g%wl2JIgro0)7 zaTp4ABIL&h5HXXmeUn7*=!|rOLkKwgMCxe31&J z)n5z#Ei$INwn^`W+=%tipmK;!)xiC@JhvtmqsJt1%U zXUKldS{5wv2Ng~I!({mn9poRe4gaQ=$jJvbH`#kuX2y7#h@Lz$NMAqTP#77$WkXT@Ii%ha>1xuW9;vCT!pAPHnvXr6Su> zy{4KXJdyDt;su{aNL=99dD0b`d{t9b!3XP@7r*#P3ogOq)Bt{wTXnx2>fvi)dw2OS z`Yw0fRadbZE+zlDb{a!62>tQ*{x{~oqppA1+y9F`%6};KG~ymzbL9|pMRo}YyzWup zo1w~ht$4gKb=m>jWyl{?FhThtEXt1dmrb^u^5l%q56{f*W5E%Ihwe}FrNthGby-CB zZ@kkjO;erTMkU^;7i6c2)Ft*zZ6&As7)$k+T~f3hZPvUk-ZQYM!MZKhD3S49sVCsc ztnO6|vApWh zOEQeNn0mS>Eb%Zb>v6QKbO+zxbNU||Mp3PP;)?HbuD$JyF>&A?2VI{5+D)X@k|A?v z%}`K|hFAT>Fv>@W!7F^=Q$sZ0khPFUEITBu_s86pft-`;p-;l|j&c#9rM7+Vr6lmC z^MLvci#2mYCC0h0Z$FmP!80zq_Y^Mpyj1!%GvjAg5I652mDTdIU3O|o9dDxrTrBUQ z&71bMFlGk**tPwfENM@O|HZG14sfEhw2RYlbNk&~H{-3VohM<_QQI=S1I`z&IP_;@ zWAEvW#o!(=GB%H5K7M7U%h;rK8z4sK-ZQcdw`jR3;qh3zh`8(o_{IE zya;!{!h98(>~k1;u`c=U|Jc7qVf#E__&EvkTKoff9sYs5u96@xuRoC2|Ft}hflXnSU7GPc;sl_Ob0MZ&~gnV$00Xxj)r89cY6eig-)HUhj9&HdVB3>0 zlGTLaJb;P5dqP>cPUA%TR?dbXyIjo+Gya`K;K^(;OK?r9ZsbR2)05cl%8!={3W zh4uu8UMb1x?dz8sGsim7YDelkM5yACxv2rGoUoEv$T<%_=cFs@82BgKVOZL4QDH+5*RmB-Yx6P+=KEr+SB_a19O_DTu6 zh9a-T_Aa=*`dvM4{f#mISI;Js0QJun_wyeo$+|2H_L(A>92S$Es!ZGF=wpXB>e8R~ zlyBQ&*N#cTY)K7I*APzHrAmUdOBEOd0h2)?Akq&201!QZmccshoAlj`NS`@CpfIJ< zj!pPYKf?dmeF~(8*0`eq+h-rw2ADXxMgIau?RejhW7uf+Jmitn^^qgS%8&q?hvoh| z%iMl4?is#bdgbP4Y6T56>Vful5;U8e~fO4WG4b zAZu3t9ou-{KoMzi_Pd6HSk3)JJZT6+MG+FE!hFyi&pGYC&-Le=f)(pN{1oAog#ugg=utv>@t+Xe8PtTk-5}zV0H9bUNDOabQ zN->4rm$qlsjvnmg0s($ZVm$cgRpVWy51e@e3o9=c+Q$4&qszVgerh%pBy*(T5L@N7SpWj% zfx`a+!ct9hgupKGjGr*`^zdPbq9z3jn_1B@8@g4A%&o{5GxTEsSDqJitf$dX>Dnm`!KfSw5Kfn(guyQx6$l{Yo|7cyu$8P~b|m}3n^%qh{2&&L-1N|3o|4{^<34j{DoB;=<_^Z9Yk?1r@R9nRpF;Nfaxi5sbOQ;%IH^(NHO$QCzf5#?_ za2Z8SaaL%4=DKTg;h>62Y($P3B7dBxEW)Bnua`qqx8^>7R)nG^xa!Bb@(Lx}CFgp7}B$=ReCZgPs9d6&Y3S2Lc0AD8~$Ita~to;#bG&R6%L zXchcFeBjj?&Xy`ECj0a+N(3h@S1TD(g_Iws&BhS`NAwK*ZgB_nbXBW^dGknw==#tM zv1wH?eIZM13KB`x$mN_Hs}~^i9q?ukVg^)uw9tb(AY=7YaE_)Sf)MU;i}0vv+GS3f zf|^A@U`_|}oBkMvVQ7Gsfc<4x$uxE_@L$+1%iGwT(^K+;3yFRs$^MBiL4A0yUXoBaD*yG#QgdQ#-cC za?@q+gvVzsH)zMv9bX_Mm&3d`18`z;^DXwz?%-oto!97_)o z=nYJ`hPZFv971B;(p>3T(~UN=2PcPJoiJXxmro-B4|GS4E+olOXbP!L6XeGkK;h_~ z_Kl?@03oV7{i;$U|0XXtb+j}^K&xMkA0+KsqfYe#dG5xE;3~K}XvoRck|9za2Ay4T zpoN2^Dn+LZ?08byjDVKWqu{SdbYyyPbi{Nuh5Idc_Qb_?Wn05Tf@C{#UH%;&HwxVj zt0nxrQ*&d_W6rBdc+aBP$|_2n%h{V2J1zMH6CXuP8mp^#qZPbeGY3M9OGZqagmGx_ zNvlOWDi9u~`{|TFlch~--Azb=u-#<11p(Pp)2EuJ8ucxo_0mAEtwl?GnrwhOS8*~3 zH_B#-ihqxW@(Ab)RG*E6QtB)73YSv)eWFpf8@RZmR&Ib@fNKFCBV5HJ*P%1)^xon; zv;SV=y6hLcbeOtnAAY%S?fW4YTI0VXjKiWo1fSnd_z3;fmwo|I5+pBb0rf+^O{Cw_ zsqQp7)jxcg`hW~hOVQ$1?019j;V3cyKr*C`xBO0_{rV(p_fo|(?0M>cEl2+=`Fe8% z0-r`r6e#_vfRk#DI0keqe6Rmkc~octnugVy#mT5{*fHFSVG6z?(hu$r(3ovAGWE}e zYE%~l@mX_eq}7X+hUt(x^J($7Q)9BlZv~bPt$bE+ZL0`7?W=|#e_rBxI9BS6(@uZ4<34+bce|J}W-GlW+G-J0P`pf!rXJ2=O2)96y#b>=8NQk5~%vp3(*tJp& zJvY*%gdYAP~|^Qoi|=87!e%W}=@#%cu;z8K8(c zGYo=J^E94#2MgY61JVSGcC=BZD?EGP8ad|pu%%^TA|_W z1K(HD+32q+o%LI)-_m~+q&|Na`v2_3x1*2QdsDjA#{Kry3WoxIMXg;jC4N;kauAZr z%s8GVgTb%Kz1u##^;5+mmZo2LnRK6l@cD$3>&*>{v48>*+Eaq%d_oG%C6pZCXss5O zsYC{{#Pn{_q+&ibES@*YQc&q`S=y11fz&^Z)T=QX;Yfqq5f%PXKF3o+_f(J&AZRaz z6-rREPvzz@lV?&GpkebGZ5|+_|9I3|ft+?Nx$M@!J3-B)({Q*S7`obH%}($q7v?P! zZr$a$_R$95#Q+6gWm^H3@I3;V+-;oD+4Ny60uWCuEhVw8+x!Jg{CTbenIqEDaSW^z z_#Bi8f%$RWbX3RqNe7Iyj@tfkaz+@&D9@H#xnee!V_ugC*1BARmi7880TXC$&Ez|n zWE-;#7$^dzP#2)E_V%iP_AK!*-exJKbXwbJFIZjrJzFCHA46W>F)umaAxE`L-VGNb z4_qxYbd1DuJO96>t^Z?Bi=%M1N$UweJbBzxwDIM9`A_p3qvZ94G*Na20X!u7_Ts2# zzpjx6A|r#2-!aE9XCKh(9})`Z{HB@L7n`c9gHA6ZM9h}3T#cb5?Jl2-ik21d`^3)c2N$K33&UFe0(60MBEva1?bpvF z3G&h}Fx;Ee$O8;-+cA#b@wyaX=yx>?gSxjB-_2}DD$7GC5(@D?HC|pQN8sL%f&xX9s@1_r{yN#l-3*4A*8wu4Cfd`idU2wFlV3j|2j z0qj0#C%4}D-KWxE4tHnI0rVW}UGByb0|QKe;C9<(u8+0MvANFy0~AFhS#uJE280l0 zWLole8m(txe8V1ovJriQmkO~|ma8{GL0d96DQ*2WI~q;xhWQIv!r$LE5na-h5IYIF z*wcQ~KJ1_nm8D6H0);ZXnbl1PLD!MvSWqlz5QyDW*8m@u_HXMUnIP zCa>e1u43%lWpm$yvL+N_&1IDpOa9gd@!Q!sCrNYUO4MHfY6YZ&DFrR1c?XaG8f9b% zSmfu*plrO?e1Smy1rPUZ+|U@p6fbk;+5!aTrhhliLstl$R)rB&m%|eU4WeLIk9QZc zrkWL;40$xpNczwZ5FIZWL4mKNx_mtqA4X7pmj{~5#lxs$_afqf=zPIcJ-!{XFE4;S z1F~2d;PN!CGhO0aKB`YMxR)2zD@fQ#e;10j=GA2|q-~|<<$$)uS-e-vjC%Ivvb|SE zUho8Kkl{B#`K&jjqL%jBSjRoQyxa|+0qf&_iGnEimzh!(&K#6h)R)o(2QLNCpHb8d z4`iW%S|vRDcxg8$4!mc9dDP?QPeI}ZHUCd$rCWu5vci@G!Kw0DR*rd)G5`cz59pw? zVgR5CCA5j(lB?FYu(R39kp z#rJHIl&a?7#U~cG%3{>B89`;6gRz=~yn7q4PZ6tUd76Wr4L@ioIf~#0Y|)v<$oqo6 zxdTGOtSF#NYU&%b-`h2dQEFt*MB@S6xquF7hk8uUPdF>N{PGS~oKw9I^jSD00K9!w zz9i~59*(Jto*p^YVP4$F$T0QGL^vj2zD{pQN5dx!B9PIj<&Zvmhyj&_0sn?8m!?!b zvbt<1M%v=%0E6)s9^WtEET@QSH2{O%Ov-8a8qj?=`XZ=8rcJ1W`XpyNxov)7YuKrg z$dlpALxr@{y>sBGj_b?XH4!(CwO_o4!_kf=9xpz4T0q4|l^fNn9pcpUyjOol0P-r* z1aLz0h5r8O+jx-FtX29#k)YKPfk;P)RG_{SQ>XrhpB`6t_Owb=+?!+mq1JN_=LRyQ z6Mn7tDRt^NsHQ4CdM0WW(qO#HY3a}*e+bcR_E#qx95MMxQkrfPsC`85$yHlHO^J^@ ze1P_diC*D%1QiUJlMRFxKGo~IfSMbDYI3Cnt6$%9&N4@tb>4|p09y&vy=(a%ouChj z`{FOdK_jU2h*u18L>z-&Vf|@lHQV3VGamg;&*TgpOsk!ADReBu_(@0TNnk{Vf zTbB1MAU-S;7wO&INa(gg@mQOdKRl;z6(JYk+$4T;6oICw$HwrELc(#RZrSgQ`@&rw zG?0rz(x&>BLW(>xt)y4%dxbH464k+Zw94Ytx2EZH7R=|svj|sE+u&TkIXy0c#-uwv z-BB#cpL$K1JcuIO8Ae}HLS9?xS9~`cjGpnh0jV$4BccGyfGmH!S3TgJki0{uK~a|Q z$W>}ynt7po`N~+7}P6FnwI(=7V#VDWT zKGGvstr0=fOALz!`BPS%J#;0v$iRrNqHi$(NNt)`W%?bRcl6WSC*v;F1~N?v0F;;y zFmcH1P_5$GRmq~@KVNh{4)Ei)i4`P(+#4}Ev+~2JmpelYeTX1zsw0Quqp|1YXraD>h;Jq?LTUUsEAV(vA zMO<%Rrd|`IX?#jEGqxkH_r@BotbM&@8(DVxIDPt*1~4Gk?&IHizIm^L&4?Px0)9a> zM1esnXj}_RpqcP(FcN8nYJ9$#%PcMJ1XwmTa+LtbuJTvtsx96w_@EOI)V2b1B>oom#+|y zCrn2O{OlbS9pwzp1&KTDwQ;%L$J`NC!?~h1`PdxyL$ujKFUaoFPOqC6P9%d^fJ;Q9 zPi#w^mN6Sy6jl8r<{`Ck+@v~I-KfS(ULEV>DT=0Ai`vLK0db)MGfeQIVzpO9HR7-<2mMYo4AL-YORe9yE}w6}L|WUJ3~A<6;we8~Mo#73)W3!gMWoBP@FT|fork9AS|TaFt}eq zKb~-vAEZ>?a#MH8q$D^G={3dPC=pi~z%2RWBA(ixJRe4GTXI?W%)#xH#pCp6=xHUf&MOAZ9_k z5&|dq#R2v+XEm3dtL$^Uby6l?u#@MhPDnt)Wv{s?!B-_IX@NQ_OgNOdKz3k6S=mb+ zJUrv3_Y+D^k^Cw&La(jD+1j-@0TdHT{Na*}mJp$td$CUj&K(2;3$v1=3W;ImZ?D^< zP(!{YxeySTY3G9Q#mlG_EFho7{vx9KF92&&_2r2Zu-+3$CiZ-)%F><(2g$z7BfZ0x z`MfP#oC8t9Qtu(yjj~picIy!1Fgb}P>;VxpxwMTP?8Z7s!}Pi_Lf>svVJl}olsoNB zG}RRW;4+YFuCh^+x?eRdku<_~4!&v&`@E+Xz{I?(n zTKDscu`38e;C5~5xkk07Pf=9Go2?FozW_9PHeYI0`Z#GVc)&*YSKupY0k14Nvlh6H;gB7_qnXcJDe0v#!11$%4CvVn?ENTL<_8?S?M zPQbke6fC)e9l-+XG+oUZj5Z1y|5w8NdPA!eKg-l zL(uhFN*=WO5&r&dP0yVr1vmkZ@+Vr4t4W|#JQR^eE$V6`M@}_AiK{}7oRCFu*8?CDyRP;o*{%5U{3iKJ8L@-;h@C{8P2#$phPZfg_ z7cZ}pWE}Eq0~|p}XSEudN3of`_F$EBAh9EYlk&{vx8)SQ zp5VS}vfdS-_%Vh&6Y+D($_gOtsiFp?i%=J-<;TnR(IGJ^Y|`Kx$Y@F^o}#Amnv#nK zCmZX?eq13*6^gWx$n$^5E0oCpRyTp;pwpLMKubYs#ID3%XTZ9<>aPDwVT zTVI-hWHrQq=~91li#4nZ;#WY`hGpP=znEhqza-(_x?PEYUc~tg+OHjk5b2UWBur5F z<&F*m^h)V+jF_|9!*vk$+X;y`ryk(w!g#JAs3fhpiEHW#+2J#YCafs^+BDHX=@Tl3 z0%qmlvt>_2s$%6(}3WtKcoBX zm#nuj$Ke9%-c0X?m7?&qdJY&m;A+0t4MC0r8BtxJf&bD+@g}|cS3ksBGb}XKX|s&j z^jtFTsB6~q^fGXyA^a?pd%@zJ8oWmVxz2{ypmImf{SmI6l+6@9jO>P1&9gL)duQsc zda}NnI3(BoO&;re{unG``tD>fenI$dEajk3sZ$B2jw(8ffuX;Pp_faem4bgv2TCTu z>Sk%BF)Q^b0lcH06(-GZQQ{yf1ctDNmH%s;hUXF4udKIAN4dmCi{6!}!5#b~P|I$v9s~toQV@ zNow`Jv`rfIv9bmm` z#yD8Q(8YU_wj5RhOg}5+^oJ}^Q&UVUx`l5sMSK=e5%B(zv|=+UnI=C{{mU08%`8ZS zOs~JW?zE%XjJg~)m?OQ4=q(fQxNtW3sP98@^t@rtRd}C3}_X{TI(sz~)hVJMA zGPwXSWE&>r_XLxBq=ECcuOv6U_OR$oHE%x103v8Y%^u9N*$`5lPqBlyiAZ8tr6fW0 zk6?8fgndHe$c&nFQ)1{CXgHIM8ek7@g!%{^FP&m@B-l#9J?%#SeLX?awmk3z7X_X0naJulhgoy!W1UJL~$#Zf|Ig738` znK;zrKnl`2B>}V+_38}9DL5%zaP8q5wPg1);KwR?Rfu6>VY9?=deZSpCLyNVD- zD6&^OUAA-`sBCns@lPaN5h$O%(f$_@MKY)k`$w8E@KTc<=_6_cHCsTKV;T`Wi^4QO z36@Gb4A!O&bCgtl=nCb#e`3e==KEr3sUlnW!_S6Ud}Bg8d&v;Y$(-R?rl74jjSBLJ zdzo&I5S=UsfDLg6Fst39+z8f#$zDj1ks+W6Oj;QrC(0Z_2EKAodx+*O5f(8w8;;9P zK@_nN54hWPT51ur=O(%n!QGgm;>rMhoW9I29Q%=h%fh6JA_yK;Pzo7m`pLQBMsHXf z`xcER3&`Fx2*`3IhjXqrC1i?47#Kv#&C!^eZc;|a5K)f39*RBfeLoBn`Vo>bogKdU zOiOdjH|DwQmz#9@mrdf>N6neFVpE)f<@-lsA}zQ8VoluJNTtL3cfVk0`oMj*{NAZL za+t=$RSWU~alVIo1b)YOSJdnS_DQM4a-?p_as=8ciZVCR+q`vPg33E44cNqp**eRp zWaY+@Z$?Q&aSDzb%Uqr?9Fen3vI7GDhMI-KYqIbbz4k5EWT;pvESZaQ?MKE-c?c+t zI%?Ra9;2YntaJVck^*yUQUTX>uqHZP+$Cr7*lF(D)uJ}u{_EsKjPvlN?91VdQO^!^ zZ9hXZTq+r1Pncoau@Yh4m@E(_?s{Rf;5oB6wS$G}`~ZHSDu&bl_&OL;t(BkqTwZ

    %7dJ(4fL-us67!%pN`{m$9>?gR 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 + * + * Heavily modified for Frost + * Zach P + */ + + +/* generals */ +body { + font-family: helvetica,arial,freesans,clean,sans-serif; + font-size: 12px; +/* line-height: 24px;*/ + background-color: #ffffff; + background-image: url(head.jpg); + background-repeat: repeat-x; + color: #505050; + margin: 0px; +} + +div.container { + display: block; + width: 785 px; + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} + +a, a:visited, a:link { color: #3465a4; text-decoration: none; } +a:hover {text-decoration: underline; } + +input { + border: 1px solid #666666; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + padding: 3px; +} + +img { border :0px; } + +#id_openid_url, .openid input { + background: url(login-bg.gif) no-repeat; + background-position: 0 50%; + padding-left: 18px; +} +.openid:hover { + +} + +#id_openid_url { + width: 384px; +} + +code { + font-family: Courier, monospace; + white-space: pre; + display: block; + overflow: auto; + border: 1px solid #444; + background: #EEE; + color: #444; + padding: 10px; + margin-top: 20px; +} + +blockquote { + background-color: #f4f8f9; + border-left: 4px solid #dae4ee; + padding: 0.4em; +} + +.icollapse-wrapper, .ccollapse-wrapper { + border: 1px solid #CCC; + padding: 5px; +} + +.hide-comments-outer { + margin-left: 0px; + font-weight: 700; + opacity: 0.4; +} +.hide-comments-outer:hover { + opacity: 1.0; +} +.hide-comments { + margin-left: 5px; +} + +#panel { + background-color: ivory; + position: absolute; + z-index: 2; + width: 30%; + padding: 25px; + border: 1px solid #444; +} + +.heart { + color: #FF0000; + font-size: 100%; + margin-right: 5px; +} + + + +/* nav */ +nav { + height: 94px; + width: 1100px; + display: block; + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} +nav #site-location { + color: #888a85; + font-size: 0.8em; + position: absolute; +} + +.error-message { + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 10px; +} + +.info-message { + color: #204a87; + font-size: 1.1em; + border: 1px solid #3465a4; + background-color: #d7e3f1; + padding: 10px; +} + + +nav #banner { + display: block; + margin-top: 14px; + position: absolute; +} +nav #banner #logo-text a { + font-size: 40px; + font-weight: bold; + margin-left: 3px; + color: #000000; + +} +nav #banner #logo-text a:hover { text-decoration: none; } + + +/* ZP REMOVE? nav-commlink */ +.nav-commlink, .nav-login-link { + display: block; + height: 15px; + margin-top: 67px; + margin-right: 2px; + /*padding: 6px 10px;*/ + padding: 6px 3px; + float: left; + bottom: 140px; + border: 1px solid #babdb6; + border-bottom: 0px; + background-color: #aec0d3; + color: #565854; + -moz-border-radius: 3px 3px 0px 0px; + -webkit-border-radius: 3px 3px 0px 0px; + border-radius: 3px 3px 0px 0px; +} + +.nav-commlink.selected { + background-color: #ffffff; + border-bottom: 1px solid #ffffff; + color: #000000 !important; + margin-top: 64px; + padding-top: 6px; + padding-bottom: 8px; +} + +.nav-ajax-left.show { + position: absolute; + font-size: 0.8em; + top: 25px; + right: 5px; + padding: 1px 2px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-color: gold !important; +} + + + +nav #nav-link-wrapper .nav-link { + /*border-right: 1px solid #babdb6;*/ +} + +nav .nav-link img { + margin-top: 24px; + margin-bottom: 0.2em; + margin-right: 1em; + margin-left: 1em; + background-color: transparent !important; +} + +.nav-button-container { + float: right; + position: relative; +} + +.nav-button-container .nav-ajax-left { +} + +.nav-menu-list { + text-align: center; + line-height: 18px; + + border-left: 1px solid #AAAAAA;/*#444444;*/ + border-right: 1px solid #AAAAAA; + border-top: 1px solid #AAAAAA; + border-bottom: 1px solid #AAAAAA; + + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; + + background: #FFFFFF; + + display: none; + list-style: none; + + width: 10em; + position: absolute; + margin: 0px; + right: -33px; + padding: 1em 0px; + + z-index: 10000; +} + + + +div.main-container { + width: 1180px; + margin: 0px auto; + display: block; + position: relative; +} + +/*div.main-content-loading { + position: absolute; + top: 200px; + left: 50%; + display: none; +}*/ + + +/* aside */ +aside { + display: block; + min-height: 112px; + + width: 250px; + + padding: 1em; + margin: 1em 0px 0px 0px; + + position: absolute; + +/* float:left;*/ +} + +#dfrn-request-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background: #3465a4 url('friendika-16.png') no-repeat 95% center; +} +#wallmessage-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background-color: #3465a4; +} + +/* section */ +div.section-wrapper { + width: 565px; + + margin-left: auto; + margin-right: auto; + + padding-right:2em; + + display: block; + + background-color: #ffffff; + background-image: url(border.jpg); + background-position: top right; + background-repeat: no-repeat; +} + +section { + margin: 0px 0px 0px 0px; + + width: 100%; + + padding-left: 1em; + padding-right: 1em; + padding-top: 1em; + + background-image: url(border.jpg); + background-position: top left; + background-repeat: no-repeat; + + min-height: 112px; + border-top: 1px solid #babdb6; +} + +.tabs { + height: 27px; + background-image: url(head.jpg); + background-repeat: repeat-x; + background-position: 0px -20px; + border-bottom: 1px solid #babdb6; + padding:0px; +} +.tabs li { margin: 0px; list-style: none; } +.tab { + display:block; + float:left; + padding: 0.4em; + /*margin-right: 1em;*/ + margin-right: 3px ; +} +.tab.active { + font-weight: bold; + +} + + +/* footer */ +footer { + display: none; + +} + +.birthday-today, .event-today { + font-weight: bold; +} +/* +div.wall-item-content-wrapper.shiny { + background-image: url('shiny.png'); + background-position: -5px 30px; + background-repeat:no-repeat; +}*/ + +.preview { + background: #FFFFC8; +} + +#theme-preview { + margin: 15px 0 15px 150px; +} + +/* from default */ +#jot-perms-icon, +#profile-location, +#profile-nolocation, +#profile-youtube, +#profile-video, +#profile-audio, +#profile-link, +#profile-title, +#wall-image-upload, +#wall-file-upload, +#profile-upload-wrapper, +#wall-image-upload-div, +#wall-file-upload-div, +.hover, .focus { + cursor: pointer; +} + +#jot-perms-icon { + float: left; +} + +#jot-title, #jot-category { + border: 0px; + margin: 0px; + height: 20px; + width: 530px; + margin-bottom: 5px; + font-weight: bold; + border: 1px solid #ffffff; +} + +#jot-title::-webkit-input-placeholder{font-weight: normal;} +#jot-category::-webkit-input-placeholder{font-weight: normal;} +#jot-title:-moz-placeholder{font-weight: normal;} +#jot-category:-moz-placeholder{font-weight: normal;} + + +#jot-title:hover, +#jot-title:focus, +#jot-category:hover, +#jot-category:focus { + border: 1px solid #cccccc; +} + +.jothidden { display:none; } + + +.fakelink, .fakelink:visited, .fakelink:link { + color: #3465a4; + text-decoration: none; + cursor: pointer; + margin-top: 15px; + margin-bottom: 15px; +} +.lockview { + cursor: pointer; +} + +#group-sidebar { + margin-bottom: 10px; +} + +.group-selected, .nets-selected, .fileas-selected, .categories-selected { + padding: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.settings-widget .selected { + padding: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.fakelink:hover { + color: #3465a4; + text-decoration: underline; + cursor: pointer; +} +.smalltext { + font-size: 0.7em; +} +#sysmsg { + /*width: 600px;*/ + margin-bottom: 10px; +} + +#register-fill-ext { + margin-bottom: 25px; +} + +#label-register-name, #label-register-email, #label-register-nickname, #label-register-openid { + float: left; + width: 350px; + margin-top: 10px; +} + +#register-name, #register-email, #register-nickname { + float: left; + margin-top: 10px; + width: 150px; +} + +#register-openid { + float: left; + margin-top: 10px; + width: 130px; +} + +#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end { + clear: both; +} + +#register-nickname-desc { + margin-top: 30px; + width: 650px; +} +#register-sitename { + float: left; + margin-top: 10px; +} + +#register-submit-button { + margin-top: 10px; +} + + +#login_standard { + width: 210px; + float: left; +} +#login_openid { + width: 210px; + margin-left: 250px; +} + +#login_standard input, +#login_openid input { + width: 180px; +} + +#login-extra-links { + clear: both; +} + +#register-link, #lost-password-link { + float: left; + font-size: 80%; + margin-right: 15px; +} + +#login-name-end, #login-password-end, #login-extra-end, #login-submit-end { + height: 50px; +} + +#login-submit-button { +/* margin-top: 10px; */ + margin-left: 200px; +} + + +input#dfrn-url { + float: left; + background: url(friendika-16.png) no-repeat; + background-position: 2px center; + font-size: 17px; + padding-left: 21px; + height: 21px; + background-color: #FFFFFF; + color: #000000; + margin-bottom: 20px; +} + +#dfrn-url-label { + float: left; + width: 250px; +} + +#dfrn-request-url-end { + clear: both; +} + +#knowyouyes, #knowyouno { + float: left; +} + +#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper { + + float: none; +} +#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label { + float: left; + width: 75px; + margin-left: 50px; + margin-bottom: 7px; +} +#dfrn-request-knowyou-break, #dfrn-request-knowyou-end { + clear: both; + +} + +#dfrn-request-message-wrapper { + margin-bottom: 50px; +} +#dfrn-request-submit-wrapper { + clear: both; + margin-left: 50px; +} + +#dfrn-request-info-wrapper { + margin-left: 50px; +} + + + +#cropimage-wrapper, #cropimage-preview-wrapper { + float: left; + padding: 30px; +} + +#crop-image-form { + margin-top: 30px; + clear: both; +} + +.intro-wrapper { + margin-top: 20px; +} + +.intro-fullname { + font-size: 1.1em; + font-weight: bold; + +} +.intro-desc { + margin-bottom: 20px; + font-weight: bold; +} + +.intro-note { + padding: 10px; +} + +.intro-end { + padding: 30px; +} + +.intro-form { + float: left; +} +.intro-approve-form { + clear: both; +} +.intro-approve-as-friend-end { + clear: both; +} +.intro-submit-approve, .intro-submit-ignore { + margin-right: 20px; +} +.intro-submit-approve { + margin-top: 15px; +} + +.intro-approve-as-friend-label, .intro-approve-as-fan-label { + float: left; + width: 100px; + margin-left: 20px; +} +.intro-approve-as-friend, .intro-approve-as-fan { + float: left; +} +.intro-form-end { + clear: both; +} +.intro-approve-as-friend-desc { + margin-top: 15px; +} +.intro-approve-as-end { + clear: both; + margin-bottom: 10px; +} + +.intro-end { + clear: both; + margin-bottom: 30px; +} +.aprofile dt { + font-weight: bold; +} +#page-profile .title { + font-weight: bold; +} +#profile-vcard-break { + clear: both; +} +#profile-extra-links { + clear: both; + margin-top: 10px; +} + +#profile-extra-links ul { + list-style-type: none; + padding: 0px; +} + + +#profile-extra-links li { + margin-top: 5px; +} + +#profile-edit-links ul { + list-style-type: none; +} + +#profile-edit-links li { + margin-top: 10px; +} +.profile-edit-side-div { + float: right; +} +.profile-edit-side-link { + opacity: 0.3; + filter:alpha(opacity=30); +} +.profile-edit-side-link:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +.view-contact-wrapper { + margin-top: 20px; + float: left; + margin-left: 20px; + width: 180px; +} + +.contact-wrapper { + float: left; + width: 150px; + height: 150px; + overflow: auto; +} + +#view-contact-end { + clear: both; +} + + +#viewcontacts { + margin-top: 15px; +} +#profile-edit-default-desc { + color: #FF0000; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 7px; +} + +#profile-edit-clone-link-wrapper { + float: left; + margin-left: 50px; + margin-bottom: 20px; + width: 300px; +} + + +#profile-edit-links-end { + clear: both; + margin-bottom: 15px; +} + +.profile-listing-photo { + border: none; +} + +.profile-edit-submit-wrapper { + margin-top: 20px; + margin-bottom: 20px; +} + +#profile-photo-link-select-wrapper { + margin-top: 2em; +} + +#profile-photo-submit-wrapper { + margin-top: 10px; +} + +#profile-photo-wrapper img { + width:175px; + height:175px; + padding: 12px; +} + +#profile-edit-profile-name-label, +#profile-edit-name-label, +#profile-edit-pdesc-label, +#profile-edit-gender-label, +#profile-edit-dob-label, +#profile-edit-address-label, +#profile-edit-locality-label, +#profile-edit-region-label, +#profile-edit-postal-code-label, +#profile-edit-country-name-label, +#profile-edit-marital-label, +#profile-edit-sexual-label, +#profile-edit-politic-label, +#profile-edit-religion-label, +#profile-edit-pubkeywords-label, +#profile-edit-prvkeywords-label, +#profile-edit-homepage-label, +#profile-edit-hometown-label { + font-weight: 700; + float: left; + width: 175px; +} + +#profile-edit-profile-name, +#profile-edit-name, +#profile-edit-pdesc, +#gender-select, +#profile-edit-dob, +#profile-edit-address, +#profile-edit-locality, +#profile-edit-region, +#profile-edit-postal-code, +#profile-edit-country-name, +#marital-select, +#sexual-select, +#profile-edit-politic, +#profile-edit-religion, +#profile-edit-pubkeywords, +#profile-edit-prvkeywords, +#profile-in-dir-yes, +#profile-in-dir-no, +#profile-in-netdir-yes, +#profile-in-netdir-no, +#hide-wall-yes, +#hide-wall-no, +#hide-friends-yes, +#hide-friends-no { + float: left; + margin-bottom: 20px; +} +#profile-edit-pubkeywords, +#profile-edit-prvkeywords { + margin-bottom: 5px; +} +#settings-normal, +#settings-soapbox, +#settings-freelove, +#settings-community { + float: left; +} +#settings-notifications label { + margin-left: 20px; +} +#settings-notify-desc, #settings-activity-desc { + font-weight: bold; + margin-bottom: 15px; +} +#settings-pagetype-desc { + color: #666666; + margin-bottom: 15px; +} + +#profile-in-dir-yes-label, +#profile-in-dir-no-label, +#profile-in-netdir-yes-label, +#profile-in-netdir-no-label, +#hide-wall-yes-label, +#hide-wall-no-label, +#hide-friends-yes-label, +#hide-friends-no-label { + margin-left: 125px; + float: left; + width: 50px; +} + +#profile-edit-howlong-label, +#profile-edit-with-label { + display: block; + font-style: italic; + width: 175px; + margin-left: 50px; +} +#profile-edit-howlong, +#profile-edit-with { + margin-bottom: 20px; + margin-left: 50px; +} +/*#profile-edit-with-label { + width: 175px; + margin-left: 20px; +}*/ + +#profile-publish-yes-reg, +#profile-publish-no-reg { + float: left; + margin-bottom: 10px; +} + +#profile-publish-yes-label-reg, +#profile-publish-no-label-reg { + margin-left: 350px; + float: left; + width: 50px; +} + +#profile-publish-break-reg, +#profile-publish-end-reg { + clear: both; +} + + +#profile-edit-pdesc-desc, +#profile-edit-pubkeywords-desc, +#profile-edit-prvkeywords-desc { + float: left; + margin-left: 20px; + margin-bottom: 20px; +} +#profile-edit-prvkeywords-desc { + margin-bottom: 0px; +} + + +/*#profile-edit-homepage, #profile-edit-hometown { + float: left; + margin-bottom: 35px; +}*/ +#profile-edit-homepage, #profile-edit-hometown { + float: left; + margin-bottom: 25px; +} +#profile-edit-hometown { + margin-bottom: 5px; +} +#settings-normal-label, +#settings-soapbox-label, +#settings-community-label, +#settings-freelove-label { + float: left; + width: 200px; +} +#settings-normal-desc, +#settings-soapbox-desc, +#settings-community-desc, +#settings-freelove-desc { + /*float: left; + margin-left: 75px;*/ + clear: left; + color: #666666; + display: block; + margin-bottom: 20px +} + +#profile-edit-profile-name-end, +#profile-edit-name-end, +#profile-edit-pdesc-end, +#profile-edit-gender-end, +#profile-edit-dob-end, +#profile-edit-address-end, +#profile-edit-locality-end, +#profile-edit-region-end, +#profile-edit-postal-code-end, +#profile-edit-country-name-end, +#profile-edit-marital-end, +#profile-edit-sexual-end, +#profile-edit-politic-end, +#profile-edit-religion-end, +#profile-edit-pubkeywords-end, +#profile-edit-prvkeywords-end, +#profile-edit-homepage-end, +#profile-edit-hometown-end, +#profile-in-dir-break, +#profile-in-dir-end, +#profile-in-netdir-break, +#profile-in-netdir-end, +#hide-wall-break, +#hide-wall-end, +#hide-friends-break, +#hide-friends-end, +#settings-normal-break, +#settings-soapbox-break, +#settings-community-break, +#settings-freelove-break { + clear: both; +} +#profile-edit-marital-wrapper, #profile-edit-address-wrapper { + margin-top: 50px; +} +#profile-edit-marital-end { + margin-bottom: 20px; +} + +.settings-widget ul { + list-style-type: none; + padding: 0px; +} + +.settings-widget li { + margin-left: 24px; + margin-bottom: 8px; +} + + +#gender-select, #marital-select, #sexual-select { + width: 220px; +} + +#profile-edit-profile-name-wrapper .required { + color: #FF0000; + float: left; +} + +#contacts-display-wrapper { + padding-left: 0px; +} + +#contacts-main { + margin-top: 20px; + margin-bottom: 20px; +} + +.contact-entry-wrapper { + float: left; +/* width: 120px; + height: 120px;*/ + padding-left: 8px; + padding-right: 8px; + width: 95px; + height: 170px; +} +#contacts-search-end { + margin-bottom: 10px; +} + +.contact-entry-direction-icon { + margin-top: 24px; + margin-right: 2px; +} + +.contact-entry-photo img { + border: none; +} +.contact-entry-photo-end { + clear: both; +} +.contact-entry-name { + float: left; + margin-left: 0px; + margin-right: 10px; + padding-bottom: 5px; + width: 120px; + font-weight: 600; + overflow: hidden; +} +.contact-entry-details { + font-style: italic; + font-size: 10px; + font-weight: 500; +} +.contact-entry-network { + font-size: 10px; + font-weight: 500; +} +.contact-entry-edit-links { + margin-top: 6px; + margin-left: 10px; + width: 16px; +} +.contact-entry-nav-wrapper { + float: left; + margin-left: 10px; +} + +.contact-entry-edit-links img { + border: none; + margin-right: 15px; +} +.contact-entry-photo { + float: left; + position: relative; +} +.contact-entry-end { + clear: both; +} + +#fsuggest-desc, #fsuggest-submit-wrapper { + margin-top: 15px; + margin-bottom: 15px; +} + +#network-star-link{ + margin-top: 10px; +} +.network-star { + float: left; + margin-right: 5px; +} +#network-bmark-link { + margin-top: 10px; +} + +.wall-item-content-wrapper { + margin-top: 60px; + padding-top: 30px; + border-top: 2px solid #AAA; + position: relative; + +} + +.wall-item-content-wrapper.comment { + margin-top: 10px; + padding-top: none; + margin-left: 50px; + border: none; +} + +.wall-item-like, .wall-item-dislike { + font-style: italic; + margin-left: 0px; + opacity: 0.4; +} +.wall-item-like:hover, .wall-item-dislike:hover { + opacity: 1.0; +} + +.wall-item-like.comment, .wall-item-dislike.comment { + margin-left: 50px; +} + +.wall-item-info { + display: block; + float: left; + width:110px; + margin-right:10px; +} +.comment .wall-item-info { + width: 70px; +} + +.wall-item-photo-wrapper { + margin-bottom: 10px; + width: 100px; +} +.wall-item-photo-menu-button { + display: block; + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 94px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.wall-item-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; +/* left: 10px; top: 90px;*/ + left: 0px; top:110px; + display: none; + z-index: 10000; +} +.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.wall-item-photo-menu li a { display: block; padding: 2px; } +.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +.comment .wall-item-photo-menu-button { /*top: 44px;*/ top: 64px;} +.comment .wall-item-photo-menu { /*top: 60px;*/ top: 80px; } + +.wallwall .wwto { + left: 50px; + margin: 0; + position: absolute; + top: 70px; + width: 30px +} +.wallwall .wwto img { + width: 30px !important; + height: 30px !important; +} + +.wallwall .wall-item-photo-end { + clear: both; +} + +.wall-item-arrowphoto-wrapper { + position: absolute; + left: 75px; + top: 70px; + z-index: 100; +} +.wall-item-wrapper { + margin-left:10px; +} +.wall-item-lock { + margin-top: 30px; + left: 105px; + position: absolute; + top: 1px; +} +.comment .wall-item-lock { + left: 65px; +} + +.wall-item-ago { + color: #888888; + font-size: 0.8em; +} + +.wall-item-location { + overflow: hidden; + /* add ellipsis on text overflow */ + /* this work on safari, opera, ie, chrome. */ + /* firefox users have to wait support or we */ + /* can use a jquery plugin http://bit.ly/zJskg */ + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + width: 100%; +} + +.wall-item-like-buttons { + float: left; + margin-right: 10px; +/* padding-right: 10px; */ +/* border-right: 2px solid #fff; */ +} + +.like-rotator { + margin-left: 5px; +} + +.wall-item-like-buttons > a, +.wall-item-like-buttons > img { + float: left; +} + +.wall-item-like-buttons img { + cursor: pointer; +} + +.wall-item-share-buttons { + margin-left: 10px; + margin-right: 10px; +} + +.editpost { + margin-left: 10px; + float: left; +} +.star-item { + margin-left: 10px; + float: left; +} +.tag-item { + margin-left: 10px; + float: left; +} + +.filer-item { + margin-left: 10px; + float: left; +} + +.wall-item-links-wrapper { + float: left; +} + +.wall-item-delete-wrapper { + float: right; +} + +.wall-item-delete-end { + clear: both; +} + +.wall-item-delete-icon { + border: none; +} + + +.wall-item-wrapper-end { + clear: both; +} +.wall-item-name-link { + font-weight: bold; + text-decoration: none; + color: #3172BD; +} +.wall-item-photo { + border: none; +} +.comment .wall-item-photo { + width: 50px !important; + height: 50px !important; +} +.wall-item-content { + margin-left: 10px; + padding-right: 1em; + max-height: 500px; + overflow: auto; +} + +.wall-item-content img { + max-width: 100%; +} + + + +.wall-item-title { + float: left; + font-weight: bold; + font-size: 1.6em; + /*width: 450px;*/ +} + +.wall-item-title-end { + clear: both; +} + +.wall-item-body { + text-align: justify; + float: left; + /*width: 450px;*/ + width: 100%; + margin-top: 10px; + line-height: 18px; +} + +.wall-item-tools { + clear: both; +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + margin-top: 10px; + margin-left: 0px; + margin-bottom: 7px; +/* padding: 5px 10px 0px;*/ + padding: 5px 10px 0px 2px; + height: 28px; + border-bottom: 1px solid #ddd; +} +.wall-item-author { +/* margin-top: 10px;*/ + margin-top: 0px; +} + +.comment .wall-item-tools { +/* background:none;*/ +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + margin-left: 0px; +} + +.comment-edit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 50px; +} + +.comment-wwedit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 50px; +} + +.comment-edit-photo { + margin-top: 10px; + margin-left: 10px; + margin-bottom: 10px; + width: 70px; + float: left; +} +.comment-edit-photo img { + width: 25px; +} +.comment-edit-text-empty, .comment-edit-text-full { + float: left; + margin-top: 10px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #cccccc; + padding: 3px 1px 1px 3px; +} + +.comment-edit-text-empty { + color: gray; + height: 30px; + width: 175px; + overflow: auto; + margin-bottom: 10px; +} + +.comment-edit-text-full { + color: black; + height: 150px; + width: 350px; + overflow: auto; +} + +.comment-edit-text-end { + clear: both; +} + +.comment-edit-submit { + margin: 10px 0px 10px 110px; +} + +#profile-jot-plugin-wrapper, +#profile-jot-submit-wrapper { + margin-top: 15px; +} + +#profile-jot-submit { + float: left; +} +#profile-upload-wrapper { + float: left; + margin-left: 30px; +} +#profile-attach-wrapper { + float: left; + margin-left: 15px; +} +#profile-rotator { + float: left; + margin-left: 30px; +} +#profile-link-wrapper { + float: left; + margin-left: 30px; +} +#profile-youtube-wrapper { + float: left; + margin-left: 15px; +} +#profile-video-wrapper { + float: left; + margin-left: 15px; +} +#profile-audio-wrapper { + float: left; + margin-left: 15px; +} +#profile-location-wrapper { + float: left; + margin-left: 15px; +} +#jot-preview-link { + float: left; + margin-left: 45px; + margin-top: 0px !important; +} + + +#profile-nolocation-wrapper { + float: left; + margin-left: 15px; +} +#profile-title-wrapper { + float: left; + margin-left: 15px; +} + +#profile-jot-perms { + float: left; + margin-left: 100px; + font-weight: bold; + font-size: 1.2em; +} + + +#profile-jot-perms-end { + /*clear: left;*/ + height: 30px; +} + +#profile-jot-plugin-end{ + clear: both; +} +.profile-jot-net { + float: left; + margin-right: 10px; + margin-top: 5px; + margin-bottom: 5px; +} + +#profile-jot-networks-end { + clear: both; +} + +.profile-jot-box { + margin-top: 50px; +} + +#profile-jot-end { + /*clear: both;*/ + margin-bottom: 30px; +} +#about-jot-submit-wrapper { + margin-top: 15px; +} +#about-jot-end { + margin-bottom: 30px; +} +#contacts-main { + margin-bottom: 30px; +} + +#profile-listing-desc { + margin-left: 30px; +} + +#profile-listing-new-link-wrapper { + margin-left: 30px; + margin-bottom: 30px; +} +.profile-listing-photo-wrapper { + float: left; +} + +.profile-listing-edit-buttons-wrapper { + clear: both; +} +.profile-listing-photo-edit-link { + float: left; + width: 125px; +} +.profile-listing-end { + clear: both; +} +.profile-listing-edit-buttons-wrapper img{ + border: none; + margin-right: 20px; +} +.profile-listing { + margin-top: 25px; +} +.profile-listing-name { + float: left; + margin-left: 32px; + margin-top: 10px; + color: #3172BD; + font-weight: bold; + width: 200px; + +} +.fortune { + margin-top: 50px; + color: #4444FF; + font-weight: bold; + margin-bottom: 20px; +} + + +.directory-end { + clear: both; +} +.directory-name { + text-align: center; +} +.directory-photo { + margin-left: 25px; +} +.directory-details { + font-size: 0.7em; + text-align: center; + margin-left: 5px; + margin-right: 5px; +} +.directory-item { + float: left; +/* width: 225px; + height: 260px;*/ + padding-left: 25px; + width: 150px; + height: 225px; + overflow: auto; +} + +#directory-search-wrapper { + margin-top: 20px; + margin-right: 20px; + margin-bottom: 50px; +} + +#directory-search-end { +} + +.directory-photo-img { + width: 125px; + border: none; +} + +/* NOTE: The order of the "pager" items here is very important! + * The concern is maintaining a decent-looking pager for people who still use + * the numbers, while also having a nice-looking pager for people who use the + * "older/newer" alternate. The numbers pager uses the _first, _last, etc. classes + * while the newer pager just has bare tags inside the div.pager. So the + * following CSS sets everything up for the newer pager, then overrides those + * settings for the specific classes used by the older pager. + */ +.pager { + margin-top: 35px; + margin-bottom: 20px; + padding: 10px 0px; + text-align: center; +} + +.pager a { + font-size: 1.5em; + padding: 0.2em 1em; + border: 1px solid #aaa; + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + + +.pager_first, +.pager_last, +.pager_prev, +.pager_next, +.pager_n { +/* background: #EEE;*/ +} + +.pager_first a, +.pager_last a, +.pager_prev a, +.pager_next a, +.pager_n a { + font-size: 0.97em; + border: 1px solid black; + border-radius: 7px; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; + text-decoration: none; + padding: 4px 6px 4px 3px; + opacity: 0.5; +} +.pager_first a:hover, +.pager_last a:hover, +.pager_prev a:hover, +.pager_next a:hover, +.pager_n a:hover { + opacity: 1.0; +} + +.pager_current { + font-size: 0.97em; + border: 1px solid black; + border-radius: 7px; + background: #FFCCCC; + padding: 4px 6px 4px 3px; +} + + +#advanced-profile-name-wrapper, +#advanced-profile-gender-wrapper, +#advanced-profile-dob-wrapper, +#advanced-profile-age-wrapper, +#advanced-profile-marital-wrapper, +#advanced-profile-sexual-wrapper, +#advanced-profile-homepage-wrapper, +#advanced-profile-politic-wrapper, +#advanced-profile-religion-wrapper, +#advanced-profile-about-wrapper, +#advanced-profile-interest-wrapper, +#advanced-profile-contact-wrapper, +#advanced-profile-music-wrapper, +#advanced-profile-book-wrapper, +#advanced-profile-tv-wrapper, +#advanced-profile-film-wrapper, +#advanced-profile-romance-wrapper, +#advanced-profile-work-wrapper, +#advanced-profile-education-wrapper { + margin-top: 20px; +} + +#advanced-profile-name-text, +#advanced-profile-gender-text, +#advanced-profile-dob-text, +#advanced-profile-age-text, +#advanced-profile-marital-text, +#advanced-profile-sexual-text, +#advanced-profile-homepage-text, +#advanced-profile-politic-text, +#advanced-profile-religion-text, +#advanced-profile-about-text, +#advanced-profile-interest-text, +#advanced-profile-contact-text, +#advanced-profile-music-text, +#advanced-profile-book-text, +#advanced-profile-tv-text, +#advanced-profile-film-text, +#advanced-profile-romance-text, +#advanced-profile-work-text, +#advanced-profile-education-text { + width: 300px; + float: left; +} + +#advanced-profile-name-end, +#advanced-profile-gender-end, +#advanced-profile-dob-end, +#advanced-profile-age-end, +#advanced-profile-marital-end, +#advanced-profile-sexual-end, +#advanced-profile-homepage-end, +#advanced-profile-politic-end, +#advanced-profile-religion-end { + height: 10px; +} + +#advanced-profile-about-end, +#advanced-profile-interest-end, +#advanced-profile-contact-end, +#advanced-profile-music-end, +#advanced-profile-book-end, +#advanced-profile-tv-end, +#advanced-profile-film-end, +#advanced-profile-romance-end, +#advanced-profile-work-end, +#advanced-profile-education-end { + + +} + +#advanced-profile-name, +#advanced-profile-gender, +#advanced-profile-dob, +#advanced-profile-age, +#advanced-profile-marital, +#advanced-profile-sexual, +#advanced-profile-homepage, +#advanced-profile-politic, +#advanced-profile-religion { + float: left; + +} + + +#advanced-profile-about, +#advanced-profile-interest, +#advanced-profile-contact, +#advanced-profile-music, +#advanced-profile-book, +#advanced-profile-tv, +#advanced-profile-film, +#advanced-profile-romance, +#advanced-profile-work, +#advanced-profile-education { + margin-top: 10px; + margin-left: 50px; + margin-right: 20px; + padding: 10px; + border: 1px solid #CCCCCC; +} + +#advanced-profile-with { + float: left; + margin-left: 15px; +} + +#contact-edit-wrapper { + margin-top: 10px; +} + +#contact-edit-banner-name { + font-size: 1.4em; + font-weight: bold; +} + +#contact-edit-poll-wrapper { + margin-top: 15px; +} + +#contact-edit-poll-text { + margin-top: 15px; + margin-bottom: 5px; +} + +#contact-edit-update-now { + margin-top: 15px; +} + +#contact-edit-links{ + clear: both; +} + +#contact-edit-links ul { + list-style: none; + list-style-type: none; + margin-left: 0px; + padding-left: 0px; +} + +#contact-edit-links li { + margin-top: 5px; +} + +#contact-edit-drop-link { + float: right; + margin-right: 20px; +} + +#contact-edit-nav-end { + clear: both; +} + +#contact-edit-wrapper { + width: 100%; +} + +#contact-edit-end { + clear: both; + margin-top: 15px; +} + +#contact-profile-selector { + width: 175px; + margin-left: 175px; +} + +.contact-edit-submit { + margin-top: 20px; +} + + +.contact-photo-menu-button { + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 64px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.contact-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; + left: 0px; top: 90px; + display: none; + z-index: 10000; +} +.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.contact-photo-menu li a { display: block; padding: 2px; } +.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +#block-message, #ignore-message, #archive-message, #lost-contact-message { + color: #FF0000; +} + +#profile-edit-insecure { + margin-top: 20px; + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding-left: 5px; + /*: 3px 3px 3px 5px; */ + width: 587px; +} + +#profile-jot-text { + height: 20px; + color:#cccccc; + border: 1px solid #cccccc; + padding: 3px 0px 0px 5px; + -moz-border-radius: 3px; + border-radius: 3px; +} + + +/** acl **/ +#photo-edit-perms-select, +#photos-upload-permissions-wrapper, +#profile-jot-acl-wrapper{ + display:block!important; +} + +#photos-usage-message { + margin-bottom: 15px; +} + + +#acl-wrapper { + width: 690px; + float:left; +} +#acl-search { + float:right; + background: #ffffff url("../../../images/search_18.png") no-repeat right center; + padding-right:20px; +} +#acl-showall { + float: left; + display: block; + width: auto; + height: 18px; + background-color: #cccccc; + background-image: url("../../../images/show_all_off.png"); + background-position: 7px 7px; + background-repeat: no-repeat; + padding: 7px 5px 0px 30px; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + color: #999999; +} +#acl-showall.selected { + color: #000000; + background-color: #ff9900; + background-image: url("../../../images/show_all_on.png"); +} + +#acl-list { + height: 210px; + border: 1px solid #cccccc; + clear: both; + margin-top: 30px; + overflow: auto; +} +#acl-list-content { + +} +.acl-list-item { + display: block; + width: 150px; + height: 30px; + border: 1px solid #cccccc; + margin: 5px; + float: left; +} +.acl-list-item img{ + width:22px; + height: 22px; + float: left; + margin: 4px; +} +.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} +.acl-list-item a { + font-size: 8px; + display: block; + width: 40px; + height: 10px; + float: left; + color: #999999; + background-color: #cccccc; + background-position: 3px 3px; + background-repeat: no-repeat; + margin-right: 5px; + -webkit-border-radius: 2px ; + -moz-border-radius: 2px; + border-radius: 2px; + padding-left: 15px; +} +#acl-wrapper a:hover { + text-decoration: none; + color:#000000; +} +.acl-button-show { background-image: url("../../../images/show_off.png"); } +.acl-button-hide { background-image: url("../../../images/hide_off.png"); } + +.acl-button-show.selected { + color: #000000; + background-color: #9ade00; + background-image: url("../../../images/show_on.png"); +} +.acl-button-hide.selected { + color: #000000; + background-color: #ff4141; + background-image: url("../../../images/hide_on.png"); +} +.acl-list-item.groupshow { border-color: #9ade00; } +.acl-list-item.grouphide { border-color: #ff4141; } +/** /acl **/ + + +#group-new-submit-wrapper { + margin-top: 30px; +} + +#group-edit-name-label { + float: left; + width: 175px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name { + float: left; + width: 225px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name-wrapper { + + +} + + +#group_members_select_label { + display: block; + float: left; + width: 175px; +} + +.group_members_select { + float: left; + width: 230px; + overflow: auto; +} + +#group_members_select_end { + clear: both; +} +#group-edit-name-end { + clear: both; +} + +#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label { + margin-bottom: 10px; + margin-top: 20px; +} + +#prvmail-submit { + float: left; + margin-top: 10px; + margin-right: 30px; +} +#prvmail-upload-wrapper, +#prvmail-link-wrapper, +#prvmail-rotator-wrapper { + float: left; + margin-top: 10px; + margin-right: 10px; + width: 24px; +} + +#prvmail-end { + clear: both; +} + +.mail-list-sender, +.mail-list-detail { + float: left; +} +.mail-list-detail { + margin-left: 20px; +} + +.mail-list-subject { + font-size: 1.1em; + margin-top: 10px; +} +a.mail-list-link { + display: block; + font-size: 1.3em; + padding: 4px 0; +} + +/* +*a.mail-list-link:hover { +* background-color: #15607B; +* color: #F5F6FB; +*} +*/ + +.mail-list-outside-wrapper-end { + clear: both; +} + +.mail-list-outside-wrapper { + margin-top: 30px; +} + +.mail-list-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} + +.mail-list-delete-icon { + border: none; +} + +.mail-conv-sender, +.mail-conv-detail { + float: left; +} +.mail-conv-detail { + margin-left: 20px; + margin-bottom: 10px; + width: 500px; +} + +.mail-conv-subject { + font-size: 1.4em; + margin: 10px 0; +} + +.mail-conv-outside-wrapper-end { + clear: both; +} + +.mail-conv-outside-wrapper { + margin-top: 30px; +} + +.mail-conv-delete-wrapper { + float: right; + margin-right: 5px; + margin-top: 15px; +} +.mail-conv-break { + clear: both; +} + +.mail-conv-delete-icon { + border: none; +} + +.message-links ul { + list-style-type: none; + padding: 0px; +} + +.message-links li { + margin-top: 10px; + float: left; +} +.message-links a { + padding: 3px 5px; +} + +.message-links-end { + clear: both; +} + +#sidebar-group-list ul { + list-style-type: none; +} + +#sidebar-group-list .icon, #sidebar-group-list .iconspacer { + display: inline-block; + height: 12px; + width: 12px; +} + +#sidebar-group-list li { + margin-top: 10px; +} + +.nets-ul, .fileas-ul, .categories-ul { + list-style-type: none; +} + +.nets-ul li, .fileas-ul li, .categories-ul li { + margin-top: 10px; +} + +.nets-link { + margin-left: 24px; +} +.nets-all { + margin-left: 42px; +} + +.fileas-link, .categories-link { + margin-left: 24px; +} + +.fileas-all, .categories-all { + margin-left: 0px; +} + +#search-save { + margin-left: 5px; +} +.groupsideedit { + margin-right: 10px; +} +#saved-search-ul { + list-style-type: none; +} +.savedsearchdrop, .savedsearchterm { + float: left; + margin-top: 10px; +} +.savedsearchterm { + margin-left: 10px; +} + + +#side-follow-wrapper { + margin-top: 20px; +} +#side-follow-url, #side-peoplefind-url { + margin-top: 5px; +} +#side-follow-submit, #side-peoplefind-submit { + margin-top: 15px; +} + +#side-match-link { + margin-top: 10px; +} + +aside input[type='text'] { + width: 174px; +} + +.widget { + border: 1px solid #DDDDDD; + padding: 8px; + margin-top: 5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; + +} + + +/*.photos { + height: auto; + overflow: auto; +}*/ + +.photos-end { + clear: both; + margin-bottom: 25px; +} + +.photo-album-image-wrapper { + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; +/* width: 200px; height: 200px; + overflow: hidden; + position: relative; */ +} +.photo-album-image-wrapper .caption { + display: none; + width: 100%; +/* position: absolute; */ + bottom: 0px; + padding: 0.5em 0.5em 0px 0.5em; + background-color: rgba(245, 245, 255, 0.8); + border-bottom: 2px solid #CCC; + margin: 0px; +} +.photo-album-image-wrapper a:hover .caption { + display:block; +} + +#photo-album-end { + clear: both; + margin-bottom: 25px; +} + +.photo-top-image-wrapper { +/* position: relative; */ + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; + margin-bottom: 15px; +/* width: 200px; height: 200px; + overflow: hidden; */ +} +.photo-top-image-wrapper img { + max-width: 550px; +} +.photo-top-album-name { + width: 100%; + min-height: 2em; +/* position: absolute; */ + bottom: 0px; + padding: 0px 3px; + padding-top: 0.5em; + background-color: rgb(255, 255, 255); +} +#photo-top-end { + clear: both; +} + +#photo-top-links { + margin-bottom: 30px; + margin-left: 30px; +} + +#photos-upload-form { + padding-left: 90px; +} + +#photos-upload-newalbum-div { + float: left; + width: 175px; + margin-top: 30px; +} + +#photos-upload-noshare { + margin-bottom: 10px; +} +#photos-upload-existing-album-text { + float: left; + width: 175px; +} +#photos-upload-newalbum { + margin-top: 30px; + float: left; +} +#photos-upload-album-select { + float: left; +} + +#photos-upload-spacer { + margin-top: 25px; +} +#photos-upload-new-end, #photos-upload-exist-end { + clear: both; +} +#photos-upload-exist-end { + margin-bottom: 15px; +} +#photos-upload-submit { + margin-top: 15px; + margin-left: 90px; +} + +#photos_upload_applet_wrapper { + margin-bottom: 15px; +} + +#photos-upload-no-java-message { + margin-bottom: 15px; +} + +#profile-jot-desc { + /*float: left;*/ + /*width: 480px;*/ + width: 100%; + color: #FF0000; + margin-top: 10px; + margin-bottom: 10px; +} + +#character-counter { + float: right; + font-size: 120%; +} + +#character-counter.grey { + color: #888888; +} + +#character-counter.orange { + color: orange; +} +#character-counter.red { + color: red; +} + +#profile-jot-banner-end { + /* clear: both; */ +} + +#photos-upload-select-files-text { + margin-top: 15px; + margin-bottom: 15px; +} + +#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link { + color: #8888FF; + text-decoration: none; + cursor: pointer; +} + +#photos-upload-perms-menu:hover { + color: #0000FF; + text-decoration: underline; + cursor: pointer; +} +#settings-default-perms-menu { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, .photo-edit-rotate-label { + float: left; + width: 150px; +} + +#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label { + font-weight: 700; +} + +#photos-upload-choosefile-outer-wrapper { + margin-top: 35px; + padding-top: 50px; + padding-left: 50px; + position: relative; +} +#photos-upload-noshare-div { + margin-top: 0px; + margin-bottom: 15px; +} + +#photos-upload-noshare-label { + margin-left: 30px; +} + +#photos-upload-noshare { + float: left; + margin-left: 5px; +} + +.photo-perms-icon { + float: left; +} + +#photo-edit-perms-menu, #photos-upload-perms-menu, #settings-default-perms-menu { + text-decoration: none; +} + +.photo-jot-perms-text { + padding-top: 5px; + padding-left: 25px; +} + +#photo-edit-perms, #photos-upload-perms, #settings-default-perms { + margin-top: 30px; +} +#photos-upload-perms { + margin-top: 15px; + margin-left: 5px; +} + +#photo-edit-perms-end { + margin-bottom: 15px; +} + +#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname { + float: left; + margin-bottom: 25px; +} +.photo-edit-rotate { + margin-left: 20px; +} + +#photo-edit-link-wrap { + margin-bottom: 15px; +} +#photo-like-div { + margin-left: 15px; + margin-bottom: 45px; +} + +#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end { + clear: both; +} + +#photo-edit-rotate-end { + margin-bottom: 15px; +} + +#photo-edit-delete-button { + margin-left: 270px; +} +#photos-upload-choose { + position: absolute; + top: 0px; + left: 55px; +} +.settings-submit, .profile-edit-submit-button { + margin-bottom: 10px; +} + +#photo-edit-end { + margin-bottom: 35px; +} +#photo-caption { + font-size: 110%; + font-weight: bold; + margin-top: 15px; + margin-bottom: 15px; +} + +#in-this-photo-text { + color: #0000FF; + margin-left: 30px; +} + +#in-this-photo { + margin-left: 60px; + margin-top: 10px; + margin-bottom: 20px; +} + +#photo-album-edit-submit, #photo-album-edit-drop { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-album-edit-drop { + margin-left: 200px; +} + +.group-delete-wrapper { + float: right; + margin-right: 50px; +} + +#install-dbhost-label, +#install-dbuser-label, +#install-dbpass-label, +#install-dbdata-label, +#install-tz-desc { + float: left; + width: 250px; + margin-top: 10px; + margin-bottom: 10px; + +} + +#install-dbhost, +#install-dbuser, +#install-dbpass, +#install-dbdata { + float: left; + width: 200px; + margin-left: 20px; +} + +#install-dbhost-end, +#install-dbuser-end, +#install-dbpass-end, +#install-dbdata-end, +#install-tz-end { + clear: both; +} + +#install-form select#timezone_select { + float: left; + margin-top: 18px; + margin-left: 20px; +} + +#dfrn-request-networks { + margin-bottom: 30px; +} + +#pause { + position: fixed; + bottom: 5px; + right: 5px; +} + +.sparkle { + cursor: url('lock.cur'), pointer; +/* cursor: pointer !important; */ +} + +.contact-block-div { + float: left; + width: 52px; + height: 52px; +} +.contact-block-textdiv { + float: left; + width: 150px; + height: 34px; +} + +#contact-block-end { + clear: both; +} +.contact-block-link { + float: left; +} +.contact-block-img { + width:48px; + height:48px; +} + +#tag-remove { + margin-bottom: 15px; +} + +#tagrm li { + margin-bottom: 10px; +} + +#tagrm-submit, #tagrm-cancel { + margin-top: 25px; +} + +#tagrm-cancel { + margin-left: 15px; +} + +.wall-item-conv { + margin-top: 5px; + margin-bottom: 25px; +} + +#search-submit { + margin-left: 15px; +} + +#search-box { + margin-bottom: 25px; +} + +.location-label, .gender-label, .marital-label, .homepage-label { + float: left; + text-align: right; + display: block; + width: 65px; +} + +.adr, .x-gender, .marital-text, .homepage-url { + float: left; + display: block; + margin-left: 8px; +} + +.profile-clear { + clear: both; +} + + +.clear { + clear: both; +} + +.cc-license { + margin-top: 50px; + font-size: 70%; +} + + +#plugin-settings-link, #account-settings-link { + margin-bottom: 10px; +} + +#uexport-link { + margin-bottom: 20px; +} + +/* end from default */ + + +.fn { + padding: 0px 0px 5px 12px; + font-size: 120%; + font-weight: bold; +} + +.vcard .title { + margin-bottom: 5px; + margin-left: 12px; +} + +.vcard dl { + clear: both; +} + +#birthday-title { + float: left; + font-weight: bold; +} + +#birthday-adjust { + float: left; + font-size: 75%; + margin-left: 10px; +} + +#birthday-title-end { + clear: both; +} + +.birthday-list { + margin-left: 15px; +} + +#birthday-wrapper { + margin-bottom: 20px; +} + +#network-new-link { + margin-top: 15px; + margin-bottom: 15px; +} + + +.tool-wrapper { + float: left; + margin-left: 15px; +} + +.tool-link { + cursor: pointer; +} + +.eventcal { + float: left; + font-size: 20px; +} + +#event-summary-text { + margin-top: 15px; +} + +#event-share-checkbox { + float: left; + margin-top: 10px; +} + +#event-share-text { + float: left; + margin-top: 10px; + margin-left: 5px; +} + +#event-share-break { + clear: both; + margin-bottom: 10px; +} + +#event-summary { + width: 400px; +} + +.vevent { + border: 1px solid #CCCCCC; +} + +.vevent .event-summary { + margin-left: 10px; + margin-right: 10px; + font-weight: bold; +} + +.vevent .event-description, .vevent .event-location { + margin-left: 10px; + margin-right: 10px; +} +.vevent .event-start { + margin-left: 10px; + margin-right: 10px; +} + +#new-event-link { + margin-bottom: 10px; +} + +.edit-event-link, .plink-event-link { + float: left; + margin-top: 4px; + margin-right: 4px; + margin-bottom: 15px; +} + +.event-description:before { + content: url('../../../images/calendar.png'); + margin-right: 15px; +} + +.event-start, .event-end { + margin-left: 10px; + width: 330px; + clear: both; +} + +.event-start .dtstart, .event-end .dtend { + float: right; +} + +.event-list-date { + margin-bottom: 10px; +} + +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} + + +.calendar { + font-family: Courier, monospace; +} +.today { + font-weight: bold; + color: #FF0000; +} + +.settings-block { + border: 1px solid #AAA; + margin: 10px; + padding: 10px; +} + +.app-title { + margin: 10px; +} + +#identity-manage-desc { + margin-top:15px; + margin-bottom: 15px; +} + +#identity-manage-choose { + margin-bottom: 15px; +} + +#identity-submit { + margin-top: 20px; +} + +#photo-prev-link, #photo-next-link { + padding: 10px; +} +#photo-nav { + position: relative; + height: 55px; +} + +#photo-prev-link { + position: absolute; + left: 5px; +} +#photo-next-link { + position: absolute; + right: 5px; +} + +/*#photo-photo { + float: left; +}*/ +#photo-photo img { + max-width: 555px; + margin-left: 5px; +} +#photo-photo-end { + clear: both; +} + +.profile-match-photo { + float: left; + text-align: center; + width: 120px; +} + +.profile-match-name { + float: left; + text-align: center; + width: 120px; + overflow: hidden; +} + +.profile-match-break, +.profile-match-end { + clear: both; +} + +.profile-match-connect { + text-align: center; + font-weight: bold; +} + +.profile-match-wrapper { + float: left; + padding: 10px; + width: 120px; + height: 120px; + scroll: auto; +} +#profile-match-wrapper-end { + clear: both; +} +.side-link { + margin-bottom: 15px; +} + +#language-selector { + position: absolute; + top: 0px; + left: 16px; +} + +#group-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-members-end { + clear: both; +} + +#group-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#group-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#group-edit-desc { + margin-top: 15px; +} + + +#prof-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-members-end { + clear: both; +} + +#prof-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#prof-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#prof-edit-desc { + margin-top: 15px; +} + +#crepair-name-label, +#crepair-nick-label, +#crepair-attag-label, +#crepair-url-label, +#crepair-request-label, +#crepair-confirm-label, +#crepair-notify-label, +#crepair-photo-label, +#crepair-poll-label { + float: left; + width: 200px; + margin-bottom: 15px; +} + +#crepair-name, +#crepair-nick, +#crepair-attag, +#crepair-url, +#crepair-request, +#crepair-confirm, +#crepair-notify, +#crepair-photo, +#crepair-poll { + float: left; + width: 300px; +} + + +#netsearch-box { + margin-top: 20px; +} + +#netsearch-box #search-submit { + margin: 5px 0px 0px 0px; +} + +.required { + color: #FF0000; +} + +#event-start-text, #event-finish-text { + margin-top: 10px; + margin-bottom: 5px; +} + +#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text { + float: left; +} +#event-datetime-break { + margin-bottom: 10px; +} + +#event-nofinish-break, #event-adjust-break { + clear: both; +} + +#event-desc-text, #event-location-text { + margin-top: 10px; + margin-bottom: 5px; +} +#event-submit { + margin-top: 10px; +} + +.body-tag, .filesavetags, .categorytags { + opacity: 0.5; + filter:alpha(opacity=50); +} + +.body-tag:hover, .filesavetags:hover, .categorytags:hover { + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} + +.item-select { + opacity: 0.1; + filter:alpha(opacity=10); + float: right; + margin-right: 10px; + +} +.item-select:hover, .checkeditem { + opacity: 1; + filter:alpha(opacity=100); +} + + +#item-delete-selected { + margin-top: 30px; +} + +#item-delete-selected-end { + clear: both; +} +#item-delete-selected-icon, #item-delete-selected-desc { + float: left; + margin-right: 5px; +} +#item-delete-selected-desc:hover { + text-decoration: underline; +} + +#lang-select-icon { + cursor: pointer; + position: absolute; + left: 0px; + top: 0px; + opacity: 0.2; + filter:alpha(opacity=20); +} + +#lang-select-icon:hover { + opacity: 1; + filter:alpha(opacity=100); +} + +.notif-image { + height: 80px; + width: 80px; + margin-right: 15px; +} +.notification-listing-end { + clear: both; + margin-bottom: 15px; +} + + + +/** + * Plugins settings + */ + +.settings-block > h3, +.settings-heading { + border-bottom: 1px solid #babdb6; +} + + +/** + * Form fields + */ +.field { + margin-bottom: 10px; + padding-bottom: 10px; + overflow: auto; + width: 100% +} +#wrapper_expire.field { + margin-bottom: 3px; + padding-bottom: 3px; +} + +.field label { + float: left; + width: 200px; +} + +.field input, +.field textarea { + width: 400px; +} +.field textarea { height: 100px; } +.field_help { + display: block; + margin-left: 50px; + color: #666666; + +} + +.field .onoff { + float: left; + width: 80px; +} +.field .onoff a { + display: block; + border:1px solid #666666; + background-image:url("../../../images/onoff.jpg"); + background-repeat: no-repeat; + padding: 4px 2px 2px 2px; + height: 16px; + text-decoration: none; +} +.field .onoff .off { + border-color:#666666; + padding-left: 40px; + background-position: left center; + background-color: #cccccc; + color: #666666; + text-align: right; +} +.field .onoff .on { + border-color:#204A87; + padding-right: 40px; + background-position: right center; + background-color: #D7E3F1; + color: #204A87; + text-align: left; +} +.hidden { display: none!important; } + +/*.field.radio .field_help { clear: left; margin-left: 20px; }*/ +.field.radio .field_help { margin-left: 0px; } + +/** + * ADMIN + */ +#pending-update { + float:right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; + +} +#adminpage dl { + clear: left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} + +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear:left; + text-align: right; +} + +#adminpage #pluginslist { + margin: 0px; padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { margin-left: 2.5em;} +#adminpage .toggleplugin { + float:left; + margin-right: 1em; +} + +#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;} +#adminpage table th { text-align: left;} +#adminpage td .icon { float: left;} +#adminpage table#users img { width: 16px; height: 16px; } +#adminpage table tr:hover { background-color: #bbc7d7; } +#adminpage .selectall { text-align: right; } + +/* + * UPDATE + */ +.popup { + width: 100%; height: 100%; + top:0px; left:0px; + position: absolute; + display: none; +} + +.popup .background { + background-color: rgba(0,0,0,128); + opacity: 0.5; + width: 100%; height: 100%; + position: absolute; + top:0px; left:0px; +} +.popup .panel { + top:25%;left:25%;width:50%;height:50%; + padding: 1em; + position: absolute; + border: 4px solid #000000; + background-color: #FFFFFF; +} +.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } +.popup .panel .panel_in { width: 100%; height: 100%; position: relative; } +.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 span {float: right; display: block; width: 25%; background-color: #eeeeee; text-align: right;} + +/** + * OAuth + */ +.oauthapp { + height: auto; overflow: auto; + border-bottom: 2px solid #cccccc; + padding-bottom: 1em; + margin-bottom: 1em; +} +.oauthapp img { + float: left; + width: 48px; height: 48px; + margin: 10px; +} +.oauthapp img.noicon { + background-image: url("../../../images/icons/48/plugin.png"); + background-position: center center; + background-repeat: no-repeat; +} +.oauthapp a { + float: left; +} + +/** + * ICONS + */ +.iconspacer { + display: block; width: 16px; height: 16px; +} + +.icon { + display: block; width: 16px; height: 16px; + background-image: url('../../../images/icons.png'); +} +.article { background-position: 0px 0px;} +/*.audio { background-position: -16px 0px;}*/ +.icon.audio { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/speaker.png'); + background-repeat: no-repeat; +} +.block { background-position: -32px 0px;} +/*.drop { background-position: -48px 0px;}*/ +.icon.drop { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/drop-16.png'); + background-repeat: no-repeat; + opacity: 1.0; +} +/*.drophide { background-position: -64px 0px;}*/ +.icon.drophide { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/drop-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.edit { background-position: -80px 0px;} +/*.camera { background-position: -96px 0px;}*/ +.icon.camera{ + display: block; width: 24px; height: 18px; + margin-top: 4px; + background-size: 100% 100%; + background-image: url('images/camera.png'); + background-repeat: no-repeat; +} +/*.dislike { background-position: -112px 0px;}*/ +.icon.dislike { + display: block; width: 15px; height: 16px;/* 23 24*/ + background-size: 100% 100%; + background-image: url('images/disapprove-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.dislike:hover { + opacity: 1.0; +} +/*.like { background-position: -128px 0px;}*/ +.icon.like { + display: block; width: 15px; height: 16px;/* 23 24*/ + margin-right: 6px; + background-size: 100% 100%; + background-image: url('images/approve-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.like:hover { + opacity: 1.0; +} +/*.link { background-position: -144px 0px;}*/ +.icon.link { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/link.png'); + background-repeat: no-repeat; +} + +/*.globe { background-position: 0px -16px;}*/ +.icon.globe { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/globe.png'); + background-repeat: no-repeat; +} +.noglobe { background-position: -16px -16px;} +.no { background-position: -32px -16px;} +.pause { background-position: -48px -16px;} +.play { background-position: -64px -16px;} +/*.pencil { background-position: -80px -16px;}*/ +.icon.pencil { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/pencil-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.pencil:hover { + opacity: 1.0; +} +/*.small-pencil { background-position: -96px -16px;}*/ +.icon.small-pencil { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/pencil-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.small-pencil:hover { + opacity: 1.0; +} +/*.recycle { background-position: -112px -16px;}*/ +.icon.recycle { + display: block; width: 16px; height: 16px;/*24 23*/ + background-size: 100% 100%; + background-image: url('images/recycle-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.recycle:hover { + opacity: 1.0; +} +/*.remote-link { background-position: -128px -16px;}*/ +.icon.remote-link { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/remote-link-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.remote-link:hover { + opacity: 1.0; +} +.share { background-position: -144px -16px;} + +.tools { background-position: 0px -32px;} +/*.lock { background-position: -16px -32px;}*/ +.icon.lock { + display: block; width: 14px; height: 21px; + margin-top: 1px; + background-size: 100% 100%; + background-image: url('images/lock-24.png'); + background-repeat: no-repeat; +} +/*.unlock { background-position: -32px -32px;}*/ +.icon.unlock { + display: block; width: 14px; height: 24px; + margin-top: -2px; + background-size: 100% 100%; + background-image: url('images/unlock-24.png'); + background-repeat: no-repeat; +} +/*.video { background-position: -48px -32px;}*/ +.icon.video { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/video.png'); + background-repeat: no-repeat; +} +/*.oembed.video { + display: inline; width: auto; height: auto; + background-image: none; +}*/ + +.youtube { background-position: -64px -32px;} +/*.attach { background-position: -80px -32px; }*/ +.icon.attach { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/paperclip-24.png'); + background-repeat: no-repeat; +} + +.language { background-position: -96px -32px; } +.prev { background-position: -112px -32px; } +.next { background-position: -128px -32px; } +.on { background-position: -144px -32px; } + +.off { background-position: 0px -48px; } +/*.starred { background-position: -16px -48px; }*/ +.icon.starred { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/star-yellow-16.png'); + background-repeat: no-repeat; +} +/*.unstarred { background-position: -32px -48px; }*/ +.icon.unstarred { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/star-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.unstarred:hover { + opacity: 1.0; +} +/*.tagged { background-position: -48px -48px; }*/ +.icon.tagged { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/tag-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.icon.tagged:hover { + opacity: 1.0; +} +.yellow { background-position: -64px -48px; } + + +.filer-icon { +/* display: block; width: 16px; height: 16px; + background-image: url('file.gif');*/ + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/folder-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.filer-icon:hover { + opacity: 1.0; +} + +.icon.dim { opacity: 0.3;filter:alpha(opacity=30); } +[class^="comment-edit-bb"] { + list-style: none; + display: none; + margin: 0px 0 -5px 60px; + width: 75%; +} +[class^="comment-edit-bb"] > li { + display: inline-block; + margin: 10px 10px 0 0; + visibility: none; +} +[class^="comment-edit-bb-end"] { + clear: both; +} +.editicon { + display: inline-block; +/* background-image: url(bbedit.png); + background-color: #fff;*/ + background-size: 100% 100%; + background-repeat: no-repeat; + background-color: #f3f3f3; + text-decoration: none; + opacity: 0.4; +} +.editicon:hover { +/* background-color: #ccc;*/ + opacity: 1.0; +} +.boldbb { +/* background-position: 0px 0px;*/ + width: 15px; + height: 16px; + background-image: url('images/boldB-serif-16.png'); +} +/*.boldbb:hover { + background-position: 0px -16px; +}*/ +.italicbb { +/* background-position: -16px 0px;*/ + width: 9px; + height: 16px; + background-image: url('images/italicI-serif-16.png'); +} +/*.italicbb:hover { + background-position: -16px -16px; +}*/ +.underlinebb { +/* background-position: -32px 0px;*/ + width: 14px; + height: 16px; + background-image: url('images/underlineU-serif-16.png'); +} +/*.underlinebb:hover { + background-position: -32px -16px; +}*/ +.quotebb { +/* background-position: -48px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/quote.png'); +} +/*.quotebb:hover { + background-position: -48px -16px; +}*/ +.codebb { +/* background-position: -64px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/code.png'); +} +/*.codebb:hover { + background-position: -64px -16px; +}*/ +.imagebb { +/* background-position: -80px 0px;*/ + width: 20px;/*16*/ + height: 15px;/*12*/ + margin-bottom: 2px; + background-image: url('images/camera.png'); +} +/*.imagebb:hover { + background-position: -80px -16px; +}*/ +.urlbb { +/* background-position: -96px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/link.png'); +} +/*.urlbb:hover { + background-position: -96px -16px; +}*/ +.videobb { +/* background-position: -112px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/video.png'); +} +/*.videobb:hover { + background-position: -112px -16px; +}*/ + +.attachtype { + display: block; width: 20px; height: 23px; + float: left; + background-image: url('../../../images/content-types.png'); +} + +.body-attach { + margin-top: 10px; +} + +.type-video { background-position: 0px 0px; } +.type-image { background-position: -20px 0px; } +.type-audio { background-position: -40px 0px; } +.type-text { background-position: -60px 0px; } +.type-unkn { background-position: -80px 0px; } + + +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#ffffff; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#ffffff; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #FFFFFF; background: #3465A4; +} + +/* popup notifications */ +div.jGrowl div.notice { + background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +div.jGrowl div.info { + background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +#jGrowl.top-right { + top: 15px; + right: 15px; +} +.qcomment { + border: 1px solid #EEE; + padding: 3px; + margin-top: 15px; + margin-left: 25px; + width: 125px; + overflow-y: auto; +} + + +.qcomment option { + width: 125px; + overflow-x: hidden; +} + +.qcomment { + opacity: 0.3; + filter:alpha(opacity=30); +} +.qcomment:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +/* notifications popup menu */ +.nav-notify { + display: none; + position: absolute; + font-size: 10px; + padding: 1px 3px; + top: 0px; + right: -10px; + min-width: 15px; + text-align: right; +} +.nav-notify.show { + display: block; +} +ul.notifications-menu-popup { + position: absolute; + display: none; + width: 10em; + margin: 0px; + padding: 0px; + list-style: none; + z-index: 100000; + right: 0px; +} +#nav-notifications-menu { + width: 320px; + max-height: 400px; + overflow-y: scroll;overflow-style:scrollbar; + background-color:#FFFFFF; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius:5px; + border: 1px solid #AAA; + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; +} +#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; } +#nav-notifications-menu img { float: left; margin-right: 5px; } +#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; } +#nav-notifications-menu li { + padding: 7px 0px 7px 10px; + word-wrap:normal; + border-bottom: 1px solid #000; +} + +#nav-notifications-menu li:hover { + +} + +#nav-notifications-menu a:hover { + text-decoration: underline; +} + +.notif-item a { + color: #000000; +} + +.notif-item a:hover { + text-decoration: underline; +} + +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} + +.notify-seen { + background: #DDDDDD; +} + +#id_term_label { + width:75px; +} +#id_term { + width:100px; +} + +#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 { 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 .selected { background:#F0F0F0; } +.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; } + +#datebrowse-sidebar select { + margin-left: 40px; + width: 130px; +} + +#theme-version { + display: block; + font-weight: bold; +} +#theme-credits { + margin-top: 15px; + margin-bottom: 15px; +} diff --git a/view/theme/frost/style.css.orig b/view/theme/frost/style.css.orig new file mode 100644 index 0000000000..f8483c004e --- /dev/null +++ b/view/theme/frost/style.css.orig @@ -0,0 +1,3658 @@ +/** + * duepuntozero Frindika style + * Fabio Comuni + * + * Heavily modified for Frost + * Zach P + */ + + +/* generals */ +body { + font-family: helvetica,arial,freesans,clean,sans-serif; + font-size: 12px; +/* line-height: 24px;*/ + background-color: #ffffff; + background-image: url(head.jpg); + background-repeat: repeat-x; + color: #505050; + margin: 0px; +} + +div.container { + display: block; + width: 785 px; + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} + +a, a:visited, a:link { color: #3465a4; text-decoration: none; } +a:hover {text-decoration: underline; } + +input { + border: 1px solid #666666; + -moz-border-radius: 3px; + border-radius: 3px; + padding: 3px; +} + +img { border :0px; } + +#id_openid_url, .openid input { + background: url(login-bg.gif) no-repeat; + background-position: 0 50%; + padding-left: 18px; +} +.openid:hover { + +} + +#id_openid_url { + width: 384px; +} + +code { + font-family: Courier, monospace; + white-space: pre; + display: block; + overflow: auto; + border: 1px solid #444; + background: #EEE; + color: #444; + padding: 10px; + margin-top: 20px; +} + +blockquote { + background-color: #f4f8f9; + border-left: 4px solid #dae4ee; + padding: 0.4em; +} + +.icollapse-wrapper, .ccollapse-wrapper { + border: 1px solid #CCC; + padding: 5px; +} + +.hide-comments-outer { + margin-left: 0px; + font-weight: 700; + opacity: 0.4; +} +.hide-comments-outer:hover { + opacity: 1.0; +} +.hide-comments { + margin-left: 5px; +} + +#panel { + background-color: ivory; + position: absolute; + z-index: 2; + width: 30%; + padding: 25px; + border: 1px solid #444; +} + +.heart { + color: #FF0000; + font-size: 100%; + margin-right: 5px; +} + + + +/* nav */ +nav { + height: 94px; + width: 1100px; + display: block; + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} +nav #site-location { + color: #888a85; + font-size: 0.8em; + position: absolute; +} + +.error-message { + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 10px; +} + +.info-message { + color: #204a87; + font-size: 1.1em; + border: 1px solid #3465a4; + background-color: #d7e3f1; + padding: 10px; +} + + +nav #banner { + display: block; + margin-top: 14px; + position: absolute; +} +nav #banner #logo-text a { + font-size: 40px; + font-weight: bold; + margin-left: 3px; + color: #000000; + +} +nav #banner #logo-text a:hover { text-decoration: none; } + + +/* ZP REMOVE? nav-commlink */ +.nav-commlink, .nav-login-link { + display: block; + height: 15px; + margin-top: 67px; + margin-right: 2px; + /*padding: 6px 10px;*/ + padding: 6px 3px; + float: left; + bottom: 140px; + border: 1px solid #babdb6; + border-bottom: 0px; + background-color: #aec0d3; + color: #565854; + -moz-border-radius: 3px 3px 0px 0px; + border-radius: 3px 3px 0px 0px; +} + +.nav-commlink.selected { + background-color: #ffffff; + border-bottom: 1px solid #ffffff; + color: #000000 !important; + margin-top: 64px; + padding-top: 6px; + padding-bottom: 8px; +} + +.nav-ajax-left.show { + position: absolute; + font-size: 0.8em; + top: 25px; + right: 5px; + padding: 1px 2px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-color: gold !important; +} + + + +nav #nav-link-wrapper .nav-link { + /*border-right: 1px solid #babdb6;*/ +} + +nav .nav-link img { + margin-top: 24px; + margin-bottom: 0.2em; + margin-right: 1em; + margin-left: 1em; + background-color: transparent !important; +} + +.nav-button-container { + float: right; + position: relative; +} + +.nav-button-container .nav-ajax-left { +} +/* +#system-menu-list { + line-height: 18px; + position: absolute; + right: -33px; + width: 10em; + padding: 1em 0px; +} + +#contacts-menu-list { + line-height: 18px; + position: absolute; + right: -33px; + width: 10em; + padding: 1em 0px; +} + +#network-menu-list { + line-height: 18px; + position: absolute; + right: -33px; + width: 10em; + padding: 1em 0px; +} +*/ +.nav-menu-list { + text-align: center; + line-height: 18px; + + border-left: 1px solid #AAAAAA;/*#444444;*/ + border-right: 1px solid #AAAAAA; + border-top: 1px solid #AAAAAA; + border-bottom: 1px solid #AAAAAA; + + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; + + background: #FFFFFF; + + display: none; + list-style: none; + + width: 10em; + position: absolute; + margin: 0px; + right: -33px; + padding: 1em 0px; + + z-index: 10000; +} + + + +div.main-container { + width: 1180px; + margin: 0px auto; + display: block; + position: relative; +} + +div.main-content-loading { + position: absolute; + top: 200px; + left: 50%; + display: none; +} + + +/* aside */ +aside { + display: block; + min-height: 112px; + + width: 250px; + + padding: 1em; + margin: 1em 0px 0px 0px; + + position: absolute; + +/* float:left;*/ +} + +#dfrn-request-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background: #3465a4 url('friendika-16.png') no-repeat 95% center; +} +#wallmessage-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background-color: #3465a4; +} + +/* section */ +div.section-wrapper { + width: 565px; + + margin-left: auto; + margin-right: auto; + + padding-right:2em; + + display: block; + + background-color: #ffffff; + background-image: url(border.jpg); + background-position: top right; + background-repeat: no-repeat; +} + +section { + margin: 0px 0px 0px 0px; + + width: 100%; + + padding-left: 1em; + padding-right: 1em; + padding-top: 1em; + + background-image: url(border.jpg); + background-position: top left; + background-repeat: no-repeat; + + min-height: 112px; + border-top: 1px solid #babdb6; +} + +.tabs { + height: 27px; + background-image: url(head.jpg); + background-repeat: repeat-x; + background-position: 0px -20px; + border-bottom: 1px solid #babdb6; + padding:0px; +} +.tabs li { margin: 0px; list-style: none; } +.tab { + display:block; + float:left; + padding: 0.4em; + /*margin-right: 1em;*/ + margin-right: 3px ; +} +.tab.active { + font-weight: bold; + +} + + +/* footer */ +footer { + display: none; + +} + +.birthday-today, .event-today { + font-weight: bold; +} +/* +div.wall-item-content-wrapper.shiny { + background-image: url('shiny.png'); + background-position: -5px 30px; + background-repeat:no-repeat; +}*/ + +.preview { + background: #FFFFC8; +} + +#theme-preview { + margin: 15px 0 15px 150px; +} + +/* from default */ +#jot-perms-icon, +#profile-location, +#profile-nolocation, +#profile-youtube, +#profile-video, +#profile-audio, +#profile-link, +#profile-title, +#wall-image-upload, +#wall-file-upload, +#profile-upload-wrapper, +#wall-image-upload-div, +#wall-file-upload-div, +.hover, .focus { + cursor: pointer; +} + +#jot-perms-icon { + float: left; +} + +#jot-title, #jot-category { + border: 0px; + margin: 0px; + height: 20px; + width: 530px; + margin-bottom: 5px; + font-weight: bold; + border: 1px solid #ffffff; +} + +#jot-title::-webkit-input-placeholder{font-weight: normal;} +#jot-category::-webkit-input-placeholder{font-weight: normal;} +#jot-title:-moz-placeholder{font-weight: normal;} +#jot-category:-moz-placeholder{font-weight: normal;} + + +#jot-title:hover, +#jot-title:focus, +#jot-category:hover, +#jot-category:focus { + border: 1px solid #cccccc; +} + +.jothidden { display:none; } + + +.fakelink, .fakelink:visited, .fakelink:link { + color: #3465a4; + text-decoration: none; + cursor: pointer; + margin-top: 15px; + margin-bottom: 15px; +} +.lockview { + cursor: pointer; +} + +#group-sidebar { + margin-bottom: 10px; +} + +.group-selected, .nets-selected, .fileas-selected, .categories-selected { + padding: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.settings-widget .selected { + padding: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.fakelink:hover { + color: #3465a4; + text-decoration: underline; + cursor: pointer; +} +.smalltext { + font-size: 0.7em; +} +#sysmsg { + /*width: 600px;*/ + margin-bottom: 10px; +} + +#register-fill-ext { + margin-bottom: 25px; +} + +#label-register-name, #label-register-email, #label-register-nickname, #label-register-openid { + float: left; + width: 350px; + margin-top: 10px; +} + +#register-name, #register-email, #register-nickname { + float: left; + margin-top: 10px; + width: 150px; +} + +#register-openid { + float: left; + margin-top: 10px; + width: 130px; +} + +#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end { + clear: both; +} + +#register-nickname-desc { + margin-top: 30px; + width: 650px; +} +#register-sitename { + float: left; + margin-top: 10px; +} + +#register-submit-button { + margin-top: 10px; +} + + +#login_standard { + width: 210px; + float: left; +} +#login_openid { + width: 210px; + margin-left: 250px; +} + +#login_standard input, +#login_openid input { + width: 180px; +} + +#login-extra-links { + clear: both; +} + +#register-link, #lost-password-link { + float: left; + font-size: 80%; + margin-right: 15px; +} + +#login-name-end, #login-password-end, #login-extra-end, #login-submit-end { + height: 50px; +} + +#login-submit-button { +/* margin-top: 10px; */ + margin-left: 200px; +} + + +input#dfrn-url { + float: left; + background: url(friendika-16.png) no-repeat; + background-position: 2px center; + font-size: 17px; + padding-left: 21px; + height: 21px; + background-color: #FFFFFF; + color: #000000; + margin-bottom: 20px; +} + +#dfrn-url-label { + float: left; + width: 250px; +} + +#dfrn-request-url-end { + clear: both; +} + +#knowyouyes, #knowyouno { + float: left; +} + +#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper { + + float: none; +} +#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label { + float: left; + width: 75px; + margin-left: 50px; + margin-bottom: 7px; +} +#dfrn-request-knowyou-break, #dfrn-request-knowyou-end { + clear: both; + +} + +#dfrn-request-message-wrapper { + margin-bottom: 50px; +} +#dfrn-request-submit-wrapper { + clear: both; + margin-left: 50px; +} + +#dfrn-request-info-wrapper { + margin-left: 50px; +} + + + +#cropimage-wrapper, #cropimage-preview-wrapper { + float: left; + padding: 30px; +} + +#crop-image-form { + margin-top: 30px; + clear: both; +} + +.intro-wrapper { + margin-top: 20px; +} + +.intro-fullname { + font-size: 1.1em; + font-weight: bold; + +} +.intro-desc { + margin-bottom: 20px; + font-weight: bold; +} + +.intro-note { + padding: 10px; +} + +.intro-end { + padding: 30px; +} + +.intro-form { + float: left; +} +.intro-approve-form { + clear: both; +} +.intro-approve-as-friend-end { + clear: both; +} +.intro-submit-approve, .intro-submit-ignore { + margin-right: 20px; +} +.intro-submit-approve { + margin-top: 15px; +} + +.intro-approve-as-friend-label, .intro-approve-as-fan-label { + float: left; + width: 100px; + margin-left: 20px; +} +.intro-approve-as-friend, .intro-approve-as-fan { + float: left; +} +.intro-form-end { + clear: both; +} +.intro-approve-as-friend-desc { + margin-top: 15px; +} +.intro-approve-as-end { + clear: both; + margin-bottom: 10px; +} + +.intro-end { + clear: both; + margin-bottom: 30px; +} +.aprofile dt { + font-weight: bold; +} +#page-profile .title { + font-weight: bold; +} +#profile-vcard-break { + clear: both; +} +#profile-extra-links { + clear: both; + margin-top: 10px; +} + +#profile-extra-links ul { + list-style-type: none; + padding: 0px; +} + + +#profile-extra-links li { + margin-top: 5px; +} + +#profile-edit-links ul { + list-style-type: none; +} + +#profile-edit-links li { + margin-top: 10px; +} +.profile-edit-side-div { + float: right; +} +.profile-edit-side-link { + opacity: 0.3; + filter:alpha(opacity=30); +} +.profile-edit-side-link:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +.view-contact-wrapper { + margin-top: 20px; + float: left; + margin-left: 20px; + width: 180px; +} + +.contact-wrapper { + float: left; + width: 150px; + height: 150px; + overflow: auto; +} + +#view-contact-end { + clear: both; +} + + +#viewcontacts { + margin-top: 15px; +} +#profile-edit-default-desc { + color: #FF0000; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 7px; +} + +#profile-edit-clone-link-wrapper { + float: left; + margin-left: 50px; + margin-bottom: 20px; + width: 300px; +} + + +#profile-edit-links-end { + clear: both; + margin-bottom: 15px; +} + +.profile-listing-photo { + border: none; +} + +.profile-edit-submit-wrapper { + margin-top: 20px; + margin-bottom: 20px; +} + +#profile-photo-link-select-wrapper { + margin-top: 2em; +} + +#profile-photo-submit-wrapper { + margin-top: 10px; +} + +#profile-photo-wrapper img { + width:175px; + height:175px; + padding: 12px; +} + +#profile-edit-profile-name-label, +#profile-edit-name-label, +#profile-edit-pdesc-label, +#profile-edit-gender-label, +#profile-edit-dob-label, +#profile-edit-address-label, +#profile-edit-locality-label, +#profile-edit-region-label, +#profile-edit-postal-code-label, +#profile-edit-country-name-label, +#profile-edit-marital-label, +#profile-edit-sexual-label, +#profile-edit-politic-label, +#profile-edit-religion-label, +#profile-edit-pubkeywords-label, +#profile-edit-prvkeywords-label, +#profile-edit-homepage-label, +#profile-edit-hometown-label { + float: left; + width: 175px; +} + +#profile-edit-profile-name, +#profile-edit-name, +#profile-edit-pdesc, +#gender-select, +#profile-edit-dob, +#profile-edit-address, +#profile-edit-locality, +#profile-edit-region, +#profile-edit-postal-code, +#profile-edit-country-name, +#marital-select, +#sexual-select, +#profile-edit-politic, +#profile-edit-religion, +#profile-edit-pubkeywords, +#profile-edit-prvkeywords, +#profile-in-dir-yes, +#profile-in-dir-no, +#profile-in-netdir-yes, +#profile-in-netdir-no, +#hide-wall-yes, +#hide-wall-no, +#hide-friends-yes, +#hide-friends-no { + float: left; + margin-bottom: 20px; +} +#settings-normal, +#settings-soapbox, +#settings-freelove, +#settings-community { + float: left; +} +#settings-notifications label { + margin-left: 20px; +} +#settings-notify-desc, #settings-activity-desc { + font-weight: bold; + margin-bottom: 15px; +} +#settings-pagetype-desc { + color: #666666; + margin-bottom: 15px; +} + +#profile-in-dir-yes-label, +#profile-in-dir-no-label, +#profile-in-netdir-yes-label, +#profile-in-netdir-no-label, +#hide-wall-yes-label, +#hide-wall-no-label, +#hide-friends-yes-label, +#hide-friends-no-label { + margin-left: 125px; + float: left; + width: 50px; +} + +#profile-edit-with-label { + width: 175px; + margin-left: 20px; +} + +#profile-publish-yes-reg, +#profile-publish-no-reg { + float: left; + margin-bottom: 10px; +} + +#profile-publish-yes-label-reg, +#profile-publish-no-label-reg { + margin-left: 350px; + float: left; + width: 50px; +} + +#profile-publish-break-reg, +#profile-publish-end-reg { + clear: both; +} + + +#profile-edit-pdesc-desc, +#profile-edit-pubkeywords-desc, +#profile-edit-prvkeywords-desc { + float: left; + margin-left: 20px; +} + + +#profile-edit-homepage, #profile-edit-hometown { + float: left; + margin-bottom: 35px; +} +#settings-normal-label, +#settings-soapbox-label, +#settings-community-label, +#settings-freelove-label { + float: left; + width: 200px; +} +#settings-normal-desc, +#settings-soapbox-desc, +#settings-community-desc, +#settings-freelove-desc { + /*float: left; + margin-left: 75px;*/ + clear: left; + color: #666666; + display: block; + margin-bottom: 20px +} + +#profile-edit-profile-name-end, +#profile-edit-name-end, +#profile-edit-pdesc-end, +#profile-edit-gender-end, +#profile-edit-dob-end, +#profile-edit-address-end, +#profile-edit-locality-end, +#profile-edit-region-end, +#profile-edit-postal-code-end, +#profile-edit-country-name-end, +#profile-edit-marital-end, +#profile-edit-sexual-end, +#profile-edit-politic-end, +#profile-edit-religion-end, +#profile-edit-pubkeywords-end, +#profile-edit-prvkeywords-end, +#profile-edit-homepage-end, +#profile-edit-hometown-end, +#profile-in-dir-break, +#profile-in-dir-end, +#profile-in-netdir-break, +#profile-in-netdir-end, +#hide-wall-break, +#hide-wall-end, +#hide-friends-break, +#hide-friends-end, +#settings-normal-break, +#settings-soapbox-break, +#settings-community-break, +#settings-freelove-break { + clear: both; +} + +.settings-widget ul { + list-style-type: none; + padding: 0px; +} + +.settings-widget li { + margin-left: 24px; + margin-bottom: 8px; +} + + +#gender-select, #marital-select, #sexual-select { + width: 220px; +} + +#profile-edit-profile-name-wrapper .required { + color: #FF0000; + float: left; +} + +#contacts-display-wrapper { + padding-left: 0px; +} + +#contacts-main { + margin-top: 20px; + margin-bottom: 20px; +} + +.contact-entry-wrapper { + float: left; +/* width: 120px; + height: 120px;*/ + padding-right: 17px; + width: 95px; + height: 170px; +} +#contacts-search-end { + margin-bottom: 10px; +} + +.contact-entry-direction-icon { + margin-top: 24px; + margin-right: 2px; +} + +.contact-entry-photo img { + border: none; +} +.contact-entry-photo-end { + clear: both; +} +.contact-entry-name { + float: left; + margin-left: 0px; + margin-right: 10px; + padding-bottom: 5px; + width: 120px; + font-weight: 600; + overflow: hidden; +} +.contact-entry-details { + font-style: italic; + font-size: 10px; + font-weight: 500; +} +.contact-entry-network { + font-size: 10px; + font-weight: 500; +} +.contact-entry-edit-links { + margin-top: 6px; + margin-left: 10px; + width: 16px; +} +.contact-entry-nav-wrapper { + float: left; + margin-left: 10px; +} + +.contact-entry-edit-links img { + border: none; + margin-right: 15px; +} +.contact-entry-photo { + float: left; + position: relative; +} +.contact-entry-end { + clear: both; +} + +#fsuggest-desc, #fsuggest-submit-wrapper { + margin-top: 15px; + margin-bottom: 15px; +} + +#network-star-link{ + margin-top: 10px; +} +.network-star { + float: left; + margin-right: 5px; +} +#network-bmark-link { + margin-top: 10px; +} + +.wall-item-content-wrapper { + margin-top: 60px; + padding-top: 30px; + border-top: 2px solid #AAA; + position: relative; + +} + +.wall-item-content-wrapper.comment { + margin-top: 10px; + padding-top: none; + margin-left: 50px; + border: none; +} + +.wall-item-like, .wall-item-dislike { + font-style: italic; + margin-left: 0px; + opacity: 0.4; +} +.wall-item-like:hover, .wall-item-dislike:hover { + opacity: 1.0; +} + +.wall-item-like.comment, .wall-item-dislike.comment { + margin-left: 50px; +} + +.wall-item-info { + display: block; + float: left; + width:110px; + margin-right:10px; +} +.comment .wall-item-info { + width: 70px; +} + +.wall-item-photo-wrapper { + margin-bottom: 10px; + width: 100px; +} +.wall-item-photo-menu-button { + display: block; + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 94px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.wall-item-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; +/* left: 10px; top: 90px;*/ + left: 0px; top:110px; + display: none; + z-index: 10000; +} +.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.wall-item-photo-menu li a { display: block; padding: 2px; } +.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +.comment .wall-item-photo-menu-button { /*top: 44px;*/ top: 64px;} +.comment .wall-item-photo-menu { /*top: 60px;*/ top: 80px; } + +.wallwall .wwto { + left: 50px; + margin: 0; + position: absolute; + top: 70px; + width: 30px +} +.wallwall .wwto img { + width: 30px !important; + height: 30px !important; +} + +.wallwall .wall-item-photo-end { + clear: both; +} + +.wall-item-arrowphoto-wrapper { + position: absolute; + left: 75px; + top: 70px; + z-index: 100; +} +.wall-item-wrapper { + margin-left:10px; +} +.wall-item-lock { + margin-top: 30px; + left: 105px; + position: absolute; + top: 1px; +} +.comment .wall-item-lock { + left: 65px; +} + +.wall-item-ago { + color: #888888; + font-size: 0.8em; +} + +.wall-item-location { + overflow: hidden; + /* add ellipsis on text overflow */ + /* this work on safari, opera, ie, chrome. */ + /* firefox users have to wait support or we */ + /* can use a jquery plugin http://bit.ly/zJskg */ + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + width: 100%; +} + +.wall-item-like-buttons { + float: left; + margin-right: 10px; +/* padding-right: 10px; */ +/* border-right: 2px solid #fff; */ +} + +.like-rotator { + margin-left: 5px; +} + +.wall-item-like-buttons > a, +.wall-item-like-buttons > img { + float: left; +} + +.wall-item-like-buttons img { + cursor: pointer; +} + +.wall-item-share-buttons { + margin-left: 10px; + margin-right: 10px; +} + +.editpost { + margin-left: 10px; + float: left; +} +.star-item { + margin-left: 10px; + float: left; +} +.tag-item { + margin-left: 10px; + float: left; +} + +.filer-item { + margin-left: 10px; + float: left; +} + +.wall-item-links-wrapper { + float: left; +} + +.wall-item-delete-wrapper { + float: right; +} + +.wall-item-delete-end { + clear: both; +} + +.wall-item-delete-icon { + border: none; +} + + +.wall-item-wrapper-end { + clear: both; +} +.wall-item-name-link { + font-weight: bold; + text-decoration: none; + color: #3172BD; +} +.wall-item-photo { + border: none; +} +.comment .wall-item-photo { + width: 50px !important; + height: 50px !important; +} +.wall-item-content { + margin-left: 10px; + padding-right: 1em; + max-height: 500px; + overflow: auto; +} + +.wall-item-content img { + max-width: 100%; +} + + + +.wall-item-title { + float: left; + font-weight: bold; + font-size: 1.6em; + /*width: 450px;*/ +} + +.wall-item-title-end { + clear: both; +} + +.wall-item-body { + text-align: justify; + float: left; + /*width: 450px;*/ + width: 100%; + margin-top: 10px; + line-height: 18px; +} + +.wall-item-tools { + clear: both; +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + margin-top: 10px; + margin-left: 0px; + margin-bottom: 7px; +/* padding: 5px 10px 0px;*/ + padding: 5px 10px 0px 2px; + height: 28px; + border-bottom: 1px solid #ddd; +} +.wall-item-author { +/* margin-top: 10px;*/ + margin-top: 0px; +} + +.comment .wall-item-tools { +/* background:none;*/ +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + margin-left: 0px; +} + +.comment-edit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 50px; +} + +.comment-wwedit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 50px; +} + +.comment-edit-photo { + margin-top: 10px; + margin-left: 10px; + margin-bottom: 10px; + width: 70px; + float: left; +} +.comment-edit-photo img { + width: 25px; +} +.comment-edit-text-empty, .comment-edit-text-full { + float: left; + margin-top: 10px; + -moz-border-radius: 3px; + border-radius: 3px; + border: 1px solid #cccccc; + padding: 3px 1px 1px 3px; +} + +.comment-edit-text-empty { + color: gray; + height: 30px; + width: 175px; + overflow: auto; + margin-bottom: 10px; +} + +.comment-edit-text-full { + color: black; + height: 150px; + width: 350px; + overflow: auto; +} + +.comment-edit-text-end { + clear: both; +} + +.comment-edit-submit { + margin: 10px 0px 10px 110px; +} + +#profile-jot-plugin-wrapper, +#profile-jot-submit-wrapper { + margin-top: 15px; +} + +#profile-jot-submit { + float: left; +} +#profile-upload-wrapper { + float: left; + margin-left: 30px; +} +#profile-attach-wrapper { + float: left; + margin-left: 15px; +} +#profile-rotator { + float: left; + margin-left: 30px; +} +#profile-link-wrapper { + float: left; + margin-left: 30px; +} +#profile-youtube-wrapper { + float: left; + margin-left: 15px; +} +#profile-video-wrapper { + float: left; + margin-left: 15px; +} +#profile-audio-wrapper { + float: left; + margin-left: 15px; +} +#profile-location-wrapper { + float: left; + margin-left: 15px; +} +#jot-preview-link { + float: left; + margin-left: 45px; + margin-top: 0px !important; +} + + +#profile-nolocation-wrapper { + float: left; + margin-left: 15px; +} +#profile-title-wrapper { + float: left; + margin-left: 15px; +} + +#profile-jot-perms { + float: left; + margin-left: 100px; + font-weight: bold; + font-size: 1.2em; +} + + +#profile-jot-perms-end { + /*clear: left;*/ + height: 30px; +} + +#profile-jot-plugin-end{ + clear: both; +} +.profile-jot-net { + float: left; + margin-right: 10px; + margin-top: 5px; + margin-bottom: 5px; +} + +#profile-jot-networks-end { + clear: both; +} + +#profile-jot-end { + /*clear: both;*/ + margin-bottom: 30px; +} +#about-jot-submit-wrapper { + margin-top: 15px; +} +#about-jot-end { + margin-bottom: 30px; +} +#contacts-main { + margin-bottom: 30px; +} + +#profile-listing-desc { + margin-left: 30px; +} + +#profile-listing-new-link-wrapper { + margin-left: 30px; + margin-bottom: 30px; +} +.profile-listing-photo-wrapper { + float: left; +} + +.profile-listing-edit-buttons-wrapper { + clear: both; +} +.profile-listing-photo-edit-link { + float: left; + width: 125px; +} +.profile-listing-end { + clear: both; +} +.profile-listing-edit-buttons-wrapper img{ + border: none; + margin-right: 20px; +} +.profile-listing { + margin-top: 25px; +} +.profile-listing-name { + float: left; + margin-left: 32px; + margin-top: 10px; + color: #3172BD; + font-weight: bold; + width: 200px; + +} +.fortune { + margin-top: 50px; + color: #4444FF; + font-weight: bold; + margin-bottom: 20px; +} + + +.directory-end { + clear: both; +} +.directory-name { + text-align: center; +} +.directory-photo { + margin-left: 25px; +} +.directory-details { + font-size: 0.7em; + text-align: center; + margin-left: 5px; + margin-right: 5px; +} +.directory-item { + float: left; +/* width: 225px; + height: 260px;*/ + padding-left: 25px; + width: 150px; + height: 225px; + overflow: auto; +} + +#directory-search-wrapper { + margin-top: 20px; + margin-right: 20px; + margin-bottom: 50px; +} + +#directory-search-end { +} + +.directory-photo-img { + width: 125px; + border: none; +} + + +.pager { + margin-top: 35px; + margin-bottom: 20px; + padding: 10px; + text-align: center; + font-size: 1.0em; +} + + +.pager_first, +.pager_last, +.pager_prev, +.pager_next, +.pager_n { +/* background: #EEE;*/ +} + +.pager_first a, +.pager_last a, +.pager_prev a, +.pager_next a, +.pager_n a { + border: 1px solid black; + border-radius: 7px; + text-decoration: none; + padding: 4px 6px 4px 3px; + opacity: 0.5; +} +.pager_first a:hover, +.pager_last a:hover, +.pager_prev a:hover, +.pager_next a:hover, +.pager_n a:hover { + opacity: 1.0; +} + +.pager_current { + border: 1px solid black; + border-radius: 7px; + background: #FFCCCC; + padding: 4px 6px 4px 3px; +} + + +#advanced-profile-name-wrapper, +#advanced-profile-gender-wrapper, +#advanced-profile-dob-wrapper, +#advanced-profile-age-wrapper, +#advanced-profile-marital-wrapper, +#advanced-profile-sexual-wrapper, +#advanced-profile-homepage-wrapper, +#advanced-profile-politic-wrapper, +#advanced-profile-religion-wrapper, +#advanced-profile-about-wrapper, +#advanced-profile-interest-wrapper, +#advanced-profile-contact-wrapper, +#advanced-profile-music-wrapper, +#advanced-profile-book-wrapper, +#advanced-profile-tv-wrapper, +#advanced-profile-film-wrapper, +#advanced-profile-romance-wrapper, +#advanced-profile-work-wrapper, +#advanced-profile-education-wrapper { + margin-top: 20px; +} + +#advanced-profile-name-text, +#advanced-profile-gender-text, +#advanced-profile-dob-text, +#advanced-profile-age-text, +#advanced-profile-marital-text, +#advanced-profile-sexual-text, +#advanced-profile-homepage-text, +#advanced-profile-politic-text, +#advanced-profile-religion-text, +#advanced-profile-about-text, +#advanced-profile-interest-text, +#advanced-profile-contact-text, +#advanced-profile-music-text, +#advanced-profile-book-text, +#advanced-profile-tv-text, +#advanced-profile-film-text, +#advanced-profile-romance-text, +#advanced-profile-work-text, +#advanced-profile-education-text { + width: 300px; + float: left; +} + +#advanced-profile-name-end, +#advanced-profile-gender-end, +#advanced-profile-dob-end, +#advanced-profile-age-end, +#advanced-profile-marital-end, +#advanced-profile-sexual-end, +#advanced-profile-homepage-end, +#advanced-profile-politic-end, +#advanced-profile-religion-end { + height: 10px; +} + +#advanced-profile-about-end, +#advanced-profile-interest-end, +#advanced-profile-contact-end, +#advanced-profile-music-end, +#advanced-profile-book-end, +#advanced-profile-tv-end, +#advanced-profile-film-end, +#advanced-profile-romance-end, +#advanced-profile-work-end, +#advanced-profile-education-end { + + +} + +#advanced-profile-name, +#advanced-profile-gender, +#advanced-profile-dob, +#advanced-profile-age, +#advanced-profile-marital, +#advanced-profile-sexual, +#advanced-profile-homepage, +#advanced-profile-politic, +#advanced-profile-religion { + float: left; + +} + + +#advanced-profile-about, +#advanced-profile-interest, +#advanced-profile-contact, +#advanced-profile-music, +#advanced-profile-book, +#advanced-profile-tv, +#advanced-profile-film, +#advanced-profile-romance, +#advanced-profile-work, +#advanced-profile-education { + margin-top: 10px; + margin-left: 50px; + margin-right: 20px; + padding: 10px; + border: 1px solid #CCCCCC; +} + +#advanced-profile-with { + float: left; + margin-left: 15px; +} + +#contact-edit-wrapper { + margin-top: 10px; +} + +#contact-edit-banner-name { + font-size: 1.4em; + font-weight: bold; +} + +#contact-edit-poll-wrapper { + margin-top: 15px; +} + +#contact-edit-poll-text { + margin-top: 15px; + margin-bottom: 5px; +} + +#contact-edit-update-now { + margin-top: 15px; +} + +#contact-edit-links{ + clear: both; +} + +#contact-edit-links ul { + list-style: none; + list-style-type: none; + margin-left: 0px; + padding-left: 0px; +} + +#contact-edit-links li { + margin-top: 5px; +} + +#contact-edit-drop-link { + float: right; + margin-right: 20px; +} + +#contact-edit-nav-end { + clear: both; +} + +#contact-edit-wrapper { + width: 100%; +} + +#contact-edit-end { + clear: both; + margin-top: 15px; +} + +#contact-profile-selector { + width: 175px; + margin-left: 175px; +} + +.contact-edit-submit { + margin-top: 20px; +} + + +.contact-photo-menu-button { + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 64px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.contact-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; + left: 0px; top: 90px; + display: none; + z-index: 10000; +} +.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.contact-photo-menu li a { display: block; padding: 2px; } +.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +#block-message, #ignore-message, #archive-message, #lost-contact-message { + color: #FF0000; +} + +#profile-edit-insecure { + margin-top: 20px; + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding-left: 5px; + /*: 3px 3px 3px 5px; */ + width: 587px; +} + +#profile-jot-text { + height: 20px; + color:#cccccc; + border: 1px solid #cccccc; + padding: 3px 0px 0px 5px; + -moz-border-radius: 3px; + border-radius: 3px; +} + + +/** acl **/ +#photo-edit-perms-select, +#photos-upload-permissions-wrapper, +#profile-jot-acl-wrapper{ + display:block!important; +} + +#photos-usage-message { + margin-bottom: 15px; +} + + +#acl-wrapper { + width: 690px; + float:left; +} +#acl-search { + float:right; + background: #ffffff url("../../../images/search_18.png") no-repeat right center; + padding-right:20px; +} +#acl-showall { + float: left; + display: block; + width: auto; + height: 18px; + background-color: #cccccc; + background-image: url("../../../images/show_all_off.png"); + background-position: 7px 7px; + background-repeat: no-repeat; + padding: 7px 5px 0px 30px; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + color: #999999; +} +#acl-showall.selected { + color: #000000; + background-color: #ff9900; + background-image: url("../../../images/show_all_on.png"); +} + +#acl-list { + height: 210px; + border: 1px solid #cccccc; + clear: both; + margin-top: 30px; + overflow: auto; +} +#acl-list-content { + +} +.acl-list-item { + display: block; + width: 150px; + height: 30px; + border: 1px solid #cccccc; + margin: 5px; + float: left; +} +.acl-list-item img{ + width:22px; + height: 22px; + float: left; + margin: 4px; +} +.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} +.acl-list-item a { + font-size: 8px; + display: block; + width: 40px; + height: 10px; + float: left; + color: #999999; + background-color: #cccccc; + background-position: 3px 3px; + background-repeat: no-repeat; + margin-right: 5px; + -webkit-border-radius: 2px ; + -moz-border-radius: 2px; + border-radius: 2px; + padding-left: 15px; +} +#acl-wrapper a:hover { + text-decoration: none; + color:#000000; +} +.acl-button-show { background-image: url("../../../images/show_off.png"); } +.acl-button-hide { background-image: url("../../../images/hide_off.png"); } + +.acl-button-show.selected { + color: #000000; + background-color: #9ade00; + background-image: url("../../../images/show_on.png"); +} +.acl-button-hide.selected { + color: #000000; + background-color: #ff4141; + background-image: url("../../../images/hide_on.png"); +} +.acl-list-item.groupshow { border-color: #9ade00; } +.acl-list-item.grouphide { border-color: #ff4141; } +/** /acl **/ + + +#group-new-submit-wrapper { + margin-top: 30px; +} + +#group-edit-name-label { + float: left; + width: 175px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name { + float: left; + width: 225px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name-wrapper { + + +} + + +#group_members_select_label { + display: block; + float: left; + width: 175px; +} + +.group_members_select { + float: left; + width: 230px; + overflow: auto; +} + +#group_members_select_end { + clear: both; +} +#group-edit-name-end { + clear: both; +} + +#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label { + margin-bottom: 10px; + margin-top: 20px; +} + +#prvmail-submit { + float: left; + margin-top: 10px; + margin-right: 30px; +} +#prvmail-upload-wrapper, +#prvmail-link-wrapper, +#prvmail-rotator-wrapper { + float: left; + margin-top: 10px; + margin-right: 10px; + width: 24px; +} + +#prvmail-end { + clear: both; +} + +.mail-list-sender, +.mail-list-detail { + float: left; +} +.mail-list-detail { + margin-left: 20px; +} + +.mail-list-subject { + font-size: 1.1em; + margin-top: 10px; +} +a.mail-list-link { + display: block; + font-size: 1.3em; + padding: 4px 0; +} + +/* +*a.mail-list-link:hover { +* background-color: #15607B; +* color: #F5F6FB; +*} +*/ + +.mail-list-outside-wrapper-end { + clear: both; +} + +.mail-list-outside-wrapper { + margin-top: 30px; +} + +.mail-list-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} + +.mail-list-delete-icon { + border: none; +} + +.mail-conv-sender, +.mail-conv-detail { + float: left; +} +.mail-conv-detail { + margin-left: 20px; + width: 500px; +} + +.mail-conv-subject { + font-size: 1.4em; + margin: 10px 0; +} + +.mail-conv-outside-wrapper-end { + clear: both; +} + +.mail-conv-outside-wrapper { + margin-top: 30px; +} + +.mail-conv-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} +.mail-conv-break { + clear: both; +} + +.mail-conv-delete-icon { + border: none; +} + +.message-links ul { + list-style-type: none; + padding: 0px; +} + +.message-links li { + margin-top: 10px; + float: left; +} +.message-links a { + padding: 3px 5px; +} + +.message-links-end { + clear: both; +} + +#sidebar-group-list ul { + list-style-type: none; +} + +#sidebar-group-list .icon, #sidebar-group-list .iconspacer { + display: inline-block; + height: 12px; + width: 12px; +} + +#sidebar-group-list li { + margin-top: 10px; +} + +.nets-ul, .fileas-ul, .categories-ul { + list-style-type: none; +} + +.nets-ul li, .fileas-ul li, .categories-ul li { + margin-top: 10px; +} + +.nets-link { + margin-left: 24px; +} +.nets-all { + margin-left: 42px; +} + +.fileas-link, .categories-link { + margin-left: 24px; +} + +.fileas-all, .categories-all { + margin-left: 0px; +} + +#search-save { + margin-left: 5px; +} +.groupsideedit { + margin-right: 10px; +} +#saved-search-ul { + list-style-type: none; +} +.savedsearchdrop, .savedsearchterm { + float: left; + margin-top: 10px; +} +.savedsearchterm { + margin-left: 10px; +} + + +#side-follow-wrapper { + margin-top: 20px; +} +#side-follow-url, #side-peoplefind-url { + margin-top: 5px; +} +#side-follow-submit, #side-peoplefind-submit { + margin-top: 15px; +} + +#side-match-link { + margin-top: 10px; +} + +aside input[type='text'] { + width: 174px; +} + +.widget { + border: 1px solid #DDDDDD; + padding: 8px; + margin-top: 5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; + +} + + +/*.photos { + height: auto; + overflow: auto; +}*/ + +.photos-end { + clear: both; + margin-bottom: 25px; +} + +.photo-album-image-wrapper { + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; +/* width: 200px; height: 200px; + overflow: hidden; + position: relative; */ +} +.photo-album-image-wrapper .caption { + display: none; + width: 100%; +/* position: absolute; */ + bottom: 0px; + padding: 0.5em 0.5em 0px 0.5em; + background-color: rgba(245, 245, 255, 0.8); + border-bottom: 2px solid #CCC; + margin: 0px; +} +.photo-album-image-wrapper a:hover .caption { + display:block; +} + +#photo-album-end { + clear: both; + margin-bottom: 25px; +} + +.photo-top-image-wrapper { +/* position: relative; */ + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; + margin-bottom: 15px; +/* width: 200px; height: 200px; + overflow: hidden; */ +} +.photo-top-album-name { + width: 100%; + min-height: 2em; +/* position: absolute; */ + bottom: 0px; + padding: 0px 3px; + padding-top: 0.5em; + background-color: rgb(255, 255, 255); +} +#photo-top-end { + clear: both; +} + +#photo-top-links { + margin-bottom: 30px; + margin-left: 30px; +} + +#photos-upload-newalbum-div { + float: left; + width: 175px; +} + +#photos-upload-noshare { + margin-bottom: 10px; +} +#photos-upload-existing-album-text { + float: left; + width: 175px; +} +#photos-upload-newalbum { + float: left; +} +#photos-upload-album-select { + float: left; +} + +#photos-upload-spacer { + margin-top: 25px; +} +#photos-upload-new-end, #photos-upload-exist-end { + clear: both; +} +#photos-upload-exist-end { + margin-bottom: 15px; +} +#photos-upload-submit { + margin-top: 15px; +} + +#photos_upload_applet_wrapper { + margin-bottom: 15px; +} + +#photos-upload-no-java-message { + margin-bottom: 15px; +} + +#profile-jot-desc { + /*float: left;*/ + /*width: 480px;*/ + width: 100%; + color: #FF0000; + margin-top: 10px; + margin-bottom: 10px; +} + +#character-counter { + float: right; + font-size: 120%; +} + +#character-counter.grey { + color: #888888; +} + +#character-counter.orange { + color: orange; +} +#character-counter.red { + color: red; +} + +#profile-jot-banner-end { + /* clear: both; */ +} + +#photos-upload-select-files-text { + margin-top: 15px; + margin-bottom: 15px; +} + +#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link { + color: #8888FF; + text-decoration: none; + cursor: pointer; +} + +#photos-upload-perms-menu:hover { + color: #0000FF; + text-decoration: underline; + cursor: pointer; +} +#settings-default-perms-menu { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, #photo-edit-rotate-label { + float: left; + width: 150px; +} + +#photo-edit-perms-end { + margin-bottom: 15px; +} + +#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname, #photo-edit-rotate { + float: left; + margin-bottom: 25px; +} +#photo-edit-link-wrap { + margin-bottom: 15px; +} +#photo-like-div { + margin-bottom: 25px; +} + +#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end { + clear: both; +} + +#photo-edit-rotate-end { + margin-bottom: 15px; +} + +#photo-edit-delete-button { + margin-left: 200px; +} +#photo-edit-end { + margin-bottom: 35px; +} +#photo-caption { + font-size: 110%; + font-weight: bold; + margin-top: 15px; + margin-bottom: 15px; +} + +#in-this-photo-text { + color: #0000FF; + margin-left: 30px; +} + +#in-this-photo { + margin-left: 60px; + margin-top: 10px; + margin-bottom: 20px; +} + +#photo-album-edit-submit, #photo-album-edit-drop { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-album-edit-drop { + margin-left: 200px; +} + +.group-delete-wrapper { + float: right; + margin-right: 50px; +} + +#install-dbhost-label, +#install-dbuser-label, +#install-dbpass-label, +#install-dbdata-label, +#install-tz-desc { + float: left; + width: 250px; + margin-top: 10px; + margin-bottom: 10px; + +} + +#install-dbhost, +#install-dbuser, +#install-dbpass, +#install-dbdata { + float: left; + width: 200px; + margin-left: 20px; +} + +#install-dbhost-end, +#install-dbuser-end, +#install-dbpass-end, +#install-dbdata-end, +#install-tz-end { + clear: both; +} + +#install-form select#timezone_select { + float: left; + margin-top: 18px; + margin-left: 20px; +} + +#dfrn-request-networks { + margin-bottom: 30px; +} + +#pause { + position: fixed; + bottom: 5px; + right: 5px; +} + +.sparkle { + cursor: url('lock.cur'), pointer; +/* cursor: pointer !important; */ +} + +.contact-block-div { + float: left; + width: 52px; + height: 52px; +} +.contact-block-textdiv { + float: left; + width: 150px; + height: 34px; +} + +#contact-block-end { + clear: both; +} +.contact-block-link { + float: left; +} +.contact-block-img { + width:48px; + height:48px; +} + +#tag-remove { + margin-bottom: 15px; +} + +#tagrm li { + margin-bottom: 10px; +} + +#tagrm-submit, #tagrm-cancel { + margin-top: 25px; +} + +#tagrm-cancel { + margin-left: 15px; +} + +.wall-item-conv { + margin-top: 5px; + margin-bottom: 25px; +} + +#search-submit { + margin-left: 15px; +} + +#search-box { + margin-bottom: 25px; +} + +.location-label, .gender-label, .marital-label, .homepage-label { + float: left; + text-align: right; + display: block; + width: 65px; +} + +.adr, .x-gender, .marital-text, .homepage-url { + float: left; + display: block; + margin-left: 8px; +} + +.profile-clear { + clear: both; +} + + +.clear { + clear: both; +} + +.cc-license { + margin-top: 50px; + font-size: 70%; +} + + +#plugin-settings-link, #account-settings-link { + margin-bottom: 10px; +} + +#uexport-link { + margin-bottom: 20px; +} + +/* end from default */ + + +.fn { + padding: 0px 0px 5px 12px; + font-size: 120%; + font-weight: bold; +} + +.vcard .title { + margin-bottom: 5px; + margin-left: 12px; +} + +.vcard dl { + clear: both; +} + +#birthday-title { + float: left; + font-weight: bold; +} + +#birthday-adjust { + float: left; + font-size: 75%; + margin-left: 10px; +} + +#birthday-title-end { + clear: both; +} + +.birthday-list { + margin-left: 15px; +} + +#birthday-wrapper { + margin-bottom: 20px; +} + +#network-new-link { + margin-top: 15px; + margin-bottom: 15px; +} + + +.tool-wrapper { + float: left; + margin-left: 15px; +} + +.tool-link { + cursor: pointer; +} + +.eventcal { + float: left; + font-size: 20px; +} + +#event-summary-text { + margin-top: 15px; +} + +#event-share-checkbox { + float: left; + margin-top: 10px; +} + +#event-share-text { + float: left; + margin-top: 10px; + margin-left: 5px; +} + +#event-share-break { + clear: both; + margin-bottom: 10px; +} + +#event-summary { + width: 400px; +} + +.vevent { + border: 1px solid #CCCCCC; +} + +.vevent .event-summary { + margin-left: 10px; + margin-right: 10px; + font-weight: bold; +} + +.vevent .event-description, .vevent .event-location { + margin-left: 10px; + margin-right: 10px; +} +.vevent .event-start { + margin-left: 10px; + margin-right: 10px; +} + +#new-event-link { + margin-bottom: 10px; +} + +.edit-event-link, .plink-event-link { + float: left; + margin-top: 4px; + margin-right: 4px; + margin-bottom: 15px; +} + +.event-description:before { + content: url('../../../images/calendar.png'); + margin-right: 15px; +} + +.event-start, .event-end { + margin-left: 10px; + width: 330px; + clear: both; +} + +.event-start .dtstart, .event-end .dtend { + float: right; +} + +.event-list-date { + margin-bottom: 10px; +} + +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} + + +.calendar { + font-family: Courier, monospace; +} +.today { + font-weight: bold; + color: #FF0000; +} + +.settings-block { + border: 1px solid #AAA; + margin: 10px; + padding: 10px; +} + +.app-title { + margin: 10px; +} + +#identity-manage-desc { + margin-top:15px; + margin-bottom: 15px; +} + +#identity-manage-choose { + margin-bottom: 15px; +} + +#identity-submit { + margin-top: 20px; +} + +#photo-prev-link, #photo-next-link { + padding: 10px; + float: left; +} + +#photo-photo { + float: left; +} + +#photo-photo-end { + clear: both; +} + +.profile-match-photo { + float: left; + text-align: center; + width: 120px; +} + +.profile-match-name { + float: left; + text-align: center; + width: 120px; + overflow: hidden; +} + +.profile-match-break, +.profile-match-end { + clear: both; +} + +.profile-match-connect { + text-align: center; + font-weight: bold; +} + +.profile-match-wrapper { + float: left; + padding: 10px; + width: 120px; + height: 120px; + scroll: auto; +} +#profile-match-wrapper-end { + clear: both; +} +.side-link { + margin-bottom: 15px; +} + +#language-selector { + position: absolute; + top: 0px; + left: 16px; +} + +#group-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-members-end { + clear: both; +} + +#group-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#group-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#group-edit-desc { + margin-top: 15px; +} + + +#prof-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-members-end { + clear: both; +} + +#prof-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#prof-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#prof-edit-desc { + margin-top: 15px; +} + +#crepair-name-label, +#crepair-nick-label, +#crepair-attag-label, +#crepair-url-label, +#crepair-request-label, +#crepair-confirm-label, +#crepair-notify-label, +#crepair-photo-label, +#crepair-poll-label { + float: left; + width: 200px; + margin-bottom: 15px; +} + +#crepair-name, +#crepair-nick, +#crepair-attag, +#crepair-url, +#crepair-request, +#crepair-confirm, +#crepair-notify, +#crepair-photo, +#crepair-poll { + float: left; + width: 300px; +} + + +#netsearch-box { + margin-top: 20px; +} + +#netsearch-box #search-submit { + margin: 5px 0px 0px 0px; +} + +.required { + color: #FF0000; +} + +#event-start-text, #event-finish-text { + margin-top: 10px; + margin-bottom: 5px; +} + +#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text { + float: left; +} +#event-datetime-break { + margin-bottom: 10px; +} + +#event-nofinish-break, #event-adjust-break { + clear: both; +} + +#event-desc-text, #event-location-text { + margin-top: 10px; + margin-bottom: 5px; +} +#event-submit { + margin-top: 10px; +} + +.body-tag, .filesavetags, .categorytags { + opacity: 0.5; + filter:alpha(opacity=50); +} + +.body-tag:hover, .filesavetags:hover, .categorytags:hover { + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} + +.item-select { + opacity: 0.1; + filter:alpha(opacity=10); + float: right; + margin-right: 10px; + +} +.item-select:hover, .checkeditem { + opacity: 1; + filter:alpha(opacity=100); +} + + +#item-delete-selected { + margin-top: 30px; +} + +#item-delete-selected-end { + clear: both; +} +#item-delete-selected-icon, #item-delete-selected-desc { + float: left; + margin-right: 5px; +} +#item-delete-selected-desc:hover { + text-decoration: underline; +} + +#lang-select-icon { + cursor: pointer; + position: absolute; + left: 0px; + top: 0px; + opacity: 0.2; + filter:alpha(opacity=20); +} + +#lang-select-icon:hover { + opacity: 1; + filter:alpha(opacity=100); +} + +.notif-image { + height: 80px; + width: 80px; + margin-right: 15px; +} +.notification-listing-end { + clear: both; + margin-bottom: 15px; +} + + + +/** + * Plugins settings + */ + +.settings-block > h3, +.settings-heading { + border-bottom: 1px solid #babdb6; +} + + +/** + * Form fields + */ +.field { + margin-bottom: 10px; + padding-bottom: 10px; + overflow: auto; + width: 100% +} + +.field label { + float: left; + width: 200px; +} + +.field input, +.field textarea { + width: 400px; +} +.field textarea { height: 100px; } +.field_help { + display: block; + margin-left: 200px; + color: #666666; + +} + + +.field .onoff { + float: left; + width: 80px; +} +.field .onoff a { + display: block; + border:1px solid #666666; + background-image:url("../../../images/onoff.jpg"); + background-repeat: no-repeat; + padding: 4px 2px 2px 2px; + height: 16px; + text-decoration: none; +} +.field .onoff .off { + border-color:#666666; + padding-left: 40px; + background-position: left center; + background-color: #cccccc; + color: #666666; + text-align: right; +} +.field .onoff .on { + border-color:#204A87; + padding-right: 40px; + background-position: right center; + background-color: #D7E3F1; + color: #204A87; + text-align: left; +} +.hidden { display: none!important; } + +.field.radio .field_help { margin-left: 0px; } + +/** + * ADMIN + */ +#pending-update { + float:right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; + +} +#adminpage dl { + clear: left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} + +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear:left; + text-align: right; +} + +#adminpage #pluginslist { + margin: 0px; padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { margin-left: 2.5em;} +#adminpage .toggleplugin { + float:left; + margin-right: 1em; +} + +#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;} +#adminpage table th { text-align: left;} +#adminpage td .icon { float: left;} +#adminpage table#users img { width: 16px; height: 16px; } +#adminpage table tr:hover { background-color: #bbc7d7; } +#adminpage .selectall { text-align: right; } + +/* + * UPDATE + */ +.popup { + width: 100%; height: 100%; + top:0px; left:0px; + position: absolute; + display: none; +} + +.popup .background { + background-color: rgba(0,0,0,128); + opacity: 0.5; + width: 100%; height: 100%; + position: absolute; + top:0px; left:0px; +} +.popup .panel { + top:25%;left:25%;width:50%;height:50%; + padding: 1em; + position: absolute; + border: 4px solid #000000; + background-color: #FFFFFF; +} +.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } +.popup .panel .panel_in { width: 100%; height: 100%; position: relative; } +.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 span {float: right; display: block; width: 25%; background-color: #eeeeee; text-align: right;} + +/** + * OAuth + */ +.oauthapp { + height: auto; overflow: auto; + border-bottom: 2px solid #cccccc; + padding-bottom: 1em; + margin-bottom: 1em; +} +.oauthapp img { + float: left; + width: 48px; height: 48px; + margin: 10px; +} +.oauthapp img.noicon { + background-image: url("../../../images/icons/48/plugin.png"); + background-position: center center; + background-repeat: no-repeat; +} +.oauthapp a { + float: left; +} + +/** + * ICONS + */ +.iconspacer { + display: block; width: 16px; height: 16px; +} + +.icon { + display: block; width: 16px; height: 16px; + background-image: url('../../../images/icons.png'); +} +.article { background-position: 0px 0px;} +/*.audio { background-position: -16px 0px;}*/ +.audio { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/speaker.png'); + background-repeat: no-repeat; +} +.block { background-position: -32px 0px;} +/*.drop { background-position: -48px 0px;}*/ +.drop { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/drop-16.png'); + background-repeat: no-repeat; + opacity: 1.0; +} +/*.drophide { background-position: -64px 0px;}*/ +.drophide { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/drop-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.edit { background-position: -80px 0px;} +/*.camera { background-position: -96px 0px;}*/ +.camera{ + display: block; width: 24px; height: 18px; + margin-top: 4px; + background-size: 100% 100%; + background-image: url('images/camera.png'); + background-repeat: no-repeat; +} +/*.dislike { background-position: -112px 0px;}*/ +.dislike { + display: block; width: 15px; height: 16px;/* 23 24*/ + background-size: 100% 100%; + background-image: url('images/disapprove-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.dislike:hover { + opacity: 1.0; +} +/*.like { background-position: -128px 0px;}*/ +.like { + display: block; width: 15px; height: 16px;/* 23 24*/ + margin-right: 6px; + background-size: 100% 100%; + background-image: url('images/approve-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.like:hover { + opacity: 1.0; +} +/*.link { background-position: -144px 0px;}*/ +.link { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/link.png'); + background-repeat: no-repeat; +} + +/*.globe { background-position: 0px -16px;}*/ +.globe { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/globe.png'); + background-repeat: no-repeat; +} +.noglobe { background-position: -16px -16px;} +.no { background-position: -32px -16px;} +.pause { background-position: -48px -16px;} +.play { background-position: -64px -16px;} +/*.pencil { background-position: -80px -16px;}*/ +.pencil { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/pencil-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.pencil:hover { + opacity: 1.0; +} +/*.small-pencil { background-position: -96px -16px;}*/ +.small-pencil { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/pencil-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.small-pencil:hover { + opacity: 1.0; +} +/*.recycle { background-position: -112px -16px;}*/ +.recycle { + display: block; width: 16px; height: 16px;/*24 23*/ + background-size: 100% 100%; + background-image: url('images/recycle-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.recycle:hover { + opacity: 1.0; +} +/*.remote-link { background-position: -128px -16px;}*/ +.remote-link { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/remote-link-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.remote-link:hover { + opacity: 1.0; +} +.share { background-position: -144px -16px;} + +.tools { background-position: 0px -32px;} +/*.lock { background-position: -16px -32px;}*/ +.lock { + display: block; width: 14px; height: 21px; + margin-top: 1px; + background-size: 100% 100%; + background-image: url('images/lock-24.png'); + background-repeat: no-repeat; +} +/*.unlock { background-position: -32px -32px;}*/ +.unlock { + display: block; width: 14px; height: 24px; + margin-top: -2px; + background-size: 100% 100%; + background-image: url('images/unlock-24.png'); + background-repeat: no-repeat; +} +/*.video { background-position: -48px -32px;}*/ +.video { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/video.png'); + background-repeat: no-repeat; +} + +.youtube { background-position: -64px -32px;} +/*.attach { background-position: -80px -32px; }*/ +.attach { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/paperclip-24.png'); + background-repeat: no-repeat; +} + +.language { background-position: -96px -32px; } +.prev { background-position: -112px -32px; } +.next { background-position: -128px -32px; } +.on { background-position: -144px -32px; } + +.off { background-position: 0px -48px; } +/*.starred { background-position: -16px -48px; }*/ +.starred { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/star-yellow-16.png'); + background-repeat: no-repeat; +} +/*.unstarred { background-position: -32px -48px; }*/ +.unstarred { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/star-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.unstarred:hover { + opacity: 1.0; +} +/*.tagged { background-position: -48px -48px; }*/ +.tagged { + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/tag-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.tagged:hover { + opacity: 1.0; +} +.yellow { background-position: -64px -48px; } + + +.filer-icon { +/* display: block; width: 16px; height: 16px; + background-image: url('file.gif');*/ + display: block; width: 16px; height: 16px; + background-size: 100% 100%; + background-image: url('images/folder-16.png'); + background-repeat: no-repeat; + opacity: 0.4; +} +.filer-icon:hover { + opacity: 1.0; +} + +.icon.dim { opacity: 0.3;filter:alpha(opacity=30); } +[class^="comment-edit-bb"] { + list-style: none; + display: none; + margin: 0px 0 -5px 60px; + width: 75%; +} +[class^="comment-edit-bb"] > li { + display: inline-block; + margin: 10px 10px 0 0; + visibility: none; +} +[class^="comment-edit-bb-end"] { + clear: both; +} +.editicon { + display: inline-block; +/* background-image: url(bbedit.png); + background-color: #fff;*/ + background-size: 100% 100%; + background-repeat: no-repeat; + background-color: #f3f3f3; + text-decoration: none; + opacity: 0.4; +} +.editicon:hover { +/* background-color: #ccc;*/ + opacity: 1.0; +} +.boldbb { +/* background-position: 0px 0px;*/ + width: 15px; + height: 16px; + background-image: url('images/boldB-serif-16.png'); +} +/*.boldbb:hover { + background-position: 0px -16px; +}*/ +.italicbb { +/* background-position: -16px 0px;*/ + width: 9px; + height: 16px; + background-image: url('images/italicI-serif-16.png'); +} +/*.italicbb:hover { + background-position: -16px -16px; +}*/ +.underlinebb { +/* background-position: -32px 0px;*/ + width: 14px; + height: 16px; + background-image: url('images/underlineU-serif-16.png'); +} +/*.underlinebb:hover { + background-position: -32px -16px; +}*/ +.quotebb { +/* background-position: -48px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/quote.png'); +} +/*.quotebb:hover { + background-position: -48px -16px; +}*/ +.codebb { +/* background-position: -64px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/code.png'); +} +/*.codebb:hover { + background-position: -64px -16px; +}*/ +.imagebb { +/* background-position: -80px 0px;*/ + width: 20px;/*16*/ + height: 15px;/*12*/ + margin-bottom: 2px; + background-image: url('images/camera.png'); +} +/*.imagebb:hover { + background-position: -80px -16px; +}*/ +.urlbb { +/* background-position: -96px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/link.png'); +} +/*.urlbb:hover { + background-position: -96px -16px; +}*/ +.videobb { +/* background-position: -112px 0px;*/ + width: 20px; + height: 20px; + background-image: url('images/video.png'); +} +/*.videobb:hover { + background-position: -112px -16px; +}*/ + +.attachtype { + display: block; width: 20px; height: 23px; + float: left; + background-image: url('../../../images/content-types.png'); +} + +.body-attach { + margin-top: 10px; +} + +.type-video { background-position: 0px 0px; } +.type-image { background-position: -20px 0px; } +.type-audio { background-position: -40px 0px; } +.type-text { background-position: -60px 0px; } +.type-unkn { background-position: -80px 0px; } + + +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#ffffff; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#ffffff; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #FFFFFF; background: #3465A4; +} + +/* popup notifications */ +div.jGrowl div.notice { + background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +div.jGrowl div.info { + background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +#jGrowl.top-right { + top: 15px; + right: 15px; +} +.qcomment { + border: 1px solid #EEE; + padding: 3px; + margin-top: 15px; + margin-left: 25px; + width: 125px; + overflow-y: auto; +} + + +.qcomment option { + width: 125px; + overflow-x: hidden; +} + +.qcomment { + opacity: 0.3; + filter:alpha(opacity=30); +} +.qcomment:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +/* notifications popup menu */ +.nav-notify { + display: none; + position: absolute; + font-size: 10px; + padding: 1px 3px; + top: 0px; + right: -10px; + min-width: 15px; + text-align: right; +} +.nav-notify.show { + display: block; +} +ul.notifications-menu-popup { + position: absolute; + display: none; + width: 10em; + margin: 0px; + padding: 0px; + list-style: none; + z-index: 100000; + right: 0px; +} +#nav-notifications-menu { + width: 320px; + max-height: 400px; + overflow-y: scroll;overflow-style:scrollbar; + background-color:#FFFFFF; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius:5px; + border: 1px solid #AAA; + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; +} +#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; } +#nav-notifications-menu img { float: left; margin-right: 5px; } +#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; } +#nav-notifications-menu li { + padding: 7px 0px 7px 10px; + word-wrap:normal; + border-bottom: 1px solid #000; +} + +#nav-notifications-menu li:hover { + +} + +#nav-notifications-menu a:hover { + text-decoration: underline; +} + +.notif-item a { + color: #000000; +} + +.notif-item a:hover { + text-decoration: underline; +} + +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} + +.notify-seen { + background: #DDDDDD; +} + +#id_term_label { + width:75px; +} +#id_term { + width:100px; +} + +#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 { 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 .selected { background:#F0F0F0; } +.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; } + +#datebrowse-sidebar select { + margin-left: 40px; + width: 130px; +} + +#theme-version { + display: block; + font-weight: bold; +} diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php new file mode 100644 index 0000000000..f2f7644dde --- /dev/null +++ b/view/theme/frost/theme.php @@ -0,0 +1,23 @@ + + * Maintainer: Zach P + */ + +$a->theme_info = array(); + +function frost_init(&$a) { + + // I could do this in style.php, but by having the CSS in a file the browser will cache it, + // making pages load faster + if( $a->module === 'home' || $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) { + $a->page['htmlhead'] = str_replace('$stylesheet', $a->get_baseurl() . '/view/theme/frost/login-style.css', $a->page['htmlhead']); + + } + +} diff --git a/view/theme/frost/wall_item.tpl b/view/theme/frost/wall_item.tpl new file mode 100644 index 0000000000..60dde76000 --- /dev/null +++ b/view/theme/frost/wall_item.tpl @@ -0,0 +1,79 @@ + +

    +
    +
    +
    + + $item.name + + menu +
    +
      + $item.item_photo_menu +
    +
    +
    +
    +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    $item.location
    +
    +
    +
    + $item.name +
    $item.ago
    + +
    +
    +
    $item.title
    +
    +
    $item.body +
    + {{ for $item.tags as $tag }} + $tag + {{ endfor }} +
    +
    +
    +
    + {{ if $item.vote }} + + {{ endif }} + {{ if $item.plink }} + + {{ endif }} + {{ if $item.edpost }} + + {{ endif }} + + {{ if $item.star }} + + + {{ endif }} + {{ if $item.filer }} + + {{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    +
    +
    +
    + +
    $item.dislike
    +
    + $item.comment +
    + +
    +
    From f9809102a22222423a1e4ba2ca164bb77c277731 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Tue, 24 Jul 2012 09:16:51 -0600 Subject: [PATCH 40/73] Introducing Frost Mobile --- view/theme/frost-mobile/TODO | 16 + view/theme/frost-mobile/admin_aside.tpl | 42 + view/theme/frost-mobile/admin_site.tpl | 91 + view/theme/frost-mobile/border.jpg | Bin 0 -> 342 bytes view/theme/frost-mobile/comment_item.tpl | 74 + view/theme/frost-mobile/contact_head.tpl | 30 + view/theme/frost-mobile/contact_template.tpl | 30 + view/theme/frost-mobile/contacts-template.tpl | 28 + view/theme/frost-mobile/conversation.tpl | 27 + view/theme/frost-mobile/default.php | 41 + view/theme/frost-mobile/editicons.png | Bin 0 -> 6300 bytes view/theme/frost-mobile/event_head.tpl | 139 + view/theme/frost-mobile/experimental | 0 view/theme/frost-mobile/field_input.tpl | 6 + view/theme/frost-mobile/field_openid.tpl | 6 + view/theme/frost-mobile/field_password.tpl | 6 + view/theme/frost-mobile/file.gif | Bin 0 -> 615 bytes view/theme/frost-mobile/friendika-16.png | Bin 0 -> 699 bytes view/theme/frost-mobile/head.jpg | Bin 0 -> 383 bytes view/theme/frost-mobile/head.tpl | 105 + .../frost-mobile/images/approve-blue.png | Bin 0 -> 562 bytes view/theme/frost-mobile/images/approve.png | Bin 0 -> 475 bytes view/theme/frost-mobile/images/arrow-left.png | Bin 0 -> 282 bytes .../theme/frost-mobile/images/arrow-right.png | Bin 0 -> 306 bytes .../theme/frost-mobile/images/boldB-serif.png | Bin 0 -> 574 bytes view/theme/frost-mobile/images/camera.png | Bin 0 -> 530 bytes view/theme/frost-mobile/images/code.png | Bin 0 -> 488 bytes view/theme/frost-mobile/images/contacts.png | Bin 0 -> 813 bytes .../frost-mobile/images/disapprove-blue.png | Bin 0 -> 568 bytes view/theme/frost-mobile/images/disapprove.png | Bin 0 -> 480 bytes view/theme/frost-mobile/images/drop-blue.png | Bin 0 -> 425 bytes .../frost-mobile/images/drop-darkred.png | Bin 0 -> 416 bytes view/theme/frost-mobile/images/drop-red.png | Bin 0 -> 321 bytes view/theme/frost-mobile/images/drop.png | Bin 0 -> 305 bytes .../theme/frost-mobile/images/folder-blue.png | Bin 0 -> 266 bytes view/theme/frost-mobile/images/folder.png | Bin 0 -> 219 bytes view/theme/frost-mobile/images/globe.png | Bin 0 -> 1055 bytes .../frost-mobile/images/italicI-serif.png | Bin 0 -> 398 bytes view/theme/frost-mobile/images/lock.png | Bin 0 -> 520 bytes view/theme/frost-mobile/images/menu.png | Bin 0 -> 1019 bytes view/theme/frost-mobile/images/message.png | Bin 0 -> 708 bytes view/theme/frost-mobile/images/network.png | Bin 0 -> 770 bytes .../frost-mobile/images/notifications.png | Bin 0 -> 923 bytes view/theme/frost-mobile/images/paperclip.png | Bin 0 -> 821 bytes .../theme/frost-mobile/images/pencil-blue.png | Bin 0 -> 594 bytes view/theme/frost-mobile/images/pencil.png | Bin 0 -> 402 bytes view/theme/frost-mobile/images/quote.png | Bin 0 -> 366 bytes .../frost-mobile/images/recycle-blue.png | Bin 0 -> 1014 bytes view/theme/frost-mobile/images/recycle.png | Bin 0 -> 795 bytes .../frost-mobile/images/remote-link-blue.png | Bin 0 -> 613 bytes .../theme/frost-mobile/images/remote-link.png | Bin 0 -> 534 bytes view/theme/frost-mobile/images/star-blue.png | Bin 0 -> 649 bytes .../theme/frost-mobile/images/star-yellow.png | Bin 0 -> 633 bytes view/theme/frost-mobile/images/star.png | Bin 0 -> 515 bytes view/theme/frost-mobile/images/tag-blue.png | Bin 0 -> 432 bytes view/theme/frost-mobile/images/tag.png | Bin 0 -> 291 bytes .../frost-mobile/images/underlineU-serif.png | Bin 0 -> 454 bytes view/theme/frost-mobile/images/unlock.png | Bin 0 -> 572 bytes view/theme/frost-mobile/jot-header.tpl | 212 + view/theme/frost-mobile/jot.tpl | 85 + view/theme/frost-mobile/js/acl.js | 258 ++ view/theme/frost-mobile/js/main.js | 663 +++ view/theme/frost-mobile/js/theme.js | 224 + view/theme/frost-mobile/js/theme.js.old | 121 + view/theme/frost-mobile/lang_selector.tpl | 10 + view/theme/frost-mobile/lock.cur | Bin 0 -> 4286 bytes view/theme/frost-mobile/login-bg.gif | Bin 0 -> 237 bytes view/theme/frost-mobile/login-style.css | 131 + view/theme/frost-mobile/login.tpl | 43 + view/theme/frost-mobile/lostpass.tpl | 21 + view/theme/frost-mobile/moderated_comment.tpl | 61 + view/theme/frost-mobile/msg-header.tpl | 97 + view/theme/frost-mobile/nav.tpl | 131 + view/theme/frost-mobile/photo_edit.tpl | 53 + view/theme/frost-mobile/photo_view.tpl | 42 + view/theme/frost-mobile/photos_upload.tpl | 50 + view/theme/frost-mobile/profed_head.tpl | 36 + view/theme/frost-mobile/profile_edit.tpl | 322 ++ view/theme/frost-mobile/profile_vcard.tpl | 51 + view/theme/frost-mobile/prv_message.tpl | 39 + view/theme/frost-mobile/register.tpl | 78 + view/theme/frost-mobile/screenshot.jpg | Bin 0 -> 89002 bytes view/theme/frost-mobile/settings.tpl | 144 + view/theme/frost-mobile/style.css | 3847 +++++++++++++++++ view/theme/frost-mobile/theme.php | 23 + view/theme/frost-mobile/wall_item.tpl | 82 + view/theme/frost-mobile/wallmsg-header.tpl | 82 + 87 files changed, 7547 insertions(+) create mode 100644 view/theme/frost-mobile/TODO create mode 100644 view/theme/frost-mobile/admin_aside.tpl create mode 100644 view/theme/frost-mobile/admin_site.tpl create mode 100644 view/theme/frost-mobile/border.jpg create mode 100755 view/theme/frost-mobile/comment_item.tpl create mode 100644 view/theme/frost-mobile/contact_head.tpl create mode 100644 view/theme/frost-mobile/contact_template.tpl create mode 100644 view/theme/frost-mobile/contacts-template.tpl create mode 100644 view/theme/frost-mobile/conversation.tpl create mode 100644 view/theme/frost-mobile/default.php create mode 100644 view/theme/frost-mobile/editicons.png create mode 100644 view/theme/frost-mobile/event_head.tpl create mode 100644 view/theme/frost-mobile/experimental create mode 100644 view/theme/frost-mobile/field_input.tpl create mode 100644 view/theme/frost-mobile/field_openid.tpl create mode 100644 view/theme/frost-mobile/field_password.tpl create mode 100644 view/theme/frost-mobile/file.gif create mode 100644 view/theme/frost-mobile/friendika-16.png create mode 100644 view/theme/frost-mobile/head.jpg create mode 100644 view/theme/frost-mobile/head.tpl create mode 100644 view/theme/frost-mobile/images/approve-blue.png create mode 100644 view/theme/frost-mobile/images/approve.png create mode 100644 view/theme/frost-mobile/images/arrow-left.png create mode 100644 view/theme/frost-mobile/images/arrow-right.png create mode 100644 view/theme/frost-mobile/images/boldB-serif.png create mode 100644 view/theme/frost-mobile/images/camera.png create mode 100644 view/theme/frost-mobile/images/code.png create mode 100644 view/theme/frost-mobile/images/contacts.png create mode 100644 view/theme/frost-mobile/images/disapprove-blue.png create mode 100644 view/theme/frost-mobile/images/disapprove.png create mode 100644 view/theme/frost-mobile/images/drop-blue.png create mode 100644 view/theme/frost-mobile/images/drop-darkred.png create mode 100644 view/theme/frost-mobile/images/drop-red.png create mode 100644 view/theme/frost-mobile/images/drop.png create mode 100644 view/theme/frost-mobile/images/folder-blue.png create mode 100644 view/theme/frost-mobile/images/folder.png create mode 100644 view/theme/frost-mobile/images/globe.png create mode 100644 view/theme/frost-mobile/images/italicI-serif.png create mode 100644 view/theme/frost-mobile/images/lock.png create mode 100644 view/theme/frost-mobile/images/menu.png create mode 100644 view/theme/frost-mobile/images/message.png create mode 100644 view/theme/frost-mobile/images/network.png create mode 100644 view/theme/frost-mobile/images/notifications.png create mode 100644 view/theme/frost-mobile/images/paperclip.png create mode 100644 view/theme/frost-mobile/images/pencil-blue.png create mode 100644 view/theme/frost-mobile/images/pencil.png create mode 100644 view/theme/frost-mobile/images/quote.png create mode 100644 view/theme/frost-mobile/images/recycle-blue.png create mode 100644 view/theme/frost-mobile/images/recycle.png create mode 100644 view/theme/frost-mobile/images/remote-link-blue.png create mode 100644 view/theme/frost-mobile/images/remote-link.png create mode 100644 view/theme/frost-mobile/images/star-blue.png create mode 100644 view/theme/frost-mobile/images/star-yellow.png create mode 100644 view/theme/frost-mobile/images/star.png create mode 100644 view/theme/frost-mobile/images/tag-blue.png create mode 100644 view/theme/frost-mobile/images/tag.png create mode 100644 view/theme/frost-mobile/images/underlineU-serif.png create mode 100644 view/theme/frost-mobile/images/unlock.png create mode 100644 view/theme/frost-mobile/jot-header.tpl create mode 100644 view/theme/frost-mobile/jot.tpl create mode 100644 view/theme/frost-mobile/js/acl.js create mode 100644 view/theme/frost-mobile/js/main.js create mode 100644 view/theme/frost-mobile/js/theme.js create mode 100644 view/theme/frost-mobile/js/theme.js.old create mode 100644 view/theme/frost-mobile/lang_selector.tpl create mode 100644 view/theme/frost-mobile/lock.cur create mode 100644 view/theme/frost-mobile/login-bg.gif create mode 100644 view/theme/frost-mobile/login-style.css create mode 100644 view/theme/frost-mobile/login.tpl create mode 100644 view/theme/frost-mobile/lostpass.tpl create mode 100755 view/theme/frost-mobile/moderated_comment.tpl create mode 100644 view/theme/frost-mobile/msg-header.tpl create mode 100644 view/theme/frost-mobile/nav.tpl create mode 100644 view/theme/frost-mobile/photo_edit.tpl create mode 100644 view/theme/frost-mobile/photo_view.tpl create mode 100644 view/theme/frost-mobile/photos_upload.tpl create mode 100644 view/theme/frost-mobile/profed_head.tpl create mode 100644 view/theme/frost-mobile/profile_edit.tpl create mode 100644 view/theme/frost-mobile/profile_vcard.tpl create mode 100644 view/theme/frost-mobile/prv_message.tpl create mode 100644 view/theme/frost-mobile/register.tpl create mode 100644 view/theme/frost-mobile/screenshot.jpg create mode 100644 view/theme/frost-mobile/settings.tpl create mode 100644 view/theme/frost-mobile/style.css create mode 100644 view/theme/frost-mobile/theme.php create mode 100644 view/theme/frost-mobile/wall_item.tpl create mode 100644 view/theme/frost-mobile/wallmsg-header.tpl diff --git a/view/theme/frost-mobile/TODO b/view/theme/frost-mobile/TODO new file mode 100644 index 0000000000..296370d18d --- /dev/null +++ b/view/theme/frost-mobile/TODO @@ -0,0 +1,16 @@ +Photo album display? + +- The "lock" icon for private items + - change it to black? + - when clicked, the popup window displays poorly + +- Edit photo page: bottom buttons are off-center in Dolphin Mini + +- Pager: looks weird when only "prev" is there + +- BB code buttons for status updates + +- Get "add contact" back on contacts page + +- Admin: access to more pages than summary? + diff --git a/view/theme/frost-mobile/admin_aside.tpl b/view/theme/frost-mobile/admin_aside.tpl new file mode 100644 index 0000000000..b17addda38 --- /dev/null +++ b/view/theme/frost-mobile/admin_aside.tpl @@ -0,0 +1,42 @@ + +

    $admtxt

    + + +{{ if $admin.update }} + +{{ endif }} + + +{{ if $admin.plugins_admin }}

    $plugadmtxt

    {{ endif }} + + + +

    $logtxt

    + + diff --git a/view/theme/frost-mobile/admin_site.tpl b/view/theme/frost-mobile/admin_site.tpl new file mode 100644 index 0000000000..ff7c9bdb16 --- /dev/null +++ b/view/theme/frost-mobile/admin_site.tpl @@ -0,0 +1,91 @@ + +
    +

    $title - $page

    + +
    + + + {{ inc field_input.tpl with $field=$sitename }}{{ endinc }} + {{ inc field_textarea.tpl with $field=$banner }}{{ endinc }} + {{ inc field_select.tpl with $field=$language }}{{ endinc }} + {{ inc field_select.tpl with $field=$theme }}{{ endinc }} + {{ inc field_select.tpl with $field=$ssl_policy }}{{ endinc }} + +
    + +

    $registration

    + {{ inc field_input.tpl with $field=$register_text }}{{ endinc }} + {{ inc field_select.tpl with $field=$register_policy }}{{ endinc }} + + {{ inc field_checkbox.tpl with $field=$no_multi_reg }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$no_openid }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$no_regfullname }}{{ endinc }} + +
    + +

    $upload

    + {{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }} + +

    $corporate

    + {{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }} + {{ inc field_input.tpl with $field=$allowed_email }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$block_public }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$force_publish }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$no_community_page }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$ostatus_disabled }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$diaspora_enabled }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }} + {{ inc field_input.tpl with $field=$global_directory }}{{ endinc }} + +
    + +

    $advanced

    + {{ inc field_checkbox.tpl with $field=$no_utf }}{{ endinc }} + {{ inc field_checkbox.tpl with $field=$verifyssl }}{{ endinc }} + {{ inc field_input.tpl with $field=$proxy }}{{ endinc }} + {{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }} + {{ inc field_input.tpl with $field=$timeout }}{{ endinc }} + {{ inc field_input.tpl with $field=$delivery_interval }}{{ endinc }} + {{ inc field_input.tpl with $field=$poll_interval }}{{ endinc }} + {{ inc field_input.tpl with $field=$maxloadavg }}{{ endinc }} + {{ inc field_input.tpl with $field=$abandon_days }}{{ endinc }} + +
    + +
    +
    diff --git a/view/theme/frost-mobile/border.jpg b/view/theme/frost-mobile/border.jpg new file mode 100644 index 0000000000000000000000000000000000000000..034a1cb63b65268d78567f19cd2a0416f7b06509 GIT binary patch literal 342 zcmex=LJ%Z3brsR%R9! z7G_o;!OF_Y#?HgR4g~z%+?+gu{6a#4{DOkQVlv{wB2uD)f)a`nQnIr0^76vsN-9cn zDl&5Nav(z(fm+$w*!eg(_~b+cMdU~Z{|_(-axfGyFfubLF)#@-G7B>PKf)jmaz7&j zGGJk52TF(upo=pIC4w}7)T3%(WMT$Nhzg% f9U_4e8jYbYT*|B>4vQSR6atx6%@A>8_ + $(document).ready( function () { + $(document).mouseup(function(e) { + var container = $("#comment-edit-wrapper-$id"); + if( container.has(e.target).length === 0) { + commentClose(document.getElementById('comment-edit-text-$id'),$id); + cmtBbClose($id); + } + }); + }); + + +
    +
    + + + + + + + +
    + $mytitle +
    +
    +
      +
    • +
    • +
    • +
    • +
    • + +
    +
    + + + {{ if $qcomment }} + + {{ endif }} + +
    + + +
    +
    + +
    diff --git a/view/theme/frost-mobile/contact_head.tpl b/view/theme/frost-mobile/contact_head.tpl new file mode 100644 index 0000000000..427f541588 --- /dev/null +++ b/view/theme/frost-mobile/contact_head.tpl @@ -0,0 +1,30 @@ + diff --git a/view/theme/frost-mobile/contact_template.tpl b/view/theme/frost-mobile/contact_template.tpl new file mode 100644 index 0000000000..c27060bb39 --- /dev/null +++ b/view/theme/frost-mobile/contact_template.tpl @@ -0,0 +1,30 @@ + +
    +
    +
    + + + + $contact.name + + + {{ if $contact.photo_menu }} + +
    +
      + $contact.photo_menu +
    +
    + {{ endif }} +
    + +
    +
    +
    $contact.name

    +{{ if $contact.alt_text }}
    $contact.alt_text
    {{ endif }} +
    $contact.network
    + +
    +
    diff --git a/view/theme/frost-mobile/contacts-template.tpl b/view/theme/frost-mobile/contacts-template.tpl new file mode 100644 index 0000000000..76254c1ca8 --- /dev/null +++ b/view/theme/frost-mobile/contacts-template.tpl @@ -0,0 +1,28 @@ +

    $header{{ if $total }} ($total){{ endif }}

    + +{{ if $finding }}

    $finding

    {{ endif }} + +
    +
    +$desc + + +
    +
    +
    + +$tabs + + +
    +{{ for $contacts as $contact }} + {{ inc contact_template.tpl }}{{ endinc }} +{{ endfor }} +
    +
    + +$paginate + + + + diff --git a/view/theme/frost-mobile/conversation.tpl b/view/theme/frost-mobile/conversation.tpl new file mode 100644 index 0000000000..43b4d63ff0 --- /dev/null +++ b/view/theme/frost-mobile/conversation.tpl @@ -0,0 +1,27 @@ +{{ for $threads as $thread }} +
    + {{ for $thread.items as $item }} + {{if $item.comment_firstcollapsed}} +
    + $thread.num_comments $thread.hide_text +
    + {{endif}} + + {{ inc $item.template }}{{ endinc }} + + + {{ endfor }} +
    +{{ endfor }} + +
    + + +{{ endif }} diff --git a/view/theme/frost-mobile/default.php b/view/theme/frost-mobile/default.php new file mode 100644 index 0000000000..c0f5de516e --- /dev/null +++ b/view/theme/frost-mobile/default.php @@ -0,0 +1,41 @@ + + + + <?php if(x($page,'title')) echo $page['title'] ?> + + + + + module === 'home' ) { ?> +
    + +
    + module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) { + ?> + +
    +
    +
    +
    + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + + + + diff --git a/view/theme/frost-mobile/editicons.png b/view/theme/frost-mobile/editicons.png new file mode 100644 index 0000000000000000000000000000000000000000..171a4087655a3dd1c2724cce699fb5e228a1206e GIT binary patch literal 6300 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 + + + + + + + + diff --git a/view/theme/frost-mobile/experimental b/view/theme/frost-mobile/experimental new file mode 100644 index 0000000000..e69de29bb2 diff --git a/view/theme/frost-mobile/field_input.tpl b/view/theme/frost-mobile/field_input.tpl new file mode 100644 index 0000000000..58e17406c0 --- /dev/null +++ b/view/theme/frost-mobile/field_input.tpl @@ -0,0 +1,6 @@ + +
    +
    + + $field.3 +
    diff --git a/view/theme/frost-mobile/field_openid.tpl b/view/theme/frost-mobile/field_openid.tpl new file mode 100644 index 0000000000..8d330a30a0 --- /dev/null +++ b/view/theme/frost-mobile/field_openid.tpl @@ -0,0 +1,6 @@ + +
    +
    + + $field.3 +
    diff --git a/view/theme/frost-mobile/field_password.tpl b/view/theme/frost-mobile/field_password.tpl new file mode 100644 index 0000000000..7a0d3fe9f4 --- /dev/null +++ b/view/theme/frost-mobile/field_password.tpl @@ -0,0 +1,6 @@ + +
    +
    + + $field.3 +
    diff --git a/view/theme/frost-mobile/file.gif b/view/theme/frost-mobile/file.gif new file mode 100644 index 0000000000000000000000000000000000000000..7885b998d578d4523103e1f5dfbcd8133a7f0fe7 GIT binary patch literal 615 zcmZ?wbhEHb6krfwIF`)7#xKb(Aj2uD!Xs-asNo`J94_scC*xeG;M1rUF;y*cx?0ps z_2^mZF>^Fx=V~P{*G^rfleShbd#hf~c7uYwhQ)`B%8nbAoir{#Wm{SZR^k3H=J{9Jm=JO-lh4xYs&@q)(f6(7rfdp`gC0M@46J&eJQBta!B9h@CjEU zCtit~bTwx3)z~T5;-_9qoOUf~`t_6<*HdTSNS}2hbM}p#xi@p?-O8VTt6<^nlEt^n zm)@yZcDHury{0wy+t)wn*zmAxdicePqc2w-f4Szw%e5z8tv~f@)0x*>&c5Dp;q9)AZ+BmMxA*e9{a4-{xcdI^ z^$$mHd^mpV!>KzTPv8A?_TH!S_doro4N&~a!pOx?&!EEq1fV!!U_a7O-_+dF+SU>! zFQMYz-Xh@HBp)OYX*7MhPg@W#w~=pBQbN3eZz~TMmqFs9_?SQ)4OK-ssb;;n#j&A* zd-rW?(vFUgwX!ldG1S#kSCW^J(hQGrGYyNp5g8E{5^SNR78+&d5VFtD$HU2(Cq_BY z%_KY^(BH??#leP8tzN;;s4bxJl1t}A1>2$$i-f1=+Y}7fSVT6ZoamP|_An?=&^XL3 nuk6%xBcZXWg@e6|V^=`pp=K5i9uWlt2ZjcQz9KFz76xkoO@B#U literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/friendika-16.png b/view/theme/frost-mobile/friendika-16.png new file mode 100644 index 0000000000000000000000000000000000000000..1a742ecdc1016e7033e78e37fbecade08fef6d50 GIT binary patch literal 699 zcmV;s0!00ZP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L03itg03ithOzq;@00007bV*G`2ipS$ z1Ro(nX?n5%00KKnL_t(I%Y~9nh>c+s$A9O2-|OCCKFWd^Wr4v0`G~T$Ae$*+uPn_* zN>i3(p=38qlogSkm8^({Bw6{GjAABaW^%t~?!C{)-{PHnXGY=Fd7jgG&iOshbIvh< z7~>{0+YWS*i-5R9!ykJYm^8C*nWTds#wSL8PQKl_s^|#85xggaR>ua%i+2&%+mCmS zR=vWOzU+~t)As4p#L4kD5AGd4P(;qjPDC%)CFD z4PUsl;p&-gsDwOO4#{KD0e%4#7@tT8>#8`{!UYlf2K4mGxgFX4ySG{wPwaz2kD&na ze4BAp>rE7Mz{*nO<9HVusN!9dD50!mGXZ4)uKF43Szf*r&R+h(gVGt)sDbi|_H68< ztJwm9nSlgA1`7@|zyK&Du=d~)Vs(b)qIO6}vPE<8M1r7%NYc(zk^qWkW`6@LNED|A zyE)o_ljs@%l!}QB-B=OXeauk&4*)o{w+9$obaWd-Q{4%BjtfQmCqM#ASpL_vJ)D15 zU@1WPVu>;OaE@oM%AN3H29;my={3v4P=}PYZ*?(;q!>?LmU%w-oKXJRdDiOvo>(u_ z?rTg79YAfmlCrLmNiwqpTEVdCuUNZ{5<;XBk^sq?H2_O`O58bry^1g@b3xTw#0LnC zI=(rNZ`5<0ui@rvxcREQb2j_LJ%Z3brsRu&*& z29a#6tZW>-931TI90J@toV>yUBEmufLP8?qvXUZVGGanPQp!>?a`K9biXxIK>M9Cq zvI>d{AVU~g+1NPPIrup^_!UHjL={K|{|_(-axl~|urf0$F)#@-G7B>PKf)jhc0V%% z5@2RyWaj`%DF^_4#>m9Zh>#OvViaUy6%7muopcGPLIUV_koOUQiIJIs1tcSgF2f)w z%*gcr76T76BhYqcK?ZwT%fkrCN0aq{`U e%N;)te=@#)^7-|oFLP{6q$G}S_`JRT|4jhcT}_Yx literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/head.tpl b/view/theme/frost-mobile/head.tpl new file mode 100644 index 0000000000..a5bf0ac8b1 --- /dev/null +++ b/view/theme/frost-mobile/head.tpl @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/frost-mobile/images/approve-blue.png b/view/theme/frost-mobile/images/approve-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a13668a503af5cbb52ed3e70f80f69c673b522a1 GIT binary patch literal 562 zcmV-20?qx2P)MH000009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pm6$CUe<~3%{0005eNkliPsM3IJ}CH}mVN`r2L(UeW^C7>;FE2}zE=*9(>%hlHl}Bl!s9gGj5!Ro zn3nORGI*TkV_3w|HsufdmMekBX}$^PyG&W= zb+7e!K8@{N?5}#=sL`j_P2}hnIzQr9Xm1GhZ~Vb0yu-~biSmBo)3{wiQ2K@=jXuDm zc!QlKMa88?kKiHP!6_xG5vTbK;==g|XLByphj0-mm8(a?xY7cKy*P{eA(&L53(Yp* zRc%zQCYtKgY@P72y5K7~Qy2V2mP8Nhf{({(UfXLQ!DLMH000006VoOIv0RI60 z0RN!9r;`8x0gy>VK~z|U#nwA(6j2z)@!zh*7$cITkYJO-%6P$2&{To_41yLmeh00> z7QtQuegjdou+h#7Xl0d)U=pwpBnlc(k|x)&m|ZeiW@j_z%$^4x=A1K}_dj!P?;)J# z@eNI!3K+Mi29ad^q@VB$9q@fj_Ucp*1fS@r*D%#D`1PE&^ZkN1a@sZn#V*tp>^eN> z38t$CpT@@=@Vbh(+bG`UfD_DA2|kO@UBDX{s}kPq0#5L#O7IYV6~KG$@8jrR0XR`& z$ZI9Rbu1}9I=^GPRUT+Pccj~K4Xc=I#VMsbivRkk{)3BUz$5q>2%g~0QNbthG$6Qb z53r1{8Gn$b$sydtiweN+Nf$@n%ck_)4h?Pla^1m-?9|CF?V)rjR7(9HJ&Xw-jRoJw z?O5;yyp9E*6mi%G(TD}#!eR{g9&X`F4ES@rB;38djDEBWG2oxFl~wr%|6OSgzmI2F zk>ox#-rgAk RiH!gN002ovPDHLkV1f}w+X?^x literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/arrow-left.png b/view/theme/frost-mobile/images/arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..a312cfa71eeca15d76bc2f14fdf1b6ed752b2d04 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt`VJzX3_ zB3kd>*vos!K%nj6cjFDrqAY5Oky0-r6m*(gu03#HrZ6$a<-|chy^~+J$^ZO*Zh}~~ zr|JgJH|m@Lo}VV=iA{)Q_#igH?7)Hv@ePg&h7AIn-Z2;Svs664!x<65JS~mE^Z8B2 zE={H|P3Bds1+3d9zLlTUcfeSDk+wp#35PL5!)nH*q6`kE4-!}#-WQn|2Sz9zsPON3 zRq}_sl3Cny{TeN+doybH%v#($M;=*Cy}Z&2}lt z^%GCRbPGSB2TnmM(%c^M3*=H}b8nDgNNL@}l+vi9#4y>J>-il+A;n3FULIfD|8S)k zM|YH;3)STEWNpxHP+IhRR*G&Wzd}i`%1V(V?H9i&o?~FxV%$`gxh8Ek)@d)0&=beIamUiPn4PN&nUJYz A5dZ)H literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/boldB-serif.png b/view/theme/frost-mobile/images/boldB-serif.png new file mode 100644 index 0000000000000000000000000000000000000000..78ce59a5473d8e6a9ff5dfd97867cb0ebd07e6dd GIT binary patch literal 574 zcmV-E0>S->P)MH000006VoOIv0RI60 z0RN!9r;`8x0rN>jK~z|U#n(@WjZqlK@z0&EA?6w*MY0gWu#goCOIb--SXi*NQdZbV zX_i)s1(}_l@@K1rq?95`G-jbFnbFLo2;;pL@40o|dG9&q&YV2;bniL8^E}_@bi3y~ zr-sMap?7Oy8ow}!cfp^8+&^Q%_d|jlK8?%RPzA1q&jD-=ej2;G6grCsZQ~^v!f^QB z&A#I}ZbsIC8;PA%*$SKrkZ!RB_UC}N>}VvmiPt&dHH;++*wtFxm#So**2JU4nw`1e z@FAhE$_Z~K^r@Wi^$Gp?|AN25n_Tc^*cZ{yw+|K@eh!0Ow5zz4O3=&yd>Er$VhUVT zvC(>}k`8NNykl++R#vPna1SHO+ii}`7v6_W|FEvWodBH;am7O6zwx4DuA$udx{e|b z2ZsseZ+;1%V}M@I_8}a>(@6Xz4(5Qjtd8rE9J4r-3l9Bw8_DwpgE>w(%D(MNL|=^) zx!~|Hp&!Tz|CrD>=7dLEW(?$nFHh*7a>6$!^zoeVJqi78E_e;cBKibw=YpTq)*@Hf zSaxS(u0{<6CA{ggTo`jwBt&e%rVcm`jCk16l{XUcc_oJIov0Bd;hsNYzPPXGV_ M07*qoM6N<$f-a35@c;k- literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/camera.png b/view/theme/frost-mobile/images/camera.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5935b7c03ad578105846438f2915e0164f91ab GIT binary patch literal 530 zcmV+t0`2{YP)X1^@s6zs*Ol00006VoOIv0RI60 z0RN!9r;`8x0mn&1K~zYIz12Ny6j2n$@!y)b@gokI%jqV4;*G@=YO8_%)QG!#A7oq z;1$-f@t0iB-k;C-Mq>nz`!w#CkFcpp6Q^q$$n#W0JnHmBEz7^78-ZHcbyRZQ#iX?S z#n^}O0Ze?u%hGQ>yvIE5WzX7JFxYYrn@`Xl!9|=K;47PmY5Z(q5mPmbpW;4V;3IZm z1}AZ(rq&{9Pom4Wg5wpUbNEn0v!@394xQlFO=WyYyOrHkMGuFi<X;Y^9U8`KX$vjyQp{yjSm7T9A=nrIhPcLtq*s# z#9eOE#8>PpHR$3Yo=X$4JhmsLDcYEc4QXC%6^m^dAJq-Pyhe`07*qoM6N<$g0w65(EtDd literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/code.png b/view/theme/frost-mobile/images/code.png new file mode 100644 index 0000000000000000000000000000000000000000..d490cea9da2f8ea85eed828490fa85102dfc1d58 GIT binary patch literal 488 zcmVP)FXxQD|i-Yf8C@h5o8S*#cP->@`}_&oL_ zdALd@o&@IvQjwuhu)oGfY>B6L_4t9^f3i zxKl828)w14e+lOD)+uWAAq6ywd z&bx;ENxaPTj)arCqgq#Pt(*82{D%z;EJ`PwYwZjP%j%D+E8S@wR)f>Wt%CT1^tR5k z+CAwlPE^U$(yKkq$QRNT<=Bn*hk}7Esk^H6`cfCp6!OeT{akIWd`?`$kBDs)YULfb zFU_IGSdu1Por#s$Ka<*Yl!-%W0$&LoY4+!T$4(SK7?IzV{+_1YRz&_A?n%GqgE8}3 ev}n=d-^E{8+LUv1SXk)*0000FN5q>Z`A2;2#g^w%NNN4T` zc8otAr<8sz<)m_J6?eQrb@I7sw-c*Q%cn#Nj0q&UiCd|pxUs&N=g}FZ{hHE`BPrI3 z_U%ak$=}D=Zx|^l-TUN!A1roiv5eduMrXHyF-&JrTYm*iML^*2Xwk5zlsxB$--)u8 z&#SWm#0a6R=aNQB=?p6ABmE=*RRtsUBrUz#Qj*ymh=9q9LuZLzGYl7@_X7Yl3PI&B z>dgQERC>f|!QtlxfKX^1u5y_GE>e)@08qwx>U#^=Y?#I=rMELkP&@WR5s0x9WruT8 zN-vu>5!vbokyBu;wza5Lh6qOM+0TVdU^hG6&VY7X5o!5nP8~oMFnNlIXnW>OJa7+q zm9M^Uy@)8*SP?Pc%@79+A)3a$E-})4ukSiV0Pq%YknAu3)!G(=$}C5jfP@1q$+!Uk(GV|frY8dXz!Tsdu+tHl_K2Vka0G9Mq*zgtBM@y5r9J|W^QoJl zc6!!_?8j0V*VdPo6k{8CGCh^xfKR}OiPY8hE(!L8Py?v1GdZA*Jh}!4QVWc`N-N5T za-f3%Y{O=!H@b2Is-JPDpsF098sb0{&}JFRz#H_8Q#XEB!PNVyttrvp4Q$km`r z=tKd<5pgiY0Tn}x+8~x$0sxaW#e%VIX=#^Xlg+lLuCF?(yr+XOAViu>2C+;47yGQB zYU_?WONcH>7&VirxbB-^Zc+x7+eCdt}M{P)MH000009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-pm6$Cju#7V&m0005kNkl z;{yqjsLcq&GPBtvlbsKyIp5*_=bkxt=1fhWTJ7XCuH!fkU=LRDJxy6gFLQmxYs_Ol z4$)H1nx}B2FWjm1C0)h?G;Cb&kfb;B5KYYG7{vSMP;C#v8IZVbO`jv@I7M1;RiQr{i z>H`ma=C|;nB>3$(L~n;puBBhKLuuEK;~;isdSWG$dvw5BOE?^d=;ylN!>ZLzde~cF z-;F~Q)_c^31&?8OfxUwJo0(+R(uD!}({YFvw*=m5CkMH000006VoOIv0RI60 z0RN!9r;`8x0hLKaK~z|U#n(Se9B~lF@z2Q-Lk+9~hRK8Ghdz7=HU~ zNwZ$!9VYMy{kXan4Y^8V(_37kc8~ajPgue*UM2L^hXK#S z3GV}Lj48|})w?3_7l{7OT~XLzC&5wpB<72NKg1e(ihz$`pwr+wyn?-=;5BR(1%HO= zqTs6vShhNRzX)(0zEC9mH!gByTqhOE_<#o)1HWP!-vtA%V?0v7!Dl#@?VD^viUt0d zA@~eW+XWNc?SC_ZFQx&P!sn1+>&NjJytyA!d<|{K3x7!Z9ij{_3ZWl_NN|?j8!1MKGap*0{ Wcg7c)xe}D$SX=Pkzh=^prAC#`V_6MOOz!~BQxP}x}-vG!rq~2SOHi6+KTpAHWOA-su8+ z0Av+lMFfCY0RWKLMj_c5tv-CFz-aYm14J_uaj%JI?vCV1=R{i8!}n6n8sCX|)ZLK; zxJ6$9j2lyP)lMV<>WMF-RqhEn0YDs;RV+2;@zr(|eMdAMSTw!pkzF}r_&;$0Hs-_O Tnrpiq00000NkvXXu0mjfsVbpR literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/drop-darkred.png b/view/theme/frost-mobile/images/drop-darkred.png new file mode 100644 index 0000000000000000000000000000000000000000..9657d11387ec42093f3e902207a1808ee77175e4 GIT binary patch literal 416 zcmV;R0bl-!P)rsR-6b0aO=z%tt zB4nGehK$;Z6MC=+um{mDmLiUS&|zId9>gX2%aDBJ=5a5;N|RJuV32e|h9;@8Krg8d zeWA9%XaQN^vKKM~E^~h$YY_egbmRbFIq+npmgHv&pd)(#%YjEDok>nN2nQe;;sC5d zxB&D3nvH&gA(Bq>2W_o^UkC#M!H__}HN*lvfHor3PDmu+rw#PPE*O#sn2dC0z#{TO zb^*wdfvb6|qvwu%-7}Mn*jBmPO(+?;zq12Y5&sBr?kXmpcqxDfl3!~Nx#Q@~0`MX- zK)e6|sC>PU9F6pnG6hC@@&SsOiL%$kJ$FZSr*oq2$ahz&Sl)?w)ZI~KxJ4fUOp&3v zDkrK8`NW%%+C)eL0A*xWrR12$XWK>89mP~&N7tf7ROKk)|HL<(;lg>mY^NRo0000< KMNUMnLSTZ_jHjpo literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/drop-red.png b/view/theme/frost-mobile/images/drop-red.png new file mode 100644 index 0000000000000000000000000000000000000000..91b0260ce1c9f859d04514df1acf718b8a319752 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!fuTw^qcmeJVhq2c9mDArXhK-gqc@NP(yAVSZ;{;_kj(T6}@m6FRTkfAw2E zMI_1b-4DrkJ122_F4gCjn2>isqn*{qgHd7)Bl9I$&Lt7tkqm{F`RAO%7_t<#86rKH z0(d+bE=^!HP-iN0ZYX5_z-h>IMnL(2Y?DY2W8?|H1I6uk?#@(fZQ$^krgF+@72~m- zdsZ(VeN@d>+`-7#bmR5eeudxK>y1^I)Ge?5d(7ZBq3Qtllc<)4%`(!Heyk6_=o>W6 zdDivLXQG>b-oE%pH20o=$;HU8my)-=-?n>(^{$x*cFlC%J@Zub-}w~`vzI@WTenhe Q1<zopr0KA@h>;M1& literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/drop.png b/view/theme/frost-mobile/images/drop.png new file mode 100644 index 0000000000000000000000000000000000000000..af38adf5e16e2a88a11bc370a9ca3413a0bd5e0a GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt`7JY5_^ zB3jShxX9aVz{7H3x1y0-;@oYkFDbr|ifsDVFvY9!R_DVk&3KKA!3ur60sStYSQBnk zzU!U%ghe4zU1d`KB<_{!C>_uw{bCqKMg1K*+D%xL8naf%DbhfdA z?@V){NsM>)Gzopr01wG| A5C8xG literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/folder-blue.png b/view/theme/frost-mobile/images/folder-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..6af9bbec0d4fec502bb2af4c00627662f412a5ab GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$oCO|{#S9GG!XV7ZFl&wkP>{XE z)7O>#4!bD7x=`Hv&PbrpN>3NZkch)?uiJ7RGGJ(Xcs=3^i)~|UHS0&AUC%`3-eozd zX=R~hQOUwTA=0Kz;csE#MaNr{E^*!GzA5x+!UV+ySJH)F|KW>Zes+8h`-ZcdzuXXC z#ITI_nO$S(yrtJKa9kE(Fkn7+?dKAHm)S`VlIHe1$GhK6yvw_T{l1yT5Z> zywvlc_1y6W2M)y+0Vg2wquRxC!@`aR+YOR0LbM(%ct8KwJJ#xlGPBO9Jq-Xln!(f6 K&t;ucLK6T=uV%;q literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/folder.png b/view/theme/frost-mobile/images/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..86dd21029a453274a905099534bd0b89909f8b60 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^iXhCv1|-9u9Lfh$Y)RhkE)4%caKYZ?lYt@=JY5_^ zB3j>G-pF~#L8RfK{v)ou2SR*{Ufkw9xbh~-}7$A_rijd zo9Uuu5y{sI-}UMCB|A!Ov0Zj7OUFgt;SBHTOC4hAI&CZ=@4NTEZFEjpmB8jLpD+DFN zhc09$-H0-}&_fq`u^^K!rX=0y3T1S$pi(RHVJI@QvQR6#(1?&_HDYwfl6+I#JF*{4Hwbf6#SVkV~J2poz%_zhp<6Rg8$sEtB@Tl8Wnwk4%i$2KfM zPuT(;CH#34WyTaS0jmt(+2?o*-{Usnj%JvO zy+)qQN{p{+z+w0x6W)w7@pD?>)#s|$wq=W*)ivCWG^t-u&z}dnbmt_X*$oR`}x@sF5O5f>38LnYriBJ!INpn|Y z3fAIs{3#-2q3YH4we%g75ick)q8qQ^DNMsLi9Sc=SyV@)~pi$f&&FKH1#G(=- z7A6ICCBJJ_#r$rZmnk0<5%e&w5b2;Bn?&}lVX#YdM2CpuZH7+Vj=Rv6(I*M_tP_>@ zczlV8!r$XW#q7llyqFgKMK30?m^j_&PN6=AFbj8MMU&0V%I2O* zT$XPV;km-(i5k^)EQYMX^CGw8cqYx+k`tFC;sKGCb1cXde>VnW1`7I4#=nVoZO-Ts z^}Qyt-9Z_zLzMcr@wlj(?b^5ExH{7{F6pm{hIvGKzc>?IUSt+9O?eAf!%K!gD;~;t z7qwEpGMm({je|Q%4A>^}M;$k0ycO*fcN^YqKcac1gu}JJBWu&VPCSs&OS^3%%dO9Z zHc4UB1asOLu~WRra<{!JvU4SjH{3P#a68NJn7^il0eeKFoIipdQ{e=fVXj8hN|6ECcOk#P32xuoXnGu#i}sMQ)hcom(XXTiop2Z~r?p%x36z1`Lfo%Zi4vu?l)vFfdQI-R{9#tM#8(0^Y3h{P$E4z?*7&fG3>X2&o|6}>2V6<#4+CXK>0G^AjsO4v07*qoM6N<$f(TirTmS$7 literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/lock.png b/view/theme/frost-mobile/images/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b8cd20e0abbfdbfda68fb9a8ca96499a818e1b GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^ia>10!3HElj1GJOQfx`y?k)`fL2$v|<&zm0825U* zIEF;DzP(|aE#fF~;N$(3F3E}>S5&g5p9&Yq&b<=$N2sYcqU%-!$2GA!0egon!5aic zOj3K?CeIO?9V}d=-tf&mA9v%jhcbE(Mbb9%%YWcI z|AFE2k6Q-c1Jnw5WB;rvEG^vHCC%-=F<^7W9Td@rY_?h9H)RITU;X4sFIxY-a}@gD zqBK!cXr`?5vF{Ho(hPc;uhzQ#y5yIve{G}I-^EcYZ)IPtU3zM>s%*@A?E)rs_nE%V z^Ssx;H(gV?4=|$AZ<9cXDPP yo^5{U@7q0^=iX{&GF39mm><4-;a<s4Q^D?%u9)1dpS_V&7KbLh*2~7Z4u;;1( literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/menu.png b/view/theme/frost-mobile/images/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..44d5285fe04ff6807dc6b88521839204fa3e0bdd GIT binary patch literal 1019 zcmVSPD!JvIiw0Dh)O|x1g?Au#D&kp1##pHaD;Pjhyy~jRJl|rO&}&DsU82F-Iv2o z$j0)nov7i$NUv<~&OFaE@4p$t|9!|U=Nszn7&mI7Nep3d{c7S6+asu4aCy=L(sw6d zZ7tyKcmqvhY}BQab~!&E@bszvJLkm-h`$K6?gbB-X0-y;fI zjO7HnXR4aa-Ia)iMvF+>jNO@Yz2hJVZY{tN#XA@`U^qNdRd?(7iUd&IAPQ=Xdk2e# z#gn)8h~qUtRF%6LAjI(+QELw{b3NdkBUoB_pQwJS-9JtWcD6tLOjUoHiF;)XY_W&*qRW*H=^`7Bf9A@~dL4knL785;D z)yaJ{9aWt$(GwVL%@SYG(rmM38q z*qp+OfPgS;A=0^7PA+{-YSukrWy)&6wusagB(DM6e%&;dB{l1~^z~FdPmUpNdzIk~ zxzQoQT{R?a# zlH7XhAZY*(fE6$=A^k3kfBDfE0P)qm$Q$0>SBcg1pT7eiVS*1ybptfcLG>_lMCyJ4 peg?L@%ZFE2o?HleMIQOj$3Nxqi2<0AHlF|h002ovPDHLkV1mF}(5C&u`N(7=|AwagwHM zRS6*wTo4DKfQFFxoA`e@j00RaAcVwV>wYwA+SnZWrgNiqRi(9;)lya0b^Jblzt5io zhxX8$0U$kk3l(6KJxb50uD;F%z3VWoPQ0Jo>_ys`99z5th%{6K-WXHtLA(IGG#daP zdG9Acv`YwMOc#)rj{p>NZ;detPyz#Ei~+{?tX}{*Ffzu(*p9sg@ID1%O}qpKa_24x zzeS=KKnEDLG#dv<)i;0>#3Mmm-G*xG<|W<-{skIdngW>3Yzx2(;<3iAw}1$pInqW> zgY{#emZkvWD5EBkhzk}N0Z)NHTRP!@F7O2SE74fb&p&g`r4U$6a;=?Q0?&b8aw6U! zUIRVgnQV`>Q6B(ImqSq3Rsc2#LDLlV;<;f19-&zor#NQ}iV&y=+0>A(> zX)X#;8UV0Hyj1@NI0jCXn8^0`z`53(spvHQ<;xGI(iA`xr#NR-EJFJ&Fwt(aAj8MN zN8pRbKIp{MK`vGL?kVY53g=u?0B(_lX)q~M)|V@snd)?W((f|~#x3W{0AdpSXQjEw z(54Wjf%r%O`I?Ncf>J$MQzP=Ahz%6JM%S(?#i^2~DLmPRGvDOET?H!ByhN4tI^1mN zfEDF$B~yNnH(@SEBURS(wgXld#;M}j-NEZX5!{CT7J##&x)5!-!x@$0z;#-e`tsHaNB>mHL;s6hcw*)00006X_cm~`}QZnoE? zlmpswuLr>VZ5oZEYhzxcaf*doJpdqP*1j(NW_H%)pAOH4>&w7w8~_p7Oy+E0vn9__ z@1I);R! zYR5PwgI0e@tXCj_E1>!}3sOt2ii9Gvl31@mg>xmo7Xl|DZV39;6;Yua2!TQx0;~Y? z!K@IGa)@g$D^Z6}09aMTem0b`6A$a_>xA_hFR3I8JY5guBM3E0;k5Gu{lYLSz()X% z0?%S{08=O%2VxvBprr&&Lg4)&)vHLWl5a1kmLP(R1I{yLn;)=Q7vXseo+7&5FxxnbphB0 z&O2TR`Gr0TE)Jr43%UYq0VN@1*9Aagfyp4e0oFkugVunh?ln8hzhMfbNXE6~VyZ>f zyU6@nvgaG$+3 Avj6}9 literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/notifications.png b/view/theme/frost-mobile/images/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..27bacc6727d3f7ec1704c957ee4d929c1a946d24 GIT binary patch literal 923 zcmV;M17!S(P)@S%3y%@~Ly~ooFD%5^#1ly!TzD)HL=wXnhgXR+j%2fI$S|hh*8li1?wQ z9Ec~a6Oo*Hi@{x7{{0YI=;C>p`fX46*_`Sk;WlFCD_R@J#diR0mjCBs9?p@hsLGdEdDNn|DHDg+fLAtlXF`_%l%M$NIN#W}-Vhxg6$zIW3f zF1+u3{`Wcmd!F<4G^rkAFavEkg)i|_1MC#y4!nyi=&SksiH~r1qXo>uuW4`-=3qKH z(S=@|!y}Cn(2leC5fA2fEx56U(}5pS==iDy48vFGNkeVI6BqFpw&DKd&KAeBx@r+? za^r;pL|75{v4itfY9^$2JYZoDAe+L@bfF5$nH>x&I!&MtLk!>hUJ3%Es0N8gLd zX)qoT(Z2&Da7cOP{3oo$JEG`p5yALG0dII3J%`)zW{RIzuYg)So13mLSznv$&*AYD zyR}LIV{saXaZ|ziqXy=OR-6zGs;x>98`H?Fg0;~&hLdS@v+zh~l>%m@fDI+<{ptEN zp2_E~Dh0p?q61DSS>Gv!lv_pdI*OaC6fi;*sV&#wHQ`e+vOQF#0AfP!6V2zJut8eLGt%hNP@WzYc?E5iATzIaCtY|1k30L>w z2;RdNqA~Tj`hL++jKnfAvR@KI?%SfP{=e`y9$d(qQPk`m00000NkvXXu0mjfM*)i* literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/pencil-blue.png b/view/theme/frost-mobile/images/pencil-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..f51ddd4fe2f981e81ab71d168f5c368cb590b381 GIT binary patch literal 594 zcmV-Y0dEMbz2_{To(WtwgpFAr>jL5FrQ_7Itpq7f3`1SR@vL zC<-<&a2|JNFSqYrxBG_S$IQ-fmk1{-s$;l`(`e%pmQj>>`c1@>1i(d<*w-WG4Q9$b z{T&SvD)1V6d)$A=*)mUG#;imOx9R}0qS}=e)nqKhd>sHD;#F2u(=ib3nt%%!$7<7% zR+xf1fUVOwq=m-=0HQ!zD8d-l1vC!X+7r9C_CQTQ=UK;mnWt}uLUe4+K>>|GT3yc* znA<^~p<43~qRi8^us7C62}ydr42f1lVzFD3^t%`(B>CUvs36I90i%E5Zs}uHUW;p#^6;K7$QRj0DjII*hAW3afl+ gZpDUcb)KSXq;H_ z6PP&3%7lvv11v5W;-BH#Kq3&D^l<4f>CpDlK6&rG%dtoc_ZVZ2A#QMBM>)d`KP#>Q zDzO1Ae69g};50S>9<~IOQHzBbZwYwBJDM>N^DP1C`zVlM20%2(ZAL&8$f2+dvjCz% zmiK{e0nw%=Ds&oWsCk7&g z3@nu*&mLM8gK5NX=NDwyFb`C&(xf_=Os&+D-va4a<8NT|*z0i?at-31~|S*S!` wsKD|*vaWZcrY=-ql0Ys>o5x2@73Vnl1-3#$$uT=L%>V!Z07*qoM6N<$f>r^f=l}o! literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/quote.png b/view/theme/frost-mobile/images/quote.png new file mode 100644 index 0000000000000000000000000000000000000000..93127c5e7176758a7cbcb86426c3cfcd18efc0ec GIT binary patch literal 366 zcmV-!0g?WRP)|<5y&9|IYgkp&~7EhHgO&4OL=G7S9RdF zmry6VU$>_^LkEU&5%CVbnzS2Jc#IU>Nq7r*iFm73g483$o-vp3b|c;cCd-DX;V@FL ziJ^!$fJVeSR^cFw;Vx2eFX2t&DdKH*6H>`;upa4~(D@(=G{qk+lZp9~?E6?r3mb_5 zff|l{-V@7J1HcF_aW1_ni;QdE4-M@T_ibh{TEUye;73c4VVf%1GWMCfZu^HQkM4sQ=Cy(lAQ7ZMc4<-00sdc z0gb>`UkjOTVD;Fj4An-z;NKVfQ`&>MxD=`gkazzFd@d}8c+$G1E!}W zaYEX+R@&1O+K#$}1OPshmed7Qq6TOMd~pJ?NoeaQ0viK@mph}*0DlMg_5d4#fT^v| z0sDauQiA>)0o~4kBz8HY?gk~{jCu{U01p!az5>2>M!l5ZZNTLO|672~L{Vqd5dmFW z%(^CL)CH+riO}|wge2BEqk6UV725iZQtf^#iCg82x(|G%tzQl_0V5;3+ETQUo4{^h zv|Qzp`+tDr+WPgtCZJ5J{Bu7=we^)ibp!(=gt{d%2U>vtfS-U`pvD>1o?+bA0(*c- zk;jjLN@vu)LM2LpRYguw8}E#&($>!fW(ylaUOrxMFmHgrM*_{j{QhC3tsgEUcvMWx zDreN`47)D}ZU7&qxGr=?9W4NJLqY-oJBq=SWP+z(16-T6^`r9I`pLkzDbCYk%9>=~ z0sp5BJD@QSGysDGf^OH=56V!Dhr)(5TbdVUq*(`00W8i~jaJ}7iqECIoRmrS0$2ci z9-tqJtI-F11N6nXJOGyFwDogwo~IN^+{Es@?`*VZ?S^676Wa8*vnvVrKiB^K=&QasK+7lt`lg_I33%C zQAu`HbOb^24mc_!cV^1>$&;v-l<(6qA_E^qfYP3aCx557Zy?>AA|37=1 zE?96`ckSQ){`cN%?R|*1!5D$1xQM zJx#>7VHj>ifE@e303VkKKgB{UiGb+Chc62-7}qLK)gG zGnQ;)akxbE+d^JlDB1fJ5T9ka zZlbqvK0+`|GYS8ON->Q(ht+l2#A{)3Gd-?#DGPK5To%= zgziqN_pRs`@kS!Z>ImH)s_Q%VOG24`nFuie=UZr>gHtV%9t&GG2D1_&2-oP;Sn;sV$$z~Qj-B+MmtV6$!)`1!U~MVFG5FsX4^f#3cD~~f4?vD;){A?i`=3= z!Hh=A;ri?P4n~P9-yEVH_Yxp>H(4pLCQJARA4Q7g5I-gWJXG<@stY|~p0L-k5Yv>G zVKd)WoOD0~M6Yn~_h3R9X%qXyixp93-PjtF*e>n@DsIOok@;&QVG-&*1%hzcs&cRB ze>^?2s_VIiuY?2IxNSvShrhDFM+$vnjPMh&JBvTc;+=)u*J@t~U!8i{y>k0W_?;SM Z{{d$6;Rkf1z7PNa002ovPDHLkV1gt6YO4SM literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/remote-link-blue.png b/view/theme/frost-mobile/images/remote-link-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..de8d21db64d55c6f86c48ceed5fb584d1b9fa02e GIT binary patch literal 613 zcmV-r0-F7aP)1aCX&BG9|lqkQ+3m@2HUX}>#z;G8=NtO?i9oORv>QSe2QVbOuQDya0)w`tmGID zrx-?NLX7@`ek#TAu}r=amvI`)=Af0&IG$p7P!Cb07`D!0LOaoq4f7=0N%Yp5aKVGP zi>328Ig|KUs|e7A+w%l<``6|M0W%Af5JmN#v8oDl5#|Q zaJ0dB_i-Y{@Oj#-DnOi`v3`Lo=$~mib=9jifVhU<6vN~XjyX#!mSS(Y9LFVGPceLL zviuV`lVZ5}Q`?^9;ce)|OB_itjLt=X<%@OHyKNPS_2qYBUy9*Fivm29Vt8EwWcY%C zW*|Obe~SRq0xT!&3NGSgQ|(AG47NCek4oWw7vQ-PKr5PPDN+n?XIxs|?w^{r{$o~- z`gW|!@}lQA&og&~co?~<~LMPrfvGF@h;C&*0 zFUD~m_pq8J)GEXrZedSmk8YvlV|a*H1$(@d)3B)m9^qiL?j(kV=Bsj$8s=phwlOh{ zh<^kRu-ruQIDU#6wlVl2TcR9X#-}YNkK+$UI};K&a05@#RbfpT{^C1nmFN}9 z_pd5Y!#Bauq=@LyT=NyhN5RMte4-3DaVcl~2d0Eq?lZn(A5P)6@G9qF5_j+`9xSWG zROS>jxU2XpIUv6R2 z9>ow{^z zP;~ImA{IKBp+zjZDT+>7q^-0|7C{OQMF_aqrIQ8}1UE(Epn~8aDB>R+I_Mr36+r}R zK@>!3)z;R*3?*KBX>wlQs0#D0e(ucA;8HDLU~wcX|Okk|=oBu1*XraY6mFapLL92dX)gCF;Y*W;30bPs?7jz(3?cT<2oc!@Dh7)r%eENu{*2# zuTO+=I*JQe_aBPS;VdpDQLwPAS%q=BH|xsQ76MFRFo}YRLbjbm!Ei^_4h0l)&r zai|eM&Sl55qWN0;S0cx+-0^3GNfg{~>d}8)b}WI&t~x~u z8&O1KBL-5~B#0Sp#5c6kAW6g!un{C+Ay!s4=`2iTr-&9R2o{1OzF?8U{Qx#9f`}#o zQ4l53O-yXIkoDf&&2GH+G|SA+&UxniXV0144kay3bm9&U;R!}UG*@P>n(}rI$IyuZ zoGm+16^K*0_DI=@I!a2>jW@aOC2SAT`&LC_sKJ5;TPep-gZ|-`$k9NGN|Ka`#Bh^E z4Yop#!3vPo*ldr-00^>&uE^IVSTrDv6TZk4r(!>eeC;4cLm1uq=}v~k!U8xJT9O+yUv%5YOSOcpKvfl6Cqj((FFEo{VQHn zqqNvVRYKMF4UzkI;wb_>OCMP;cxX!E=KK TP^1hR00000NkvXXu0mjf13D8p literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/star.png b/view/theme/frost-mobile/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a61a497c6f89176297eb1ca40cbd6ffd97d0e3 GIT binary patch literal 515 zcmV+e0{s1nP))jtE8~835cW&iiJ%;3rodVt^`2~4Z*~imttngW}VkNyR!!_%gj7;?*HDi^UM&g zE7-(7Ug2^DuV6jJY1ddD2E@l6i1&2^TqVpKAvA63=@7(I5P)V$j5Q)pp{Wf`7y` z-Kq%C88`A)nx%zc{66~Z=+91k3I&)hIKkI~b=T7-%8Daz3y-iO`r2BFkFzwNb3IWX zq_3*&|L&L9Ww*-$Oo~3clFZ(Ux@nTKy6iC~%0N6$Fgd}hsEcN)71wndUH5oc24bn_ z<{!9I#sG8iece8bWehIi1@^FosgeL4P2mlGV@=8~o&joeg=kVQfqDP{002ovPDHLk FV1lH>=#BsY literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/tag-blue.png b/view/theme/frost-mobile/images/tag-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5cec80ed701751dea46f703872ae4b08805b15 GIT binary patch literal 432 zcmV;h0Z;ykP)>%zQw{Fs@% z8DS)@|j2>j({W(@c=}Jh$kQ_L;?WOAQA|O0x1lDSKtb`13ol$ zj(}ZNw+mmy6yOawX;gXHsPY`RFx2vf6q>P3qssTe_k%?}FNhAYtm=073ok8eIzyzY z+fU8-EpP)I0@uKCioLPhy*yXhrtGT3lvChU|fLqsmTP zXGVhj04DoHV#qImHzEM?4-ka#fQ$ly5e|?^Koo=pL<@+9&_Ij;)05vR2Ay>abiln0 a0N@Mc%evrA+|Wz_0000GQRHJX6li@Y?;jx3@YUlSgZe`~8OHrLlh+(BWPHNb>YC``kRY|`t>5jLX|C!k zt80Ir;psWgSiv}dqB%qF^ZB=07+e*E8Z=ed5|}(0S2z_hWK9rwz&EEstRmW}W+{Kd z+b4a(9XcKBH~c-V%i59BvHlI0&YU}b9Ue_Br_LP^yTQDj!^K1;UHgi{VHpMA))0@@ zGa{R2GB26$G^N2tl_T3j-8I5d?|>HDLS9d%45v*DQUan5d@iCBm<$<@IQTFMc?ddi k1c^Lws;XPQV=~jeeVum4rV93M2l|o0)78&qol`;+00CfUU;qFB literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/underlineU-serif.png b/view/theme/frost-mobile/images/underlineU-serif.png new file mode 100644 index 0000000000000000000000000000000000000000..745ca2cd6bf236ce16d3c503ebb57df66844d922 GIT binary patch literal 454 zcmV;%0XhDOP)Za{Fgs_?|IF+ToULFL zgYxMm)>Gy`;A2*j3WhO+0gPiJHh+i(Y-2MN_$MV_4@S`+Yzp1@f@N%lTy=Vd^O!AW zRh^;5kY^_Tu%*eQ4XK2d&=OigOK1tbztFbe|D{1s661$WLc4-LPJ{kTjC-1d_6Gku zE$9*cx@=ee<8gz)zF3~#_(XE2r|P@CR=jQy`ZoAIRI`Go)i-CmitqNBsB1jOT%HB3 zqLwiZUP4Ds;0V5lbyYmcTWKGDCBQp)b3>8`c!5ti3-PCz%nPh(5E}__?c>_P8b0Hz z%cHE>0mg~~Yih^48{pSj6|*wFfl7e_p5nRa_oGvE%qKV!-S1U=E0FJQb=^+ii;n6x wwTYFqfFJU`zalmt2ei4WebGI;O&!Gt7aWFk@aB}tegFUf07*qoM6N<$f}RG=8~^|S literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/images/unlock.png b/view/theme/frost-mobile/images/unlock.png new file mode 100644 index 0000000000000000000000000000000000000000..81d9740e81ddad0705355bd0bfc5421c4d4d64d0 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^ia>16!3HFovXx%~DYhhUcNd2LAh=-f^2rPgj2}H+ z977^n-`+f%B^)Tx{xN=wSBB`tEB$5KO+li9h0CSG*X`jf4cx;J_(AGRkQT?fU8PHR zXnMp(OuRIU-%u;0aACKl`=raBb5xQxTk!K3&$Rsi-Nv~s<=)I$7gs!H%X?@fcF{pP zx}sBb&7H0;unc81R>nR~Zt!{Q6%H!~M)u8>f<{N~q$7|njK zu04l;cKz(Wp|SGgf>j6hJnE@FJil;TR^x%76JM{rd=xSDgY53}58ib!O?)~jYWr%I z`Kk+f&-7>-HuHP#T^`yrf6|4=hOA2dld9g99N71ySk`@V?RvE-9-n&+&O3A-ouo8d z*lWtu-_JZ%pLsFat4-1Pt^9hn`qUf3n_N`9U5@=#m1)iIy1g&1?BDhy*)fu430nL5 zbOdK|bq4C4Ve@Nw8WJJT|Jyo4^Vg)e8}i!zPF2xMR2110V3fw%UYNl0@WgqA>p>+M zXXm}O|DD|>-D{hwwXRb~@TAa0oW$R*Z~4I&&EIL<+WTw6g_e?!a`__u1!3%af39TT zdGA>H!t~!M7Sqg*-0qrQu+j3~rTZG&r`W{&<^8L_jQ!8Gua|(yfx*+&&t;ucLK6Vh C5(kL@ literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/jot-header.tpl b/view/theme/frost-mobile/jot-header.tpl new file mode 100644 index 0000000000..b1762f1698 --- /dev/null +++ b/view/theme/frost-mobile/jot-header.tpl @@ -0,0 +1,212 @@ + + + + + diff --git a/view/theme/frost-mobile/jot.tpl b/view/theme/frost-mobile/jot.tpl new file mode 100644 index 0000000000..e39453ea0a --- /dev/null +++ b/view/theme/frost-mobile/jot.tpl @@ -0,0 +1,85 @@ + +
    +
    +
     
    +
    +
    +
    + +
    + + + + + + + +
    +
    +
    + + +
    + +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    +
    + +
    +
    + +
    + + +
    + $bang +
    + + $preview + +
    + + +
    + $jotplugins +
    + +
    + +
    + + + +
    +
    + $acl +
    +
    $emailcc
    +
    + $jotnets +
    +
    + + +
    + +
    +
    +
    + {{ if $content }}{{ endif }} diff --git a/view/theme/frost-mobile/js/acl.js b/view/theme/frost-mobile/js/acl.js new file mode 100644 index 0000000000..a2fb06262d --- /dev/null +++ b/view/theme/frost-mobile/js/acl.js @@ -0,0 +1,258 @@ +function ACL(backend_url, preset){ + that = this; + + that.url = backend_url; + + that.kp_timer = null; + + if (preset==undefined) preset = []; + that.allow_cid = (preset[0] || []); + that.allow_gid = (preset[1] || []); + that.deny_cid = (preset[2] || []); + that.deny_gid = (preset[3] || []); + that.group_uids = []; + that.nw = 2; //items per row. should be calulated from #acl-list.width + + that.list_content = $("#acl-list-content"); + that.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html()); + that.showall = $("#acl-showall"); + + if (preset.length==0) that.showall.addClass("selected"); + + /*events*/ + that.showall.click(that.on_showall); + $(".acl-button-show").live('click', that.on_button_show); + $(".acl-button-hide").live('click', that.on_button_hide); + $("#acl-search").keypress(that.on_search); + $("#acl-wrapper").parents("form").submit(that.on_submit); + + /* startup! */ + that.get(0,100); +} + +ACL.prototype.on_submit = function(){ + aclfileds = $("#acl-fields").html(""); + $(that.allow_gid).each(function(i,v){ + aclfileds.append(""); + }); + $(that.allow_cid).each(function(i,v){ + aclfileds.append(""); + }); + $(that.deny_gid).each(function(i,v){ + aclfileds.append(""); + }); + $(that.deny_cid).each(function(i,v){ + aclfileds.append(""); + }); +} + +ACL.prototype.search = function(){ + var srcstr = $("#acl-search").val(); + that.list_content.html(""); + that.get(0,100, srcstr); +} + +ACL.prototype.on_search = function(event){ + if (that.kp_timer) clearTimeout(that.kp_timer); + that.kp_timer = setTimeout( that.search, 1000); +} + +ACL.prototype.on_showall = function(event){ + event.preventDefault() + event.stopPropagation(); + + if (that.showall.hasClass("selected")){ + return false; + } + that.showall.addClass("selected"); + + that.allow_cid = []; + that.allow_gid = []; + that.deny_cid = []; + that.deny_gid = []; + + that.update_view(); + + return false; +} + +ACL.prototype.on_button_show = function(event){ + event.preventDefault() + event.stopImmediatePropagation() + event.stopPropagation(); + + /*that.showall.removeClass("selected"); + $(this).siblings(".acl-button-hide").removeClass("selected"); + $(this).toggleClass("selected");*/ + + that.set_allow($(this).parent().attr('id')); + + return false; +} +ACL.prototype.on_button_hide = function(event){ + event.preventDefault() + event.stopImmediatePropagation() + event.stopPropagation(); + + /*that.showall.removeClass("selected"); + $(this).siblings(".acl-button-show").removeClass("selected"); + $(this).toggleClass("selected");*/ + + that.set_deny($(this).parent().attr('id')); + + return false; +} + +ACL.prototype.set_allow = function(itemid){ + type = itemid[0]; + id = parseInt(itemid.substr(1)); + switch(type){ + case "g": + if (that.allow_gid.indexOf(id)<0){ + that.allow_gid.push(id) + }else { + that.allow_gid.remove(id); + } + if (that.deny_gid.indexOf(id)>=0) that.deny_gid.remove(id); + break; + case "c": + if (that.allow_cid.indexOf(id)<0){ + that.allow_cid.push(id) + } else { + that.allow_cid.remove(id); + } + if (that.deny_cid.indexOf(id)>=0) that.deny_cid.remove(id); + break; + } + that.update_view(); +} + +ACL.prototype.set_deny = function(itemid){ + type = itemid[0]; + id = parseInt(itemid.substr(1)); + switch(type){ + case "g": + if (that.deny_gid.indexOf(id)<0){ + that.deny_gid.push(id) + } else { + that.deny_gid.remove(id); + } + if (that.allow_gid.indexOf(id)>=0) that.allow_gid.remove(id); + break; + case "c": + if (that.deny_cid.indexOf(id)<0){ + that.deny_cid.push(id) + } else { + that.deny_cid.remove(id); + } + if (that.allow_cid.indexOf(id)>=0) that.allow_cid.remove(id); + break; + } + that.update_view(); +} + +ACL.prototype.update_view = function(){ + if (that.allow_gid.length==0 && that.allow_cid.length==0 && + that.deny_gid.length==0 && that.deny_cid.length==0){ + that.showall.addClass("selected"); + /* jot acl */ + $('#jot-perms-icon').removeClass('lock').addClass('unlock'); + $('#jot-public').show(); + $('.profile-jot-net input').attr('disabled', false); + if(typeof editor != 'undefined' && editor != false) { + $('#profile-jot-desc').html(ispublic); + } + + } else { + that.showall.removeClass("selected"); + /* jot acl */ + $('#jot-perms-icon').removeClass('unlock').addClass('lock'); + $('#jot-public').hide(); + $('.profile-jot-net input').attr('disabled', 'disabled'); + $('#profile-jot-desc').html(' '); + } + $("#acl-list-content .acl-list-item").each(function(){ + $(this).removeClass("groupshow grouphide"); + }); + + $("#acl-list-content .acl-list-item").each(function(){ + itemid = $(this).attr('id'); + type = itemid[0]; + id = parseInt(itemid.substr(1)); + + btshow = $(this).children(".acl-button-show").removeClass("selected"); + bthide = $(this).children(".acl-button-hide").removeClass("selected"); + + switch(type){ + case "g": + var uclass = ""; + if (that.allow_gid.indexOf(id)>=0){ + btshow.addClass("selected"); + bthide.removeClass("selected"); + uclass="groupshow"; + } + if (that.deny_gid.indexOf(id)>=0){ + btshow.removeClass("selected"); + bthide.addClass("selected"); + uclass="grouphide"; + } + + $(that.group_uids[id]).each(function(i,v) { + if(uclass == "grouphide") + $("#c"+v).removeClass("groupshow"); + if(uclass != "") { + var cls = $("#c"+v).attr('class'); + if( cls == undefined) + return true; + var hiding = cls.indexOf('grouphide'); + if(hiding == -1) + $("#c"+v).addClass(uclass); + } + }); + + break; + case "c": + if (that.allow_cid.indexOf(id)>=0){ + btshow.addClass("selected"); + bthide.removeClass("selected"); + } + if (that.deny_cid.indexOf(id)>=0){ + btshow.removeClass("selected"); + bthide.addClass("selected"); + } + } + + }); + +} + + +ACL.prototype.get = function(start,count, search){ + var postdata = { + start:start, + count:count, + search:search, + } + + $.ajax({ + type:'POST', + url: that.url, + data: postdata, + dataType: 'json', + success:that.populate + }); +} + +ACL.prototype.populate = function(data){ +/* var height = Math.ceil(data.tot / that.nw) * 42; + that.list_content.height(height);*/ + $(data.items).each(function(){ + html = "
    "+that.item_tpl+"
    "; + html = html.format( this.photo, this.name, this.type, this.id, '', this.network, this.link ); + if (this.uids!=undefined) that.group_uids[this.id] = this.uids; + //console.log(html); + that.list_content.append(html); + }); + that.update_view(); +} + diff --git a/view/theme/frost-mobile/js/main.js b/view/theme/frost-mobile/js/main.js new file mode 100644 index 0000000000..a32d38ede7 --- /dev/null +++ b/view/theme/frost-mobile/js/main.js @@ -0,0 +1,663 @@ + + function openClose(theID) { + if(document.getElementById(theID).style.display == "block") { + document.getElementById(theID).style.display = "none" + } + else { + document.getElementById(theID).style.display = "block" + } + } + + function openMenu(theID) { + document.getElementById(theID).style.display = "block" + } + + function closeMenu(theID) { + document.getElementById(theID).style.display = "none" + } + + + + var src = null; + var prev = null; + var livetime = null; + var msie = false; + var stopped = false; + var totStopped = false; + var timer = null; + var pr = 0; + var liking = 0; + var in_progress = false; + var langSelect = false; + var commentBusy = false; + var last_popup_menu = null; + var last_popup_button = null; + + $(function() { + $.ajaxSetup({cache: false}); + + msie = $.browser.msie ; + + /* setup tooltips *//* + $("a,.tt").each(function(){ + var e = $(this); + var pos="bottom"; + if (e.hasClass("tttop")) pos="top"; + if (e.hasClass("ttbottom")) pos="bottom"; + if (e.hasClass("ttleft")) pos="left"; + if (e.hasClass("ttright")) pos="right"; + e.tipTip({defaultPosition: pos, edgeOffset: 8}); + });*/ + + + + /* setup onoff widgets */ + $(".onoff input").each(function(){ + val = $(this).val(); + id = $(this).attr("id"); + $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden"); + + }); + $(".onoff > a").click(function(event){ + event.preventDefault(); + var input = $(this).siblings("input"); + var val = 1-input.val(); + var id = input.attr("id"); + $("#"+id+"_onoff ."+ (val==0?"on":"off")).addClass("hidden"); + $("#"+id+"_onoff ."+ (val==1?"on":"off")).removeClass("hidden"); + input.val(val); + //console.log(id); + }); + + /* setup field_richtext */ + /*setupFieldRichtext();*/ + + /* popup menus */ + function close_last_popup_menu(e) { + + if( last_popup_menu ) { + if( '#' + last_popup_menu.attr('id') !== $(e.target).attr('rel')) { + last_popup_menu.hide(); + if (last_popup_menu.attr('id') == "nav-notifications-menu" ) $('section').show(); + last_popup_button.removeClass("selected"); + last_popup_menu = null; + last_popup_button = null; + } + } + } + $('img[rel^=#]').click(function(e){ + + close_last_popup_menu(e); + menu = $( $(this).attr('rel') ); + e.preventDefault(); + e.stopPropagation(); + + if (menu.attr('popup')=="false") return false; + +// $(this).parent().toggleClass("selected"); +// menu.toggle(); + + if (menu.css("display") == "none") { + $(this).parent().addClass("selected"); + menu.show(); + if (menu.attr('id') == "nav-notifications-menu" ) $('section').hide(); + last_popup_menu = menu; + last_popup_button = $(this).parent(); + } else { + $(this).parent().removeClass("selected"); + menu.hide(); + if (menu.attr('id') == "nav-notifications-menu" ) $('section').show(); + last_popup_menu = null; + last_popup_button = null; + } + return false; + }); + $('html').click(function(e) { + close_last_popup_menu(e); + }); + + // fancyboxes + /*$("a.popupbox").fancybox({ + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' + });*/ + + + /* notifications template */ + var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); + var notifications_all = unescape($('
    ').append( $("#nav-notifications-see-all").clone() ).html()); //outerHtml hack + var notifications_mark = unescape($('
    ').append( $("#nav-notifications-mark-all").clone() ).html()); //outerHtml hack + var notifications_empty = unescape($("#nav-notifications-menu").html()); + + /* nav update event */ + $('nav').bind('nav-update', function(e,data){; + var invalid = $(data).find('invalid').text(); + if(invalid == 1) { window.location.href=window.location.href } + + var net = $(data).find('net').text(); + if(net == 0) { net = ''; $('#net-update').removeClass('show') } else { $('#net-update').addClass('show') } + $('#net-update').html(net); + + var home = $(data).find('home').text(); + if(home == 0) { home = ''; $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') } + $('#home-update').html(home); + + var intro = $(data).find('intro').text(); + if(intro == 0) { intro = ''; $('#intro-update').removeClass('show') } else { $('#intro-update').addClass('show') } + $('#intro-update').html(intro); + + var mail = $(data).find('mail').text(); + if(mail == 0) { mail = ''; $('#mail-update').removeClass('show') } else { $('#mail-update').addClass('show') } + $('#mail-update').html(mail); + + var intro = $(data).find('intro').text(); + if(intro == 0) { intro = ''; $('#intro-update-li').removeClass('show') } else { $('#intro-update-li').addClass('show') } + $('#intro-update-li').html(intro); + + var mail = $(data).find('mail').text(); + if(mail == 0) { mail = ''; $('#mail-update-li').removeClass('show') } else { $('#mail-update-li').addClass('show') } + $('#mail-update-li').html(mail); + + var eNotif = $(data).find('notif') + + if (eNotif.children("note").length==0){ + $("#nav-notifications-menu").html(notifications_empty); + } else { + nnm = $("#nav-notifications-menu"); + nnm.html(notifications_all + notifications_mark); + //nnm.attr('popup','true'); + eNotif.children("note").each(function(){ + e = $(this); + text = e.text().format(""+e.attr('name')+""); + html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen')); + nnm.append(html); + }); + } + notif = eNotif.attr('count'); + if (notif>0){ + $("#nav-notifications-linkmenu").addClass("on"); + } else { + $("#nav-notifications-linkmenu").removeClass("on"); + } + if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') } + $('#notify-update').html(notif); + + var eSysmsg = $(data).find('sysmsgs'); + eSysmsg.children("notice").each(function(){ + text = $(this).text(); + $.jGrowl(text, { sticky: true, theme: 'notice', life: 1000 }); + }); + eSysmsg.children("info").each(function(){ + text = $(this).text(); + $.jGrowl(text, { sticky: false, theme: 'info', life: 1000 }); + }); + + }); + + + NavUpdate(); + // Allow folks to stop the ajax page updates with the pause/break key +/* $(document).keydown(function(event) { + if(event.keyCode == '8') { + var target = event.target || event.srcElement; + if (!/input|textarea/i.test(target.nodeName)) { + return false; + } + } + if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) { + event.preventDefault(); + if(stopped == false) { + stopped = true; + if (event.ctrlKey) { + totStopped = true; + } + $('#pause').html('pause'); + } else { + unpause(); + } + } else { + if (!totStopped) { + unpause(); + } + } + });*/ + + + }); + + function NavUpdate() { + + if(! stopped) { + var pingCmd = 'ping' + ((localUser != 0) ? '?f=&uid=' + localUser : ''); + $.get(pingCmd,function(data) { + $(data).find('result').each(function() { + // send nav-update event + $('nav').trigger('nav-update', this); + + + // start live update + + + + if($('#live-network').length) { src = 'network'; liveUpdate(); } + if($('#live-profile').length) { src = 'profile'; liveUpdate(); } + if($('#live-community').length) { src = 'community'; liveUpdate(); } + if($('#live-notes').length) { src = 'notes'; liveUpdate(); } + if($('#live-display').length) { + if(liking) { + liking = 0; + window.location.href=window.location.href + } + } + if($('#live-photos').length) { + if(liking) { + liking = 0; + window.location.href=window.location.href + } + } + + + + + }); + }) ; + } + timer = setTimeout(NavUpdate,updateInterval); + } + + function liveUpdate() { + if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; } + if(($('.comment-edit-text-full').length) || (in_progress)) { + if(livetime) { + clearTimeout(livetime); + } + livetime = setTimeout(liveUpdate, 10000); + return; + } + if(livetime != null) + livetime = null; + + prev = 'live-' + src; + + in_progress = true; + var udargs = ((netargs.length) ? '/' + netargs : ''); + var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&page=' + profile_page + '&msie=' + ((msie) ? 1 : 0); + + $.get(update_url,function(data) { + in_progress = false; + // $('.collapsed-comments',data).each(function() { + // var ident = $(this).attr('id'); + // var is_hidden = $('#' + ident).is(':hidden'); + // if($('#' + ident).length) { + // $('#' + ident).replaceWith($(this)); + // if(is_hidden) + // $('#' + ident).hide(); + // } + //}); + + // add a new thread + + $('.tread-wrapper',data).each(function() { + var ident = $(this).attr('id'); + + if($('#' + ident).length == 0 && profile_page == 1) { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + prev).after($(this)); + } + else { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + ident).replaceWith($(this)); + } + prev = ident; + }); + + // reset vars for inserting individual items + + /*prev = 'live-' + src; + + $('.wall-item-outside-wrapper',data).each(function() { + var ident = $(this).attr('id'); + + if($('#' + ident).length == 0 && prev != 'live-' + src) { + $('img',this).each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + $('#' + prev).after($(this)); + } + else { + $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago')); + if($('#' + ident + ' ' + '.comment-edit-text-empty').length) + $('#' + ident + ' ' + '.wall-item-comment-wrapper').replaceWith($(this).find('.wall-item-comment-wrapper')); + $('#' + ident + ' ' + '.hide-comments-total').replaceWith($(this).find('.hide-comments-total')); + $('#' + ident + ' ' + '.wall-item-like').replaceWith($(this).find('.wall-item-like')); + $('#' + ident + ' ' + '.wall-item-dislike').replaceWith($(this).find('.wall-item-dislike')); + $('#' + ident + ' ' + '.my-comment-photo').each(function() { + $(this).attr('src',$(this).attr('dst')); + }); + } + prev = ident; + });*/ + + $('.like-rotator').hide(); + if(commentBusy) { + commentBusy = false; + $('body').css('cursor', 'auto'); + } + /* autocomplete @nicknames */ + $(".comment-edit-form textarea").contact_autocomplete(baseurl+"/acl"); + }); + } + + function imgbright(node) { + $(node).removeClass("drophide").addClass("drop"); + } + + function imgdull(node) { + $(node).removeClass("drop").addClass("drophide"); + } + + // Since our ajax calls are asynchronous, we will give a few + // seconds for the first ajax call (setting like/dislike), then + // run the updater to pick up any changes and display on the page. + // The updater will turn any rotators off when it's done. + // This function will have returned long before any of these + // events have completed and therefore there won't be any + // visible feedback that anything changed without all this + // trickery. This still could cause confusion if the "like" ajax call + // is delayed and NavUpdate runs before it completes. + + function dolike(ident,verb) { + unpause(); + $('#like-rotator-' + ident.toString()).show(); + $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate ); +// if(timer) clearTimeout(timer); +// timer = setTimeout(NavUpdate,3000); + liking = 1; + } + + function dostar(ident) { + ident = ident.toString(); + //$('#like-rotator-' + ident).show(); + $.get('starred/' + ident, function(data) { + if(data.match(/1/)) { + $('#starred-' + ident).addClass('starred'); + $('#starred-' + ident).removeClass('unstarred'); + $('#star-' + ident).addClass('hidden'); + $('#unstar-' + ident).removeClass('hidden'); + } + else { + $('#starred-' + ident).addClass('unstarred'); + $('#starred-' + ident).removeClass('starred'); + $('#star-' + ident).removeClass('hidden'); + $('#unstar-' + ident).addClass('hidden'); + } + //$('#like-rotator-' + ident).hide(); + }); + } + + function getPosition(e) { + var cursor = {x:0, y:0}; + if ( e.pageX || e.pageY ) { + cursor.x = e.pageX; + cursor.y = e.pageY; + } + else { + if( e.clientX || e.clientY ) { + cursor.x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft; + cursor.y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop; + } + else { + if( e.x || e.y ) { + cursor.x = e.x; + cursor.y = e.y; + } + } + } + return cursor; + } + + var lockvisible = false; + + function lockview(event,id) { + event = event || window.event; + cursor = getPosition(event); + if(lockvisible) { + lockviewhide(); + } + else { + lockvisible = true; + $.get('lockview/' + id, function(data) { + $('#panel').html(data); + $('#panel').css({ 'left': cursor.x + 5 , 'top': cursor.y + 5}); + $('#panel').show(); + }); + } + } + + function lockviewhide() { + lockvisible = false; + $('#panel').hide(); + } + + function post_comment(id) { + unpause(); + commentBusy = true; + $('body').css('cursor', 'wait'); + $("#comment-preview-inp-" + id).val("0"); + $.post( + "item", + $("#comment-edit-form-" + id).serialize(), + function(data) { + if(data.success) { + $("#comment-edit-wrapper-" + id).hide(); + $("#comment-edit-text-" + id).val(''); + var tarea = document.getElementById("comment-edit-text-" + id); + if(tarea) + commentClose(tarea,id); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,10); + } + if(data.reload) { + window.location.href=data.reload; + } + }, + "json" + ); + return false; + } + + + function preview_comment(id) { + $("#comment-preview-inp-" + id).val("1"); + $("#comment-edit-preview-" + id).show(); + $.post( + "item", + $("#comment-edit-form-" + id).serialize(), + function(data) { + if(data.preview) { + + $("#comment-edit-preview-" + id).html(data.preview); + $("#comment-edit-preview-" + id + " a").click(function() { return false; }); + } + }, + "json" + ); + return true; + } + + + + function preview_post() { + $("#jot-preview").val("1"); + $("#jot-preview-content").show(); + tinyMCE.triggerSave(); + $.post( + "item", + $("#profile-jot-form").serialize(), + function(data) { + if(data.preview) { + $("#jot-preview-content").html(data.preview); + $("#jot-preview-content" + " a").click(function() { return false; }); + } + }, + "json" + ); + $("#jot-preview").val("0"); + return true; + } + + + function unpause() { + // unpause auto reloads if they are currently stopped + totStopped = false; + stopped = false; + $('#pause').html(''); + } + + + function bin2hex(s){ + // Converts the binary representation of data to hex + // + // version: 812.316 + // discuss at: http://phpjs.org/functions/bin2hex + // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfixed by: Onno Marsman + // + bugfixed by: Linuxworld + // * example 1: bin2hex('Kev'); + // * returns 1: '4b6576' + // * example 2: bin2hex(String.fromCharCode(0x00)); + // * returns 2: '00' + var v,i, f = 0, a = []; + s += ''; + f = s.length; + + for (i = 0; i' + data.desc + '
    ' + data.version + '
    ' + data.credits + '
    ' + theme + ''); + }); + +} diff --git a/view/theme/frost-mobile/js/theme.js b/view/theme/frost-mobile/js/theme.js new file mode 100644 index 0000000000..d3298d345d --- /dev/null +++ b/view/theme/frost-mobile/js/theme.js @@ -0,0 +1,224 @@ +$(document).ready(function() { + +/*$('html').click(function() { $("#nav-notifications-menu" ).hide(); });*/ + + $('.group-edit-icon').hover( + function() { + $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + + $('.sidebar-group-element').hover( + function() { + id = $(this).attr('id'); + $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');} + ); + + + $('.savedsearchdrop').hover( + function() { + $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + + $('.savedsearchterm').hover( + function() { + id = $(this).attr('id'); + $('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} + ); + + $(".popupbox").click(function () { + var parent = $( $(this).attr('href') ).parent(); + if (parent.css('display') == 'none') { + parent.show(); + } else { + parent.hide(); + } + return false; + }); + +}); + + +function insertFormatting(comment,BBcode,id) { + + var tmpStr = $("#comment-edit-text-" + id).val(); + if(tmpStr == comment) { + tmpStr = ""; + $("#comment-edit-text-" + id).addClass("comment-edit-text-full"); + $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty"); + openMenu("comment-edit-submit-wrapper-" + id); + $("#comment-edit-text-" + id).val(tmpStr); + } + + textarea = document.getElementById("comment-edit-text-" +id); + if (document.selection) { + textarea.focus(); + selected = document.selection.createRange(); + if (BBcode == "url"){ + selected.text = "["+BBcode+"]" + "http://" + selected.text + "[/"+BBcode+"]"; + } else + selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]"; + } else if (textarea.selectionStart || textarea.selectionStart == "0") { + var start = textarea.selectionStart; + var end = textarea.selectionEnd; + if (BBcode == "url"){ + textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length); + } else + textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length); + } + return true; +} + +function cmtBbOpen(id) { + $(".comment-edit-bb-" + id).show(); +} +function cmtBbClose(id) { + $(".comment-edit-bb-" + id).hide(); +} + + + + +// TinyMCE stuff +// Needs to be in "jot-header.tpl" if the "$editselect" variable is used + +var editor=false; +var textlen = 0; +var plaintext = 'none';//'$editselect'; + +function initEditor(cb){ + if (editor==false){ +// $("#profile-jot-text-loading").show(); + if(plaintext == 'none') { +// $("#profile-jot-text-loading").hide(); + $("#profile-jot-text").css({ 'height': 200, 'color': '#000' }); + $("#profile-jot-text").contact_autocomplete(baseurl+"/acl"); + editor = true; +/* $("a#jot-perms-icon").fancybox({ + 'transitionIn' : 'none', + 'transitionOut' : 'none' + });*/ + $("a#jot-perms-icon, a#settings-default-perms-menu").click(function () { + var parent = $("#profile-jot-acl-wrapper").parent(); + if (parent.css('display') == 'none') { + parent.show(); + } else { + parent.hide(); + } +// $("#profile-jot-acl-wrapper").parent().toggle(); + return false; + }); + $(".jothidden").show(); + if (typeof cb!="undefined") cb(); + return; + } +/* tinyMCE.init({ + theme : "advanced", + mode : "specific_textareas", + editor_selector: $editselect, + auto_focus: "profile-jot-text", + plugins : "bbcode,paste,autoresize, inlinepopups", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + convert_urls: false, + content_css: "$baseurl/view/custom_tinymce.css", + theme_advanced_path : false, + file_browser_callback : "fcFileBrowser", + setup : function(ed) { + cPopup = null; + ed.onKeyDown.add(function(ed,e) { + if(cPopup !== null) + cPopup.onkey(e); + }); + + ed.onKeyUp.add(function(ed, e) { + var txt = tinyMCE.activeEditor.getContent(); + match = txt.match(/@([^ \n]+)$/); + if(match!==null) { + if(cPopup === null) { + cPopup = new ACPopup(this,baseurl+"/acl"); + } + if(cPopup.ready && match[1]!==cPopup.searchText) cPopup.search(match[1]); + if(! cPopup.ready) cPopup = null; + } + else { + if(cPopup !== null) { cPopup.close(); cPopup = null; } + } + + textlen = txt.length; + if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) { + $('#profile-jot-desc').html(ispublic); + } + else { + $('#profile-jot-desc').html(' '); + } + + //Character count + + if(textlen <= 140) { + $('#character-counter').removeClass('red'); + $('#character-counter').removeClass('orange'); + $('#character-counter').addClass('grey'); + } + if((textlen > 140) && (textlen <= 420)) { + $('#character-counter').removeClass('grey'); + $('#character-counter').removeClass('red'); + $('#character-counter').addClass('orange'); + } + if(textlen > 420) { + $('#character-counter').removeClass('grey'); + $('#character-counter').removeClass('orange'); + $('#character-counter').addClass('red'); + } + $('#character-counter').text(textlen); + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + $("#profile-jot-text-loading").hide(); + $(".jothidden").show(); + if (typeof cb!="undefined") cb(); + }); + + } + }); + editor = true; + // setup acl popup + $("a#jot-perms-icon").fancybox({ + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' + }); */ + } else { + if (typeof cb!="undefined") cb(); + } +} + +function enableOnUser(){ + if (editor) return; + $(this).val(""); + initEditor(); +} + diff --git a/view/theme/frost-mobile/js/theme.js.old b/view/theme/frost-mobile/js/theme.js.old new file mode 100644 index 0000000000..03ee676229 --- /dev/null +++ b/view/theme/frost-mobile/js/theme.js.old @@ -0,0 +1,121 @@ +$(document).ready(function() { + + $.ajaxSetup({ + cache: false + }); + + + $('.system-menu-link').click(function() { + handleNavMenu('#system-menu-list'); + return false; + }); + + $('.contacts-menu-link').click(function() { + handleNavMenu('#contacts-menu-list'); + return false; + }); + + $('.network-menu-link').click(function() { + handleNavMenu('#network-menu-list'); + return false; + }); + +/* $('.nav-load-page-link').click(function() { + getPageContent( $(this).attr('href') ); + hideNavMenu( '#' + $(this).closest('ul').attr('id') ); + return false; + });*/ + +/* $('#nav-network-link').click(function() { + getPageContent('/network', '#network-menu-list'); + return false; + }); + + $('#nav-home-link').click(function() { + + var username = $('#site-location').text(); + username = username.substring(0, username.indexOf('@')); + + getPageContent('/profile/' + username, '#network-menu-list'); + + return false; + }); + + $('#nav-community-link').click(function() { + getPageContent('/community', '#network-menu-list'); + return false; + }); + + $('#nav-messages-link').click(function() { + getPageContent('/message'); + return false; + }); + + $('#nav-contacts-link').click(function() { + getPageContent('/contacts', '#contacts-menu-list'); + return false; + });*/ + +}); + +$(document).mouseup(function (clickPos) { + + var sysMenu = $("#system-menu-list"); + var sysMenuLink = $(".system-menu-link"); + var contactsMenu = $("#contacts-menu-list"); + var contactsMenuLink = $(".contacts-menu-link"); + var networkMenu = $("#network-menu-list"); + var networkMenuLink = $(".network-menu-link"); + + if( !sysMenu.is(clickPos.target) && !sysMenuLink.is(clickPos.target) && sysMenu.has(clickPos.target).length === 0) { + hideNavMenu("#system-menu-list"); + } + if( !contactsMenu.is(clickPos.target) && !contactsMenuLink.is(clickPos.target) && contactsMenu.has(clickPos.target).length === 0) { + hideNavMenu("#contacts-menu-list"); + } + if( !networkMenu.is(clickPos.target) && !networkMenuLink.is(clickPos.target) && networkMenu.has(clickPos.target).length === 0) { + hideNavMenu("#network-menu-list"); + } +}); + + +function getPageContent(url) { + + var pos = $('.main-container').position(); + + $('.main-container').css('margin-left', pos.left); + $('.main-content-container').hide(0, function () { + $('.main-content-loading').show(0); + }); + + $.get(url, function(html) { + console.log($('.main-content-container').html()); + $('.main-content-container').html( $('.main-content-container', html).html() ); + console.log($('.main-content-container').html()); + $('.main-content-loading').hide(function() { + $('.main-content-container').fadeIn(800,function() { + $('.main-container').css('margin-left', 'auto'); // This sucks -- if the CSS specification changes, this will be wrong + }); + }); + }); +} + +function handleNavMenu(menuID) { + if( $(menuID).hasClass('menu-visible') ) { + hideNavMenu(menuID); + } + else { + showNavMenu(menuID); + } +} + +function showNavMenu(menuID) { + $(menuID).show(); + $(menuID).addClass('menu-visible'); +} + +function hideNavMenu(menuID) { + $(menuID).hide(); + $(menuID).removeClass('menu-visible'); +} + diff --git a/view/theme/frost-mobile/lang_selector.tpl b/view/theme/frost-mobile/lang_selector.tpl new file mode 100644 index 0000000000..e777a0a861 --- /dev/null +++ b/view/theme/frost-mobile/lang_selector.tpl @@ -0,0 +1,10 @@ +
    + diff --git a/view/theme/frost-mobile/lock.cur b/view/theme/frost-mobile/lock.cur new file mode 100644 index 0000000000000000000000000000000000000000..892c5e851eedc16e9844061b199e24194cfbc370 GIT binary patch literal 4286 zcmd^C$KVDWfom`T#)dc~R#4I^Rs~r4O)`b{bmUKcqz}))c5uC(7v?)v4a2P)ZNa- z@$&T2)z|&~{r~^}A^8LV00000EC2ui01yBW000GQ;3tk`X`bk)Wk@<6#nZYULKH{p zEx|?+kif!I0vIL|#ZMubBmjWH2OtmxIFVa~6JQ7!1CK!f5W#StOTv&C3=E8h2vI1s n+#cd5;2fT3B_0kF0v!+!GARoV78n&7dMN`JIW(4+BOw4gP{MS* literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/login-style.css b/view/theme/frost-mobile/login-style.css new file mode 100644 index 0000000000..5283c584ba --- /dev/null +++ b/view/theme/frost-mobile/login-style.css @@ -0,0 +1,131 @@ +html { + width: 100%; +} + +body { + font-family: helvetica,arial,freesans,clean,sans-serif; + font-size: 16px; + background-color: #ffffff; + color: #505050;/* ZP Change*/ + margin: 0px; +} + +a, a:visited, a:link { color: #3465a4; text-decoration: none; } +a:hover {text-decoration: underline; } + +img { border :0px; } + +.login-button { + margin-top: 90px; + margin-left: auto; + margin-right: auto; + +} + +img.login-button-image { + max-width: 300px; +} + +.section-wrapper { + position: relative; + width: 300px; + margin-left: auto; + margin-right: auto; +} + +.login-form { + margin-top: 40px; +} + +.field { + position: relative; + margin-bottom: 15px; +} + +.field label { + margin-left: 25px; + font-weight: 700; +} + +.field input { + font-size: 18px; + width: 200px; + margin-left: 50px; +} + +#login_openid { + margin-top: 50px; +} + +#login_openid input { + background: url(login-bg.gif) no-repeat; + background-position: 0 50%; + width: 182px; + padding-left: 18px; +} + +#login-footer { + margin-top: 10px; + text-align: center; +} + +.login-extra-links, .agreement { + font-size: 14px; +} + +#login-submit-button, #register-submit-button, #lostpass-submit-button { + font-size: 20px; + padding: 0.5em 1em; +} + +#register-link { + margin-right: 100px; +} + +.register-form { + margin-top: 15px; +} + +.register-form h2, .lostpass-form h2 { + text-align: center; +} + +.error-message { + width: 270px; + color: #FF0000; + font-size: 1.1em; + text-align: justify; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 10px; + margin-left: auto; + margin-right: auto; +} + +.register-explain-wrapper { + width: 290px; + text-align: justify; + font-size: 14px; + margin-left: 5px; +} + +#register-footer { + margin-top: 60px; + text-align: center; +} + +.lostpass-form { + margin-top: 100px; +} + +#lostpass-desc { + width: 290px; + margin-left: 5px; + margin-bottom: 30px; + text-align: justify; + font-size: 14px; +} + +#login-submit-wrapper { + text-align: center; +} diff --git a/view/theme/frost-mobile/login.tpl b/view/theme/frost-mobile/login.tpl new file mode 100644 index 0000000000..39bb578365 --- /dev/null +++ b/view/theme/frost-mobile/login.tpl @@ -0,0 +1,43 @@ + + + + diff --git a/view/theme/frost-mobile/lostpass.tpl b/view/theme/frost-mobile/lostpass.tpl new file mode 100644 index 0000000000..583e3dbaff --- /dev/null +++ b/view/theme/frost-mobile/lostpass.tpl @@ -0,0 +1,21 @@ +
    +

    $title

    +


    + +
    +
    +
    + +
    +
    +

    +$desc +

    +
    + +
    + +
    +
    +
    +
    diff --git a/view/theme/frost-mobile/moderated_comment.tpl b/view/theme/frost-mobile/moderated_comment.tpl new file mode 100755 index 0000000000..b0451c8c60 --- /dev/null +++ b/view/theme/frost-mobile/moderated_comment.tpl @@ -0,0 +1,61 @@ +
    +
    + + + + + + + +
    + $mytitle +
    +
    + +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    + + +
    + + +
    +
    + +
    diff --git a/view/theme/frost-mobile/msg-header.tpl b/view/theme/frost-mobile/msg-header.tpl new file mode 100644 index 0000000000..003c869227 --- /dev/null +++ b/view/theme/frost-mobile/msg-header.tpl @@ -0,0 +1,97 @@ + + + + + + diff --git a/view/theme/frost-mobile/nav.tpl b/view/theme/frost-mobile/nav.tpl new file mode 100644 index 0000000000..8b5fd89117 --- /dev/null +++ b/view/theme/frost-mobile/nav.tpl @@ -0,0 +1,131 @@ + + + diff --git a/view/theme/frost-mobile/photo_edit.tpl b/view/theme/frost-mobile/photo_edit.tpl new file mode 100644 index 0000000000..5631b2eba8 --- /dev/null +++ b/view/theme/frost-mobile/photo_edit.tpl @@ -0,0 +1,53 @@ + +
    + + + + + + +
    + + + + +
    + + + + +
    +
    +
    + $rotatecw +
    +
    + +
    + $rotateccw +
    + +
    +
    + +
    + +
    $permissions
    +
    +
    + +
    +
    + $aclselect +
    +
    +
    +
    + + + + +
    +
    + + diff --git a/view/theme/frost-mobile/photo_view.tpl b/view/theme/frost-mobile/photo_view.tpl new file mode 100644 index 0000000000..92e115487a --- /dev/null +++ b/view/theme/frost-mobile/photo_view.tpl @@ -0,0 +1,42 @@ +
    +

    $album.1

    + + + +
    + {{ if $prevlink }}{{ endif }} + {{ if $nextlink }}{{ endif }} +
    +
    +
    +
    $desc
    +{{ if $tags }} +
    $tags.0
    +
    $tags.1
    +{{ endif }} +{{ if $tags.2 }}{{ endif }} + +{{ if $edit }} +$edit +{{ else }} + +{{ if $likebuttons }} +
    + $likebuttons + $like + $dislike +
    +{{ endif }} + +$comments + +$paginate +{{ endif }} + diff --git a/view/theme/frost-mobile/photos_upload.tpl b/view/theme/frost-mobile/photos_upload.tpl new file mode 100644 index 0000000000..4b8bd90d2b --- /dev/null +++ b/view/theme/frost-mobile/photos_upload.tpl @@ -0,0 +1,50 @@ +

    $pagename

    + +
    $usage
    + +
    +
    +
    + +
    + +
    +
    +
    +
    $existalbumtext
    + $albumselect +
    +
    + + +
    + +
    + +
    +
    + +
    + +
    $permissions
    +
    +
    + +
    +
    + $aclselect +
    +
    + +
    + + $uploader + + $default + +
    + + + diff --git a/view/theme/frost-mobile/profed_head.tpl b/view/theme/frost-mobile/profed_head.tpl new file mode 100644 index 0000000000..6ae85852aa --- /dev/null +++ b/view/theme/frost-mobile/profed_head.tpl @@ -0,0 +1,36 @@ + diff --git a/view/theme/frost-mobile/profile_edit.tpl b/view/theme/frost-mobile/profile_edit.tpl new file mode 100644 index 0000000000..198dddb3f6 --- /dev/null +++ b/view/theme/frost-mobile/profile_edit.tpl @@ -0,0 +1,322 @@ +$default + +

    $banner

    + + + + + + +
    +
    + + +
    + +
    *
    +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + + +
    + +$gender +
    +
    + +
    + +
    +$dob $age +
    +
    +
    + +$hide_friends + +
    + +
    +
    + + +
    + + +
    +
    + +
    + + +
    +
    + + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + +
    +
    + +
    + +$marital +
    + + + + + +
    + +
    + +$sexual +
    +
    + + + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    +
    + +
    + + +
    $lbl_pubdsc
    +
    + +
    + + +
    $lbl_prvdsc
    +
    + + +
    + +
    +
    + +
    +

    +$lbl_about +

    + + + +
    +
    + + +
    +

    +$lbl_hobbies +

    + + + +
    +
    + + +
    +

    +$lbl_likes +

    + + + +
    +
    + + +
    +

    +$lbl_dislikes +

    + + + +
    +
    + + +
    +

    +$lbl_social +

    + + + +
    +
    + + +
    + +
    +
    + + +
    +

    +$lbl_music +

    + + + +
    +
    + +
    +

    +$lbl_book +

    + + + +
    +
    + + + +
    +

    +$lbl_tv +

    + + + +
    +
    + + + +
    +

    +$lbl_film +

    + + + +
    +
    + + +
    + +
    +
    + + +
    +

    +$lbl_love +

    + + + +
    +
    + + + +
    +

    +$lbl_work +

    + + + +
    +
    + + + +
    +

    +$lbl_school +

    + + + +
    +
    + + + +
    + +
    +
    + + +
    +
    + diff --git a/view/theme/frost-mobile/profile_vcard.tpl b/view/theme/frost-mobile/profile_vcard.tpl new file mode 100644 index 0000000000..bcb5baeeb5 --- /dev/null +++ b/view/theme/frost-mobile/profile_vcard.tpl @@ -0,0 +1,51 @@ +
    + +
    $profile.name
    + + + + {{ if $pdesc }}
    $profile.pdesc
    {{ endif }} +
    $profile.name
    + + + + {{ if $location }} +
    $location
    +
    + {{ if $profile.address }}
    $profile.address
    {{ endif }} + + $profile.locality{{ if $profile.locality }}, {{ endif }} + $profile.region + $profile.postal-code + + {{ if $profile.country-name }}$profile.country-name{{ endif }} +
    +
    + {{ endif }} + + {{ if $gender }}
    $gender
    $profile.gender
    {{ endif }} + + {{ if $profile.pubkey }}{{ endif }} + + {{ if $marital }}
    $marital
    $profile.marital
    {{ endif }} + + {{ if $homepage }}
    $homepage
    $profile.homepage
    {{ endif }} + + {{ inc diaspora_vcard.tpl }}{{ endinc }} + +
    + +
    + +$contact_block + + diff --git a/view/theme/frost-mobile/prv_message.tpl b/view/theme/frost-mobile/prv_message.tpl new file mode 100644 index 0000000000..9a20c6c698 --- /dev/null +++ b/view/theme/frost-mobile/prv_message.tpl @@ -0,0 +1,39 @@ + +

    $header

    + +
    +
    + +$parent + +
    $to
    + +{{ if $showinputs }} + + +{{ else }} +$select +{{ endif }} + +
    $subject
    + + +
    $yourmessage
    + + + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    diff --git a/view/theme/frost-mobile/register.tpl b/view/theme/frost-mobile/register.tpl new file mode 100644 index 0000000000..506e3b118f --- /dev/null +++ b/view/theme/frost-mobile/register.tpl @@ -0,0 +1,78 @@ +
    +

    $regtitle

    +
    + +
    + + + + $registertext + +

    $realpeople

    + +
    +
    + $oidhtml +
    +
    + +
    +

    $fillwith $fillext

    +
    + +

    + +{{ if $invitations }} + +

    $invite_desc

    +
    + + +
    +
    + +{{ endif }} + + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +

    $nickdesc

    +
    + + $publish + + +
    +


    + +$license + +
    diff --git a/view/theme/frost-mobile/screenshot.jpg b/view/theme/frost-mobile/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b18c3a4107b2259cd9ba7f0dc5c0fafa0fde364 GIT binary patch literal 89002 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�#~>th{13t{Os#<>+la? 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 literal 0 HcmV?d00001 diff --git a/view/theme/frost-mobile/settings.tpl b/view/theme/frost-mobile/settings.tpl new file mode 100644 index 0000000000..5a40b96bca --- /dev/null +++ b/view/theme/frost-mobile/settings.tpl @@ -0,0 +1,144 @@ +

    $ptitle

    + +$nickname_block + +
    + + +

    $h_pass

    + +{{inc field_password.tpl with $field=$password1 }}{{endinc}} +{{inc field_password.tpl with $field=$password2 }}{{endinc}} + +{{ if $oid_enable }} +{{inc field_input.tpl with $field=$openid }}{{endinc}} +{{ endif }} + +
    + +
    + + +

    $h_basic

    + +{{inc field_input.tpl with $field=$username }}{{endinc}} +{{inc field_input.tpl with $field=$email }}{{endinc}} +{{inc field_custom.tpl with $field=$timezone }}{{endinc}} +{{inc field_input.tpl with $field=$defloc }}{{endinc}} +{{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}} + + +
    + +
    + + +

    $h_prv

    + + + + +{{inc field_input.tpl with $field=$maxreq }}{{endinc}} + +$profile_in_dir + +$profile_in_net_dir + +$hide_friends + +$hide_wall + +$blockwall + +$blocktags + +$suggestme + +$unkmail + + +{{inc field_input.tpl with $field=$cntunkmail }}{{endinc}} + +{{inc field_input.tpl with $field=$expire.days }}{{endinc}} + + +
    + $expire.label +
    +
    +

    $expire.advanced

    + {{ inc field_yesno.tpl with $field=$expire.items }}{{endinc}} + {{ inc field_yesno.tpl with $field=$expire.notes }}{{endinc}} + {{ inc field_yesno.tpl with $field=$expire.starred }}{{endinc}} + {{ inc field_yesno.tpl with $field=$expire.network_only }}{{endinc}} +
    +
    + +
    + + +
    + $permissions $permdesc +
    + + + +
    +
    + $aclselect +
    +
    + + +
    +
    +
    + +$group_select + + +
    + +
    + + + +

    $h_not

    +
    + +
    $activity_options
    + +{{inc field_checkbox.tpl with $field=$post_newfriend }}{{endinc}} +{{inc field_checkbox.tpl with $field=$post_joingroup }}{{endinc}} +{{inc field_checkbox.tpl with $field=$post_profilechange }}{{endinc}} + + +
    $lbl_not
    + +
    +{{inc field_intcheckbox.tpl with $field=$notify1 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify2 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify3 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify4 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify5 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify6 }}{{endinc}} +{{inc field_intcheckbox.tpl with $field=$notify7 }}{{endinc}} +
    + +
    + +
    + +
    + + +

    $h_advn

    +
    $h_descadvn
    + +$pagetype + +
    + +
    + + diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css new file mode 100644 index 0000000000..13bc6c3d48 --- /dev/null +++ b/view/theme/frost-mobile/style.css @@ -0,0 +1,3847 @@ +/** + * duepuntozero Frindika style + * Fabio Comuni + * + * Heavily modified for Frost Mobile + * Zach P + */ + + +/* generals */ +html { + width: 320px; + margin-left: auto; + margin-right: auto; +} + +body { + font-family: helvetica,arial,freesans,clean,sans-serif; + font-size: 16px; +/* line-height: 24px;*/ + background-color: #ffffff; + background-image: url(head.jpg); + background-repeat: repeat-x; + color: #505050; + margin: 0px; +} + +div.container { + display: block; +/* width: 100%;*/ + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} + +a, a:visited, a:link { color: #3465a4; text-decoration: none; } +a:hover {text-decoration: underline; } + +input { + border: 1px solid #666666; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + padding: 3px; +} + +img { border :0px; } + +#id_openid_url, .openid input { + background: url(login-bg.gif) no-repeat; + background-position: 0 50%; + padding-left: 18px; + width: 252px; + margin-left: 20px; +} +.openid:hover { + +} + +/*#id_openid_url { + width: 384px; +}*/ + +code { + font-family: Courier, monospace; + white-space: pre; + display: block; + overflow: auto; + border: 1px solid #444; + background: #EEE; + color: #444; + padding: 10px; + margin-top: 20px; +} + +blockquote { + background-color: #f4f8f9; + border-left: 4px solid #dae4ee; + padding: 0.4em; +} + +.icollapse-wrapper, .ccollapse-wrapper { + border: 1px solid #CCC; + padding: 5px; +} + +.hide-comments-outer { + margin-left: 0px; + font-weight: 700; + opacity: 0.6; +} +.hide-comments { + margin-left: 5px; +} + +#panel { + background-color: ivory; + position: absolute; + z-index: 2; + width: 30%; + padding: 25px; + border: 1px solid #444; +} + +.heart { + color: #FF0000; + font-size: 100%; + margin-right: 5px; +} + + + +/* nav */ +nav { + height: 94px; +/* width: 100%;*/ + width: 320px; + display: block; + margin-top: 0px; + margin-bottom: 0px; + margin-left: auto; + margin-right: auto; +} +nav #site-location { + color: #888a85; + font-size: 0.8em; + position: absolute; +} + +.error-message { + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 10px; +} + +.info-message { + color: #204a87; + font-size: 1.1em; + border: 1px solid #3465a4; + background-color: #d7e3f1; + padding: 10px; +} + + +nav #banner { +/* display: block;*/ + display: none; + margin-top: 14px; + position: absolute; +} +nav #banner #logo-text a { + display: none; + font-size: 40px; + font-weight: bold; + margin-left: 3px; + color: #000000; + +} +nav #banner #logo-text a:hover { text-decoration: none; } + + +/* ZP REMOVE? nav-commlink */ +.nav-commlink, .nav-login-link { + display: block; + height: 15px; + margin-top: 67px; + margin-right: 2px; + /*padding: 6px 10px;*/ + padding: 6px 3px; + float: left; + bottom: 140px; + border: 1px solid #babdb6; + border-bottom: 0px; + background-color: #aec0d3; + color: #565854; + -moz-border-radius: 3px 3px 0px 0px; + -webkit-border-radius: 3px 3px 0px 0px; + border-radius: 3px 3px 0px 0px; +} + +.nav-commlink.selected { + background-color: #ffffff; + border-bottom: 1px solid #ffffff; + color: #000000 !important; + margin-top: 64px; + padding-top: 6px; + padding-bottom: 8px; +} + +.nav-ajax-left.show { + position: absolute; + font-size: 0.8em; + top: 22px; + right: 2px; + padding: 1px 2px; + border-radius: 4px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-color: gold !important; +} + + + +nav #nav-link-wrapper .nav-link { + /*border-right: 1px solid #babdb6;*/ +} + +nav .nav-link { + margin-top: 24px; + margin-bottom: 0.2em; + margin-right: 1em; + margin-left: 1em; + background-color: transparent !important; +} + +.nav-button-container { + float: right; + position: relative; +} + +.nav-button-container .nav-ajax-left { +} + +.nav-menu-list { + text-align: center; + text-size: 18px; + line-height: 24px; + + border-left: 1px solid #aaa;/*#444444;*/ + border-right: 1px solid #aaa; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + + background: #FFFFFF; + + display: none; + list-style: none; + + width: 8em; + position: absolute; + margin: 0px; +/* right: -33px;*/ + padding: 1em 0px; + + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; + + z-index: 10000; +} + +#network-menu-list { + left: 3px; +} + +#contacts-menu-list { + right: -30px; +} + +#system-menu-list { + right: 3px; +} + + +div.main-container { +/* width: 100%;*/ + margin: 0px auto; + display: block; + position: relative; +} + +/*div.main-content-loading { + position: absolute; + top: 200px; + left: 50%; + display: none; +}*/ + + +/* aside */ +aside { +/* display: block;*/ + display: none; + min-height: 112px; + + width: 250px; + + padding: 1em; + margin: 1em 0px 0px 0px; + + position: absolute; + +/* float:left;*/ +} + +#dfrn-request-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background: #3465a4 url('friendika-16.png') no-repeat 95% center; +} +#wallmessage-link { + display: block; + color: #FFFFFF; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + font-weight: bold; + background-color: #3465a4; +} + +/* section */ +div.section-wrapper { +/* width: 100%;*/ + width: 320px; + + margin-left: auto; + margin-right: auto; + + /*padding-right:2em;*/ + + display: block; + + background-color: #ffffff; + background-image: url(border.jpg); + background-position: top right; + background-repeat: no-repeat; +} + +section { + margin: 0px 0px 0px 0px; + + padding-left: 5px; + padding-right: 5px; + padding-top: 1em; + padding-bottom: 3em; + + background-image: url(border.jpg); + background-position: top left; + background-repeat: no-repeat; + + min-height: 112px; + border-top: 1px solid #babdb6; +} + +.tabs { + /*background-image: url(head.jpg); + background-repeat: repeat-x; + background-position: 0px -20px;*/ + border-bottom: 1px solid #babdb6; + padding:0px; +} +.tabs li { margin: 0px 0px 20px 0px; padding-left: 1em; list-style: none; } +.tabs a { + padding: 0.2em 2em; + border: 1px solid #aaa; + border-radius: 8px; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; +} +.tab { + /*display:block;*/ + /*float:left;*/ + padding-left: 1em; + padding-right: 0.4em; + padding-top: 0.4em; + padding-bottom: 0.4em; + /*margin-right: 1em;*/ + margin-right: 3px ; +} +.tab.active { + font-weight: bold; + +} +#events-tab { + display: none; +} + + +/* footer */ +footer { + display: none; + +} + +.birthday-today, .event-today { + font-weight: bold; +} + +.preview { + background: #FFFFC8; +} + +#theme-preview { + margin: 15px 0 15px 150px; +} + +/* from default */ +#jot-perms-icon, +#profile-location, +#profile-nolocation, +#profile-youtube, +#profile-video, +#profile-audio, +#profile-link, +#profile-title, +#wall-image-upload, +#wall-file-upload, +#profile-upload-wrapper, +#wall-image-upload-div, +#wall-file-upload-div, +.hover, .focus { + cursor: pointer; +} + +#jot-perms-icon { + float: left; +} + +#jot-title, #jot-category { + border: 0px; + margin: 0px; + height: 20px; + width: 270px; + margin-bottom: 5px; + font-weight: bold; + border: 1px solid #ffffff; +} + +#jot-title::-webkit-input-placeholder{font-weight: normal;} +#jot-category::-webkit-input-placeholder{font-weight: normal;} +#jot-title:-moz-placeholder{font-weight: normal;} +#jot-category:-moz-placeholder{font-weight: normal;} + + +#jot-title:hover, +#jot-title:focus, +#jot-category:hover, +#jot-category:focus { + border: 1px solid #cccccc; +} + +.jothidden { display:none; } + + +.fakelink, .fakelink:visited, .fakelink:link { + color: #3465a4; + text-decoration: none; + cursor: pointer; + margin-top: 15px; + margin-bottom: 15px; +} +.lockview { + cursor: pointer; +} + +#group-sidebar { + margin-bottom: 10px; +} + +.group-selected, .nets-selected, .fileas-selected, .categories-selected { + padding: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.settings-widget .selected { + padding: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #CCCCCC; + background: #F8F8F8; + font-weight: bold; +} + +.fakelink:hover { + color: #3465a4; + text-decoration: underline; + cursor: pointer; +} +.smalltext { + font-size: 0.7em; +} +#sysmsg { + /*width: 600px;*/ + margin-bottom: 10px; +} + +#register-fill-ext { + margin-bottom: 25px; +} + +#label-register-name, #label-register-email, #label-register-nickname, #label-register-openid { + float: left; + width: 350px; + margin-top: 10px; +} + +#register-name, #register-email, #register-nickname { + float: left; + margin-top: 10px; + width: 150px; +} + +#register-openid { + float: left; + margin-top: 10px; + width: 130px; +} + +#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end { + clear: both; +} + +#register-nickname-desc { + margin-top: 30px; + width: 650px; +} +#register-sitename { + float: left; + margin-top: 10px; +} + +#register-submit-button { + margin-top: 10px; +} + + +#login_standard { + width: 210px; + float: left; +} +#login_openid { + width: 210px; + margin-left: 250px; +} + +#login_standard input, +#login_openid input { + width: 180px; +} + +#login-extra-links { + clear: both; +} + +#register-link, #lost-password-link { + float: left; + font-size: 80%; + margin-right: 15px; +} + +#login-name-end, #login-password-end, #login-extra-end, #login-submit-end { + height: 50px; +} + +#login-submit-button { +/* margin-top: 10px; */ + margin-left: 200px; +} + + +input#dfrn-url { + float: left; + background: url(friendika-16.png) no-repeat; + background-position: 2px center; + font-size: 17px; + padding-left: 21px; + height: 21px; + background-color: #FFFFFF; + color: #000000; + margin-bottom: 20px; +} + +#dfrn-url-label { + float: left; + width: 250px; +} + +#dfrn-request-url-end { + clear: both; +} + +#knowyouyes, #knowyouno { + float: left; +} + +#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper { + + float: none; +} +#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label { + float: left; + width: 75px; + margin-left: 50px; + margin-bottom: 7px; +} +#dfrn-request-knowyou-break, #dfrn-request-knowyou-end { + clear: both; + +} + +#dfrn-request-message-wrapper { + margin-bottom: 50px; +} +#dfrn-request-submit-wrapper { + clear: both; + margin-left: 50px; +} + +#dfrn-request-info-wrapper { + margin-left: 50px; +} + + + +#cropimage-wrapper, #cropimage-preview-wrapper { + float: left; + padding: 30px; +} + +#crop-image-form { + margin-top: 30px; + clear: both; +} + +.intro-wrapper { + margin-top: 20px; +} + +.intro-fullname { + font-size: 1.1em; + font-weight: bold; + +} +.intro-desc { + margin-bottom: 20px; + font-weight: bold; +} + +.intro-note { + padding: 10px; +} + +.intro-end { + padding: 30px; +} + +.intro-form { + float: left; +} +.intro-approve-form { + clear: both; +} +.intro-approve-as-friend-end { + clear: both; +} +.intro-submit-approve, .intro-submit-ignore { + margin-right: 20px; +} +.intro-submit-approve { + margin-top: 15px; +} + +.intro-approve-as-friend-label, .intro-approve-as-fan-label { + float: left; + width: 100px; + margin-left: 20px; +} +.intro-approve-as-friend, .intro-approve-as-fan { + float: left; +} +.intro-form-end { + clear: both; +} +.intro-approve-as-friend-desc { + margin-top: 15px; +} +.intro-approve-as-end { + clear: both; + margin-bottom: 10px; +} + +.intro-end { + clear: both; + margin-bottom: 30px; +} +.aprofile dt { + font-weight: bold; +} +#page-profile .title { + font-weight: bold; +} +#profile-vcard-break { + clear: both; +} +#profile-extra-links { + clear: both; + margin-top: 10px; +} + +#profile-extra-links ul { + list-style-type: none; + padding: 0px; +} + + +#profile-extra-links li { + margin-top: 5px; +} + +#profile-edit-links ul { + list-style-type: none; +} + +#profile-edit-links li { + margin-top: 10px; +} +.profile-edit-side-div { + float: right; +} +.profile-edit-side-link { + opacity: 0.3; + filter:alpha(opacity=30); +} +.profile-edit-side-link:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +.view-contact-wrapper { + margin-top: 20px; + float: left; + margin-left: 20px; + width: 180px; +} + +.contact-wrapper { + float: left; + width: 150px; + height: 150px; + overflow: auto; +} + +#view-contact-end { + clear: both; +} + + +#viewcontacts { + margin-top: 15px; +} +#profile-edit-default-desc { + color: #FF0000; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 7px; +} + +#profile-edit-clone-link-wrapper { + float: left; + margin-left: 50px; + margin-bottom: 20px; + width: 300px; +} + + +#profile-edit-links-end { + clear: both; + margin-bottom: 15px; +} + +.profile-listing-photo { + border: none; +} + +.profile-edit-submit-wrapper { + margin-top: 20px; + margin-bottom: 20px; +} + +#profile-photo-link-select-wrapper { + margin-top: 2em; +} + +#profile-photo-submit-wrapper { + margin-top: 10px; +} + +#profile-photo-wrapper img { + width:175px; + height:175px; + padding: 12px; +} + +#profile-edit-profile-name-label, +#profile-edit-name-label, +#profile-edit-pdesc-label, +#profile-edit-gender-label, +#profile-edit-dob-label, +#profile-edit-address-label, +#profile-edit-locality-label, +#profile-edit-region-label, +#profile-edit-postal-code-label, +#profile-edit-country-name-label, +#profile-edit-marital-label, +#profile-edit-sexual-label, +#profile-edit-politic-label, +#profile-edit-religion-label, +#profile-edit-pubkeywords-label, +#profile-edit-prvkeywords-label, +#profile-edit-homepage-label, +#profile-edit-hometown-label { + font-weight: 700; + float: left; + width: 175px; +} + +#profile-edit-profile-name, +#profile-edit-name, +#profile-edit-pdesc, +#gender-select, +#profile-edit-dob, +#profile-edit-address, +#profile-edit-locality, +#profile-edit-region, +#profile-edit-postal-code, +#profile-edit-country-name, +#marital-select, +#sexual-select, +#profile-edit-politic, +#profile-edit-religion, +#profile-edit-pubkeywords, +#profile-edit-prvkeywords, +#profile-in-dir-yes, +#profile-in-dir-no, +#profile-in-netdir-yes, +#profile-in-netdir-no, +#hide-wall-yes, +#hide-wall-no, +#hide-friends-yes, +#hide-friends-no { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} +#profile-edit-country-name { + max-width: 260px; +} +#profile-edit-pubkeywords, +#profile-edit-prvkeywords { + margin-bottom: 5px; +} +#settings-normal, +#settings-soapbox, +#settings-freelove, +#settings-community { + float: left; +} +#settings-notifications label { + margin-left: 20px; +} +#settings-notify-desc, #settings-activity-desc { + font-weight: bold; + margin-bottom: 15px; +} +#settings-pagetype-desc { + color: #666666; + margin-bottom: 15px; +} + +#profile-in-dir-yes-label, +#profile-in-dir-no-label, +#profile-in-netdir-yes-label, +#profile-in-netdir-no-label, +#hide-wall-yes-label, +#hide-wall-no-label, +#hide-friends-yes-label, +#hide-friends-no-label { + margin-left: 125px; + float: left; + width: 50px; +} + + +#profile-edit-howlong-label, +#profile-edit-with-label { + display: block; + font-style: italic; + width: 175px; + margin-left: 0px; +} +#profile-edit-howlong, +#profile-edit-with { + margin-left: 20px; + margin-bottom: 20px; +} + +#profile-publish-yes-reg, +#profile-publish-no-reg { + float: left; + margin-bottom: 10px; +} + +#profile-publish-yes-label-reg, +#profile-publish-no-label-reg { + margin-left: 350px; + float: left; + width: 50px; +} + +#profile-publish-break-reg, +#profile-publish-end-reg { + clear: both; +} + + +#profile-edit-pdesc-desc, +#profile-edit-pubkeywords-desc, +#profile-edit-prvkeywords-desc { + float: left; + color: #777; + margin-left: 20px; + margin-bottom: 20px; +} +#profile-edit-prvkeywords-desc { + margin-bottom: 0px; +} + +#profile-edit-homepage, #profile-edit-hometown { + float: left; + margin-bottom: 25px; + margin-left: 20px; +} +#profile-edit-hometown { + margin-bottom: 5px; +} +#settings-normal-label, +#settings-soapbox-label, +#settings-community-label, +#settings-freelove-label { + float: left; + width: 200px; +} +#settings-normal-desc, +#settings-soapbox-desc, +#settings-community-desc, +#settings-freelove-desc { + /*float: left; + margin-left: 75px;*/ + clear: left; + color: #666666; + display: block; + margin-bottom: 20px +} + +#profile-edit-profile-name-end, +#profile-edit-name-end, +#profile-edit-pdesc-end, +#profile-edit-gender-end, +#profile-edit-dob-end, +#profile-edit-address-end, +#profile-edit-locality-end, +#profile-edit-region-end, +#profile-edit-postal-code-end, +#profile-edit-country-name-end, +#profile-edit-marital-end, +#profile-edit-sexual-end, +#profile-edit-politic-end, +#profile-edit-religion-end, +#profile-edit-pubkeywords-end, +#profile-edit-prvkeywords-end, +#profile-edit-homepage-end, +#profile-edit-hometown-end, +#profile-in-dir-break, +#profile-in-dir-end, +#profile-in-netdir-break, +#profile-in-netdir-end, +#hide-wall-break, +#hide-wall-end, +#hide-friends-break, +#hide-friends-end, +#settings-normal-break, +#settings-soapbox-break, +#settings-community-break, +#settings-freelove-break { + clear: both; +} +#profile-edit-marital-wrapper, #profile-edit-address-wrapper { + margin-top: 50px; +} +#profile-edit-marital-end { + margin-bottom: 20px; +} + +.settings-widget ul { + list-style-type: none; + padding: 0px; +} + +.settings-widget li { + margin-left: 24px; + margin-bottom: 8px; +} + + +#gender-select, #marital-select, #sexual-select { + width: 220px; +} + +#profile-edit-profile-name-wrapper .required { + color: #FF0000; + float: left; +} + +#contacts-display-wrapper { + padding-left: 35px; +} + +#contacts-main { + margin-top: 20px; + margin-bottom: 20px; +} + +.contact-entry-wrapper { + float: left; +/* width: 120px; + height: 120px;*/ + padding-left: 15px; + padding-right: 15px; + width: 95px; + height: 170px; +} +#contacts-search-end { + margin-bottom: 10px; +} + +.contact-entry-direction-icon { + margin-top: 24px; + margin-right: 2px; +} + +.contact-entry-photo img { + border: none; +} +.contact-entry-photo-end { + clear: both; +} +.contact-entry-name { + float: left; + margin-left: 0px; + margin-right: 10px; + padding-bottom: 5px; + width: 120px; + font-weight: 600; + overflow: hidden; +} +.contact-entry-details { + font-style: italic; + font-size: 10px; + font-weight: 500; +} +.contact-entry-network { + font-size: 10px; + font-weight: 500; +} +.contact-entry-edit-links { + margin-top: 6px; + margin-left: 10px; + width: 16px; +} +.contact-entry-nav-wrapper { + float: left; + margin-left: 10px; +} + +.contact-entry-edit-links img { + border: none; + margin-right: 15px; +} +.contact-entry-photo { + float: left; + position: relative; +} +.contact-entry-end { + clear: both; +} + +#fsuggest-desc, #fsuggest-submit-wrapper { + margin-top: 15px; + margin-bottom: 15px; +} + +#network-star-link{ + margin-top: 10px; +} +.network-star { + float: left; + margin-right: 5px; +} +#network-bmark-link { + margin-top: 10px; +} + +.wall-item-content-wrapper { + margin-top: 60px; + padding-top: 30px; + border-top: 2px solid #AAAAAA; + position: relative; + +} + +.wall-item-content-wrapper.comment { + margin-top: 30px; + padding-top: 0px; + margin-left: 5px; + margin-right: 5px; + border: 2px solid #AAAAAA; + border-radius: 10px; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; +/* background: #EEEEEE;*/ +} + +.wall-item-like, .wall-item-dislike { + font-style: italic; + margin-left: 0px; + opacity: 0.6; +} + +.wall-item-like.comment, .wall-item-dislike.comment { + margin-left: 5px; +} + +.wall-item-info { + display: block; + float: left; + width:110px; + margin-right:10px; +} +.comment .wall-item-info { + width: 70px; +} + +.wall-item-photo-wrapper { + margin-bottom: 10px; + width: 100px; +} +.wall-item-photo-menu-button { + display: block; + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 94px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.wall-item-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; + left: 0px; top:110px; + display: none; + z-index: 10000; +} +.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.wall-item-photo-menu li a { display: block; padding: 2px; } +.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +.comment .wall-item-photo-menu-button { top: 64px;} +.comment .wall-item-photo-menu { top: 80px; } + +.wallwall .wwto { + left: 50px; + margin: 0; + position: absolute; + top: 80px; + width: 30px +} +.wallwall .wwto img { + width: 30px !important; + height: 30px !important; +} + +.wallwall .wall-item-photo-end { + clear: both; +} + +.wall-item-arrowphoto-wrapper { + position: absolute; + left: 75px; + top: 80px; + z-index: 100; +} +.wall-item-wrapper { + margin-left:10px; +} +.wall-item-lock { + margin-top: 30px; + left: 105px; + position: absolute; + top: 1px; +} +.comment .wall-item-lock { + margin-top: 0px; + left: 65px; +} + +.wall-item-ago { + color: #888888; + font-size: 0.8em; +} + +.wall-item-location { + overflow: hidden; + /* add ellipsis on text overflow */ + /* this work on safari, opera, ie, chrome. */ + /* firefox users have to wait support or we */ + /* can use a jquery plugin http://bit.ly/zJskg */ + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + width: 100%; +} + +.wall-item-like-buttons { + float: left; + margin-right: 10px; +} + +.like-rotator { + margin-left: 5px; +} + +.wall-item-like-buttons > a, +.wall-item-like-buttons > img { + float: left; +} + +.wall-item-like-buttons img { + cursor: pointer; +} + +.wall-item-share-buttons { + margin-left: 10px; + margin-right: 10px; +} + +.editpost { + margin-left: 10px; + float: left; +} +.star-item { + margin-left: 10px; + float: left; +} +.tag-item { + margin-left: 10px; + float: left; +} + +.filer-item { + margin-left: 10px; + float: left; +} + +.wall-item-links-wrapper { + float: left; +} + +.wall-item-delete-wrapper { + float: right; +} + +.wall-item-delete-end { + clear: both; +} + +.wall-item-delete-icon { + border: none; +} + + +.wall-item-wrapper-end { + clear: both; +} +.wall-item-name-link { + font-weight: bold; + text-decoration: none; + color: #3172BD; +} +.wall-item-photo { + border: none; +} +.comment .wall-item-photo { + width: 50px !important; + height: 50px !important; + border-top-left-radius: 10px; +} +.wall-item-content { + float: left; + margin-left: 3px; +/* padding-right: 1em; + max-height: 500px; + overflow: auto;*/ +} + +.wall-item-content img { + max-width: 300px; + border-radius: 7px; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; +} + + + +.wall-item-title { + float: left; + font-weight: bold; + font-size: 1.6em; + /*width: 450px;*/ +} + +.wall-item-title-end { + clear: both; +} + +.wall-item-body { + text-align: justify; + float: left; + width: 300px; + overflow: hidden; + margin-top: 10px; + line-height: 23px; +} + +.wall-item-body code { + overflow: hidden; +} + +.comment .wall-item-body { + margin-left: 5px; + width: 280px; +} + +.wall-item-tools { + clear: both; +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + padding: 5px 10px 0px; + height: 32px; +} +.wall-item-author { +/* margin-top: 10px;*/ + margin-top: 0px; +} + +.comment .wall-item-tools { +/* background:none;*/ +/* background-image: url("head.jpg"); + background-position: 0 -20px; + background-repeat: repeat-x;*/ + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} + +.comment-edit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 50px; +} + +.comment-wwedit-wrapper { + margin-top: 15px; + background: #f3f3f3; + margin-left: 10px; + margin-right: 10px; +} + +.comment-edit-photo { + margin-top: 15px; + margin-left: 10px; + margin-bottom: 10px; + width: 25px; + float: left; +} +.comment-edit-photo img { + width: 25px; +} +.comment-edit-text-empty, .comment-edit-text-full { +/* float: left;*/ + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #cccccc; + padding: 3px 1px 1px 3px; +} + +.comment-edit-text-empty { + color: gray; + height: 30px; + width: 175px; +/* overflow: auto;*/ + margin-top: 40px; + margin-bottom: 10px; + margin-left: 20px; +} + +.comment-edit-text-full { + color: black; + height: 150px; +/* width: 350px; + overflow: auto;*/ + width: 190px; + margin-top: 15px; + margin-left: 20px; +} + +.comment-edit-text-end { + clear: both; +} + +.comment-edit-submit { + font-size: 18px; + padding: 5px 10px; + margin: 10px 0px 10px 110px; +} + +#profile-jot-wrapper { + padding-left: 10px; +} + +#profile-jot-plugin-wrapper, +#profile-jot-submit-wrapper { + margin-top: 15px; +} + +#profile-jot-submit { + float: left; + font-size: 18px; + padding: 5px 8px; +} +#profile-upload-wrapper { + float: left; + margin-left: 30px; +} +#profile-attach-wrapper { + float: left; + margin-left: 15px; +} +#profile-rotator { + float: left; + margin-left: 30px; +} +#profile-link-wrapper { + float: left; + margin-left: 15px; +} +#profile-youtube-wrapper { + float: left; + margin-left: 15px; +} +#profile-video-wrapper { + float: left; + margin-left: 15px; +} +#profile-audio-wrapper { + float: left; + margin-left: 15px; +} +#profile-location-wrapper { + float: left; + margin-left: 15px; +} +#jot-preview-link { + display: none; + float: left; + margin-left: 45px; + margin-top: 0px !important; +} + + +#profile-nolocation-wrapper { + float: left; + margin-left: 15px; +} +#profile-title-wrapper { + float: left; + margin-left: 15px; +} + +#profile-jot-perms { + float: left; + margin-left: 40px; + font-weight: bold; + font-size: 1.2em; +} + + +#profile-jot-perms-end { + /*clear: left;*/ + height: 30px; +} + +#profile-jot-plugin-end{ + clear: both; +} +.profile-jot-net { + float: left; + margin-right: 10px; + margin-top: 5px; + margin-bottom: 5px; +} + +#profile-jot-networks-end { + clear: both; +} + +.profile-jot-box { + margin-top: 50px; +} +.profile-edit-textarea { + margin-left: 20px; +} + +#profile-jot-end { + /*clear: both;*/ + margin-bottom: 30px; +} +#about-jot-submit-wrapper { + margin-top: 15px; +} +#about-jot-end { + margin-bottom: 30px; +} +#contacts-main { + margin-bottom: 30px; +} + +#profile-listing-desc { + margin-left: 30px; +} + +#profile-listing-new-link-wrapper { + margin-left: 30px; + margin-bottom: 30px; +} +.profile-listing-photo-wrapper { + float: left; +} + +.profile-listing-edit-buttons-wrapper { + clear: both; +} +.profile-listing-photo-edit-link { + float: left; + width: 125px; +} +.profile-listing-end { + clear: both; +} +.profile-listing-edit-buttons-wrapper img{ + border: none; + margin-right: 20px; +} +.profile-listing { + float: left; + margin-left: 30px; + margin-top: 25px; +} +.profile-listing-visible { + margin-left: 100px; +} +.profile-listing-name { + float: left; + margin-left: 12px; + margin-top: 10px; + color: #3172BD; + font-weight: bold; + width: 200px; + +} +.fortune { + margin-top: 50px; + color: #4444FF; + font-weight: bold; + margin-bottom: 20px; +} + + +.directory-end { + clear: both; +} +.directory-name { + text-align: center; +} +.directory-photo { + margin-left: 15px; +} +.directory-details { + font-size: 0.7em; + text-align: center; + margin-left: 5px; + margin-right: 5px; +} +.directory-item { + float: left; +/* width: 225px; + height: 260px;*/ + padding-left: 15px; + width: 130px; + height: 235px; + overflow: auto; +} + +#directory-search-wrapper { + margin-top: 20px; + margin-right: 20px; + margin-bottom: 50px; +} + +#directory-search-end { +} + +.directory-photo-img { + width: 125px; + border: none; +} + + +.pager { + margin-top: 30px; + margin-right: auto; + margin-left: auto; + + padding-top: 10px; + padding-bottom: 10px; + padding-left: 10px; + text-align: center; +/* line-height: 2.75em;*/ +} + +.pager a { + font-size: 1.5em; + padding: 0.2em 1em; + border: 1px solid #aaa; + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + + +.pager_first, +.pager_last, +.pager_prev, +.pager_next, +.pager_n { +/* float: left; + border: 1px solid black; + border-radius: 7px; + background: #EEE; + text-align: center; + width: 50px; + margin-right: 5px; + margin-bottom: 10px;*/ +/* float: left;*/ + margin-right: 15px; + margin-left: 15px; +} + +.pager_first, +.pager_last, +.pager_n { + display: none; +} + +.pager_first a, +.pager_last a, +.pager_prev a, +.pager_next a { +/* padding-top: 2px; + padding-bottom: 2px; + padding-left: 4px; + padding-right: 8px;*/ + padding-top: 5px; + padding-bottom: 5px; + padding-left: 25px; + padding-right: 30px; + + border: 2px solid #AAAAAA; + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + font-size: 1.25em; + text-align: center; + text-decoration: none; +} +.pager_n a { + padding-top: 2px; + padding-bottom: 2px; + padding-left: 9px; + padding-right: 18px; + text-decoration: none; +} + +.pager_current { + display: none; + float: left; + border: 1px solid black; + border-radius: 7px; + -moz-border-radius: 7px; + -webkit-border-radius: 7px; + background: #FFCCCC; + font-size: 1.25em; + text-align: center; + width: 50px; + margin-right: 5px; + margin-bottom: 10px; +} + + +#advanced-profile-name-wrapper, +#advanced-profile-gender-wrapper, +#advanced-profile-dob-wrapper, +#advanced-profile-age-wrapper, +#advanced-profile-marital-wrapper, +#advanced-profile-sexual-wrapper, +#advanced-profile-homepage-wrapper, +#advanced-profile-politic-wrapper, +#advanced-profile-religion-wrapper, +#advanced-profile-about-wrapper, +#advanced-profile-interest-wrapper, +#advanced-profile-contact-wrapper, +#advanced-profile-music-wrapper, +#advanced-profile-book-wrapper, +#advanced-profile-tv-wrapper, +#advanced-profile-film-wrapper, +#advanced-profile-romance-wrapper, +#advanced-profile-work-wrapper, +#advanced-profile-education-wrapper { + margin-top: 20px; +} + +#advanced-profile-name-text, +#advanced-profile-gender-text, +#advanced-profile-dob-text, +#advanced-profile-age-text, +#advanced-profile-marital-text, +#advanced-profile-sexual-text, +#advanced-profile-homepage-text, +#advanced-profile-politic-text, +#advanced-profile-religion-text, +#advanced-profile-about-text, +#advanced-profile-interest-text, +#advanced-profile-contact-text, +#advanced-profile-music-text, +#advanced-profile-book-text, +#advanced-profile-tv-text, +#advanced-profile-film-text, +#advanced-profile-romance-text, +#advanced-profile-work-text, +#advanced-profile-education-text { + width: 300px; + float: left; +} + +#advanced-profile-name-end, +#advanced-profile-gender-end, +#advanced-profile-dob-end, +#advanced-profile-age-end, +#advanced-profile-marital-end, +#advanced-profile-sexual-end, +#advanced-profile-homepage-end, +#advanced-profile-politic-end, +#advanced-profile-religion-end { + height: 10px; +} + +#advanced-profile-about-end, +#advanced-profile-interest-end, +#advanced-profile-contact-end, +#advanced-profile-music-end, +#advanced-profile-book-end, +#advanced-profile-tv-end, +#advanced-profile-film-end, +#advanced-profile-romance-end, +#advanced-profile-work-end, +#advanced-profile-education-end { + + +} + +#advanced-profile-name, +#advanced-profile-gender, +#advanced-profile-dob, +#advanced-profile-age, +#advanced-profile-marital, +#advanced-profile-sexual, +#advanced-profile-homepage, +#advanced-profile-politic, +#advanced-profile-religion { + float: left; + +} + + +#advanced-profile-about, +#advanced-profile-interest, +#advanced-profile-contact, +#advanced-profile-music, +#advanced-profile-book, +#advanced-profile-tv, +#advanced-profile-film, +#advanced-profile-romance, +#advanced-profile-work, +#advanced-profile-education { + margin-top: 10px; + margin-left: 50px; + margin-right: 20px; + padding: 10px; + border: 1px solid #CCCCCC; +} + +#advanced-profile-with { + float: left; + margin-left: 15px; +} + +#contact-edit-wrapper { + margin-top: 10px; +} + +#contact-edit-banner-name { + font-size: 1.4em; + font-weight: bold; +} + +#contact-edit-poll-wrapper { + margin-top: 15px; +} + +#contact-edit-poll-text { + margin-top: 15px; + margin-bottom: 5px; +} + +#contact-edit-update-now { + margin-top: 15px; +} + +#contact-edit-links{ + clear: both; +} + +#contact-edit-links ul { + list-style: none; + list-style-type: none; + margin-left: 0px; + padding-left: 0px; +} + +#contact-edit-links li { + margin-top: 5px; +} + +#contact-edit-drop-link { + float: right; + margin-right: 20px; +} + +#contact-edit-nav-end { + clear: both; +} + +#contact-edit-wrapper { + width: 100%; +} + +#contact-edit-end { + clear: both; + margin-top: 15px; +} + +#contact-profile-selector { + width: 175px; + margin-left: 175px; +} + +.contact-edit-submit { + margin-top: 20px; +} + + +.contact-photo-menu-button { +/* position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 64px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none;*/ + +} +.contact-photo-menu { + width: 130px; + border: 1px solid #AAA; + background: #FFFFFF; + position: absolute; + left: -30px; top: 80px; + display: none; + z-index: 10000; + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; +} +.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.contact-photo-menu li a { display: block; padding: 2px; } +.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } + + +#block-message, #ignore-message, #archive-message, #lost-contact-message { + color: #FF0000; +} + +#profile-edit-insecure { + margin-top: 20px; + color: #FF0000; + font-size: 1.1em; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding-left: 5px; + /*: 3px 3px 3px 5px; */ + width: 587px; +} + +#profile-jot-desc { + /*float: left;*/ + width: 100%; + color: #FF0000; + margin-top: 10px; + margin-bottom: 10px; +} + +#profile-jot-text { + width: 90%; + height: 20px; + color:#cccccc; + border: 1px solid #cccccc; + padding: 3px 0px 0px 5px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + + +/** acl **/ +#photo-edit-perms-select, +#photos-upload-permissions-wrapper, +#profile-jot-acl-wrapper{ + display:block!important; +} + +#photos-usage-message { + margin-bottom: 15px; +} + +#profile-jot-acl-wrapper{ + width:270px; + padding-left:10px; + height:auto; + overflow:visible; +} + +#acl-wrapper { + width: 270px; + float:left; +} +#acl-search { + display: none; + float:right; + background: #ffffff url("../../../images/search_18.png") no-repeat right center; + padding-right:20px; +} +#acl-showall { + float: left; + display: block; + width: auto; + height: 18px; + background-color: #cccccc; + background-image: url("../../../images/show_all_off.png"); + background-position: 7px 7px; + background-repeat: no-repeat; + padding: 7px 5px 0px 30px; + -webkit-border-radius: 5px ; + -moz-border-radius: 5px; + border-radius: 5px; + color: #999999; +} +#acl-showall.selected { + color: #000000; + background-color: #ff9900; + background-image: url("../../../images/show_all_on.png"); +} + +#acl-list { +/* height: 210px;*/ + border: 1px solid #cccccc; + clear: both; + margin-top: 30px; + overflow: visible; +} +#acl-list-content { + +} +.acl-list-item { + display: block; + width: 120px; + height: 30px; + border: 1px solid #cccccc; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + margin-top: 5px; + margin-bottom: 5px; + margin-right: 2px; + margin-left: 2px; + padding-left: 5px; + float: left; +} +.acl-list-item img{ + display: none; + width:22px; + height: 22px; + float: left; + margin: 4px; +} +.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} +.acl-list-item a { + font-size: 8px; + display: block; + width: 40px; + height: 10px; + float: left; + color: #999999; + background-color: #cccccc; + background-position: 3px 3px; + background-repeat: no-repeat; + margin-right: 5px; + -webkit-border-radius: 2px ; + -moz-border-radius: 2px; + border-radius: 2px; + padding-left: 15px; +} +#acl-wrapper a:hover { + text-decoration: none; + color:#000000; +} +.acl-button-show { background-image: url("../../../images/show_off.png"); } +.acl-button-hide { background-image: url("../../../images/hide_off.png"); } + +.acl-button-show.selected { + color: #000000; + background-color: #9ade00; + background-image: url("../../../images/show_on.png"); +} +.acl-button-hide.selected { + color: #000000; + background-color: #ff4141; + background-image: url("../../../images/hide_on.png"); +} +.acl-list-item.groupshow { border-color: #9ade00; } +.acl-list-item.grouphide { border-color: #ff4141; } +/** /acl **/ + + +#group-new-submit-wrapper { + margin-top: 30px; +} + +#group-edit-name-label { + float: left; + width: 175px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name { + float: left; + width: 225px; + margin-top: 20px; + margin-bottom: 20px; +} + +#group-edit-name-wrapper { + + +} + + +#group_members_select_label { + display: block; + float: left; + width: 175px; +} + +.group_members_select { + float: left; + width: 230px; + overflow: auto; +} + +#group_members_select_end { + clear: both; +} +#group-edit-name-end { + clear: both; +} + +#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label { + margin-bottom: 10px; + margin-top: 20px; +} + +#prvmail-submit { + float: left; + font-size: 18px; + padding: 0.25em 0.5em; + margin-top: 10px; + margin-right: 30px; +} +#prvmail-upload-wrapper, +#prvmail-link-wrapper, +#prvmail-rotator-wrapper { + float: left; + margin-top: 10px; + margin-right: 10px; + width: 24px; +} + +#prvmail-end { + clear: both; +} + +.mail-list-sender, +.mail-list-detail { + float: left; +} +.mail-list-detail { + margin-left: 20px; +} + +.mail-list-subject { + font-size: 1.1em; + margin-top: 10px; +} +a.mail-list-link { + display: block; + font-size: 1.3em; + padding: 4px 0; +} + +/* +*a.mail-list-link:hover { +* background-color: #15607B; +* color: #F5F6FB; +*} +*/ + +.mail-list-outside-wrapper-end { + clear: both; +} + +.mail-list-outside-wrapper { + margin-top: 30px; +} + +.mail-list-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} + +.mail-list-delete-icon { + border: none; +} + +.mail-conv-sender, +.mail-conv-detail { + float: left; +} +.mail-conv-detail { + margin-left: 20px; + margin-bottom: 10px; + width: 270px; +} + +.mail-conv-subject { + font-size: 1.4em; + margin: 10px 0; +} + +.mail-conv-outside-wrapper-end { + clear: both; +} + +.mail-conv-outside-wrapper { + margin-top: 30px; +} + +.mail-conv-delete-wrapper { + float: right; + margin-right: 5px; + margin-top: 15px; +} +.mail-conv-break { + clear: both; +} + +.mail-conv-delete-icon { + border: none; +} + +.message-links ul { + list-style-type: none; + padding: 0px; +} + +.message-links li { + margin-top: 10px; + float: left; +} +.message-links a { + padding: 3px 5px; +} + +.message-links-end { + clear: both; +} + +#sidebar-group-list ul { + list-style-type: none; +} + +#sidebar-group-list .icon, #sidebar-group-list .iconspacer { + display: inline-block; + height: 12px; + width: 12px; +} + +#sidebar-group-list li { + margin-top: 10px; +} + +.nets-ul, .fileas-ul, .categories-ul { + list-style-type: none; +} + +.nets-ul li, .fileas-ul li, .categories-ul li { + margin-top: 10px; +} + +.nets-link { + margin-left: 24px; +} +.nets-all { + margin-left: 42px; +} + +.fileas-link, .categories-link { + margin-left: 24px; +} + +.fileas-all, .categories-all { + margin-left: 0px; +} + +#search-save { + margin-left: 5px; +} +.groupsideedit { + margin-right: 10px; +} +#saved-search-ul { + list-style-type: none; +} +.savedsearchdrop, .savedsearchterm { + float: left; + margin-top: 10px; +} +.savedsearchterm { + margin-left: 10px; +} + + +#side-follow-wrapper { + margin-top: 20px; +} +#side-follow-url, #side-peoplefind-url { + margin-top: 5px; +} +#side-follow-submit, #side-peoplefind-submit { + margin-top: 15px; +} + +#side-match-link { + margin-top: 10px; +} + +aside input[type='text'] { + width: 174px; +} + +.widget { + border: 1px solid #DDDDDD; + padding: 8px; + margin-top: 5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + border-radius:5px; + +} + + +/*.photos { + height: auto; + overflow: auto; +}*/ + +.photos-end { + clear: both; + margin-bottom: 25px; +} + +.photo-album-image-wrapper { + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; +/* width: 200px; height: 200px; + overflow: hidden; + position: relative; */ +} +.photo-album-image-wrapper .caption { + display: none; + width: 100%; +/* position: absolute; */ + bottom: 0px; + padding: 0.5em 0.5em 0px 0.5em; + background-color: rgba(245, 245, 255, 0.8); + border-bottom: 2px solid #CCC; + margin: 0px; +} +.photo-album-image-wrapper a:hover .caption { + display:block; +} + +#photo-album-end { + clear: both; + margin-bottom: 25px; +} + +.photo-top-image-wrapper { +/* position: relative; */ + float: left; + margin-top: 15px; + margin-right: 15px; + margin-left: 15px; + margin-bottom: 15px; +/* width: 200px; height: 200px; + overflow: hidden; */ +} +.photo-top-image-wrapper img { + max-width: 290px; + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} +.photo-top-album-name { + width: 100%; + min-height: 2em; +/* position: absolute; */ + bottom: 0px; + padding: 0px 3px; + padding-top: 0.5em; + background-color: rgb(255, 255, 255); +} +#photo-top-end { + clear: both; +} + +#photo-top-links { + margin-bottom: 30px; + margin-left: 30px; +} + +#photos-upload-newalbum-div { + float: left; + width: 175px; +} + +#photos-upload-noshare { + margin-bottom: 10px; +} +#photos-upload-existing-album-text { + float: left; + width: 175px; +} +#photos-upload-newalbum { + float: left; +} +#photos-upload-album-select { + float: left; +} + +#photos-upload-spacer { + margin-top: 25px; +} +#photos-upload-new-end, #photos-upload-exist-end { + clear: both; +} +#photos-upload-exist-end { + margin-bottom: 15px; +} +#photos-upload-submit { + margin-top: 15px; +} + +#photos_upload_applet_wrapper { + margin-bottom: 15px; +} + +#photos-upload-no-java-message { + margin-bottom: 15px; +} + +#character-counter { + float: right; + font-size: 120%; +} + +#character-counter.grey { + color: #888888; +} + +#character-counter.orange { + color: orange; +} +#character-counter.red { + color: red; +} + +#profile-jot-banner-end { + /* clear: both; */ +} + +#photos-upload-select-files-text { + margin-top: 15px; + margin-bottom: 15px; +} + +#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link { + color: #8888FF; + text-decoration: none; + cursor: pointer; +} + +#photos-upload-perms-menu:hover { + color: #0000FF; + text-decoration: underline; + cursor: pointer; +} +#settings-default-perms-menu { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, .photo-edit-rotate-label { + float: left; + width: 150px; +} + +#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label { + font-weight: 700; +} + +#photos-upload-noshare-div { + margin-top: 140px; + margin-bottom: 15px; +} + +#photos-upload-noshare-label { + margin-left: 25px; +} + +#photos-upload-noshare { + float: left; +} + +.photo-perms-icon { + float: left; +} + +#photo-edit-perms-menu, #photos-upload-perms-menu, #settings-default-perms-menu { + text-decoration: none; +} + +.photo-jot-perms-text { + padding-top: 5px; + padding-left: 40px; +} + +#photo-edit-perms, #photos-upload-perms, #settings-default-perms { + margin-top: 30px; +} +#photos-upload-perms { + margin-top: 15px; + margin-left: 5px; +} + +#photo-edit-perms-select, #photos-upload-permissions-wrapper, #settings-jot-acl-wrapper { + margin-top: 30px; + margin-left: 20px; +} + +#advanced-expire-popup { + padding-left: 1em; + margin-top: 15px; + border: 1px solid #aaa; + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; +} + +#photo-edit-perms-end { + margin-bottom: 15px; +} + +#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname { + float: left; + margin-bottom: 25px; +} + +.photo-edit-rotate { + float: left; + margin-left: 20px; +} +#photo-edit-link-wrap { + margin-bottom: 15px; +} +#photo-like-div { + margin-left: 15px; + margin-bottom: 65px; +} + +#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end { + clear: both; +} + +#photo-edit-rotate-end { + margin-bottom: 15px; +} + +#photo-edit-submit-button, #photo-edit-delete-button, #photos-upload-submit { + margin-top: 30px; + padding: 0.25em 0.5em; + font-size: 18px; +} +#photo-edit-submit-button { + margin-left: 10px; +} +#photo-edit-delete-button { + margin-left: 45px; +} +#photos-upload-choose { + position: absolute; + top: 460px; + left: 5px; +} +#photos-upload-submit { + margin-top: 30px; + margin-left: 100px; + margin-bottom: 20px; +} +.settings-submit, .profile-edit-submit-button { + padding: 0.25em 0.5em; + margin-bottom: 10px; + font-size: 18px; +} +#photo-edit-end { + margin-bottom: 35px; +} +#photo-caption { + font-size: 110%; + font-weight: bold; + margin-top: 15px; + margin-bottom: 15px; +} + +#in-this-photo-text { + color: #0000FF; + margin-left: 30px; +} + +#in-this-photo { + margin-left: 60px; + margin-top: 10px; + margin-bottom: 20px; +} + +#photo-album-edit-submit, #photo-album-edit-drop { + margin-top: 15px; + margin-bottom: 15px; +} + +#photo-album-edit-drop { + margin-left: 200px; +} + +.group-delete-wrapper { + float: right; + margin-right: 50px; +} + +#install-dbhost-label, +#install-dbuser-label, +#install-dbpass-label, +#install-dbdata-label, +#install-tz-desc { + float: left; + width: 250px; + margin-top: 10px; + margin-bottom: 10px; + +} + +#install-dbhost, +#install-dbuser, +#install-dbpass, +#install-dbdata { + float: left; + width: 200px; + margin-left: 20px; +} + +#install-dbhost-end, +#install-dbuser-end, +#install-dbpass-end, +#install-dbdata-end, +#install-tz-end { + clear: both; +} + +#install-form select#timezone_select { + float: left; + margin-top: 18px; + margin-left: 20px; +} + +#dfrn-request-networks { + margin-bottom: 30px; +} + +#pause { + position: fixed; + bottom: 5px; + right: 5px; +} + +.sparkle { + cursor: url('lock.cur'), pointer; +/* cursor: pointer !important; */ +} + +.contact-block-div { + float: left; + width: 52px; + height: 52px; +} +.contact-block-textdiv { + float: left; + width: 150px; + height: 34px; +} + +#contact-block-end { + clear: both; +} +.contact-block-link { + float: left; +} +.contact-block-img { + width:48px; + height:48px; +} + +#tag-remove { + margin-bottom: 15px; +} + +#tagrm li { + margin-bottom: 10px; +} + +#tagrm-submit, #tagrm-cancel { + margin-top: 25px; +} + +#tagrm-cancel { + margin-left: 15px; +} + +.wall-item-conv { + margin-top: 5px; + margin-bottom: 25px; +} + +#search-submit { + margin-left: 15px; +} + +#search-box { + margin-bottom: 25px; +} + +.location-label, .gender-label, .marital-label, .homepage-label { + float: left; + text-align: right; + display: block; + width: 65px; +} + +.adr, .x-gender, .marital-text, .homepage-url { + float: left; + display: block; + margin-left: 8px; +} + +.profile-clear { + clear: both; +} + + +.clear { + clear: both; +} + +.cc-license { + margin-top: 50px; + font-size: 70%; +} + + +#plugin-settings-link, #account-settings-link { + margin-bottom: 10px; +} + +#uexport-link { + margin-bottom: 20px; +} + +/* end from default */ + + +.fn { + padding: 0px 0px 5px 12px; + font-size: 120%; + font-weight: bold; +} + +.vcard .title { + margin-bottom: 5px; + margin-left: 12px; +} + +.vcard dl { + clear: both; +} + +#birthday-title { + float: left; + font-weight: bold; +} + +#birthday-adjust { + float: left; + font-size: 75%; + margin-left: 10px; +} + +#birthday-title-end { + clear: both; +} + +.birthday-list { + margin-left: 15px; +} + +#birthday-wrapper { + margin-bottom: 20px; +} + +#network-new-link { + margin-top: 15px; + margin-bottom: 15px; +} + + +.tool-wrapper { + float: left; + margin-left: 15px; +} + +.tool-link { + cursor: pointer; +} + +.eventcal { + float: left; + font-size: 20px; +} + +#event-summary-text { + margin-top: 15px; +} + +#event-share-checkbox { + float: left; + margin-top: 10px; +} + +#event-share-text { + float: left; + margin-top: 10px; + margin-left: 5px; +} + +#event-share-break { + clear: both; + margin-bottom: 10px; +} + +#event-summary { + width: 400px; +} + +.vevent { + border: 1px solid #CCCCCC; +} + +.vevent .event-summary { + margin-left: 10px; + margin-right: 10px; + font-weight: bold; +} + +.vevent .event-description, .vevent .event-location { + margin-left: 10px; + margin-right: 10px; +} +.vevent .event-start { + margin-left: 10px; + margin-right: 10px; +} + +#new-event-link { + margin-bottom: 10px; +} + +.edit-event-link, .plink-event-link { + float: left; + margin-top: 4px; + margin-right: 4px; + margin-bottom: 15px; +} + +.event-description:before { + content: url('../../../images/calendar.png'); + margin-right: 15px; +} + +.event-start, .event-end { + margin-left: 10px; + width: 330px; + clear: both; +} + +.event-start .dtstart, .event-end .dtend { + float: right; +} + +.event-list-date { + margin-bottom: 10px; +} + +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} + + +.calendar { + font-family: Courier, monospace; +} +.today { + font-weight: bold; + color: #FF0000; +} + +.settings-block { + border: 1px solid #AAA; + margin: 10px; + padding: 10px; +} + +.app-title { + margin: 10px; +} + +#identity-manage-desc { + margin-top:15px; + margin-bottom: 15px; +} + +#identity-manage-choose { + margin-bottom: 15px; +} + +#identity-submit { + margin-top: 20px; +} + +#photo-nav { + position: relative; + height: 55px; +} + +#photo-prev-link { + position: absolute; + left: 5px; +} +#photo-next-link { + position: absolute; + right: 5px; +} +#photo-prev-link, #photo-next-link { + padding: 10px; +/* float: left;*/ +} + +/*#photo-photo { + float: left; +}*/ + +#photo-photo img { + max-width: 310px; +} + +#photo-photo-end { + clear: both; +} + +.profile-match-photo { + float: left; + text-align: center; + width: 120px; +} + +.profile-match-name { + float: left; + text-align: center; + width: 120px; + overflow: hidden; +} + +.profile-match-break, +.profile-match-end { + clear: both; +} + +.profile-match-connect { + text-align: center; + font-weight: bold; +} + +.profile-match-wrapper { + float: left; + padding: 10px; + width: 120px; + height: 120px; + scroll: auto; +} +#profile-match-wrapper-end { + clear: both; +} +.side-link { + margin-bottom: 15px; +} + +#language-selector { + position: absolute; + top: 0px; + left: 16px; +} + +#group-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-members-end { + clear: both; +} + +#group-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#group-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#group-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#group-edit-desc { + margin-top: 15px; +} + + +#prof-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-members-end { + clear: both; +} + +#prof-separator { + margin-top: 10px; + margin-bottom: 10px; +} + +#prof-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} + +#prof-all-contacts-end { + clear: both; + margin-bottom: 10px; +} + +#prof-edit-desc { + margin-top: 15px; +} + +#crepair-name-label, +#crepair-nick-label, +#crepair-attag-label, +#crepair-url-label, +#crepair-request-label, +#crepair-confirm-label, +#crepair-notify-label, +#crepair-photo-label, +#crepair-poll-label { + float: left; + width: 200px; + margin-bottom: 15px; +} + +#crepair-name, +#crepair-nick, +#crepair-attag, +#crepair-url, +#crepair-request, +#crepair-confirm, +#crepair-notify, +#crepair-photo, +#crepair-poll { + float: left; + width: 300px; +} + + +#netsearch-box { + margin-top: 20px; +} + +#netsearch-box #search-submit { + margin: 5px 0px 0px 0px; +} + +.required { + color: #FF0000; +} + +#event-start-text, #event-finish-text { + margin-top: 10px; + margin-bottom: 5px; +} + +#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text { + float: left; +} +#event-datetime-break { + margin-bottom: 10px; +} + +#event-nofinish-break, #event-adjust-break { + clear: both; +} + +#event-desc-text, #event-location-text { + margin-top: 10px; + margin-bottom: 5px; +} +#event-submit { + margin-top: 10px; +} + +.body-tag, .filesavetags, .categorytags { + opacity: 0.5; + filter:alpha(opacity=50); +} + +.body-tag:hover, .filesavetags:hover, .categorytags:hover { + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} + +.item-select { + display: none; + opacity: 0.1; + filter:alpha(opacity=10); + float: right; + margin-right: 10px; + +} +.item-select:hover, .checkeditem { + opacity: 1; + filter:alpha(opacity=100); +} + + +#item-delete-selected { + margin-top: 30px; +} + +#item-delete-selected-end { + clear: both; +} +#item-delete-selected-icon, #item-delete-selected-desc { + float: left; + margin-right: 5px; +} +#item-delete-selected-desc:hover { + text-decoration: underline; +} + +#lang-select-icon { + cursor: pointer; + position: fixed; + left: 0px; + top: 0px; + opacity: 0.2; + filter:alpha(opacity=20); +} + +#lang-select-icon:hover { + opacity: 1; + filter:alpha(opacity=100); +} + +.notif-image { + height: 80px; + width: 80px; + margin-right: 15px; +} +.notification-listing-end { + clear: both; + margin-bottom: 15px; +} + + + +/** + * Plugins settings + */ + +.settings-block > h3, +.settings-heading { + border-bottom: 1px solid #babdb6; +} + + +/** + * Form fields + */ +.field { + margin-bottom: 10px; + padding-bottom: 10px; + overflow: auto; + width: 100% +} + +.field label { + font-weight: 700; + float: left; + width: 200px; +} + +.field input, +.field textarea { + width: 270px; + margin-left: 20px; +} +.field textarea { height: 100px; } +.field_help { + display: block; + margin-left: 20px; + color: #666666; + +} + + +.field .onoff { + float: left; + width: 80px; +} +.field .onoff a { + display: block; + border:1px solid #666666; + background-image:url("../../../images/onoff.jpg"); + background-repeat: no-repeat; + padding: 4px 2px 2px 2px; + height: 16px; + text-decoration: none; +} +.field .onoff .off { + border-color:#666666; + padding-left: 40px; + background-position: left center; + background-color: #cccccc; + color: #666666; + text-align: right; +} +.field .onoff .on { + border-color:#204A87; + padding-right: 40px; + background-position: right center; + background-color: #D7E3F1; + color: #204A87; + text-align: left; +} +.hidden { display: none!important; } + +.field.radio .field_help { clear: left; margin-left: 20px; } + +/** + * ADMIN + */ +#pending-update { + float:right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; + +} +#adminpage dl { + clear: left; + min-height: 40px; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 180px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 180px; +} + +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear:left; + text-align: right; +} + +#adminpage #pluginslist { + margin: 0px; padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { margin-left: 2.5em;} +#adminpage .toggleplugin { + float:left; + margin-right: 1em; +} + +#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;} +#adminpage table th { text-align: left;} +#adminpage td .icon { float: left;} +#adminpage table#users img { width: 16px; height: 16px; } +#adminpage table tr:hover { background-color: #bbc7d7; } +#adminpage .selectall { text-align: right; } + +#cnftheme { + display: none; +} + +/* + * UPDATE + */ +.popup { + width: 100%; height: 100%; + top:0px; left:0px; + position: absolute; + display: none; +} + +.popup .background { + background-color: rgba(0,0,0,128); + opacity: 0.5; + width: 100%; height: 100%; + position: absolute; + top:0px; left:0px; +} +.popup .panel { + top:25%;left:25%;width:50%;height:50%; + padding: 1em; + position: absolute; + border: 4px solid #000000; + background-color: #FFFFFF; +} +.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } +.popup .panel .panel_in { width: 100%; height: 100%; position: relative; } +.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 span {float: right; display: block; width: 25%; background-color: #eeeeee; text-align: right;} + +/** + * OAuth + */ +.oauthapp { + height: auto; overflow: auto; + border-bottom: 2px solid #cccccc; + padding-bottom: 1em; + margin-bottom: 1em; +} +.oauthapp img { + float: left; + width: 48px; height: 48px; + margin: 10px; +} +.oauthapp img.noicon { + background-image: url("../../../images/icons/48/plugin.png"); + background-position: center center; + background-repeat: no-repeat; +} +.oauthapp a { + float: left; +} + +/** + * ICONS + */ +.iconspacer { + display: block; width: 16px; height: 16px; +} + +.icon { + display: block; width: 16px; height: 16px; + background-image: url('../../../images/icons.png'); +} +.article { background-position: 0px 0px;} +.audio { display: none; background-position: -16px 0px;} +.block { background-position: -32px 0px;} +/*.drop { background-position: -48px 0px;} +.drophide { background-position: -64px 0px;}*/ +.icon.drop { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/drop-darkred.png'); + background-repeat: no-repeat; +} +.icon.drophide { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/drop-darkred.png'); + background-repeat: no-repeat; +} +.edit { background-position: -80px 0px;} +/*.camera { background-position: -96px 0px;}*/ +.icon.camera { + display: block; width: 28px; height: 21px; + margin-top: 4px; + background-size: 100% 100%; + background-image: url('images/camera.png'); + background-repeat: no-repeat; +} +/*.dislike { background-position: -112px 0px;}*/ +.icon.dislike { + display: block; + width: 26px; height: 28px;/*31 33*/ + background-size: 100% 100%; + background-image: url('images/disapprove.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +/*.like { background-position: -128px 0px;}*/ +.icon.like { + display: block; width: 26px; height: 28px;/*31 33*/ + margin-right: 7px; + background-size: 100% 100%; + background-image: url('images/approve.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +.link { display: none; background-position: -144px 0px;} + +/*.globe { background-position: 0px -16px;}*/ +.icon.globe { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/globe.png'); + background-repeat: no-repeat; +} +.noglobe { background-position: -16px -16px;} +.no { background-position: -32px -16px;} +.pause { background-position: -48px -16px;} +.play { background-position: -64px -16px;} +/*.pencil { background-position: -80px -16px;} +.small-pencil { background-position: -96px -16px;}*/ +.icon.pencil { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/pencil.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +.icon.small-pencil { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/pencil.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +/*.recycle { background-position: -112px -16px;}*/ +.icon.recycle { + display: block; + width: 28px; height: 27px;/*33 32*/ + background-size: 100% 100%; + background-image: url('images/recycle.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +/*.remote-link { background-position: -128px -16px;}*/ +.icon.remote-link { +/* display: block;*/ + display: none; + width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/remote-link.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +.share { background-position: -144px -16px;} + +.tools { background-position: 0px -32px;} +/*.lock { background-position: -16px -32px;}*/ +.icon.lock { + display: block; width: 17px; height: 25px; + margin-top: 1px; + background-size: 100% 100%; + background-image: url('images/lock.png'); + background-repeat: no-repeat; +} +/*.unlock { background-position: -32px -32px;}*/ +.icon.unlock { + display: block; width: 17px; height: 28px; + margin-top: -2px; + background-size: 100% 100%; + background-image: url('images/unlock.png'); + background-repeat: no-repeat; +} +.video { display: none; background-position: -48px -32px;} +.youtube { background-position: -64px -32px;} +/*.attach { background-position: -80px -32px; }*/ +.icon.attach { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/paperclip.png'); + background-repeat: no-repeat; +} +.language { background-position: -96px -32px; } +.prev { background-position: -112px -32px; } +.next { background-position: -128px -32px; } +.on { background-position: -144px -32px; } + +.off { background-position: 0px -48px; } +/*.starred { background-position: -16px -48px; }*/ +.icon.starred { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/star-yellow.png'); + background-repeat: no-repeat; +} +/*.unstarred { background-position: -32px -48px; }*/ +.icon.unstarred { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/star.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +/*.tagged { background-position: -48px -48px; }*/ +.icon.tagged { + display: block; width: 28px; height: 28px; + background-size: 100% 100%; + background-image: url('images/tag.png'); + background-repeat: no-repeat; + opacity: 0.5; +} +.yellow { background-position: -64px -48px; } + + +.filer-icon { + display: block; width: 24px; height: 24px; + background-size: 100% 100%; + background-image: url('images/folder.png'); + background-repeat: no-repeat; + opacity: 0.5; +} + +.icon.dim { opacity: 0.3;filter:alpha(opacity=30); } + +[class^="comment-edit-bb"] { + list-style: none; + display: none; + margin: 0px 0 -5px 20px; + width: 75%; +} +[class^="comment-edit-bb"] > li { + display: inline-block; + margin: 20px 10px 0 0; + visibility: none; +} +[class^="comment-edit-bb-end"] { + clear: both; +} +.editicon { + display: inline-block; + background-size: 100% 100%; + background-repeat: no-repeat; + background-color: #f3f3f3; + text-decoration: none; +} +/*.editicon:hover { + background-color: #ccc; +}*/ +.boldbb { +/* background-position: 0px 0px;*/ + width: 26px; height: 28px; + background-image: url('images/boldB-serif.png'); +} +/*.boldbb:hover { + background-position: 0px -16px; +}*/ +.italicbb { +/* background-position: -16px 0px;*/ + width: 16px; height: 28px; + background-image: url('images/italicI-serif.png'); +} +/*.italicbb:hover { + background-position: -16px -16px; +}*/ +.underlinebb { +/* background-position: -32px 0px;*/ + width: 25px; height: 28px; + background-image: url('images/underlineU-serif.png'); +} +/*.underlinebb:hover { + background-position: -32px -16px; +}*/ +.quotebb { +/* background-position: -48px 0px;*/ + width: 28px; height: 28px; + background-image: url('images/quote.png'); +} +/*.quotebb:hover { + background-position: -48px -16px; +}*/ +.codebb { +/* background-position: -64px 0px;*/ + width: 28px; height: 28px; + background-image: url('images/code.png'); +} +/*.codebb:hover { + background-position: -64px -16px; +}*/ +.imagebb { + background-position: -80px 0px; +} +.imagebb:hover { + background-position: -80px -16px; +} +.urlbb { + background-position: -96px 0px; +} +.urlbb:hover { + background-position: -96px -16px; +} +.videobb { + background-position: -112px 0px; +} +.videobb:hover { + background-position: -112px -16px; +} + +.attachtype { + display: block; width: 20px; height: 23px; + float: left; + background-image: url('../../../images/content-types.png'); +} + +.body-attach { + margin-top: 10px; +} + +.type-video { background-position: 0px 0px; } +.type-image { background-position: -20px 0px; } +.type-audio { background-position: -40px 0px; } +.type-text { background-position: -60px 0px; } +.type-unkn { background-position: -80px 0px; } + + +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#ffffff; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#ffffff; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #FFFFFF; background: #3465A4; +} + +/* popup notifications */ +div.jGrowl div.notice { + background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +div.jGrowl div.info { + background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +#jGrowl.top-right { + top: 15px; + right: 15px; +} +.qcomment { + border: 1px solid #EEE; + padding: 3px; + margin-top: 15px; + margin-left: 25px; + width: 125px; + overflow-y: auto; +} + + +.qcomment option { + width: 125px; + overflow-x: hidden; +} + +.qcomment { + opacity: 0.3; + filter:alpha(opacity=30); +} +.qcomment:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} + +/* notifications popup menu */ +.nav-notify { + display: none; + position: absolute; + font-size: 10px; + padding: 1px 3px; + top: 0px; + right: -10px; + min-width: 15px; + text-align: right; +} +.nav-notify.show { + display: block; +} +ul.notifications-menu-popup { + position: absolute; + display: none; + width: 10em; + margin: 0px; + padding: 0px; + list-style: none; + z-index: 100000; + right: -55px; +} +#nav-notifications-menu { + width: 300px; +/* max-height: 400px;*/ + height: auto; + overflow-y: scroll;overflow-style:scrollbar; + background-color:#FFFFFF; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius:5px; + border: 1px solid #AAA; + -moz-box-shadow: 3px 3px 5px #555; + -webkit-box-shadow: 3px 3px 5px #555; + box-shadow: 3px 3px 5px #555; +} +#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; } +#nav-notifications-menu img { float: left; margin-right: 5px; } +#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; } +#nav-notifications-menu li { + padding: 7px 0px 7px 10px; + word-wrap:normal; + border-bottom: 1px solid #000; +} + +#nav-notifications-menu li:hover { + +} + +#nav-notifications-menu a:hover { + text-decoration: underline; +} + +.notif-item a { + color: #000000; +} + +.notif-item a:hover { + text-decoration: underline; +} + +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} + +.notify-seen { + background: #DDDDDD; +} + +#id_term_label { + width:75px; +} +#id_term { + width:100px; +} + +#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 { 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 .selected { background:#F0F0F0; } +.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; } + +#datebrowse-sidebar select { + margin-left: 40px; + width: 130px; +} diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php new file mode 100644 index 0000000000..581c3513a0 --- /dev/null +++ b/view/theme/frost-mobile/theme.php @@ -0,0 +1,23 @@ + + * Maintainer: Zach P + */ + +$a->theme_info = array(); + +function frost_mobile_init(&$a) { + + // I could do this in style.php, but by having the CSS in a file the browser will cache it, + // making pages load faster + if( $a->module === 'home' || $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) { + $a->page['htmlhead'] = str_replace('$stylesheet', $a->get_baseurl() . '/view/theme/frost-mobile/login-style.css', $a->page['htmlhead']); + + } + +} diff --git a/view/theme/frost-mobile/wall_item.tpl b/view/theme/frost-mobile/wall_item.tpl new file mode 100644 index 0000000000..65e2812f9a --- /dev/null +++ b/view/theme/frost-mobile/wall_item.tpl @@ -0,0 +1,82 @@ + +
    +
    +
    + +
    + + $item.name + + +
    +
    +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    $item.location
    +
    +
    +
    + $item.name +
    $item.ago
    + +
    +
    + +
    +
    $item.title
    +
    +
    $item.body +
    + {{ for $item.tags as $tag }} + $tag + {{ endfor }} +
    +
    +
    +
    + {{ if $item.vote }} + + {{ endif }} + {{ if $item.plink }} + + {{ endif }} + {{ if $item.edpost }} + + {{ endif }} + + {{ if $item.star }} + + + {{ endif }} + {{ if $item.filer }} + + {{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    +
    +
    +
    + +
    $item.dislike
    +
    + $item.comment +
    + +
    +
    diff --git a/view/theme/frost-mobile/wallmsg-header.tpl b/view/theme/frost-mobile/wallmsg-header.tpl new file mode 100644 index 0000000000..4f184d3bea --- /dev/null +++ b/view/theme/frost-mobile/wallmsg-header.tpl @@ -0,0 +1,82 @@ + From c8f484e4a51c99818fceb49f22e793b37a846826 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Tue, 24 Jul 2012 17:22:56 +0200 Subject: [PATCH 41/73] Rplace spaces with undercores in tags --- include/diaspora.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index af9a91f028..a3473a8b73 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -2120,6 +2120,11 @@ function diaspora_unshare($me,$contact) { } +function diaspora_replace_tags_callback($matches) { + $result = '#'. str_replace(' ', '_', $matches[2]); + return $result; +} + function diaspora_send_status($item,$owner,$contact,$public_batch = false) { @@ -2154,8 +2159,12 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) { } } */ - // Removal of tags - $body = preg_replace('/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', '#$2', $body); + /** + * Transform #tags, strip off the [url] and replace spaces with underscore + */ + $body = preg_replace_callback('/#\[url\=(\w+.*?)\](\w+.*?)\[\/url\]/i', function($match) { + return '#'. str_replace(' ', '_', $match[2]); + }, $body); //if(strlen($title)) // $body = "[b]".html_entity_decode($title)."[/b]\n\n".$body; From 178329b6dcabe9a28ce89e3d175b5691f7ac2fff Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Tue, 24 Jul 2012 09:26:12 -0600 Subject: [PATCH 42/73] disable tos and privacy links --- view/theme/frost-mobile/login.tpl | 4 ++-- view/theme/frost-mobile/register.tpl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/view/theme/frost-mobile/login.tpl b/view/theme/frost-mobile/login.tpl index 39bb578365..c611989dfd 100644 --- a/view/theme/frost-mobile/login.tpl +++ b/view/theme/frost-mobile/login.tpl @@ -16,9 +16,9 @@
    diff --git a/view/theme/frost/nav.tpl b/view/theme/frost/nav.tpl index da7554257d..6ae19650e0 100644 --- a/view/theme/frost/nav.tpl +++ b/view/theme/frost/nav.tpl @@ -3,8 +3,6 @@
    $sitelocation
    - {{ if $nav.login }} {{ endif }} - @@ -13,11 +11,19 @@
    - - {{ if $nav.register }}$nav.register.1{{ endif }} - + diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css index 6e52c888fd..9f4d54c67c 100644 --- a/view/theme/frost/style.css +++ b/view/theme/frost/style.css @@ -1157,7 +1157,7 @@ input#dfrn-url { display: none; z-index: 10000; } -.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.wall-item-photo-menu { margin:0px; padding: 0px; list-style: none } .wall-item-photo-menu li a { display: block; padding: 2px; } .wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } @@ -1177,7 +1177,7 @@ input#dfrn-url { height: 30px !important; } -.wallwall .wall-item-photo-end { +.wallwall /*.wall-item-photo-end*/ { clear: both; } @@ -1267,18 +1267,18 @@ input#dfrn-url { float: right; } -.wall-item-delete-end { +/*.wall-item-delete-end { clear: both; -} +}*/ .wall-item-delete-icon { border: none; } -.wall-item-wrapper-end { +/*.wall-item-wrapper-end { clear: both; -} +}*/ .wall-item-name-link { font-weight: bold; text-decoration: none; @@ -1311,9 +1311,9 @@ input#dfrn-url { /*width: 450px;*/ } -.wall-item-title-end { +/*.wall-item-title-end { clear: both; -} +}*/ .wall-item-body { text-align: justify; @@ -1357,6 +1357,7 @@ input#dfrn-url { } .comment-wwedit-wrapper { + display: block; margin-top: 15px; background: #f3f3f3; margin-left: 50px; diff --git a/view/theme/frost/wall_item.tpl b/view/theme/frost/wall_item.tpl index 60dde76000..68950f4911 100644 --- a/view/theme/frost/wall_item.tpl +++ b/view/theme/frost/wall_item.tpl @@ -1,5 +1,5 @@ -
    +
    menu -
    -
      + +
        $item.item_photo_menu
      -
    +
    -
    +
    - {{ if $item.lock }}
    $item.lock
    + {{ if $item.lock }}$item.lock {{ else }}
    {{ endif }}
    $item.location
    -
    + $item.name
    $item.ago
    -
    +
    $item.title
    -
    +
    $item.body -
    + {{ for $item.tags as $tag }} - $tag + $tag {{ endfor }} -
    +
    @@ -48,7 +48,7 @@
    {{ endif }} {{ if $item.plink }} - + {{ endif }} {{ if $item.edpost }} @@ -61,19 +61,19 @@ {{ if $item.filer }} {{ endif }} -
    - {{ if $item.drop.dropping }}{{ endif }} -
    + + {{ if $item.drop.dropping }}{{ endif }} + {{ if $item.drop.dropping }}{{ endif }} -
    +
    -
    +
    $item.dislike
    -
    + $item.comment -
    + -
    -
    + + diff --git a/view/theme/frost/wallwall_item.tpl b/view/theme/frost/wallwall_item.tpl new file mode 100644 index 0000000000..c1b2820e40 --- /dev/null +++ b/view/theme/frost/wallwall_item.tpl @@ -0,0 +1,86 @@ + + +
    +
    +
    + + $item.owner_name +
    +
    $item.wall
    +
    + + $item.name + menu + +
      + $item.item_photo_menu +
    + + +
    + +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    $item.location
    +
    +
    + + $item.name $item.to $item.owner_name $item.vwall
    +
    $item.ago
    + +
    +
    $item.title
    + +
    $item.body + + {{ for $item.tags as $tag }} + $tag + {{ endfor }} + +
    +
    +
    + {{ if $item.vote }} + + {{ endif }} + {{ if $item.plink }} + + {{ endif }} + {{ if $item.edpost }} + + {{ endif }} + + {{ if $item.star }} + + + {{ endif }} + {{ if $item.filer }} + + {{ endif }} + + + {{ if $item.drop.dropping }}{{ endif }} + + {{ if $item.drop.dropping }}{{ endif }} + +
    +
    + + +
    $item.dislike
    +
    + + $item.comment + + + + + From 885bb50f0dc889cdc881008a633b943e69511e3e Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Tue, 31 Jul 2012 18:53:18 -0600 Subject: [PATCH 66/73] fix /display bug; oembed audio bug; other tweaks --- mod/display.php | 10 +- view/display-head.tpl | 8 + view/theme/frost-mobile/display-head.tpl | 4 + view/theme/frost-mobile/js/theme.js | 7 + view/theme/frost-mobile/js/theme.min.js | 2 +- view/theme/frost-mobile/style.css | 6 +- view/theme/frost-mobile/wall_item.tpl | 2 +- view/theme/frost-mobile/wallwall_item.tpl | 4 +- view/theme/frost/display-head.tpl | 4 + view/theme/frost/js/theme.js | 7 + view/theme/frost/js/theme.min.js | 2 +- view/theme/frost/style.css | 4 +- view/theme/frost/style.css.orig | 3658 --------------------- view/theme/frost/wall_item.tpl | 4 +- view/theme/frost/wallwall_item.tpl | 4 +- 15 files changed, 45 insertions(+), 3681 deletions(-) create mode 100644 view/display-head.tpl create mode 100644 view/theme/frost-mobile/display-head.tpl create mode 100644 view/theme/frost/display-head.tpl delete mode 100644 view/theme/frost/style.css.orig diff --git a/mod/display.php b/mod/display.php index d1bb36e438..92ffd1a709 100644 --- a/mod/display.php +++ b/mod/display.php @@ -16,15 +16,7 @@ function display_content(&$a) { $o = '
    ' . "\r\n"; - $a->page['htmlhead'] .= << -$(document).ready(function() { - $(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); -}); - -EOT; + $a->page['htmlhead'] .= get_markup_template('display-head.tpl'); $nick = (($a->argc > 1) ? $a->argv[1] : ''); diff --git a/view/display-head.tpl b/view/display-head.tpl new file mode 100644 index 0000000000..3d4e7e96ad --- /dev/null +++ b/view/display-head.tpl @@ -0,0 +1,8 @@ + + diff --git a/view/theme/frost-mobile/display-head.tpl b/view/theme/frost-mobile/display-head.tpl new file mode 100644 index 0000000000..1fc82ae779 --- /dev/null +++ b/view/theme/frost-mobile/display-head.tpl @@ -0,0 +1,4 @@ + + diff --git a/view/theme/frost-mobile/js/theme.js b/view/theme/frost-mobile/js/theme.js index 83a0f172bc..6cbeb2a32c 100644 --- a/view/theme/frost-mobile/js/theme.js +++ b/view/theme/frost-mobile/js/theme.js @@ -93,6 +93,13 @@ $j(document).ready(function() { $j('#drop-' + id).removeClass('icon');$j('#drop-' + id).removeClass('drophide'); $j('#drop-' + id).addClass('iconspacer');} );*/ + if(window.autoCompleteType == "display-head") { + //$j(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + // make auto-complete work in more places + //$j(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + $j(".comment-wwedit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + } + if(window.aclType == "event_head") { $j('#events-calendar').fullCalendar({ events: baseurl + '/events/json/', diff --git a/view/theme/frost-mobile/js/theme.min.js b/view/theme/frost-mobile/js/theme.min.js index 2401b81a2a..b54cb1bc91 100644 --- a/view/theme/frost-mobile/js/theme.min.js +++ b/view/theme/frost-mobile/js/theme.min.js @@ -1 +1 @@ -function insertFormatting(e,t,n){var r=$j("#comment-edit-text-"+n).val();r==e&&(r="",$j("#comment-edit-text-"+n).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+n).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+n),$j("#comment-edit-text-"+n).val(r)),textarea=document.getElementById("comment-edit-text-"+n);if(document.selection)textarea.focus(),selected=document.selection.createRange(),t=="url"?selected.text="["+t+"]"+"http://"+selected.text+"[/"+t+"]":selected.text="["+t+"]"+selected.text+"[/"+t+"]";else if(textarea.selectionStart||textarea.selectionStart=="0"){var i=textarea.selectionStart,s=textarea.selectionEnd;t=="url"?textarea.value=textarea.value.substring(0,i)+"["+t+"]"+"http://"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length):textarea.value=textarea.value.substring(0,i)+"["+t+"]"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length)}return!0}function cmtBbOpen(e){$j(".comment-edit-bb-"+e).show()}function cmtBbClose(e){$j(".comment-edit-bb-"+e).hide()}function initEditor(e){if(editor==0){if(plaintext=="none"){$j("#profile-jot-text").css({height:200,color:"#000"}),$j("#profile-jot-text").contact_autocomplete(baseurl+"/acl"),editor=!0,$j("a#jot-perms-icon, a#settings-default-perms-menu").click(function(){var e=$j("#profile-jot-acl-wrapper").parent();return e.css("display")=="none"?e.show():e.hide(),!1}),$j(".jothidden").show(),typeof e!="undefined"&&e();return}}else typeof e!="undefined"&&e()}function enableOnUser(){if(editor)return;$j(this).val(""),initEditor()}function wallInitEditor(){var e=window.editSelect;e!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function initCrop(){function e(e,t){$("x1").value=e.x1,$("y1").value=e.y1,$("x2").value=e.x2,$("y2").value=e.y2,$("width").value=t.width,$("height").value=t.height}Event.observe(window,"load",function(){new Cropper.ImgWithPreview("croppa",{previewWrap:"previewWrap",minWidth:175,minHeight:175,maxWidth:640,maxHeight:640,ratioDim:{x:100,y:100},displayOnInit:!0,onEndCrop:e})})}function confirmDelete(){return confirm(window.delItem)}function commentOpen(e,t){e.value==window.commentEmptyText&&(e.value="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).show(),openMenu("comment-edit-submit-wrapper-"+t))}function commentClose(e,t){e.value==""&&(e.value=window.commentEmptyText,$j("#comment-edit-text-"+t).removeClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).addClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).hide(),closeMenu("comment-edit-submit-wrapper-"+t))}function commentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).html();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r)}function qCommentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).val();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r),$j(e).val("")}function showHideComments(e){$j("#collapsed-comments-"+e).is(":visible")?($j("#collapsed-comments-"+e).hide(),$j("#hide-comments-"+e).html(window.showMore)):($j("#collapsed-comments-"+e).show(),$j("#hide-comments-"+e).html(window.showFewer))}function jotVideoURL(){reply=prompt(window.vidURL),reply&&reply.length&&addeditortext("[video]"+reply+"[/video]")}function jotAudioURL(){reply=prompt(window.audURL),reply&&reply.length&&addeditortext("[audio]"+reply+"[/audio]")}function jotGetLocation(){reply=prompt(window.whereAreU,$j("#jot-location").val()),reply&&reply.length&&$j("#jot-location").val(reply)}function jotShare(e){$j("#jot-popup").length!=0&&$j("#jot-popup").show(),$j("#like-rotator-"+e).show(),$j.get("share/"+e,function(t){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(t),$j("#like-rotator-"+e).hide(),$j(window).scrollTop(0)})})}function linkdropper(e){var t=e.dataTransfer.types.contains("text/uri-list");t&&e.preventDefault()}function showEvent(e){}function itemTag(e){reply=prompt(window.term),reply&&reply.length&&(reply=reply.replace("#",""),reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("tagger/"+e+"?term="+reply,NavUpdate),liking=1))}function itemFiler(e){$j.get("filer/",function(t){var n=$j("#id_term_label",t).text();reply=prompt(n),reply&&reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("filer/"+e+"?term="+reply,NavUpdate),liking=1)})}function jotClearLocation(){$j("#jot-coord").val(""),$j("#profile-nolocation-wrapper").hide()}function addeditortext(e){if(plaintext=="none"){var t=$j("#profile-jot-text").val();$j("#profile-jot-text").val(t+e)}}$j(document).ready(function(){$j("#profile-jot-text").focus(enableOnUser),$j("#profile-jot-text").click(enableOnUser);if(typeof window.AjaxUpload!="undefined")switch(window.ajaxType){case"jot-header":var e=new window.AjaxUpload("wall-image-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}}),t=new window.AjaxUpload("wall-file-upload",{action:"wall_attach/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}});break;case"msg-header":var e=new window.AjaxUpload("prvmail-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){tinyMCE.execCommand("mceInsertRawHTML",!1,t),$j("#profile-rotator").hide()}});break;default:}typeof acl=="undefined"&&(acl=new ACL(baseurl+"/acl",[window.allowCID,window.allowGID,window.denyCID,window.denyGID]));if(window.aclType=="event_head"){$j("#events-calendar").fullCalendar({events:baseurl+"/events/json/",header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},timeFormat:"H(:mm)",eventClick:function(e,t,n){showEvent(e.id)},eventRender:function(e,t,n){if(e.item["author-name"]==null)return;switch(n.name){case"month":t.find(".fc-event-title").html("{1} : {2}".format(e.item["author-avatar"],e.item["author-name"],e.title));break;case"agendaWeek":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location));break;case"agendaDay":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location))}}});var n=location.href.replace(baseurl,"").split("/");n.length>=4&&$j("#events-calendar").fullCalendar("gotoDate",n[2],n[3]-1);var r=location.hash.split("-");r.length==2&&r[0]=="#link"&&showEvent(r[1])}(window.aclType=="settings-head"||window.aclType=="photos_head"||window.aclType=="event_head")&&$j("#contact_allow, #contact_deny, #group_allow, #group_deny").change(function(){var e;$j("#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected").each(function(){e=$j(this).text(),$j("#jot-perms-icon").removeClass("unlock").addClass("lock"),$j("#jot-public").hide()}),e==null&&($j("#jot-perms-icon").removeClass("lock").addClass("unlock"),$j("#jot-public").show())}).trigger("change");switch(window.autocompleteType){case"msg-header":var i=$j("#recip").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350,onSelect:function(e,t){$j("#recip-complete").val(t)}});break;case"contacts-head":var i=$j("#contacts-search").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350});i.setOptions({params:{type:"a"}});break;default:}$j("#event-share-checkbox").change(function(){$j("#event-share-checkbox").is(":checked")?$j("#acl-wrapper").show():$j("#acl-wrapper").hide()}).trigger("change"),$j(".popupbox").click(function(){var e=$j($j(this).attr("href")).parent();return e.css("display")=="none"?e.show():e.hide(),!1})}),$j(function(){$j("nav").bind("nav-update",function(e,t){var n=$j("#pending-update"),r=$j(t).find("register").text();r=="0"?(r="",n.hide()):n.show(),n.html(r)})});var editor=!1,textlen=0,plaintext="none",ispublic=window.isPublic;switch(window.ajaxType){case"jot-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&(reply=bin2hex(reply),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+reply,function(e){addeditortext(e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&(t=bin2hex(t),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+t,function(e){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(e),$j("#profile-rotator").hide()})}))}break;case"msg-header":case"wallmsg-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+reply,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+t,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}break;default:}typeof window.geoTag=="function"&&window.geoTag(); \ No newline at end of file +function insertFormatting(e,t,n){var r=$j("#comment-edit-text-"+n).val();r==e&&(r="",$j("#comment-edit-text-"+n).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+n).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+n),$j("#comment-edit-text-"+n).val(r)),textarea=document.getElementById("comment-edit-text-"+n);if(document.selection)textarea.focus(),selected=document.selection.createRange(),t=="url"?selected.text="["+t+"]"+"http://"+selected.text+"[/"+t+"]":selected.text="["+t+"]"+selected.text+"[/"+t+"]";else if(textarea.selectionStart||textarea.selectionStart=="0"){var i=textarea.selectionStart,s=textarea.selectionEnd;t=="url"?textarea.value=textarea.value.substring(0,i)+"["+t+"]"+"http://"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length):textarea.value=textarea.value.substring(0,i)+"["+t+"]"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length)}return!0}function cmtBbOpen(e){$j(".comment-edit-bb-"+e).show()}function cmtBbClose(e){$j(".comment-edit-bb-"+e).hide()}function initEditor(e){if(editor==0){if(plaintext=="none"){$j("#profile-jot-text").css({height:200,color:"#000"}),$j("#profile-jot-text").contact_autocomplete(baseurl+"/acl"),editor=!0,$j("a#jot-perms-icon, a#settings-default-perms-menu").click(function(){var e=$j("#profile-jot-acl-wrapper").parent();return e.css("display")=="none"?e.show():e.hide(),!1}),$j(".jothidden").show(),typeof e!="undefined"&&e();return}}else typeof e!="undefined"&&e()}function enableOnUser(){if(editor)return;$j(this).val(""),initEditor()}function wallInitEditor(){var e=window.editSelect;e!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function initCrop(){function e(e,t){$("x1").value=e.x1,$("y1").value=e.y1,$("x2").value=e.x2,$("y2").value=e.y2,$("width").value=t.width,$("height").value=t.height}Event.observe(window,"load",function(){new Cropper.ImgWithPreview("croppa",{previewWrap:"previewWrap",minWidth:175,minHeight:175,maxWidth:640,maxHeight:640,ratioDim:{x:100,y:100},displayOnInit:!0,onEndCrop:e})})}function confirmDelete(){return confirm(window.delItem)}function commentOpen(e,t){e.value==window.commentEmptyText&&(e.value="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).show(),openMenu("comment-edit-submit-wrapper-"+t))}function commentClose(e,t){e.value==""&&(e.value=window.commentEmptyText,$j("#comment-edit-text-"+t).removeClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).addClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).hide(),closeMenu("comment-edit-submit-wrapper-"+t))}function commentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).html();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r)}function qCommentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).val();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r),$j(e).val("")}function showHideComments(e){$j("#collapsed-comments-"+e).is(":visible")?($j("#collapsed-comments-"+e).hide(),$j("#hide-comments-"+e).html(window.showMore)):($j("#collapsed-comments-"+e).show(),$j("#hide-comments-"+e).html(window.showFewer))}function jotVideoURL(){reply=prompt(window.vidURL),reply&&reply.length&&addeditortext("[video]"+reply+"[/video]")}function jotAudioURL(){reply=prompt(window.audURL),reply&&reply.length&&addeditortext("[audio]"+reply+"[/audio]")}function jotGetLocation(){reply=prompt(window.whereAreU,$j("#jot-location").val()),reply&&reply.length&&$j("#jot-location").val(reply)}function jotShare(e){$j("#jot-popup").length!=0&&$j("#jot-popup").show(),$j("#like-rotator-"+e).show(),$j.get("share/"+e,function(t){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(t),$j("#like-rotator-"+e).hide(),$j(window).scrollTop(0)})})}function linkdropper(e){var t=e.dataTransfer.types.contains("text/uri-list");t&&e.preventDefault()}function showEvent(e){}function itemTag(e){reply=prompt(window.term),reply&&reply.length&&(reply=reply.replace("#",""),reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("tagger/"+e+"?term="+reply,NavUpdate),liking=1))}function itemFiler(e){$j.get("filer/",function(t){var n=$j("#id_term_label",t).text();reply=prompt(n),reply&&reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("filer/"+e+"?term="+reply,NavUpdate),liking=1)})}function jotClearLocation(){$j("#jot-coord").val(""),$j("#profile-nolocation-wrapper").hide()}function addeditortext(e){if(plaintext=="none"){var t=$j("#profile-jot-text").val();$j("#profile-jot-text").val(t+e)}}$j(document).ready(function(){$j("#profile-jot-text").focus(enableOnUser),$j("#profile-jot-text").click(enableOnUser);if(typeof window.AjaxUpload!="undefined")switch(window.ajaxType){case"jot-header":var e=new window.AjaxUpload("wall-image-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}}),t=new window.AjaxUpload("wall-file-upload",{action:"wall_attach/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}});break;case"msg-header":var e=new window.AjaxUpload("prvmail-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){tinyMCE.execCommand("mceInsertRawHTML",!1,t),$j("#profile-rotator").hide()}});break;default:}typeof acl=="undefined"&&(acl=new ACL(baseurl+"/acl",[window.allowCID,window.allowGID,window.denyCID,window.denyGID])),window.autoCompleteType=="display-head"&&$j(".comment-wwedit-wrapper textarea").contact_autocomplete(baseurl+"/acl");if(window.aclType=="event_head"){$j("#events-calendar").fullCalendar({events:baseurl+"/events/json/",header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},timeFormat:"H(:mm)",eventClick:function(e,t,n){showEvent(e.id)},eventRender:function(e,t,n){if(e.item["author-name"]==null)return;switch(n.name){case"month":t.find(".fc-event-title").html("{1} : {2}".format(e.item["author-avatar"],e.item["author-name"],e.title));break;case"agendaWeek":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location));break;case"agendaDay":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location))}}});var n=location.href.replace(baseurl,"").split("/");n.length>=4&&$j("#events-calendar").fullCalendar("gotoDate",n[2],n[3]-1);var r=location.hash.split("-");r.length==2&&r[0]=="#link"&&showEvent(r[1])}(window.aclType=="settings-head"||window.aclType=="photos_head"||window.aclType=="event_head")&&$j("#contact_allow, #contact_deny, #group_allow, #group_deny").change(function(){var e;$j("#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected").each(function(){e=$j(this).text(),$j("#jot-perms-icon").removeClass("unlock").addClass("lock"),$j("#jot-public").hide()}),e==null&&($j("#jot-perms-icon").removeClass("lock").addClass("unlock"),$j("#jot-public").show())}).trigger("change");switch(window.autocompleteType){case"msg-header":var i=$j("#recip").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350,onSelect:function(e,t){$j("#recip-complete").val(t)}});break;case"contacts-head":var i=$j("#contacts-search").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350});i.setOptions({params:{type:"a"}});break;default:}$j("#event-share-checkbox").change(function(){$j("#event-share-checkbox").is(":checked")?$j("#acl-wrapper").show():$j("#acl-wrapper").hide()}).trigger("change"),$j(".popupbox").click(function(){var e=$j($j(this).attr("href")).parent();return e.css("display")=="none"?e.show():e.hide(),!1})}),$j(function(){$j("nav").bind("nav-update",function(e,t){var n=$j("#pending-update"),r=$j(t).find("register").text();r=="0"?(r="",n.hide()):n.show(),n.html(r)})});var editor=!1,textlen=0,plaintext="none",ispublic=window.isPublic;switch(window.ajaxType){case"jot-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&(reply=bin2hex(reply),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+reply,function(e){addeditortext(e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&(t=bin2hex(t),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+t,function(e){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(e),$j("#profile-rotator").hide()})}))}break;case"msg-header":case"wallmsg-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+reply,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+t,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}break;default:}typeof window.geoTag=="function"&&window.geoTag(); \ No newline at end of file diff --git a/view/theme/frost-mobile/style.css b/view/theme/frost-mobile/style.css index 88273a7035..ea80faa476 100644 --- a/view/theme/frost-mobile/style.css +++ b/view/theme/frost-mobile/style.css @@ -3462,7 +3462,7 @@ aside input[type='text'] { background-image: url('../../../images/icons.png'); } .article { background-position: 0px 0px;} -.audio { display: none; background-position: -16px 0px;} +.icon.audio { display: none; background-position: -16px 0px;} .block { background-position: -32px 0px;} /*.drop { background-position: -48px 0px;} .drophide { background-position: -64px 0px;}*/ @@ -3635,9 +3635,9 @@ aside input[type='text'] { margin: 20px 10px 0 0; visibility: none; } -[class^="comment-edit-bb-end"] { +/*[class^="comment-edit-bb-end"] { clear: both; -} +}*/ .editicon { display: inline-block; background-size: 100% 100%; diff --git a/view/theme/frost-mobile/wall_item.tpl b/view/theme/frost-mobile/wall_item.tpl index d7b75f54d8..1867afe157 100644 --- a/view/theme/frost-mobile/wall_item.tpl +++ b/view/theme/frost-mobile/wall_item.tpl @@ -51,7 +51,7 @@
    {{ endif }} {{ if $item.plink }} - + {{ endif }} {{ if $item.edpost }} diff --git a/view/theme/frost-mobile/wallwall_item.tpl b/view/theme/frost-mobile/wallwall_item.tpl index 562868c237..113987246c 100644 --- a/view/theme/frost-mobile/wallwall_item.tpl +++ b/view/theme/frost-mobile/wallwall_item.tpl @@ -78,9 +78,9 @@
    $item.dislike
    - + $item.comment - + diff --git a/view/theme/frost/display-head.tpl b/view/theme/frost/display-head.tpl new file mode 100644 index 0000000000..1fc82ae779 --- /dev/null +++ b/view/theme/frost/display-head.tpl @@ -0,0 +1,4 @@ + + diff --git a/view/theme/frost/js/theme.js b/view/theme/frost/js/theme.js index e17a47843a..9094398b4f 100644 --- a/view/theme/frost/js/theme.js +++ b/view/theme/frost/js/theme.js @@ -78,6 +78,13 @@ $j(document).ready(function() { return false; });*/ + if(window.autoCompleteType == "display-head") { + //$j(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + // make auto-complete work in more places + //$j(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + $j(".comment-wwedit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + } + if(window.aclType == "event_head") { $j('#events-calendar').fullCalendar({ events: baseurl + '/events/json/', diff --git a/view/theme/frost/js/theme.min.js b/view/theme/frost/js/theme.min.js index 86c4d13299..5831190f99 100644 --- a/view/theme/frost/js/theme.min.js +++ b/view/theme/frost/js/theme.min.js @@ -1 +1 @@ -function showEvent(e){$j.get(baseurl+"/events/?id="+e,function(e){$j.fancybox(e)})}function initCrop(){function e(e,t){$("x1").value=e.x1,$("y1").value=e.y1,$("x2").value=e.x2,$("y2").value=e.y2,$("width").value=t.width,$("height").value=t.height}Event.observe(window,"load",function(){new Cropper.ImgWithPreview("croppa",{previewWrap:"previewWrap",minWidth:175,minHeight:175,maxWidth:640,maxHeight:640,ratioDim:{x:100,y:100},displayOnInit:!0,onEndCrop:e})})}function showNavMenu(e){window.navMenuTimeout[e+"-closing"]?(window.navMenuTimeout[e+"-closing"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-opening"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideDown("fast").show(),window.navMenuTimeout[e+"-opening"]=!1},200))}function hideNavMenu(e){window.navMenuTimeout[e+"-opening"]?(window.navMenuTimeout[e+"-opening"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-closing"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideUp("fast"),window.navMenuTimeout[e+"-closing"]=!1},500))}function insertFormatting(e,t,n){var r=$j("#comment-edit-text-"+n).val();r==e&&(r="",$j("#comment-edit-text-"+n).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+n).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+n),$j("#comment-edit-text-"+n).val(r)),textarea=document.getElementById("comment-edit-text-"+n);if(document.selection)textarea.focus(),selected=document.selection.createRange(),t=="url"?selected.text="["+t+"]"+"http://"+selected.text+"[/"+t+"]":selected.text="["+t+"]"+selected.text+"[/"+t+"]";else if(textarea.selectionStart||textarea.selectionStart=="0"){var i=textarea.selectionStart,s=textarea.selectionEnd;t=="url"?textarea.value=textarea.value.substring(0,i)+"["+t+"]"+"http://"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length):textarea.value=textarea.value.substring(0,i)+"["+t+"]"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length)}return!0}function cmtBbOpen(e){$j(".comment-edit-bb-"+e).show()}function cmtBbClose(e){$j(".comment-edit-bb-"+e).hide()}function confirmDelete(){return confirm(window.delItem)}function commentOpen(e,t){e.value==window.commentEmptyText&&(e.value="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).show(),openMenu("comment-edit-submit-wrapper-"+t))}function commentClose(e,t){e.value==""&&(e.value=window.commentEmptyText,$j("#comment-edit-text-"+t).removeClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).addClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).hide(),closeMenu("comment-edit-submit-wrapper-"+t))}function commentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).html();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r)}function qCommentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).val();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r),$j(e).val("")}function showHideComments(e){$j("#collapsed-comments-"+e).is(":visible")?($j("#collapsed-comments-"+e).hide(),$j("#hide-comments-"+e).html(window.showMore)):($j("#collapsed-comments-"+e).show(),$j("#hide-comments-"+e).html(window.showFewer))}function enableOnUser(){if(editor)return;$j(this).val(""),initEditor()}function initEditor(e){if(editor==0){$j("#profile-jot-text-loading").show();if(plaintext=="none"){$j("#profile-jot-text-loading").hide(),$j("#profile-jot-text").css({height:200,color:"#000"}),$j("#profile-jot-text").contact_autocomplete(baseurl+"/acl"),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"elastic",transitionOut:"elastic"}),$j(".jothidden").show(),typeof e!="undefined"&&e();return}tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:window.editSelect,auto_focus:"profile-jot-text",plugins:"bbcode,paste,autoresize, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:window.baseURL+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser",setup:function(t){cPopup=null,t.onKeyDown.add(function(e,t){cPopup!==null&&cPopup.onkey(t)}),t.onKeyUp.add(function(e,t){var n=tinyMCE.activeEditor.getContent();match=n.match(/@([^ \n]+)$/),match!==null?(cPopup===null&&(cPopup=new ACPopup(this,baseurl+"/acl")),cPopup.ready&&match[1]!==cPopup.searchText&&cPopup.search(match[1]),cPopup.ready||(cPopup=null)):cPopup!==null&&(cPopup.close(),cPopup=null),textlen=n.length,textlen!=0&&$j("#jot-perms-icon").is(".unlock")?$j("#profile-jot-desc").html(ispublic):$j("#profile-jot-desc").html(" "),textlen<=140&&($j("#character-counter").removeClass("red"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("grey")),textlen>140&&textlen<=420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("red"),$j("#character-counter").addClass("orange")),textlen>420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("red")),$j("#character-counter").text(textlen)}),t.onInit.add(function(t){t.pasteAsPlainText=!0,$j("#profile-jot-text-loading").hide(),$j(".jothidden").show(),typeof e!="undefined"&&e()})}}),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"none",transitionOut:"none"})}else typeof e!="undefined"&&e()}function msgInitEditor(){plaintext!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function profInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function eventInitEditor(){tinyMCE.init({theme:"advanced",mode:"textareas",plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function contactInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,elements:"contact-edit-info",plugins:"bbcode",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_styles:"blockquote,code",gecko_spellcheck:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css"})}function wallInitEditor(){var e=window.editSelect;e!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function deleteCheckedItems(){var e="";$j(".item-select").each(function(){$j(this).is(":checked")&&(e.length!=0?e=e+","+$j(this).val():e=$j(this).val())}),$j.post("item",{dropitems:e},function(e){window.location.reload()})}function jotVideoURL(){reply=prompt(window.vidURL),reply&&reply.length&&addeditortext("[video]"+reply+"[/video]")}function jotAudioURL(){reply=prompt(window.audURL),reply&&reply.length&&addeditortext("[audio]"+reply+"[/audio]")}function jotGetLocation(){reply=prompt(window.whereAreU,$j("#jot-location").val()),reply&&reply.length&&$j("#jot-location").val(reply)}function jotShare(e){$j("#jot-popup").length!=0&&$j("#jot-popup").show(),$j("#like-rotator-"+e).show(),$j.get("share/"+e,function(t){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(t),$j("#like-rotator-"+e).hide(),$j(window).scrollTop(0)})})}function linkdropper(e){var t=e.dataTransfer.types.contains("text/uri-list");t&&e.preventDefault()}function itemTag(e){reply=prompt(window.term),reply&&reply.length&&(reply=reply.replace("#",""),reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("tagger/"+e+"?term="+reply,NavUpdate),liking=1))}function itemFiler(e){var t=$j("input").css("border-color");$j.get("filer/",function(n){$j.fancybox(n),$j("#id_term").keypress(function(){$j(this).css("border-color",t)}),$j("#select_term").change(function(){$j("#id_term").css("border-color",t)}),$j("#filer_save").click(function(t){return t.preventDefault(),reply=$j("#id_term").val(),reply&&reply.length?(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("filer/"+e+"?term="+reply,NavUpdate),liking=1,$j.fancybox.close()):$j("#id_term").css("border-color","#FF0000"),!1})})}function jotClearLocation(){$j("#jot-coord").val(""),$j("#profile-nolocation-wrapper").hide()}function addeditortext(e){if(plaintext=="none"){var t=$j("#profile-jot-text").val();$j("#profile-jot-text").val(t+e)}else tinyMCE.execCommand("mceInsertRawHTML",!1,e)}$j(document).ready(function(){window.navMenuTimeout={"#network-menu-list-timeout":null,"#contacts-menu-list-timeout":null,"#system-menu-list-timeout":null,"#network-menu-list-opening":!1,"#contacts-menu-list-opening":!1,"#system-menu-list-opening":!1,"#network-menu-list-closing":!1,"#contacts-menu-list-closing":!1,"#system-menu-list-closing":!1},typeof acl=="undefined"&&(acl=new ACL(baseurl+"/acl",[window.allowCID,window.allowGID,window.denyCID,window.denyGID])),$j("#profile-jot-text").focus(enableOnUser),$j("#profile-jot-text").click(enableOnUser),$j(".nav-menu-link").hover(function(){showNavMenu($j(this).attr("rel"))},function(){hideNavMenu($j(this).attr("rel"))}),$j(".group-edit-icon").hover(function(){$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".sidebar-group-element").hover(function(){id=$j(this).attr("id"),$j("#edit-"+id).addClass("icon"),$j("#edit-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#edit-"+id).removeClass("icon"),$j("#edit-"+id).addClass("iconspacer")}),$j(".savedsearchdrop").hover(function(){$j(this).addClass("drop"),$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("drop"),$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".savedsearchterm").hover(function(){id=$j(this).attr("id"),$j("#drop-"+id).addClass("icon"),$j("#drop-"+id).addClass("drophide"),$j("#drop-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#drop-"+id).removeClass("icon"),$j("#drop-"+id).removeClass("drophide"),$j("#drop-"+id).addClass("iconspacer")});if(window.aclType=="event_head"){$j("#events-calendar").fullCalendar({events:baseurl+"/events/json/",header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},timeFormat:"H(:mm)",eventClick:function(e,t,n){showEvent(e.id)},eventRender:function(e,t,n){if(e.item["author-name"]==null)return;switch(n.name){case"month":t.find(".fc-event-title").html("{1} : {2}".format(e.item["author-avatar"],e.item["author-name"],e.title));break;case"agendaWeek":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location));break;case"agendaDay":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location))}}});var e=location.href.replace(baseurl,"").split("/");e.length>=4&&$j("#events-calendar").fullCalendar("gotoDate",e[2],e[3]-1);var t=location.hash.split("-");t.length==2&&t[0]=="#link"&&showEvent(t[1])}$j("#event-share-checkbox").change(function(){$j("#event-share-checkbox").is(":checked")?$j("#acl-wrapper").show():$j("#acl-wrapper").hide()}).trigger("change"),(window.aclType=="settings-head"||window.aclType=="photos_head"||window.aclType=="event_head")&&$j("#contact_allow, #contact_deny, #group_allow, #group_deny").change(function(){var e;$j("#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected").each(function(){e=$j(this).text(),$j("#jot-perms-icon").removeClass("unlock").addClass("lock"),$j("#jot-public").hide()}),e==null&&($j("#jot-perms-icon").removeClass("lock").addClass("unlock"),$j("#jot-public").show())}).trigger("change");switch(window.autocompleteType){case"msg-header":var n=$j("#recip").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350,onSelect:function(e,t){$j("#recip-complete").val(t)}});break;case"contacts-head":var n=$j("#contacts-search").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350});n.setOptions({params:{type:"a"}});break;default:}if(typeof window.AjaxUpload!="undefined")switch(window.ajaxType){case"jot-header":var r=new window.AjaxUpload("wall-image-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}}),i=new window.AjaxUpload("wall-file-upload",{action:"wall_attach/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}});break;case"msg-header":var r=new window.AjaxUpload("prvmail-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){tinyMCE.execCommand("mceInsertRawHTML",!1,t),$j("#profile-rotator").hide()}});break;default:}}),$j(function(){$j("nav").bind("nav-update",function(e,t){var n=$j("#pending-update"),r=$j(t).find("register").text();r=="0"?(r="",n.hide()):n.show(),n.html(r)})}),$j(function(){$j("#cnftheme").fancybox({width:800,autoDimensions:!1,onStart:function(){var e=$j("#id_theme :selected").val();$j("#cnftheme").attr("href",baseurl+"/admin/themes/"+e)},onComplete:function(){$j("div#fancybox-content form").submit(function(e){var t=$j(this).attr("action"),n={};return $j(this).find("input").each(function(){n[$j(this).attr("name")]=$j(this).val()}),$j(this).find("select").each(function(){n[$j(this).attr("name")]=$j(this).children(":selected").val()}),console.log(":)",t,n),$j.post(t,n,function(e){timer&&clearTimeout(timer),NavUpdate(),$j.fancybox.close()}),!1})}})}),typeof window.photoEdit!="undefined"&&$j(document).keydown(function(e){window.prevLink!=""&&e.ctrlKey&&e.keyCode==37&&(e.preventDefault(),window.location.href=window.prevLink),window.nextLink!=""&&e.ctrlKey&&e.keyCode==39&&(e.preventDefault(),window.location.href=window.nextLink)});switch(window.ajaxType){case"jot-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&(reply=bin2hex(reply),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+reply,function(e){addeditortext(e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&(t=bin2hex(t),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+t,function(e){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(e),$j("#profile-rotator").hide()})}))}break;case"msg-header":case"wallmsg-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+reply,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+t,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}break;default:}var editor=!1,textlen=0,plaintext=window.editSelect,ispublic=window.isPublic;typeof window.geoTag=="function"&&window.geoTag(); \ No newline at end of file +function showEvent(e){$j.get(baseurl+"/events/?id="+e,function(e){$j.fancybox(e)})}function initCrop(){function e(e,t){$("x1").value=e.x1,$("y1").value=e.y1,$("x2").value=e.x2,$("y2").value=e.y2,$("width").value=t.width,$("height").value=t.height}Event.observe(window,"load",function(){new Cropper.ImgWithPreview("croppa",{previewWrap:"previewWrap",minWidth:175,minHeight:175,maxWidth:640,maxHeight:640,ratioDim:{x:100,y:100},displayOnInit:!0,onEndCrop:e})})}function showNavMenu(e){window.navMenuTimeout[e+"-closing"]?(window.navMenuTimeout[e+"-closing"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-opening"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideDown("fast").show(),window.navMenuTimeout[e+"-opening"]=!1},200))}function hideNavMenu(e){window.navMenuTimeout[e+"-opening"]?(window.navMenuTimeout[e+"-opening"]=!1,clearTimeout(window.navMenuTimeout[e+"-timeout"])):(window.navMenuTimeout[e+"-closing"]=!0,window.navMenuTimeout[e+"-timeout"]=setTimeout(function(){$j(e).slideUp("fast"),window.navMenuTimeout[e+"-closing"]=!1},500))}function insertFormatting(e,t,n){var r=$j("#comment-edit-text-"+n).val();r==e&&(r="",$j("#comment-edit-text-"+n).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+n).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+n),$j("#comment-edit-text-"+n).val(r)),textarea=document.getElementById("comment-edit-text-"+n);if(document.selection)textarea.focus(),selected=document.selection.createRange(),t=="url"?selected.text="["+t+"]"+"http://"+selected.text+"[/"+t+"]":selected.text="["+t+"]"+selected.text+"[/"+t+"]";else if(textarea.selectionStart||textarea.selectionStart=="0"){var i=textarea.selectionStart,s=textarea.selectionEnd;t=="url"?textarea.value=textarea.value.substring(0,i)+"["+t+"]"+"http://"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length):textarea.value=textarea.value.substring(0,i)+"["+t+"]"+textarea.value.substring(i,s)+"[/"+t+"]"+textarea.value.substring(s,textarea.value.length)}return!0}function cmtBbOpen(e){$j(".comment-edit-bb-"+e).show()}function cmtBbClose(e){$j(".comment-edit-bb-"+e).hide()}function confirmDelete(){return confirm(window.delItem)}function commentOpen(e,t){e.value==window.commentEmptyText&&(e.value="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).show(),openMenu("comment-edit-submit-wrapper-"+t))}function commentClose(e,t){e.value==""&&(e.value=window.commentEmptyText,$j("#comment-edit-text-"+t).removeClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).addClass("comment-edit-text-empty"),$j("#mod-cmnt-wrap-"+t).hide(),closeMenu("comment-edit-submit-wrapper-"+t))}function commentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).html();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r)}function qCommentInsert(e,t){var n=$j("#comment-edit-text-"+t).val();n==window.commentEmptyText&&(n="",$j("#comment-edit-text-"+t).addClass("comment-edit-text-full"),$j("#comment-edit-text-"+t).removeClass("comment-edit-text-empty"),openMenu("comment-edit-submit-wrapper-"+t));var r=$j(e).val();r=r.replace("<","<"),r=r.replace(">",">"),r=r.replace("&","&"),r=r.replace(""",'"'),$j("#comment-edit-text-"+t).val(n+r),$j(e).val("")}function showHideComments(e){$j("#collapsed-comments-"+e).is(":visible")?($j("#collapsed-comments-"+e).hide(),$j("#hide-comments-"+e).html(window.showMore)):($j("#collapsed-comments-"+e).show(),$j("#hide-comments-"+e).html(window.showFewer))}function enableOnUser(){if(editor)return;$j(this).val(""),initEditor()}function initEditor(e){if(editor==0){$j("#profile-jot-text-loading").show();if(plaintext=="none"){$j("#profile-jot-text-loading").hide(),$j("#profile-jot-text").css({height:200,color:"#000"}),$j("#profile-jot-text").contact_autocomplete(baseurl+"/acl"),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"elastic",transitionOut:"elastic"}),$j(".jothidden").show(),typeof e!="undefined"&&e();return}tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:window.editSelect,auto_focus:"profile-jot-text",plugins:"bbcode,paste,autoresize, inlinepopups",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:window.baseURL+"/view/custom_tinymce.css",theme_advanced_path:!1,file_browser_callback:"fcFileBrowser",setup:function(t){cPopup=null,t.onKeyDown.add(function(e,t){cPopup!==null&&cPopup.onkey(t)}),t.onKeyUp.add(function(e,t){var n=tinyMCE.activeEditor.getContent();match=n.match(/@([^ \n]+)$/),match!==null?(cPopup===null&&(cPopup=new ACPopup(this,baseurl+"/acl")),cPopup.ready&&match[1]!==cPopup.searchText&&cPopup.search(match[1]),cPopup.ready||(cPopup=null)):cPopup!==null&&(cPopup.close(),cPopup=null),textlen=n.length,textlen!=0&&$j("#jot-perms-icon").is(".unlock")?$j("#profile-jot-desc").html(ispublic):$j("#profile-jot-desc").html(" "),textlen<=140&&($j("#character-counter").removeClass("red"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("grey")),textlen>140&&textlen<=420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("red"),$j("#character-counter").addClass("orange")),textlen>420&&($j("#character-counter").removeClass("grey"),$j("#character-counter").removeClass("orange"),$j("#character-counter").addClass("red")),$j("#character-counter").text(textlen)}),t.onInit.add(function(t){t.pasteAsPlainText=!0,$j("#profile-jot-text-loading").hide(),$j(".jothidden").show(),typeof e!="undefined"&&e()})}}),editor=!0,$j("a#jot-perms-icon").fancybox({transitionIn:"none",transitionOut:"none"})}else typeof e!="undefined"&&e()}function msgInitEditor(){plaintext!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function profInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function eventInitEditor(){tinyMCE.init({theme:"advanced",mode:"textareas",plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0})}})}function contactInitEditor(){tinyMCE.init({theme:"advanced",mode:window.editSelect,elements:"contact-edit-info",plugins:"bbcode",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_styles:"blockquote,code",gecko_spellcheck:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",content_css:baseurl+"/view/custom_tinymce.css"})}function wallInitEditor(){var e=window.editSelect;e!="none"?tinyMCE.init({theme:"advanced",mode:"specific_textareas",editor_selector:/(profile-jot-text|prvmail-text)/,plugins:"bbcode,paste",theme_advanced_buttons1:"bold,italic,underline,undo,redo,link,unlink,image,forecolor",theme_advanced_buttons2:"",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"center",theme_advanced_blockformats:"blockquote,code",gecko_spellcheck:!0,paste_text_sticky:!0,entity_encoding:"raw",add_unload_trigger:!1,remove_linebreaks:!1,force_p_newlines:!1,force_br_newlines:!0,forced_root_block:"",convert_urls:!1,content_css:baseurl+"/view/custom_tinymce.css",theme_advanced_path:!1,setup:function(e){e.onInit.add(function(e){e.pasteAsPlainText=!0;var t=e.editorId,n=$j("#"+t);typeof n.attr("tabindex")!="undefined"&&($j("#"+t+"_ifr").attr("tabindex",n.attr("tabindex")),n.attr("tabindex",null))})}}):$j("#prvmail-text").contact_autocomplete(baseurl+"/acl")}function deleteCheckedItems(){var e="";$j(".item-select").each(function(){$j(this).is(":checked")&&(e.length!=0?e=e+","+$j(this).val():e=$j(this).val())}),$j.post("item",{dropitems:e},function(e){window.location.reload()})}function jotVideoURL(){reply=prompt(window.vidURL),reply&&reply.length&&addeditortext("[video]"+reply+"[/video]")}function jotAudioURL(){reply=prompt(window.audURL),reply&&reply.length&&addeditortext("[audio]"+reply+"[/audio]")}function jotGetLocation(){reply=prompt(window.whereAreU,$j("#jot-location").val()),reply&&reply.length&&$j("#jot-location").val(reply)}function jotShare(e){$j("#jot-popup").length!=0&&$j("#jot-popup").show(),$j("#like-rotator-"+e).show(),$j.get("share/"+e,function(t){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(t),$j("#like-rotator-"+e).hide(),$j(window).scrollTop(0)})})}function linkdropper(e){var t=e.dataTransfer.types.contains("text/uri-list");t&&e.preventDefault()}function itemTag(e){reply=prompt(window.term),reply&&reply.length&&(reply=reply.replace("#",""),reply.length&&(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("tagger/"+e+"?term="+reply,NavUpdate),liking=1))}function itemFiler(e){var t=$j("input").css("border-color");$j.get("filer/",function(n){$j.fancybox(n),$j("#id_term").keypress(function(){$j(this).css("border-color",t)}),$j("#select_term").change(function(){$j("#id_term").css("border-color",t)}),$j("#filer_save").click(function(t){return t.preventDefault(),reply=$j("#id_term").val(),reply&&reply.length?(commentBusy=!0,$j("body").css("cursor","wait"),$j.get("filer/"+e+"?term="+reply,NavUpdate),liking=1,$j.fancybox.close()):$j("#id_term").css("border-color","#FF0000"),!1})})}function jotClearLocation(){$j("#jot-coord").val(""),$j("#profile-nolocation-wrapper").hide()}function addeditortext(e){if(plaintext=="none"){var t=$j("#profile-jot-text").val();$j("#profile-jot-text").val(t+e)}else tinyMCE.execCommand("mceInsertRawHTML",!1,e)}$j(document).ready(function(){window.navMenuTimeout={"#network-menu-list-timeout":null,"#contacts-menu-list-timeout":null,"#system-menu-list-timeout":null,"#network-menu-list-opening":!1,"#contacts-menu-list-opening":!1,"#system-menu-list-opening":!1,"#network-menu-list-closing":!1,"#contacts-menu-list-closing":!1,"#system-menu-list-closing":!1},typeof acl=="undefined"&&(acl=new ACL(baseurl+"/acl",[window.allowCID,window.allowGID,window.denyCID,window.denyGID])),$j("#profile-jot-text").focus(enableOnUser),$j("#profile-jot-text").click(enableOnUser),$j(".nav-menu-link").hover(function(){showNavMenu($j(this).attr("rel"))},function(){hideNavMenu($j(this).attr("rel"))}),$j(".group-edit-icon").hover(function(){$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".sidebar-group-element").hover(function(){id=$j(this).attr("id"),$j("#edit-"+id).addClass("icon"),$j("#edit-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#edit-"+id).removeClass("icon"),$j("#edit-"+id).addClass("iconspacer")}),$j(".savedsearchdrop").hover(function(){$j(this).addClass("drop"),$j(this).addClass("icon"),$j(this).removeClass("iconspacer")},function(){$j(this).removeClass("drop"),$j(this).removeClass("icon"),$j(this).addClass("iconspacer")}),$j(".savedsearchterm").hover(function(){id=$j(this).attr("id"),$j("#drop-"+id).addClass("icon"),$j("#drop-"+id).addClass("drophide"),$j("#drop-"+id).removeClass("iconspacer")},function(){id=$j(this).attr("id"),$j("#drop-"+id).removeClass("icon"),$j("#drop-"+id).removeClass("drophide"),$j("#drop-"+id).addClass("iconspacer")}),window.autoCompleteType=="display-head"&&$j(".comment-wwedit-wrapper textarea").contact_autocomplete(baseurl+"/acl");if(window.aclType=="event_head"){$j("#events-calendar").fullCalendar({events:baseurl+"/events/json/",header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},timeFormat:"H(:mm)",eventClick:function(e,t,n){showEvent(e.id)},eventRender:function(e,t,n){if(e.item["author-name"]==null)return;switch(n.name){case"month":t.find(".fc-event-title").html("{1} : {2}".format(e.item["author-avatar"],e.item["author-name"],e.title));break;case"agendaWeek":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location));break;case"agendaDay":t.find(".fc-event-title").html("{1}

    {2}

    {3}

    ".format(e.item["author-avatar"],e.item["author-name"],e.item.desc,e.item.location))}}});var e=location.href.replace(baseurl,"").split("/");e.length>=4&&$j("#events-calendar").fullCalendar("gotoDate",e[2],e[3]-1);var t=location.hash.split("-");t.length==2&&t[0]=="#link"&&showEvent(t[1])}$j("#event-share-checkbox").change(function(){$j("#event-share-checkbox").is(":checked")?$j("#acl-wrapper").show():$j("#acl-wrapper").hide()}).trigger("change"),(window.aclType=="settings-head"||window.aclType=="photos_head"||window.aclType=="event_head")&&$j("#contact_allow, #contact_deny, #group_allow, #group_deny").change(function(){var e;$j("#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected").each(function(){e=$j(this).text(),$j("#jot-perms-icon").removeClass("unlock").addClass("lock"),$j("#jot-public").hide()}),e==null&&($j("#jot-perms-icon").removeClass("lock").addClass("unlock"),$j("#jot-public").show())}).trigger("change");switch(window.autocompleteType){case"msg-header":var n=$j("#recip").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350,onSelect:function(e,t){$j("#recip-complete").val(t)}});break;case"contacts-head":var n=$j("#contacts-search").autocomplete({serviceUrl:baseurl+"/acl",minChars:2,width:350});n.setOptions({params:{type:"a"}});break;default:}if(typeof window.AjaxUpload!="undefined")switch(window.ajaxType){case"jot-header":var r=new window.AjaxUpload("wall-image-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}}),i=new window.AjaxUpload("wall-file-upload",{action:"wall_attach/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){addeditortext(t),$j("#profile-rotator").hide()}});break;case"msg-header":var r=new window.AjaxUpload("prvmail-upload",{action:"wall_upload/"+window.nickname,name:"userfile",onSubmit:function(e,t){$j("#profile-rotator").show()},onComplete:function(e,t){tinyMCE.execCommand("mceInsertRawHTML",!1,t),$j("#profile-rotator").hide()}});break;default:}}),$j(function(){$j("nav").bind("nav-update",function(e,t){var n=$j("#pending-update"),r=$j(t).find("register").text();r=="0"?(r="",n.hide()):n.show(),n.html(r)})}),$j(function(){$j("#cnftheme").fancybox({width:800,autoDimensions:!1,onStart:function(){var e=$j("#id_theme :selected").val();$j("#cnftheme").attr("href",baseurl+"/admin/themes/"+e)},onComplete:function(){$j("div#fancybox-content form").submit(function(e){var t=$j(this).attr("action"),n={};return $j(this).find("input").each(function(){n[$j(this).attr("name")]=$j(this).val()}),$j(this).find("select").each(function(){n[$j(this).attr("name")]=$j(this).children(":selected").val()}),console.log(":)",t,n),$j.post(t,n,function(e){timer&&clearTimeout(timer),NavUpdate(),$j.fancybox.close()}),!1})}})}),typeof window.photoEdit!="undefined"&&$j(document).keydown(function(e){window.prevLink!=""&&e.ctrlKey&&e.keyCode==37&&(e.preventDefault(),window.location.href=window.prevLink),window.nextLink!=""&&e.ctrlKey&&e.keyCode==39&&(e.preventDefault(),window.location.href=window.nextLink)});switch(window.ajaxType){case"jot-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&(reply=bin2hex(reply),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+reply,function(e){addeditortext(e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&(t=bin2hex(t),$j("#profile-rotator").show(),$j.get("parse_url?binurl="+t,function(e){editor||$j("#profile-jot-text").val(""),initEditor(function(){addeditortext(e),$j("#profile-rotator").hide()})}))}break;case"msg-header":case"wallmsg-header":function jotGetLink(){reply=prompt(window.linkURL),reply&&reply.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+reply,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}function linkdrop(e){var t=e.dataTransfer.getData("text/uri-list");e.target.textContent=t,e.preventDefault(),t&&t.length&&($j("#profile-rotator").show(),$j.get("parse_url?url="+t,function(e){tinyMCE.execCommand("mceInsertRawHTML",!1,e),$j("#profile-rotator").hide()}))}break;default:}var editor=!1,textlen=0,plaintext=window.editSelect,ispublic=window.isPublic;typeof window.geoTag=="function"&&window.geoTag(); \ No newline at end of file diff --git a/view/theme/frost/style.css b/view/theme/frost/style.css index 9f4d54c67c..3bc9ad1cd0 100644 --- a/view/theme/frost/style.css +++ b/view/theme/frost/style.css @@ -3525,9 +3525,9 @@ aside input[type='text'] { margin: 10px 10px 0 0; visibility: none; } -[class^="comment-edit-bb-end"] { +/*[class^="comment-edit-bb-end"] { clear: both; -} +}*/ .editicon { display: inline-block; /* background-image: url(bbedit.png); diff --git a/view/theme/frost/style.css.orig b/view/theme/frost/style.css.orig deleted file mode 100644 index f8483c004e..0000000000 --- a/view/theme/frost/style.css.orig +++ /dev/null @@ -1,3658 +0,0 @@ -/** - * duepuntozero Frindika style - * Fabio Comuni - * - * Heavily modified for Frost - * Zach P - */ - - -/* generals */ -body { - font-family: helvetica,arial,freesans,clean,sans-serif; - font-size: 12px; -/* line-height: 24px;*/ - background-color: #ffffff; - background-image: url(head.jpg); - background-repeat: repeat-x; - color: #505050; - margin: 0px; -} - -div.container { - display: block; - width: 785 px; - margin-top: 0px; - margin-bottom: 0px; - margin-left: auto; - margin-right: auto; -} - -a, a:visited, a:link { color: #3465a4; text-decoration: none; } -a:hover {text-decoration: underline; } - -input { - border: 1px solid #666666; - -moz-border-radius: 3px; - border-radius: 3px; - padding: 3px; -} - -img { border :0px; } - -#id_openid_url, .openid input { - background: url(login-bg.gif) no-repeat; - background-position: 0 50%; - padding-left: 18px; -} -.openid:hover { - -} - -#id_openid_url { - width: 384px; -} - -code { - font-family: Courier, monospace; - white-space: pre; - display: block; - overflow: auto; - border: 1px solid #444; - background: #EEE; - color: #444; - padding: 10px; - margin-top: 20px; -} - -blockquote { - background-color: #f4f8f9; - border-left: 4px solid #dae4ee; - padding: 0.4em; -} - -.icollapse-wrapper, .ccollapse-wrapper { - border: 1px solid #CCC; - padding: 5px; -} - -.hide-comments-outer { - margin-left: 0px; - font-weight: 700; - opacity: 0.4; -} -.hide-comments-outer:hover { - opacity: 1.0; -} -.hide-comments { - margin-left: 5px; -} - -#panel { - background-color: ivory; - position: absolute; - z-index: 2; - width: 30%; - padding: 25px; - border: 1px solid #444; -} - -.heart { - color: #FF0000; - font-size: 100%; - margin-right: 5px; -} - - - -/* nav */ -nav { - height: 94px; - width: 1100px; - display: block; - margin-top: 0px; - margin-bottom: 0px; - margin-left: auto; - margin-right: auto; -} -nav #site-location { - color: #888a85; - font-size: 0.8em; - position: absolute; -} - -.error-message { - color: #FF0000; - font-size: 1.1em; - border: 1px solid #FF8888; - background-color: #FFEEEE; - padding: 10px; -} - -.info-message { - color: #204a87; - font-size: 1.1em; - border: 1px solid #3465a4; - background-color: #d7e3f1; - padding: 10px; -} - - -nav #banner { - display: block; - margin-top: 14px; - position: absolute; -} -nav #banner #logo-text a { - font-size: 40px; - font-weight: bold; - margin-left: 3px; - color: #000000; - -} -nav #banner #logo-text a:hover { text-decoration: none; } - - -/* ZP REMOVE? nav-commlink */ -.nav-commlink, .nav-login-link { - display: block; - height: 15px; - margin-top: 67px; - margin-right: 2px; - /*padding: 6px 10px;*/ - padding: 6px 3px; - float: left; - bottom: 140px; - border: 1px solid #babdb6; - border-bottom: 0px; - background-color: #aec0d3; - color: #565854; - -moz-border-radius: 3px 3px 0px 0px; - border-radius: 3px 3px 0px 0px; -} - -.nav-commlink.selected { - background-color: #ffffff; - border-bottom: 1px solid #ffffff; - color: #000000 !important; - margin-top: 64px; - padding-top: 6px; - padding-bottom: 8px; -} - -.nav-ajax-left.show { - position: absolute; - font-size: 0.8em; - top: 25px; - right: 5px; - padding: 1px 2px; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - background-color: gold !important; -} - - - -nav #nav-link-wrapper .nav-link { - /*border-right: 1px solid #babdb6;*/ -} - -nav .nav-link img { - margin-top: 24px; - margin-bottom: 0.2em; - margin-right: 1em; - margin-left: 1em; - background-color: transparent !important; -} - -.nav-button-container { - float: right; - position: relative; -} - -.nav-button-container .nav-ajax-left { -} -/* -#system-menu-list { - line-height: 18px; - position: absolute; - right: -33px; - width: 10em; - padding: 1em 0px; -} - -#contacts-menu-list { - line-height: 18px; - position: absolute; - right: -33px; - width: 10em; - padding: 1em 0px; -} - -#network-menu-list { - line-height: 18px; - position: absolute; - right: -33px; - width: 10em; - padding: 1em 0px; -} -*/ -.nav-menu-list { - text-align: center; - line-height: 18px; - - border-left: 1px solid #AAAAAA;/*#444444;*/ - border-right: 1px solid #AAAAAA; - border-top: 1px solid #AAAAAA; - border-bottom: 1px solid #AAAAAA; - - -moz-box-shadow: 3px 3px 5px #555; - -webkit-box-shadow: 3px 3px 5px #555; - box-shadow: 3px 3px 5px #555; - - background: #FFFFFF; - - display: none; - list-style: none; - - width: 10em; - position: absolute; - margin: 0px; - right: -33px; - padding: 1em 0px; - - z-index: 10000; -} - - - -div.main-container { - width: 1180px; - margin: 0px auto; - display: block; - position: relative; -} - -div.main-content-loading { - position: absolute; - top: 200px; - left: 50%; - display: none; -} - - -/* aside */ -aside { - display: block; - min-height: 112px; - - width: 250px; - - padding: 1em; - margin: 1em 0px 0px 0px; - - position: absolute; - -/* float:left;*/ -} - -#dfrn-request-link { - display: block; - color: #FFFFFF; - -webkit-border-radius: 5px ; - -moz-border-radius: 5px; - border-radius: 5px; - padding: 5px; - font-weight: bold; - background: #3465a4 url('friendika-16.png') no-repeat 95% center; -} -#wallmessage-link { - display: block; - color: #FFFFFF; - -webkit-border-radius: 5px ; - -moz-border-radius: 5px; - border-radius: 5px; - padding: 5px; - font-weight: bold; - background-color: #3465a4; -} - -/* section */ -div.section-wrapper { - width: 565px; - - margin-left: auto; - margin-right: auto; - - padding-right:2em; - - display: block; - - background-color: #ffffff; - background-image: url(border.jpg); - background-position: top right; - background-repeat: no-repeat; -} - -section { - margin: 0px 0px 0px 0px; - - width: 100%; - - padding-left: 1em; - padding-right: 1em; - padding-top: 1em; - - background-image: url(border.jpg); - background-position: top left; - background-repeat: no-repeat; - - min-height: 112px; - border-top: 1px solid #babdb6; -} - -.tabs { - height: 27px; - background-image: url(head.jpg); - background-repeat: repeat-x; - background-position: 0px -20px; - border-bottom: 1px solid #babdb6; - padding:0px; -} -.tabs li { margin: 0px; list-style: none; } -.tab { - display:block; - float:left; - padding: 0.4em; - /*margin-right: 1em;*/ - margin-right: 3px ; -} -.tab.active { - font-weight: bold; - -} - - -/* footer */ -footer { - display: none; - -} - -.birthday-today, .event-today { - font-weight: bold; -} -/* -div.wall-item-content-wrapper.shiny { - background-image: url('shiny.png'); - background-position: -5px 30px; - background-repeat:no-repeat; -}*/ - -.preview { - background: #FFFFC8; -} - -#theme-preview { - margin: 15px 0 15px 150px; -} - -/* from default */ -#jot-perms-icon, -#profile-location, -#profile-nolocation, -#profile-youtube, -#profile-video, -#profile-audio, -#profile-link, -#profile-title, -#wall-image-upload, -#wall-file-upload, -#profile-upload-wrapper, -#wall-image-upload-div, -#wall-file-upload-div, -.hover, .focus { - cursor: pointer; -} - -#jot-perms-icon { - float: left; -} - -#jot-title, #jot-category { - border: 0px; - margin: 0px; - height: 20px; - width: 530px; - margin-bottom: 5px; - font-weight: bold; - border: 1px solid #ffffff; -} - -#jot-title::-webkit-input-placeholder{font-weight: normal;} -#jot-category::-webkit-input-placeholder{font-weight: normal;} -#jot-title:-moz-placeholder{font-weight: normal;} -#jot-category:-moz-placeholder{font-weight: normal;} - - -#jot-title:hover, -#jot-title:focus, -#jot-category:hover, -#jot-category:focus { - border: 1px solid #cccccc; -} - -.jothidden { display:none; } - - -.fakelink, .fakelink:visited, .fakelink:link { - color: #3465a4; - text-decoration: none; - cursor: pointer; - margin-top: 15px; - margin-bottom: 15px; -} -.lockview { - cursor: pointer; -} - -#group-sidebar { - margin-bottom: 10px; -} - -.group-selected, .nets-selected, .fileas-selected, .categories-selected { - padding: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - border: 1px solid #CCCCCC; - background: #F8F8F8; - font-weight: bold; -} - -.settings-widget .selected { - padding: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - border: 1px solid #CCCCCC; - background: #F8F8F8; - font-weight: bold; -} - -.fakelink:hover { - color: #3465a4; - text-decoration: underline; - cursor: pointer; -} -.smalltext { - font-size: 0.7em; -} -#sysmsg { - /*width: 600px;*/ - margin-bottom: 10px; -} - -#register-fill-ext { - margin-bottom: 25px; -} - -#label-register-name, #label-register-email, #label-register-nickname, #label-register-openid { - float: left; - width: 350px; - margin-top: 10px; -} - -#register-name, #register-email, #register-nickname { - float: left; - margin-top: 10px; - width: 150px; -} - -#register-openid { - float: left; - margin-top: 10px; - width: 130px; -} - -#register-name-end, #register-email-end, #register-nickname-end, #register-submit-end, #register-openid-end { - clear: both; -} - -#register-nickname-desc { - margin-top: 30px; - width: 650px; -} -#register-sitename { - float: left; - margin-top: 10px; -} - -#register-submit-button { - margin-top: 10px; -} - - -#login_standard { - width: 210px; - float: left; -} -#login_openid { - width: 210px; - margin-left: 250px; -} - -#login_standard input, -#login_openid input { - width: 180px; -} - -#login-extra-links { - clear: both; -} - -#register-link, #lost-password-link { - float: left; - font-size: 80%; - margin-right: 15px; -} - -#login-name-end, #login-password-end, #login-extra-end, #login-submit-end { - height: 50px; -} - -#login-submit-button { -/* margin-top: 10px; */ - margin-left: 200px; -} - - -input#dfrn-url { - float: left; - background: url(friendika-16.png) no-repeat; - background-position: 2px center; - font-size: 17px; - padding-left: 21px; - height: 21px; - background-color: #FFFFFF; - color: #000000; - margin-bottom: 20px; -} - -#dfrn-url-label { - float: left; - width: 250px; -} - -#dfrn-request-url-end { - clear: both; -} - -#knowyouyes, #knowyouno { - float: left; -} - -#dfrn-request-knowyou-yes-wrapper, #dfrn-request-knowyou-no-wrapper { - - float: none; -} -#dfrn-request-knowyou-yes-label, #dfrn-request-knowyou-no-label { - float: left; - width: 75px; - margin-left: 50px; - margin-bottom: 7px; -} -#dfrn-request-knowyou-break, #dfrn-request-knowyou-end { - clear: both; - -} - -#dfrn-request-message-wrapper { - margin-bottom: 50px; -} -#dfrn-request-submit-wrapper { - clear: both; - margin-left: 50px; -} - -#dfrn-request-info-wrapper { - margin-left: 50px; -} - - - -#cropimage-wrapper, #cropimage-preview-wrapper { - float: left; - padding: 30px; -} - -#crop-image-form { - margin-top: 30px; - clear: both; -} - -.intro-wrapper { - margin-top: 20px; -} - -.intro-fullname { - font-size: 1.1em; - font-weight: bold; - -} -.intro-desc { - margin-bottom: 20px; - font-weight: bold; -} - -.intro-note { - padding: 10px; -} - -.intro-end { - padding: 30px; -} - -.intro-form { - float: left; -} -.intro-approve-form { - clear: both; -} -.intro-approve-as-friend-end { - clear: both; -} -.intro-submit-approve, .intro-submit-ignore { - margin-right: 20px; -} -.intro-submit-approve { - margin-top: 15px; -} - -.intro-approve-as-friend-label, .intro-approve-as-fan-label { - float: left; - width: 100px; - margin-left: 20px; -} -.intro-approve-as-friend, .intro-approve-as-fan { - float: left; -} -.intro-form-end { - clear: both; -} -.intro-approve-as-friend-desc { - margin-top: 15px; -} -.intro-approve-as-end { - clear: both; - margin-bottom: 10px; -} - -.intro-end { - clear: both; - margin-bottom: 30px; -} -.aprofile dt { - font-weight: bold; -} -#page-profile .title { - font-weight: bold; -} -#profile-vcard-break { - clear: both; -} -#profile-extra-links { - clear: both; - margin-top: 10px; -} - -#profile-extra-links ul { - list-style-type: none; - padding: 0px; -} - - -#profile-extra-links li { - margin-top: 5px; -} - -#profile-edit-links ul { - list-style-type: none; -} - -#profile-edit-links li { - margin-top: 10px; -} -.profile-edit-side-div { - float: right; -} -.profile-edit-side-link { - opacity: 0.3; - filter:alpha(opacity=30); -} -.profile-edit-side-link:hover { - opacity: 1.0; - filter:alpha(opacity=100); -} - -.view-contact-wrapper { - margin-top: 20px; - float: left; - margin-left: 20px; - width: 180px; -} - -.contact-wrapper { - float: left; - width: 150px; - height: 150px; - overflow: auto; -} - -#view-contact-end { - clear: both; -} - - -#viewcontacts { - margin-top: 15px; -} -#profile-edit-default-desc { - color: #FF0000; - border: 1px solid #FF8888; - background-color: #FFEEEE; - padding: 7px; -} - -#profile-edit-clone-link-wrapper { - float: left; - margin-left: 50px; - margin-bottom: 20px; - width: 300px; -} - - -#profile-edit-links-end { - clear: both; - margin-bottom: 15px; -} - -.profile-listing-photo { - border: none; -} - -.profile-edit-submit-wrapper { - margin-top: 20px; - margin-bottom: 20px; -} - -#profile-photo-link-select-wrapper { - margin-top: 2em; -} - -#profile-photo-submit-wrapper { - margin-top: 10px; -} - -#profile-photo-wrapper img { - width:175px; - height:175px; - padding: 12px; -} - -#profile-edit-profile-name-label, -#profile-edit-name-label, -#profile-edit-pdesc-label, -#profile-edit-gender-label, -#profile-edit-dob-label, -#profile-edit-address-label, -#profile-edit-locality-label, -#profile-edit-region-label, -#profile-edit-postal-code-label, -#profile-edit-country-name-label, -#profile-edit-marital-label, -#profile-edit-sexual-label, -#profile-edit-politic-label, -#profile-edit-religion-label, -#profile-edit-pubkeywords-label, -#profile-edit-prvkeywords-label, -#profile-edit-homepage-label, -#profile-edit-hometown-label { - float: left; - width: 175px; -} - -#profile-edit-profile-name, -#profile-edit-name, -#profile-edit-pdesc, -#gender-select, -#profile-edit-dob, -#profile-edit-address, -#profile-edit-locality, -#profile-edit-region, -#profile-edit-postal-code, -#profile-edit-country-name, -#marital-select, -#sexual-select, -#profile-edit-politic, -#profile-edit-religion, -#profile-edit-pubkeywords, -#profile-edit-prvkeywords, -#profile-in-dir-yes, -#profile-in-dir-no, -#profile-in-netdir-yes, -#profile-in-netdir-no, -#hide-wall-yes, -#hide-wall-no, -#hide-friends-yes, -#hide-friends-no { - float: left; - margin-bottom: 20px; -} -#settings-normal, -#settings-soapbox, -#settings-freelove, -#settings-community { - float: left; -} -#settings-notifications label { - margin-left: 20px; -} -#settings-notify-desc, #settings-activity-desc { - font-weight: bold; - margin-bottom: 15px; -} -#settings-pagetype-desc { - color: #666666; - margin-bottom: 15px; -} - -#profile-in-dir-yes-label, -#profile-in-dir-no-label, -#profile-in-netdir-yes-label, -#profile-in-netdir-no-label, -#hide-wall-yes-label, -#hide-wall-no-label, -#hide-friends-yes-label, -#hide-friends-no-label { - margin-left: 125px; - float: left; - width: 50px; -} - -#profile-edit-with-label { - width: 175px; - margin-left: 20px; -} - -#profile-publish-yes-reg, -#profile-publish-no-reg { - float: left; - margin-bottom: 10px; -} - -#profile-publish-yes-label-reg, -#profile-publish-no-label-reg { - margin-left: 350px; - float: left; - width: 50px; -} - -#profile-publish-break-reg, -#profile-publish-end-reg { - clear: both; -} - - -#profile-edit-pdesc-desc, -#profile-edit-pubkeywords-desc, -#profile-edit-prvkeywords-desc { - float: left; - margin-left: 20px; -} - - -#profile-edit-homepage, #profile-edit-hometown { - float: left; - margin-bottom: 35px; -} -#settings-normal-label, -#settings-soapbox-label, -#settings-community-label, -#settings-freelove-label { - float: left; - width: 200px; -} -#settings-normal-desc, -#settings-soapbox-desc, -#settings-community-desc, -#settings-freelove-desc { - /*float: left; - margin-left: 75px;*/ - clear: left; - color: #666666; - display: block; - margin-bottom: 20px -} - -#profile-edit-profile-name-end, -#profile-edit-name-end, -#profile-edit-pdesc-end, -#profile-edit-gender-end, -#profile-edit-dob-end, -#profile-edit-address-end, -#profile-edit-locality-end, -#profile-edit-region-end, -#profile-edit-postal-code-end, -#profile-edit-country-name-end, -#profile-edit-marital-end, -#profile-edit-sexual-end, -#profile-edit-politic-end, -#profile-edit-religion-end, -#profile-edit-pubkeywords-end, -#profile-edit-prvkeywords-end, -#profile-edit-homepage-end, -#profile-edit-hometown-end, -#profile-in-dir-break, -#profile-in-dir-end, -#profile-in-netdir-break, -#profile-in-netdir-end, -#hide-wall-break, -#hide-wall-end, -#hide-friends-break, -#hide-friends-end, -#settings-normal-break, -#settings-soapbox-break, -#settings-community-break, -#settings-freelove-break { - clear: both; -} - -.settings-widget ul { - list-style-type: none; - padding: 0px; -} - -.settings-widget li { - margin-left: 24px; - margin-bottom: 8px; -} - - -#gender-select, #marital-select, #sexual-select { - width: 220px; -} - -#profile-edit-profile-name-wrapper .required { - color: #FF0000; - float: left; -} - -#contacts-display-wrapper { - padding-left: 0px; -} - -#contacts-main { - margin-top: 20px; - margin-bottom: 20px; -} - -.contact-entry-wrapper { - float: left; -/* width: 120px; - height: 120px;*/ - padding-right: 17px; - width: 95px; - height: 170px; -} -#contacts-search-end { - margin-bottom: 10px; -} - -.contact-entry-direction-icon { - margin-top: 24px; - margin-right: 2px; -} - -.contact-entry-photo img { - border: none; -} -.contact-entry-photo-end { - clear: both; -} -.contact-entry-name { - float: left; - margin-left: 0px; - margin-right: 10px; - padding-bottom: 5px; - width: 120px; - font-weight: 600; - overflow: hidden; -} -.contact-entry-details { - font-style: italic; - font-size: 10px; - font-weight: 500; -} -.contact-entry-network { - font-size: 10px; - font-weight: 500; -} -.contact-entry-edit-links { - margin-top: 6px; - margin-left: 10px; - width: 16px; -} -.contact-entry-nav-wrapper { - float: left; - margin-left: 10px; -} - -.contact-entry-edit-links img { - border: none; - margin-right: 15px; -} -.contact-entry-photo { - float: left; - position: relative; -} -.contact-entry-end { - clear: both; -} - -#fsuggest-desc, #fsuggest-submit-wrapper { - margin-top: 15px; - margin-bottom: 15px; -} - -#network-star-link{ - margin-top: 10px; -} -.network-star { - float: left; - margin-right: 5px; -} -#network-bmark-link { - margin-top: 10px; -} - -.wall-item-content-wrapper { - margin-top: 60px; - padding-top: 30px; - border-top: 2px solid #AAA; - position: relative; - -} - -.wall-item-content-wrapper.comment { - margin-top: 10px; - padding-top: none; - margin-left: 50px; - border: none; -} - -.wall-item-like, .wall-item-dislike { - font-style: italic; - margin-left: 0px; - opacity: 0.4; -} -.wall-item-like:hover, .wall-item-dislike:hover { - opacity: 1.0; -} - -.wall-item-like.comment, .wall-item-dislike.comment { - margin-left: 50px; -} - -.wall-item-info { - display: block; - float: left; - width:110px; - margin-right:10px; -} -.comment .wall-item-info { - width: 70px; -} - -.wall-item-photo-wrapper { - margin-bottom: 10px; - width: 100px; -} -.wall-item-photo-menu-button { - display: block; - position: absolute; - background-image: url("photo-menu.jpg"); - background-position: top left; - background-repeat: no-repeat; - margin: 0px; padding: 0px; - width: 16px; - height: 16px; - top: 94px; left:0px; - overflow: hidden; - text-indent: 40px; - display: none; - -} -.wall-item-photo-menu { - width: auto; - border: 2px solid #444444; - background: #FFFFFF; - position: absolute; -/* left: 10px; top: 90px;*/ - left: 0px; top:110px; - display: none; - z-index: 10000; -} -.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none } -.wall-item-photo-menu li a { display: block; padding: 2px; } -.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } - - -.comment .wall-item-photo-menu-button { /*top: 44px;*/ top: 64px;} -.comment .wall-item-photo-menu { /*top: 60px;*/ top: 80px; } - -.wallwall .wwto { - left: 50px; - margin: 0; - position: absolute; - top: 70px; - width: 30px -} -.wallwall .wwto img { - width: 30px !important; - height: 30px !important; -} - -.wallwall .wall-item-photo-end { - clear: both; -} - -.wall-item-arrowphoto-wrapper { - position: absolute; - left: 75px; - top: 70px; - z-index: 100; -} -.wall-item-wrapper { - margin-left:10px; -} -.wall-item-lock { - margin-top: 30px; - left: 105px; - position: absolute; - top: 1px; -} -.comment .wall-item-lock { - left: 65px; -} - -.wall-item-ago { - color: #888888; - font-size: 0.8em; -} - -.wall-item-location { - overflow: hidden; - /* add ellipsis on text overflow */ - /* this work on safari, opera, ie, chrome. */ - /* firefox users have to wait support or we */ - /* can use a jquery plugin http://bit.ly/zJskg */ - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - width: 100%; -} - -.wall-item-like-buttons { - float: left; - margin-right: 10px; -/* padding-right: 10px; */ -/* border-right: 2px solid #fff; */ -} - -.like-rotator { - margin-left: 5px; -} - -.wall-item-like-buttons > a, -.wall-item-like-buttons > img { - float: left; -} - -.wall-item-like-buttons img { - cursor: pointer; -} - -.wall-item-share-buttons { - margin-left: 10px; - margin-right: 10px; -} - -.editpost { - margin-left: 10px; - float: left; -} -.star-item { - margin-left: 10px; - float: left; -} -.tag-item { - margin-left: 10px; - float: left; -} - -.filer-item { - margin-left: 10px; - float: left; -} - -.wall-item-links-wrapper { - float: left; -} - -.wall-item-delete-wrapper { - float: right; -} - -.wall-item-delete-end { - clear: both; -} - -.wall-item-delete-icon { - border: none; -} - - -.wall-item-wrapper-end { - clear: both; -} -.wall-item-name-link { - font-weight: bold; - text-decoration: none; - color: #3172BD; -} -.wall-item-photo { - border: none; -} -.comment .wall-item-photo { - width: 50px !important; - height: 50px !important; -} -.wall-item-content { - margin-left: 10px; - padding-right: 1em; - max-height: 500px; - overflow: auto; -} - -.wall-item-content img { - max-width: 100%; -} - - - -.wall-item-title { - float: left; - font-weight: bold; - font-size: 1.6em; - /*width: 450px;*/ -} - -.wall-item-title-end { - clear: both; -} - -.wall-item-body { - text-align: justify; - float: left; - /*width: 450px;*/ - width: 100%; - margin-top: 10px; - line-height: 18px; -} - -.wall-item-tools { - clear: both; -/* background-image: url("head.jpg"); - background-position: 0 -20px; - background-repeat: repeat-x;*/ - margin-top: 10px; - margin-left: 0px; - margin-bottom: 7px; -/* padding: 5px 10px 0px;*/ - padding: 5px 10px 0px 2px; - height: 28px; - border-bottom: 1px solid #ddd; -} -.wall-item-author { -/* margin-top: 10px;*/ - margin-top: 0px; -} - -.comment .wall-item-tools { -/* background:none;*/ -/* background-image: url("head.jpg"); - background-position: 0 -20px; - background-repeat: repeat-x;*/ - margin-left: 0px; -} - -.comment-edit-wrapper { - margin-top: 15px; - background: #f3f3f3; - margin-left: 50px; -} - -.comment-wwedit-wrapper { - margin-top: 15px; - background: #f3f3f3; - margin-left: 50px; -} - -.comment-edit-photo { - margin-top: 10px; - margin-left: 10px; - margin-bottom: 10px; - width: 70px; - float: left; -} -.comment-edit-photo img { - width: 25px; -} -.comment-edit-text-empty, .comment-edit-text-full { - float: left; - margin-top: 10px; - -moz-border-radius: 3px; - border-radius: 3px; - border: 1px solid #cccccc; - padding: 3px 1px 1px 3px; -} - -.comment-edit-text-empty { - color: gray; - height: 30px; - width: 175px; - overflow: auto; - margin-bottom: 10px; -} - -.comment-edit-text-full { - color: black; - height: 150px; - width: 350px; - overflow: auto; -} - -.comment-edit-text-end { - clear: both; -} - -.comment-edit-submit { - margin: 10px 0px 10px 110px; -} - -#profile-jot-plugin-wrapper, -#profile-jot-submit-wrapper { - margin-top: 15px; -} - -#profile-jot-submit { - float: left; -} -#profile-upload-wrapper { - float: left; - margin-left: 30px; -} -#profile-attach-wrapper { - float: left; - margin-left: 15px; -} -#profile-rotator { - float: left; - margin-left: 30px; -} -#profile-link-wrapper { - float: left; - margin-left: 30px; -} -#profile-youtube-wrapper { - float: left; - margin-left: 15px; -} -#profile-video-wrapper { - float: left; - margin-left: 15px; -} -#profile-audio-wrapper { - float: left; - margin-left: 15px; -} -#profile-location-wrapper { - float: left; - margin-left: 15px; -} -#jot-preview-link { - float: left; - margin-left: 45px; - margin-top: 0px !important; -} - - -#profile-nolocation-wrapper { - float: left; - margin-left: 15px; -} -#profile-title-wrapper { - float: left; - margin-left: 15px; -} - -#profile-jot-perms { - float: left; - margin-left: 100px; - font-weight: bold; - font-size: 1.2em; -} - - -#profile-jot-perms-end { - /*clear: left;*/ - height: 30px; -} - -#profile-jot-plugin-end{ - clear: both; -} -.profile-jot-net { - float: left; - margin-right: 10px; - margin-top: 5px; - margin-bottom: 5px; -} - -#profile-jot-networks-end { - clear: both; -} - -#profile-jot-end { - /*clear: both;*/ - margin-bottom: 30px; -} -#about-jot-submit-wrapper { - margin-top: 15px; -} -#about-jot-end { - margin-bottom: 30px; -} -#contacts-main { - margin-bottom: 30px; -} - -#profile-listing-desc { - margin-left: 30px; -} - -#profile-listing-new-link-wrapper { - margin-left: 30px; - margin-bottom: 30px; -} -.profile-listing-photo-wrapper { - float: left; -} - -.profile-listing-edit-buttons-wrapper { - clear: both; -} -.profile-listing-photo-edit-link { - float: left; - width: 125px; -} -.profile-listing-end { - clear: both; -} -.profile-listing-edit-buttons-wrapper img{ - border: none; - margin-right: 20px; -} -.profile-listing { - margin-top: 25px; -} -.profile-listing-name { - float: left; - margin-left: 32px; - margin-top: 10px; - color: #3172BD; - font-weight: bold; - width: 200px; - -} -.fortune { - margin-top: 50px; - color: #4444FF; - font-weight: bold; - margin-bottom: 20px; -} - - -.directory-end { - clear: both; -} -.directory-name { - text-align: center; -} -.directory-photo { - margin-left: 25px; -} -.directory-details { - font-size: 0.7em; - text-align: center; - margin-left: 5px; - margin-right: 5px; -} -.directory-item { - float: left; -/* width: 225px; - height: 260px;*/ - padding-left: 25px; - width: 150px; - height: 225px; - overflow: auto; -} - -#directory-search-wrapper { - margin-top: 20px; - margin-right: 20px; - margin-bottom: 50px; -} - -#directory-search-end { -} - -.directory-photo-img { - width: 125px; - border: none; -} - - -.pager { - margin-top: 35px; - margin-bottom: 20px; - padding: 10px; - text-align: center; - font-size: 1.0em; -} - - -.pager_first, -.pager_last, -.pager_prev, -.pager_next, -.pager_n { -/* background: #EEE;*/ -} - -.pager_first a, -.pager_last a, -.pager_prev a, -.pager_next a, -.pager_n a { - border: 1px solid black; - border-radius: 7px; - text-decoration: none; - padding: 4px 6px 4px 3px; - opacity: 0.5; -} -.pager_first a:hover, -.pager_last a:hover, -.pager_prev a:hover, -.pager_next a:hover, -.pager_n a:hover { - opacity: 1.0; -} - -.pager_current { - border: 1px solid black; - border-radius: 7px; - background: #FFCCCC; - padding: 4px 6px 4px 3px; -} - - -#advanced-profile-name-wrapper, -#advanced-profile-gender-wrapper, -#advanced-profile-dob-wrapper, -#advanced-profile-age-wrapper, -#advanced-profile-marital-wrapper, -#advanced-profile-sexual-wrapper, -#advanced-profile-homepage-wrapper, -#advanced-profile-politic-wrapper, -#advanced-profile-religion-wrapper, -#advanced-profile-about-wrapper, -#advanced-profile-interest-wrapper, -#advanced-profile-contact-wrapper, -#advanced-profile-music-wrapper, -#advanced-profile-book-wrapper, -#advanced-profile-tv-wrapper, -#advanced-profile-film-wrapper, -#advanced-profile-romance-wrapper, -#advanced-profile-work-wrapper, -#advanced-profile-education-wrapper { - margin-top: 20px; -} - -#advanced-profile-name-text, -#advanced-profile-gender-text, -#advanced-profile-dob-text, -#advanced-profile-age-text, -#advanced-profile-marital-text, -#advanced-profile-sexual-text, -#advanced-profile-homepage-text, -#advanced-profile-politic-text, -#advanced-profile-religion-text, -#advanced-profile-about-text, -#advanced-profile-interest-text, -#advanced-profile-contact-text, -#advanced-profile-music-text, -#advanced-profile-book-text, -#advanced-profile-tv-text, -#advanced-profile-film-text, -#advanced-profile-romance-text, -#advanced-profile-work-text, -#advanced-profile-education-text { - width: 300px; - float: left; -} - -#advanced-profile-name-end, -#advanced-profile-gender-end, -#advanced-profile-dob-end, -#advanced-profile-age-end, -#advanced-profile-marital-end, -#advanced-profile-sexual-end, -#advanced-profile-homepage-end, -#advanced-profile-politic-end, -#advanced-profile-religion-end { - height: 10px; -} - -#advanced-profile-about-end, -#advanced-profile-interest-end, -#advanced-profile-contact-end, -#advanced-profile-music-end, -#advanced-profile-book-end, -#advanced-profile-tv-end, -#advanced-profile-film-end, -#advanced-profile-romance-end, -#advanced-profile-work-end, -#advanced-profile-education-end { - - -} - -#advanced-profile-name, -#advanced-profile-gender, -#advanced-profile-dob, -#advanced-profile-age, -#advanced-profile-marital, -#advanced-profile-sexual, -#advanced-profile-homepage, -#advanced-profile-politic, -#advanced-profile-religion { - float: left; - -} - - -#advanced-profile-about, -#advanced-profile-interest, -#advanced-profile-contact, -#advanced-profile-music, -#advanced-profile-book, -#advanced-profile-tv, -#advanced-profile-film, -#advanced-profile-romance, -#advanced-profile-work, -#advanced-profile-education { - margin-top: 10px; - margin-left: 50px; - margin-right: 20px; - padding: 10px; - border: 1px solid #CCCCCC; -} - -#advanced-profile-with { - float: left; - margin-left: 15px; -} - -#contact-edit-wrapper { - margin-top: 10px; -} - -#contact-edit-banner-name { - font-size: 1.4em; - font-weight: bold; -} - -#contact-edit-poll-wrapper { - margin-top: 15px; -} - -#contact-edit-poll-text { - margin-top: 15px; - margin-bottom: 5px; -} - -#contact-edit-update-now { - margin-top: 15px; -} - -#contact-edit-links{ - clear: both; -} - -#contact-edit-links ul { - list-style: none; - list-style-type: none; - margin-left: 0px; - padding-left: 0px; -} - -#contact-edit-links li { - margin-top: 5px; -} - -#contact-edit-drop-link { - float: right; - margin-right: 20px; -} - -#contact-edit-nav-end { - clear: both; -} - -#contact-edit-wrapper { - width: 100%; -} - -#contact-edit-end { - clear: both; - margin-top: 15px; -} - -#contact-profile-selector { - width: 175px; - margin-left: 175px; -} - -.contact-edit-submit { - margin-top: 20px; -} - - -.contact-photo-menu-button { - position: absolute; - background-image: url("photo-menu.jpg"); - background-position: top left; - background-repeat: no-repeat; - margin: 0px; padding: 0px; - width: 16px; - height: 16px; - top: 64px; left:0px; - overflow: hidden; - text-indent: 40px; - display: none; - -} -.contact-photo-menu { - width: auto; - border: 2px solid #444444; - background: #FFFFFF; - position: absolute; - left: 0px; top: 90px; - display: none; - z-index: 10000; -} -.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } -.contact-photo-menu li a { display: block; padding: 2px; } -.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; } - - -#block-message, #ignore-message, #archive-message, #lost-contact-message { - color: #FF0000; -} - -#profile-edit-insecure { - margin-top: 20px; - color: #FF0000; - font-size: 1.1em; - border: 1px solid #FF8888; - background-color: #FFEEEE; - padding-left: 5px; - /*: 3px 3px 3px 5px; */ - width: 587px; -} - -#profile-jot-text { - height: 20px; - color:#cccccc; - border: 1px solid #cccccc; - padding: 3px 0px 0px 5px; - -moz-border-radius: 3px; - border-radius: 3px; -} - - -/** acl **/ -#photo-edit-perms-select, -#photos-upload-permissions-wrapper, -#profile-jot-acl-wrapper{ - display:block!important; -} - -#photos-usage-message { - margin-bottom: 15px; -} - - -#acl-wrapper { - width: 690px; - float:left; -} -#acl-search { - float:right; - background: #ffffff url("../../../images/search_18.png") no-repeat right center; - padding-right:20px; -} -#acl-showall { - float: left; - display: block; - width: auto; - height: 18px; - background-color: #cccccc; - background-image: url("../../../images/show_all_off.png"); - background-position: 7px 7px; - background-repeat: no-repeat; - padding: 7px 5px 0px 30px; - -webkit-border-radius: 5px ; - -moz-border-radius: 5px; - border-radius: 5px; - color: #999999; -} -#acl-showall.selected { - color: #000000; - background-color: #ff9900; - background-image: url("../../../images/show_all_on.png"); -} - -#acl-list { - height: 210px; - border: 1px solid #cccccc; - clear: both; - margin-top: 30px; - overflow: auto; -} -#acl-list-content { - -} -.acl-list-item { - display: block; - width: 150px; - height: 30px; - border: 1px solid #cccccc; - margin: 5px; - float: left; -} -.acl-list-item img{ - width:22px; - height: 22px; - float: left; - margin: 4px; -} -.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;} -.acl-list-item a { - font-size: 8px; - display: block; - width: 40px; - height: 10px; - float: left; - color: #999999; - background-color: #cccccc; - background-position: 3px 3px; - background-repeat: no-repeat; - margin-right: 5px; - -webkit-border-radius: 2px ; - -moz-border-radius: 2px; - border-radius: 2px; - padding-left: 15px; -} -#acl-wrapper a:hover { - text-decoration: none; - color:#000000; -} -.acl-button-show { background-image: url("../../../images/show_off.png"); } -.acl-button-hide { background-image: url("../../../images/hide_off.png"); } - -.acl-button-show.selected { - color: #000000; - background-color: #9ade00; - background-image: url("../../../images/show_on.png"); -} -.acl-button-hide.selected { - color: #000000; - background-color: #ff4141; - background-image: url("../../../images/hide_on.png"); -} -.acl-list-item.groupshow { border-color: #9ade00; } -.acl-list-item.grouphide { border-color: #ff4141; } -/** /acl **/ - - -#group-new-submit-wrapper { - margin-top: 30px; -} - -#group-edit-name-label { - float: left; - width: 175px; - margin-top: 20px; - margin-bottom: 20px; -} - -#group-edit-name { - float: left; - width: 225px; - margin-top: 20px; - margin-bottom: 20px; -} - -#group-edit-name-wrapper { - - -} - - -#group_members_select_label { - display: block; - float: left; - width: 175px; -} - -.group_members_select { - float: left; - width: 230px; - overflow: auto; -} - -#group_members_select_end { - clear: both; -} -#group-edit-name-end { - clear: both; -} - -#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label { - margin-bottom: 10px; - margin-top: 20px; -} - -#prvmail-submit { - float: left; - margin-top: 10px; - margin-right: 30px; -} -#prvmail-upload-wrapper, -#prvmail-link-wrapper, -#prvmail-rotator-wrapper { - float: left; - margin-top: 10px; - margin-right: 10px; - width: 24px; -} - -#prvmail-end { - clear: both; -} - -.mail-list-sender, -.mail-list-detail { - float: left; -} -.mail-list-detail { - margin-left: 20px; -} - -.mail-list-subject { - font-size: 1.1em; - margin-top: 10px; -} -a.mail-list-link { - display: block; - font-size: 1.3em; - padding: 4px 0; -} - -/* -*a.mail-list-link:hover { -* background-color: #15607B; -* color: #F5F6FB; -*} -*/ - -.mail-list-outside-wrapper-end { - clear: both; -} - -.mail-list-outside-wrapper { - margin-top: 30px; -} - -.mail-list-delete-wrapper { - float: right; - margin-right: 30px; - margin-top: 15px; -} - -.mail-list-delete-icon { - border: none; -} - -.mail-conv-sender, -.mail-conv-detail { - float: left; -} -.mail-conv-detail { - margin-left: 20px; - width: 500px; -} - -.mail-conv-subject { - font-size: 1.4em; - margin: 10px 0; -} - -.mail-conv-outside-wrapper-end { - clear: both; -} - -.mail-conv-outside-wrapper { - margin-top: 30px; -} - -.mail-conv-delete-wrapper { - float: right; - margin-right: 30px; - margin-top: 15px; -} -.mail-conv-break { - clear: both; -} - -.mail-conv-delete-icon { - border: none; -} - -.message-links ul { - list-style-type: none; - padding: 0px; -} - -.message-links li { - margin-top: 10px; - float: left; -} -.message-links a { - padding: 3px 5px; -} - -.message-links-end { - clear: both; -} - -#sidebar-group-list ul { - list-style-type: none; -} - -#sidebar-group-list .icon, #sidebar-group-list .iconspacer { - display: inline-block; - height: 12px; - width: 12px; -} - -#sidebar-group-list li { - margin-top: 10px; -} - -.nets-ul, .fileas-ul, .categories-ul { - list-style-type: none; -} - -.nets-ul li, .fileas-ul li, .categories-ul li { - margin-top: 10px; -} - -.nets-link { - margin-left: 24px; -} -.nets-all { - margin-left: 42px; -} - -.fileas-link, .categories-link { - margin-left: 24px; -} - -.fileas-all, .categories-all { - margin-left: 0px; -} - -#search-save { - margin-left: 5px; -} -.groupsideedit { - margin-right: 10px; -} -#saved-search-ul { - list-style-type: none; -} -.savedsearchdrop, .savedsearchterm { - float: left; - margin-top: 10px; -} -.savedsearchterm { - margin-left: 10px; -} - - -#side-follow-wrapper { - margin-top: 20px; -} -#side-follow-url, #side-peoplefind-url { - margin-top: 5px; -} -#side-follow-submit, #side-peoplefind-submit { - margin-top: 15px; -} - -#side-match-link { - margin-top: 10px; -} - -aside input[type='text'] { - width: 174px; -} - -.widget { - border: 1px solid #DDDDDD; - padding: 8px; - margin-top: 5px; - -moz-border-radius:5px; - -webkit-border-radius:5px; - border-radius:5px; - -} - - -/*.photos { - height: auto; - overflow: auto; -}*/ - -.photos-end { - clear: both; - margin-bottom: 25px; -} - -.photo-album-image-wrapper { - float: left; - margin-top: 15px; - margin-right: 15px; - margin-left: 15px; -/* width: 200px; height: 200px; - overflow: hidden; - position: relative; */ -} -.photo-album-image-wrapper .caption { - display: none; - width: 100%; -/* position: absolute; */ - bottom: 0px; - padding: 0.5em 0.5em 0px 0.5em; - background-color: rgba(245, 245, 255, 0.8); - border-bottom: 2px solid #CCC; - margin: 0px; -} -.photo-album-image-wrapper a:hover .caption { - display:block; -} - -#photo-album-end { - clear: both; - margin-bottom: 25px; -} - -.photo-top-image-wrapper { -/* position: relative; */ - float: left; - margin-top: 15px; - margin-right: 15px; - margin-left: 15px; - margin-bottom: 15px; -/* width: 200px; height: 200px; - overflow: hidden; */ -} -.photo-top-album-name { - width: 100%; - min-height: 2em; -/* position: absolute; */ - bottom: 0px; - padding: 0px 3px; - padding-top: 0.5em; - background-color: rgb(255, 255, 255); -} -#photo-top-end { - clear: both; -} - -#photo-top-links { - margin-bottom: 30px; - margin-left: 30px; -} - -#photos-upload-newalbum-div { - float: left; - width: 175px; -} - -#photos-upload-noshare { - margin-bottom: 10px; -} -#photos-upload-existing-album-text { - float: left; - width: 175px; -} -#photos-upload-newalbum { - float: left; -} -#photos-upload-album-select { - float: left; -} - -#photos-upload-spacer { - margin-top: 25px; -} -#photos-upload-new-end, #photos-upload-exist-end { - clear: both; -} -#photos-upload-exist-end { - margin-bottom: 15px; -} -#photos-upload-submit { - margin-top: 15px; -} - -#photos_upload_applet_wrapper { - margin-bottom: 15px; -} - -#photos-upload-no-java-message { - margin-bottom: 15px; -} - -#profile-jot-desc { - /*float: left;*/ - /*width: 480px;*/ - width: 100%; - color: #FF0000; - margin-top: 10px; - margin-bottom: 10px; -} - -#character-counter { - float: right; - font-size: 120%; -} - -#character-counter.grey { - color: #888888; -} - -#character-counter.orange { - color: orange; -} -#character-counter.red { - color: red; -} - -#profile-jot-banner-end { - /* clear: both; */ -} - -#photos-upload-select-files-text { - margin-top: 15px; - margin-bottom: 15px; -} - -#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link { - color: #8888FF; - text-decoration: none; - cursor: pointer; -} - -#photos-upload-perms-menu:hover { - color: #0000FF; - text-decoration: underline; - cursor: pointer; -} -#settings-default-perms-menu { - margin-top: 15px; - margin-bottom: 15px; -} - -#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, #photo-edit-rotate-label { - float: left; - width: 150px; -} - -#photo-edit-perms-end { - margin-bottom: 15px; -} - -#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname, #photo-edit-rotate { - float: left; - margin-bottom: 25px; -} -#photo-edit-link-wrap { - margin-bottom: 15px; -} -#photo-like-div { - margin-bottom: 25px; -} - -#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end { - clear: both; -} - -#photo-edit-rotate-end { - margin-bottom: 15px; -} - -#photo-edit-delete-button { - margin-left: 200px; -} -#photo-edit-end { - margin-bottom: 35px; -} -#photo-caption { - font-size: 110%; - font-weight: bold; - margin-top: 15px; - margin-bottom: 15px; -} - -#in-this-photo-text { - color: #0000FF; - margin-left: 30px; -} - -#in-this-photo { - margin-left: 60px; - margin-top: 10px; - margin-bottom: 20px; -} - -#photo-album-edit-submit, #photo-album-edit-drop { - margin-top: 15px; - margin-bottom: 15px; -} - -#photo-album-edit-drop { - margin-left: 200px; -} - -.group-delete-wrapper { - float: right; - margin-right: 50px; -} - -#install-dbhost-label, -#install-dbuser-label, -#install-dbpass-label, -#install-dbdata-label, -#install-tz-desc { - float: left; - width: 250px; - margin-top: 10px; - margin-bottom: 10px; - -} - -#install-dbhost, -#install-dbuser, -#install-dbpass, -#install-dbdata { - float: left; - width: 200px; - margin-left: 20px; -} - -#install-dbhost-end, -#install-dbuser-end, -#install-dbpass-end, -#install-dbdata-end, -#install-tz-end { - clear: both; -} - -#install-form select#timezone_select { - float: left; - margin-top: 18px; - margin-left: 20px; -} - -#dfrn-request-networks { - margin-bottom: 30px; -} - -#pause { - position: fixed; - bottom: 5px; - right: 5px; -} - -.sparkle { - cursor: url('lock.cur'), pointer; -/* cursor: pointer !important; */ -} - -.contact-block-div { - float: left; - width: 52px; - height: 52px; -} -.contact-block-textdiv { - float: left; - width: 150px; - height: 34px; -} - -#contact-block-end { - clear: both; -} -.contact-block-link { - float: left; -} -.contact-block-img { - width:48px; - height:48px; -} - -#tag-remove { - margin-bottom: 15px; -} - -#tagrm li { - margin-bottom: 10px; -} - -#tagrm-submit, #tagrm-cancel { - margin-top: 25px; -} - -#tagrm-cancel { - margin-left: 15px; -} - -.wall-item-conv { - margin-top: 5px; - margin-bottom: 25px; -} - -#search-submit { - margin-left: 15px; -} - -#search-box { - margin-bottom: 25px; -} - -.location-label, .gender-label, .marital-label, .homepage-label { - float: left; - text-align: right; - display: block; - width: 65px; -} - -.adr, .x-gender, .marital-text, .homepage-url { - float: left; - display: block; - margin-left: 8px; -} - -.profile-clear { - clear: both; -} - - -.clear { - clear: both; -} - -.cc-license { - margin-top: 50px; - font-size: 70%; -} - - -#plugin-settings-link, #account-settings-link { - margin-bottom: 10px; -} - -#uexport-link { - margin-bottom: 20px; -} - -/* end from default */ - - -.fn { - padding: 0px 0px 5px 12px; - font-size: 120%; - font-weight: bold; -} - -.vcard .title { - margin-bottom: 5px; - margin-left: 12px; -} - -.vcard dl { - clear: both; -} - -#birthday-title { - float: left; - font-weight: bold; -} - -#birthday-adjust { - float: left; - font-size: 75%; - margin-left: 10px; -} - -#birthday-title-end { - clear: both; -} - -.birthday-list { - margin-left: 15px; -} - -#birthday-wrapper { - margin-bottom: 20px; -} - -#network-new-link { - margin-top: 15px; - margin-bottom: 15px; -} - - -.tool-wrapper { - float: left; - margin-left: 15px; -} - -.tool-link { - cursor: pointer; -} - -.eventcal { - float: left; - font-size: 20px; -} - -#event-summary-text { - margin-top: 15px; -} - -#event-share-checkbox { - float: left; - margin-top: 10px; -} - -#event-share-text { - float: left; - margin-top: 10px; - margin-left: 5px; -} - -#event-share-break { - clear: both; - margin-bottom: 10px; -} - -#event-summary { - width: 400px; -} - -.vevent { - border: 1px solid #CCCCCC; -} - -.vevent .event-summary { - margin-left: 10px; - margin-right: 10px; - font-weight: bold; -} - -.vevent .event-description, .vevent .event-location { - margin-left: 10px; - margin-right: 10px; -} -.vevent .event-start { - margin-left: 10px; - margin-right: 10px; -} - -#new-event-link { - margin-bottom: 10px; -} - -.edit-event-link, .plink-event-link { - float: left; - margin-top: 4px; - margin-right: 4px; - margin-bottom: 15px; -} - -.event-description:before { - content: url('../../../images/calendar.png'); - margin-right: 15px; -} - -.event-start, .event-end { - margin-left: 10px; - width: 330px; - clear: both; -} - -.event-start .dtstart, .event-end .dtend { - float: right; -} - -.event-list-date { - margin-bottom: 10px; -} - -.prevcal, .nextcal { - float: left; - margin-left: 32px; - margin-right: 32px; - margin-top: 64px; -} -.event-calendar-end { - clear: both; -} - - -.calendar { - font-family: Courier, monospace; -} -.today { - font-weight: bold; - color: #FF0000; -} - -.settings-block { - border: 1px solid #AAA; - margin: 10px; - padding: 10px; -} - -.app-title { - margin: 10px; -} - -#identity-manage-desc { - margin-top:15px; - margin-bottom: 15px; -} - -#identity-manage-choose { - margin-bottom: 15px; -} - -#identity-submit { - margin-top: 20px; -} - -#photo-prev-link, #photo-next-link { - padding: 10px; - float: left; -} - -#photo-photo { - float: left; -} - -#photo-photo-end { - clear: both; -} - -.profile-match-photo { - float: left; - text-align: center; - width: 120px; -} - -.profile-match-name { - float: left; - text-align: center; - width: 120px; - overflow: hidden; -} - -.profile-match-break, -.profile-match-end { - clear: both; -} - -.profile-match-connect { - text-align: center; - font-weight: bold; -} - -.profile-match-wrapper { - float: left; - padding: 10px; - width: 120px; - height: 120px; - scroll: auto; -} -#profile-match-wrapper-end { - clear: both; -} -.side-link { - margin-bottom: 15px; -} - -#language-selector { - position: absolute; - top: 0px; - left: 16px; -} - -#group-members { - margin-top: 20px; - padding: 10px; - height: 250px; - overflow: auto; - border: 1px solid #ddd; -} - -#group-members-end { - clear: both; -} - -#group-separator { - margin-top: 10px; - margin-bottom: 10px; -} - -#group-all-contacts { - padding: 10px; - height: 450px; - overflow: auto; - border: 1px solid #ddd; -} - -#group-all-contacts-end { - clear: both; - margin-bottom: 10px; -} - -#group-edit-desc { - margin-top: 15px; -} - - -#prof-members { - margin-top: 20px; - padding: 10px; - height: 250px; - overflow: auto; - border: 1px solid #ddd; -} - -#prof-members-end { - clear: both; -} - -#prof-separator { - margin-top: 10px; - margin-bottom: 10px; -} - -#prof-all-contacts { - padding: 10px; - height: 450px; - overflow: auto; - border: 1px solid #ddd; -} - -#prof-all-contacts-end { - clear: both; - margin-bottom: 10px; -} - -#prof-edit-desc { - margin-top: 15px; -} - -#crepair-name-label, -#crepair-nick-label, -#crepair-attag-label, -#crepair-url-label, -#crepair-request-label, -#crepair-confirm-label, -#crepair-notify-label, -#crepair-photo-label, -#crepair-poll-label { - float: left; - width: 200px; - margin-bottom: 15px; -} - -#crepair-name, -#crepair-nick, -#crepair-attag, -#crepair-url, -#crepair-request, -#crepair-confirm, -#crepair-notify, -#crepair-photo, -#crepair-poll { - float: left; - width: 300px; -} - - -#netsearch-box { - margin-top: 20px; -} - -#netsearch-box #search-submit { - margin: 5px 0px 0px 0px; -} - -.required { - color: #FF0000; -} - -#event-start-text, #event-finish-text { - margin-top: 10px; - margin-bottom: 5px; -} - -#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text { - float: left; -} -#event-datetime-break { - margin-bottom: 10px; -} - -#event-nofinish-break, #event-adjust-break { - clear: both; -} - -#event-desc-text, #event-location-text { - margin-top: 10px; - margin-bottom: 5px; -} -#event-submit { - margin-top: 10px; -} - -.body-tag, .filesavetags, .categorytags { - opacity: 0.5; - filter:alpha(opacity=50); -} - -.body-tag:hover, .filesavetags:hover, .categorytags:hover { - opacity: 1.0 !important; - filter:alpha(opacity=100) !important; -} - -.item-select { - opacity: 0.1; - filter:alpha(opacity=10); - float: right; - margin-right: 10px; - -} -.item-select:hover, .checkeditem { - opacity: 1; - filter:alpha(opacity=100); -} - - -#item-delete-selected { - margin-top: 30px; -} - -#item-delete-selected-end { - clear: both; -} -#item-delete-selected-icon, #item-delete-selected-desc { - float: left; - margin-right: 5px; -} -#item-delete-selected-desc:hover { - text-decoration: underline; -} - -#lang-select-icon { - cursor: pointer; - position: absolute; - left: 0px; - top: 0px; - opacity: 0.2; - filter:alpha(opacity=20); -} - -#lang-select-icon:hover { - opacity: 1; - filter:alpha(opacity=100); -} - -.notif-image { - height: 80px; - width: 80px; - margin-right: 15px; -} -.notification-listing-end { - clear: both; - margin-bottom: 15px; -} - - - -/** - * Plugins settings - */ - -.settings-block > h3, -.settings-heading { - border-bottom: 1px solid #babdb6; -} - - -/** - * Form fields - */ -.field { - margin-bottom: 10px; - padding-bottom: 10px; - overflow: auto; - width: 100% -} - -.field label { - float: left; - width: 200px; -} - -.field input, -.field textarea { - width: 400px; -} -.field textarea { height: 100px; } -.field_help { - display: block; - margin-left: 200px; - color: #666666; - -} - - -.field .onoff { - float: left; - width: 80px; -} -.field .onoff a { - display: block; - border:1px solid #666666; - background-image:url("../../../images/onoff.jpg"); - background-repeat: no-repeat; - padding: 4px 2px 2px 2px; - height: 16px; - text-decoration: none; -} -.field .onoff .off { - border-color:#666666; - padding-left: 40px; - background-position: left center; - background-color: #cccccc; - color: #666666; - text-align: right; -} -.field .onoff .on { - border-color:#204A87; - padding-right: 40px; - background-position: right center; - background-color: #D7E3F1; - color: #204A87; - text-align: left; -} -.hidden { display: none!important; } - -.field.radio .field_help { margin-left: 0px; } - -/** - * ADMIN - */ -#pending-update { - float:right; - color: #ffffff; - font-weight: bold; - background-color: #FF0000; - padding: 0em 0.3em; - -} -#adminpage dl { - clear: left; - margin-bottom: 2px; - padding-bottom: 2px; - border-bottom: 1px solid black; -} -#adminpage dt { - width: 200px; - float: left; - font-weight: bold; -} -#adminpage dd { - margin-left: 200px; -} - -#adminpage h3 { - border-bottom: 1px solid #cccccc; -} -#adminpage .field label { - font-weight: bold; -} -#adminpage .submit { - clear:left; - text-align: right; -} - -#adminpage #pluginslist { - margin: 0px; padding: 0px; -} -#adminpage .plugin { - list-style: none; - display: block; - border: 1px solid #888888; - padding: 1em; - margin-bottom: 5px; - clear: left; -} -#adminpage .plugin .desc { margin-left: 2.5em;} -#adminpage .toggleplugin { - float:left; - margin-right: 1em; -} - -#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;} -#adminpage table th { text-align: left;} -#adminpage td .icon { float: left;} -#adminpage table#users img { width: 16px; height: 16px; } -#adminpage table tr:hover { background-color: #bbc7d7; } -#adminpage .selectall { text-align: right; } - -/* - * UPDATE - */ -.popup { - width: 100%; height: 100%; - top:0px; left:0px; - position: absolute; - display: none; -} - -.popup .background { - background-color: rgba(0,0,0,128); - opacity: 0.5; - width: 100%; height: 100%; - position: absolute; - top:0px; left:0px; -} -.popup .panel { - top:25%;left:25%;width:50%;height:50%; - padding: 1em; - position: absolute; - border: 4px solid #000000; - background-color: #FFFFFF; -} -.popup .panel .panel_text { display: block; overflow: auto; height: 80%; } -.popup .panel .panel_in { width: 100%; height: 100%; position: relative; } -.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 span {float: right; display: block; width: 25%; background-color: #eeeeee; text-align: right;} - -/** - * OAuth - */ -.oauthapp { - height: auto; overflow: auto; - border-bottom: 2px solid #cccccc; - padding-bottom: 1em; - margin-bottom: 1em; -} -.oauthapp img { - float: left; - width: 48px; height: 48px; - margin: 10px; -} -.oauthapp img.noicon { - background-image: url("../../../images/icons/48/plugin.png"); - background-position: center center; - background-repeat: no-repeat; -} -.oauthapp a { - float: left; -} - -/** - * ICONS - */ -.iconspacer { - display: block; width: 16px; height: 16px; -} - -.icon { - display: block; width: 16px; height: 16px; - background-image: url('../../../images/icons.png'); -} -.article { background-position: 0px 0px;} -/*.audio { background-position: -16px 0px;}*/ -.audio { - display: block; width: 24px; height: 24px; - background-size: 100% 100%; - background-image: url('images/speaker.png'); - background-repeat: no-repeat; -} -.block { background-position: -32px 0px;} -/*.drop { background-position: -48px 0px;}*/ -.drop { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/drop-16.png'); - background-repeat: no-repeat; - opacity: 1.0; -} -/*.drophide { background-position: -64px 0px;}*/ -.drophide { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/drop-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.edit { background-position: -80px 0px;} -/*.camera { background-position: -96px 0px;}*/ -.camera{ - display: block; width: 24px; height: 18px; - margin-top: 4px; - background-size: 100% 100%; - background-image: url('images/camera.png'); - background-repeat: no-repeat; -} -/*.dislike { background-position: -112px 0px;}*/ -.dislike { - display: block; width: 15px; height: 16px;/* 23 24*/ - background-size: 100% 100%; - background-image: url('images/disapprove-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.dislike:hover { - opacity: 1.0; -} -/*.like { background-position: -128px 0px;}*/ -.like { - display: block; width: 15px; height: 16px;/* 23 24*/ - margin-right: 6px; - background-size: 100% 100%; - background-image: url('images/approve-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.like:hover { - opacity: 1.0; -} -/*.link { background-position: -144px 0px;}*/ -.link { - display: block; width: 24px; height: 24px; - background-size: 100% 100%; - background-image: url('images/link.png'); - background-repeat: no-repeat; -} - -/*.globe { background-position: 0px -16px;}*/ -.globe { - display: block; width: 24px; height: 24px; - background-size: 100% 100%; - background-image: url('images/globe.png'); - background-repeat: no-repeat; -} -.noglobe { background-position: -16px -16px;} -.no { background-position: -32px -16px;} -.pause { background-position: -48px -16px;} -.play { background-position: -64px -16px;} -/*.pencil { background-position: -80px -16px;}*/ -.pencil { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/pencil-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.pencil:hover { - opacity: 1.0; -} -/*.small-pencil { background-position: -96px -16px;}*/ -.small-pencil { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/pencil-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.small-pencil:hover { - opacity: 1.0; -} -/*.recycle { background-position: -112px -16px;}*/ -.recycle { - display: block; width: 16px; height: 16px;/*24 23*/ - background-size: 100% 100%; - background-image: url('images/recycle-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.recycle:hover { - opacity: 1.0; -} -/*.remote-link { background-position: -128px -16px;}*/ -.remote-link { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/remote-link-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.remote-link:hover { - opacity: 1.0; -} -.share { background-position: -144px -16px;} - -.tools { background-position: 0px -32px;} -/*.lock { background-position: -16px -32px;}*/ -.lock { - display: block; width: 14px; height: 21px; - margin-top: 1px; - background-size: 100% 100%; - background-image: url('images/lock-24.png'); - background-repeat: no-repeat; -} -/*.unlock { background-position: -32px -32px;}*/ -.unlock { - display: block; width: 14px; height: 24px; - margin-top: -2px; - background-size: 100% 100%; - background-image: url('images/unlock-24.png'); - background-repeat: no-repeat; -} -/*.video { background-position: -48px -32px;}*/ -.video { - display: block; width: 24px; height: 24px; - background-size: 100% 100%; - background-image: url('images/video.png'); - background-repeat: no-repeat; -} - -.youtube { background-position: -64px -32px;} -/*.attach { background-position: -80px -32px; }*/ -.attach { - display: block; width: 24px; height: 24px; - background-size: 100% 100%; - background-image: url('images/paperclip-24.png'); - background-repeat: no-repeat; -} - -.language { background-position: -96px -32px; } -.prev { background-position: -112px -32px; } -.next { background-position: -128px -32px; } -.on { background-position: -144px -32px; } - -.off { background-position: 0px -48px; } -/*.starred { background-position: -16px -48px; }*/ -.starred { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/star-yellow-16.png'); - background-repeat: no-repeat; -} -/*.unstarred { background-position: -32px -48px; }*/ -.unstarred { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/star-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.unstarred:hover { - opacity: 1.0; -} -/*.tagged { background-position: -48px -48px; }*/ -.tagged { - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/tag-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.tagged:hover { - opacity: 1.0; -} -.yellow { background-position: -64px -48px; } - - -.filer-icon { -/* display: block; width: 16px; height: 16px; - background-image: url('file.gif');*/ - display: block; width: 16px; height: 16px; - background-size: 100% 100%; - background-image: url('images/folder-16.png'); - background-repeat: no-repeat; - opacity: 0.4; -} -.filer-icon:hover { - opacity: 1.0; -} - -.icon.dim { opacity: 0.3;filter:alpha(opacity=30); } -[class^="comment-edit-bb"] { - list-style: none; - display: none; - margin: 0px 0 -5px 60px; - width: 75%; -} -[class^="comment-edit-bb"] > li { - display: inline-block; - margin: 10px 10px 0 0; - visibility: none; -} -[class^="comment-edit-bb-end"] { - clear: both; -} -.editicon { - display: inline-block; -/* background-image: url(bbedit.png); - background-color: #fff;*/ - background-size: 100% 100%; - background-repeat: no-repeat; - background-color: #f3f3f3; - text-decoration: none; - opacity: 0.4; -} -.editicon:hover { -/* background-color: #ccc;*/ - opacity: 1.0; -} -.boldbb { -/* background-position: 0px 0px;*/ - width: 15px; - height: 16px; - background-image: url('images/boldB-serif-16.png'); -} -/*.boldbb:hover { - background-position: 0px -16px; -}*/ -.italicbb { -/* background-position: -16px 0px;*/ - width: 9px; - height: 16px; - background-image: url('images/italicI-serif-16.png'); -} -/*.italicbb:hover { - background-position: -16px -16px; -}*/ -.underlinebb { -/* background-position: -32px 0px;*/ - width: 14px; - height: 16px; - background-image: url('images/underlineU-serif-16.png'); -} -/*.underlinebb:hover { - background-position: -32px -16px; -}*/ -.quotebb { -/* background-position: -48px 0px;*/ - width: 20px; - height: 20px; - background-image: url('images/quote.png'); -} -/*.quotebb:hover { - background-position: -48px -16px; -}*/ -.codebb { -/* background-position: -64px 0px;*/ - width: 20px; - height: 20px; - background-image: url('images/code.png'); -} -/*.codebb:hover { - background-position: -64px -16px; -}*/ -.imagebb { -/* background-position: -80px 0px;*/ - width: 20px;/*16*/ - height: 15px;/*12*/ - margin-bottom: 2px; - background-image: url('images/camera.png'); -} -/*.imagebb:hover { - background-position: -80px -16px; -}*/ -.urlbb { -/* background-position: -96px 0px;*/ - width: 20px; - height: 20px; - background-image: url('images/link.png'); -} -/*.urlbb:hover { - background-position: -96px -16px; -}*/ -.videobb { -/* background-position: -112px 0px;*/ - width: 20px; - height: 20px; - background-image: url('images/video.png'); -} -/*.videobb:hover { - background-position: -112px -16px; -}*/ - -.attachtype { - display: block; width: 20px; height: 23px; - float: left; - background-image: url('../../../images/content-types.png'); -} - -.body-attach { - margin-top: 10px; -} - -.type-video { background-position: 0px 0px; } -.type-image { background-position: -20px 0px; } -.type-audio { background-position: -40px 0px; } -.type-text { background-position: -60px 0px; } -.type-unkn { background-position: -80px 0px; } - - -/* autocomplete popup */ -.acpopup { - max-height:150px; - background-color:#ffffff; - overflow:auto; - z-index:100000; - border:1px solid #cccccc; -} -.acpopupitem { - background-color:#ffffff; padding: 4px; - clear:left; -} -.acpopupitem img { - float: left; - margin-right: 4px; -} - -.acpopupitem.selected { - color: #FFFFFF; background: #3465A4; -} - -/* popup notifications */ -div.jGrowl div.notice { - background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; - color: #ffffff; - padding-left: 58px; -} -div.jGrowl div.info { - background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center; - color: #ffffff; - padding-left: 58px; -} -#jGrowl.top-right { - top: 15px; - right: 15px; -} -.qcomment { - border: 1px solid #EEE; - padding: 3px; - margin-top: 15px; - margin-left: 25px; - width: 125px; - overflow-y: auto; -} - - -.qcomment option { - width: 125px; - overflow-x: hidden; -} - -.qcomment { - opacity: 0.3; - filter:alpha(opacity=30); -} -.qcomment:hover { - opacity: 1.0; - filter:alpha(opacity=100); -} - -/* notifications popup menu */ -.nav-notify { - display: none; - position: absolute; - font-size: 10px; - padding: 1px 3px; - top: 0px; - right: -10px; - min-width: 15px; - text-align: right; -} -.nav-notify.show { - display: block; -} -ul.notifications-menu-popup { - position: absolute; - display: none; - width: 10em; - margin: 0px; - padding: 0px; - list-style: none; - z-index: 100000; - right: 0px; -} -#nav-notifications-menu { - width: 320px; - max-height: 400px; - overflow-y: scroll;overflow-style:scrollbar; - background-color:#FFFFFF; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius:5px; - border: 1px solid #AAA; - -moz-box-shadow: 3px 3px 5px #555; - -webkit-box-shadow: 3px 3px 5px #555; - box-shadow: 3px 3px 5px #555; -} -#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; } -#nav-notifications-menu img { float: left; margin-right: 5px; } -#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; } -#nav-notifications-menu li { - padding: 7px 0px 7px 10px; - word-wrap:normal; - border-bottom: 1px solid #000; -} - -#nav-notifications-menu li:hover { - -} - -#nav-notifications-menu a:hover { - text-decoration: underline; -} - -.notif-item a { - color: #000000; -} - -.notif-item a:hover { - text-decoration: underline; -} - -.notif-image { - width: 32px; - height: 32px; - padding: 7px 7px 0px 0px; -} - -.notify-seen { - background: #DDDDDD; -} - -#id_term_label { - width:75px; -} -#id_term { - width:100px; -} - -#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 { 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 .selected { background:#F0F0F0; } -.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; } - -#datebrowse-sidebar select { - margin-left: 40px; - width: 130px; -} - -#theme-version { - display: block; - font-weight: bold; -} diff --git a/view/theme/frost/wall_item.tpl b/view/theme/frost/wall_item.tpl index 68950f4911..6903f6e303 100644 --- a/view/theme/frost/wall_item.tpl +++ b/view/theme/frost/wall_item.tpl @@ -71,9 +71,9 @@
    $item.dislike
    - + $item.comment - + diff --git a/view/theme/frost/wallwall_item.tpl b/view/theme/frost/wallwall_item.tpl index c1b2820e40..8260517c8b 100644 --- a/view/theme/frost/wallwall_item.tpl +++ b/view/theme/frost/wallwall_item.tpl @@ -77,9 +77,9 @@
    $item.dislike
    - + $item.comment - + From 49ad9b355c352211375247e6fcacdfd1970599ed Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 31 Jul 2012 18:01:55 -0700 Subject: [PATCH 67/73] rev update --- boot.php | 2 +- util/messages.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boot.php b/boot.php index e1d5cecac5..5a563c9914 100644 --- a/boot.php +++ b/boot.php @@ -11,7 +11,7 @@ require_once('include/cache.php'); require_once('library/Mobile_Detect/Mobile_Detect.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1420' ); +define ( 'FRIENDICA_VERSION', '3.0.1421' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1154 ); diff --git a/util/messages.po b/util/messages.po index a7c392bfa3..d48b506d17 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1420\n" +"Project-Id-Version: 3.0.1421\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-07-30 10:00-0700\n" +"POT-Creation-Date: 2012-07-31 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" From 764ee653ba4e0426e86d5c2d42c794dad594a625 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 31 Jul 2012 20:59:51 -0700 Subject: [PATCH 68/73] Provide backend ability to poke as a comment rather than top-level post --- mod/poke.php | 49 ++++++++++++++++++++++++++++++++++++------- view/poke_content.tpl | 8 +++---- 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/mod/poke.php b/mod/poke.php index 085415a76a..93167472cf 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -27,8 +27,8 @@ function poke_init(&$a) { if(! $contact_id) return; + $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : 0); - $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0); logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG); @@ -45,6 +45,35 @@ function poke_init(&$a) { $target = $r[0]; + if($parent) { + $r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid + from item where id = %d and parent = %d and uid = %d limit 1", + intval($parent), + intval($parent), + intval($uid) + ); + if(! count($r)) { + $parent_uri = $r[0]['uri']; + $private = $r[0]['private']; + $allow_cid = $r[0]['allow_cid']; + $allow_gid = $r[0]['allow_gid']; + $deny_cid = $r[0]['deny_cid']; + $deny_gid = $r[0]['deny_gid']; + } + } + else { + + $private = ((x($_GET,'private')) ? intval($_GET['private']) : 0); + + $allow_cid = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']); + $allow_gid = (($private) ? '' : $a->user['allow_gid']); + $deny_cid = (($private) ? '' : $a->user['deny_cid']); + $deny_gid = (($private) ? '' : $a->user['deny_gid']); + } + + + + $poster = $a->contact; $uri = item_new_uri($a->get_hostname(),$owner_uid); @@ -53,7 +82,7 @@ function poke_init(&$a) { $arr['uid'] = $uid; $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; + $arr['parent-uri'] = (($parent_uri) ? $parent_uri : $uri); $arr['type'] = 'activity'; $arr['wall'] = 1; $arr['contact-id'] = $poster['id']; @@ -64,10 +93,10 @@ function poke_init(&$a) { $arr['author-link'] = $poster['url']; $arr['author-avatar'] = $poster['thumb']; $arr['title'] = ''; - $arr['allow_cid'] = (($private) ? '<' . $target['id']. '>' : $a->user['allow_cid']); - $arr['allow_gid'] = (($private) ? '' : $a->user['allow_gid']); - $arr['deny_cid'] = (($private) ? '' : $a->user['deny_cid']); - $arr['deny_gid'] = (($private) ? '' : $a->user['deny_gid']); + $arr['allow_cid'] = $allow_cid; + $arr['allow_gid'] = $allow_gid; + $arr['deny_cid'] = $deny_cid; + $arr['deny_gid'] = $deny_gid; $arr['last-child'] = 1; $arr['visible'] = 1; $arr['verb'] = $activity; @@ -132,12 +161,12 @@ function poke_content(&$a) { EOT; + $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0'); + + $verbs = get_poke_verbs(); @@ -165,6 +197,7 @@ EOT; '$clabel' => t('Recipient'), '$choice' => t('Choose what you wish to do to recipient'), '$verbs' => $shortlist, + '$parent' => $parent, '$prv_desc' => t('Make this post private'), '$submit' => t('Submit'), '$name' => $name, diff --git a/view/poke_content.tpl b/view/poke_content.tpl index 18438787a3..b9e089f5b3 100644 --- a/view/poke_content.tpl +++ b/view/poke_content.tpl @@ -8,9 +8,9 @@
    $clabel

    - - - + + +

    $choice
    @@ -24,7 +24,7 @@

    $prv_desc
    - +

    From fc22c356ff6ac9dfab2d1562168a04acb4f1bdd7 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Tue, 31 Jul 2012 22:43:18 -0600 Subject: [PATCH 69/73] fix almost all errant divs in view/ and frost folders --- view/birthdays_reminder.tpl | 2 +- view/invite.tpl | 3 ++- view/photos_upload.tpl | 1 + view/theme/frost-mobile/photos_upload.tpl | 1 + view/theme/frost-mobile/theme.php | 2 +- view/theme/frost/photos_upload.tpl | 1 + view/theme/frost/theme.php | 2 +- 7 files changed, 8 insertions(+), 4 deletions(-) diff --git a/view/birthdays_reminder.tpl b/view/birthdays_reminder.tpl index a00e5c7f81..8db7d22f4b 100644 --- a/view/birthdays_reminder.tpl +++ b/view/birthdays_reminder.tpl @@ -5,6 +5,6 @@ {{ for $events as $event }}
    $event.title $event.date
    {{ endfor }} -
    + {{ endif }} diff --git a/view/invite.tpl b/view/invite.tpl index 01a45c774f..a47ef01629 100644 --- a/view/invite.tpl +++ b/view/invite.tpl @@ -23,4 +23,5 @@ $msg_text - \ No newline at end of file + + diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl index c20028296f..2a820d9c7d 100644 --- a/view/photos_upload.tpl +++ b/view/photos_upload.tpl @@ -28,6 +28,7 @@ $permissions +
    diff --git a/view/theme/frost-mobile/photos_upload.tpl b/view/theme/frost-mobile/photos_upload.tpl index 0260045b16..d354bc589c 100644 --- a/view/theme/frost-mobile/photos_upload.tpl +++ b/view/theme/frost-mobile/photos_upload.tpl @@ -28,6 +28,7 @@ $permissions +
    diff --git a/view/theme/frost-mobile/theme.php b/view/theme/frost-mobile/theme.php index b3e6c70390..f70e66ec54 100644 --- a/view/theme/frost-mobile/theme.php +++ b/view/theme/frost-mobile/theme.php @@ -4,7 +4,7 @@ * Name: Frost--mobile version * Description: Like frosted glass * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0). - * Version: Version 0.2 + * Version: Version 0.2.1 * Author: Zach P * Maintainer: Zach P */ diff --git a/view/theme/frost/photos_upload.tpl b/view/theme/frost/photos_upload.tpl index 1e748fb55a..2aa12a3ca1 100644 --- a/view/theme/frost/photos_upload.tpl +++ b/view/theme/frost/photos_upload.tpl @@ -30,6 +30,7 @@
    $permissions
    +
    diff --git a/view/theme/frost/theme.php b/view/theme/frost/theme.php index 1bf1f8fea3..0f215f9f9b 100644 --- a/view/theme/frost/theme.php +++ b/view/theme/frost/theme.php @@ -4,7 +4,7 @@ * Name: Frost * Description: Like frosted glass * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0). - * Version: Version 0.2 + * Version: Version 0.2.1 * Author: Zach P * Maintainer: Zach P */ From 70389c99eaafa75cfac45003bda231627b77633b Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 31 Jul 2012 22:25:03 -0700 Subject: [PATCH 70/73] logic was reversed - should work now --- mod/poke.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mod/poke.php b/mod/poke.php index 93167472cf..5cd88d7e2a 100644 --- a/mod/poke.php +++ b/mod/poke.php @@ -52,7 +52,7 @@ function poke_init(&$a) { intval($parent), intval($uid) ); - if(! count($r)) { + if(count($r)) { $parent_uri = $r[0]['uri']; $private = $r[0]['private']; $allow_cid = $r[0]['allow_cid']; @@ -71,9 +71,6 @@ function poke_init(&$a) { $deny_gid = (($private) ? '' : $a->user['deny_gid']); } - - - $poster = $a->contact; $uri = item_new_uri($a->get_hostname(),$owner_uid); From 372ad112c999e698514ec37c41fca4a63b9ac203 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 1 Aug 2012 01:36:39 -0700 Subject: [PATCH 71/73] tinymce linebreaks, I fix it, somebody breaks it, I fix it, somebody breaks it. Repeat. --- include/text.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/text.php b/include/text.php index 41030e677c..1c50086aac 100644 --- a/include/text.php +++ b/include/text.php @@ -1578,7 +1578,7 @@ function undo_post_tagging($s) { function fix_mce_lf($s) { $s = str_replace("\r\n","\n",$s); - $s = str_replace("\n\n","\n",$s); +// $s = str_replace("\n\n","\n",$s); return $s; } From bf04fb450a08fd4f71504210acf7d5de716ed220 Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Wed, 1 Aug 2012 04:41:21 -0400 Subject: [PATCH 72/73] quattro: style for "show more" addon --- view/theme/quattro/dark/style.css | 15 ++++++++++----- view/theme/quattro/green/style.css | 15 ++++++++++----- view/theme/quattro/quattro.less | 11 +++++++++++ view/theme/quattro/showmore-bg.jpg | Bin 0 -> 1963 bytes 4 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 view/theme/quattro/showmore-bg.jpg diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css index 72febbf525..aa64ca1a9a 100644 --- a/view/theme/quattro/dark/style.css +++ b/view/theme/quattro/dark/style.css @@ -341,11 +341,6 @@ height: 16px; background-position: 0px 0px; } - -.sparkle { - cursor: url('icons/lock.cur'), pointer; -} - /* global */ body { font-family: Liberation Sans, helvetica, arial, clean, sans-serif; @@ -1141,6 +1136,16 @@ section { width: 25px; height: 25px; } +span[id^="showmore-teaser"] { + background: url("showmore-bg.jpg") no-repeat center bottom; +} +span[id^="showmore-wrap"] { + border-top: 1px solid #999999; + color: #999999; + display: block; + text-align: center; + background-color: #eff0f1; +} #pause { position: fixed; bottom: 5px; diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css index b1efb557fd..dbaee018b6 100644 --- a/view/theme/quattro/green/style.css +++ b/view/theme/quattro/green/style.css @@ -341,11 +341,6 @@ height: 16px; background-position: 0px 0px; } - -.sparkle { - cursor: url('icons/lock.cur'), pointer; -} - /* global */ body { font-family: Liberation Sans, helvetica, arial, clean, sans-serif; @@ -1141,6 +1136,16 @@ section { width: 25px; height: 25px; } +span[id^="showmore-teaser"] { + background: url("showmore-bg.jpg") no-repeat center bottom; +} +span[id^="showmore-wrap"] { + border-top: 1px solid #999999; + color: #999999; + display: block; + text-align: center; + background-color: #eff0f1; +} #pause { position: fixed; bottom: 5px; diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less index 0dac79bf9c..6e75883d50 100644 --- a/view/theme/quattro/quattro.less +++ b/view/theme/quattro/quattro.less @@ -590,6 +590,17 @@ section { } .wwto .contact-photo { width: 25px; height: 25px; } +span[id^="showmore-teaser"]{ + background: url("showmore-bg.jpg") no-repeat center bottom; +} +span[id^="showmore-wrap"] { + border-top: 1px solid #999999; + color: #999999; + display: block; + text-align: center; + background-color: @ThreadBackgroundColor; +} + #pause { position: fixed; diff --git a/view/theme/quattro/showmore-bg.jpg b/view/theme/quattro/showmore-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e76015c68a8edf87412cda380fca6446d3e7e706 GIT binary patch literal 1963 zcmds%e`p(39KgTtl4~zNn%=e7G*P$R;V6j{>8yy1Lb5nVmpM4<9JGV6*;zN&He+B# zaW+UMgH2Yoi*z$3t%QN%A9bYp!`aAIb!Z)y$>uyY6DFg~5J5@nVsn1qooTWyi2mU} zeqZk8-S>UI-}n8#d+)1#qg@3)xN*})AcQ~{Hqcaf6if_5e<)`Bu^h{q&8)SywuZA? z?RJ~hW~*~F@O2KsVYBg0UT74XnwsqO%`T_tY7m=5>V%lk#>`q+)*{x~>coF7+F1}d z*us2ZA_6c1F$qMQfo2*ifl46^hZD{_^gtNxTdV4eD&?$eeDECVb?<0RL(S($r+DB!dLuI1^SnUx|8y z*3J`Xg3q3W;a=u;BaH5MM`VkFHt65K0mxQG!7$=;Ptj1Gc+5L7G8fzv2l^e|yq zmlQzR$%pZaafAS2nZ?OblranKD<$UattQX7E1_G*Z*Qw+fx4FtRJR&CjUkFcMRapJy`x(<2lyq%<4Q4j0%Z;$E(Z`EFR8Mw!uTHurPrAoe9xL4%FrhK8 z!T+@tRSoiL|5QeUsehVdzL1+P45dr>(6k2Sx03eO|IAQcgM$m1kfEk8`GN*1e5$t` zRcF)c(n4WrO6@Neaw&C4gG}~Lyr`DEWV-sK?5B%+lSnM#6UyT*lv^mRW--ZYCvur~Lwk8|vd|J$Lq%j$=vi+w;KEB%d3f=3 zO07!yqVV&t@4DB9ccqzv`e7_}!p{8$N3RQie&P{j6>=+RVL+F(H-vz|ORauoSNTTZ zp=`(|jyU_S{0eQoUmkHrqs8gy{j)tQXU=?fQ3FTg@N+GF-7oKmwoD%F`S`b*_WH*U z`WCO>Goe?s#)o~jO{+g$d$h+zyRXI$-}L=>L3XUC^${yx^Qs+hc3(=qZ%n&>S$pkF z{jooaHyg)|f*6rIuwvGJar!QV_H|#vHPF#(FRqz?;d*<*`ZvuDo_jt5d!(W4yR;8Df{ PhlJH{NHZ&P+Lb>6Q2>TR literal 0 HcmV?d00001 From fde3edaa2112c0cb68ae037fa9cf345bc7f0e85c Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Wed, 1 Aug 2012 04:45:27 -0400 Subject: [PATCH 73/73] quattro: readd sparkle cursor --- view/theme/quattro/dark/style.css | 3 +++ view/theme/quattro/green/style.css | 3 +++ view/theme/quattro/quattro.less | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css index aa64ca1a9a..087d9c746f 100644 --- a/view/theme/quattro/dark/style.css +++ b/view/theme/quattro/dark/style.css @@ -899,6 +899,9 @@ section { width: 770px; padding: 0px 20px 0px 10px; } +.sparkle { + cursor: url('icons/lock.cur'), pointer; +} /* wall item */ .tread-wrapper { background-color: #eff0f1; diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css index dbaee018b6..9c28473c61 100644 --- a/view/theme/quattro/green/style.css +++ b/view/theme/quattro/green/style.css @@ -899,6 +899,9 @@ section { width: 770px; padding: 0px 20px 0px 10px; } +.sparkle { + cursor: url('icons/lock.cur'), pointer; +} /* wall item */ .tread-wrapper { background-color: #eff0f1; diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less index 6e75883d50..b5f0af6696 100644 --- a/view/theme/quattro/quattro.less +++ b/view/theme/quattro/quattro.less @@ -422,6 +422,10 @@ section { padding:0px 20px 0px 10px; } +.sparkle { + cursor: url('icons/lock.cur'), pointer; +} + /* wall item */ .tread-wrapper { background-color: @ThreadBackgroundColor;